ETH Price: $1,960.73 (-6.17%)

Contract

0x07964f135f276412b3182a3B2407b8dd45000000
 

Overview

ETH Balance

1.024468264786850462 ETH

ETH Value

$2,008.71 (@ $1,960.73/ETH)

Token Holdings

More Info

Private Name Tags

Transaction Hash
Block
From
To
Exact Input V2Sw...311499382026-02-14 22:54:5123 hrs ago1771109691IN
Transit Finance: Router V4
0.00000215 ETH00.00000031
Aggregate309455492026-02-10 5:21:535 days ago1770700913IN
Transit Finance: Router V4
0.0001 ETH0.000000350.00000025
Exact Input V3Sw...308530802026-02-08 1:59:357 days ago1770515975IN
Transit Finance: Router V4
0.00000111 ETH0.000001440.00000025
Exact Input V2Sw...293829412026-01-05 1:14:5741 days ago1767575697IN
Transit Finance: Router V4
0 ETH0.000000840.00000026
Exact Input V3Sw...293829152026-01-05 1:14:0541 days ago1767575645IN
Transit Finance: Router V4
0 ETH0.000000580.00027526
Exact Input V2Sw...292989672026-01-03 2:35:4943 days ago1767407749IN
Transit Finance: Router V4
0.0015 ETH0.000000150.00000025
Aggregate292227812026-01-01 8:16:1745 days ago1767255377IN
Transit Finance: Router V4
0 ETH0.000000180.00000025
Exact Input V2Sw...289965572025-12-27 2:35:2950 days ago1766802929IN
Transit Finance: Router V4
0 ETH0.000000130.00000028
Exact Input V2Sw...289945752025-12-27 1:29:2550 days ago1766798965IN
Transit Finance: Router V4
0 ETH0.000000250.00041278
Exact Input V3Sw...289945562025-12-27 1:28:4750 days ago1766798927IN
Transit Finance: Router V4
0 ETH0.000000270.00056403
Exact Input V2Sw...289945342025-12-27 1:28:0350 days ago1766798883IN
Transit Finance: Router V4
0 ETH0.000000150.00000028
Exact Input V3Sw...288880342025-12-24 14:18:0353 days ago1766585883IN
Transit Finance: Router V4
0 ETH0.000000170.00000028
Exact Input V3Sw...288878202025-12-24 14:10:5553 days ago1766585455IN
Transit Finance: Router V4
0.2 ETH0.000000170.00000028
Exact Input V3Sw...286433902025-12-18 22:23:1559 days ago1766096595IN
Transit Finance: Router V4
0 ETH0.000000080.00000025
Exact Input V2Sw...286433262025-12-18 22:21:0759 days ago1766096467IN
Transit Finance: Router V4
0 ETH0.000000140.00000025
Aggregate285588952025-12-16 23:26:4560 days ago1765927605IN
Transit Finance: Router V4
0 ETH0.000000330.00000026
Exact Input V3Sw...279615752025-12-03 3:36:0574 days ago1764732965IN
Transit Finance: Router V4
0.3972 ETH0.000000110.00027551
Exact Input V2Sw...278569282025-11-30 17:27:5177 days ago1764523671IN
Transit Finance: Router V4
0 ETH00.00000043
Exact Input V2Sw...278569202025-11-30 17:27:3577 days ago1764523655IN
Transit Finance: Router V4
0 ETH00.00000042
Exact Input V3Sw...276596792025-11-26 3:52:5381 days ago1764129173IN
Transit Finance: Router V4
0 ETH0.000000110.00027621
Exact Input V3Sw...274906142025-11-22 5:57:2385 days ago1763791043IN
Transit Finance: Router V4
0 ETH0.000000080.00029444
Exact Input V3Sw...274603292025-11-21 13:07:5386 days ago1763730473IN
Transit Finance: Router V4
0 ETH0.000000010.00000104
Exact Input V3Sw...272816962025-11-17 9:53:2790 days ago1763373207IN
Transit Finance: Router V4
0 ETH0.000000110.00042683
Exact Input V3Sw...272816242025-11-17 9:51:0390 days ago1763373063IN
Transit Finance: Router V4
0 ETH0.000000140.00055058
Exact Input V2Sw...271998952025-11-15 12:26:4592 days ago1763209605IN
Transit Finance: Router V4
0 ETH00.00000116
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
311499382026-02-14 22:54:5123 hrs ago1771109691
Transit Finance: Router V4
0.00000214 ETH
309455492026-02-10 5:21:535 days ago1770700913
Transit Finance: Router V4
0.0000997 ETH
308530802026-02-08 1:59:357 days ago1770515975
Transit Finance: Router V4
0.00000111 ETH
293829412026-01-05 1:14:5741 days ago1767575697
Transit Finance: Router V4
0.00000633 ETH
293829412026-01-05 1:14:5741 days ago1767575697
Transit Finance: Router V4
0.00000633 ETH
293829152026-01-05 1:14:0541 days ago1767575645
Transit Finance: Router V4
0.00387465 ETH
293829152026-01-05 1:14:0541 days ago1767575645
Transit Finance: Router V4
0.00387465 ETH
292989672026-01-03 2:35:4943 days ago1767407749
Transit Finance: Router V4
0.0014955 ETH
289965572025-12-27 2:35:2950 days ago1766802929
Transit Finance: Router V4
0.00051991 ETH
289965572025-12-27 2:35:2950 days ago1766802929
Transit Finance: Router V4
0.00051991 ETH
289945752025-12-27 1:29:2550 days ago1766798965
Transit Finance: Router V4
0.0000106 ETH
289945752025-12-27 1:29:2550 days ago1766798965
Transit Finance: Router V4
0.0000106 ETH
289945562025-12-27 1:28:4750 days ago1766798927
Transit Finance: Router V4
0.00399246 ETH
289945562025-12-27 1:28:4750 days ago1766798927
Transit Finance: Router V4
0.00399246 ETH
289945342025-12-27 1:28:0350 days ago1766798883
Transit Finance: Router V4
0.00000072 ETH
289945342025-12-27 1:28:0350 days ago1766798883
Transit Finance: Router V4
0.00000072 ETH
288878202025-12-24 14:10:5553 days ago1766585455
Transit Finance: Router V4
0.1994 ETH
286433902025-12-18 22:23:1559 days ago1766096595
Transit Finance: Router V4
0.08457713 ETH
286433902025-12-18 22:23:1559 days ago1766096595
Transit Finance: Router V4
0.08457713 ETH
286433262025-12-18 22:21:0759 days ago1766096467
Transit Finance: Router V4
0.00584334 ETH
286433262025-12-18 22:21:0759 days ago1766096467
Transit Finance: Router V4
0.00584334 ETH
279615752025-12-03 3:36:0574 days ago1764732965
Transit Finance: Router V4
0.3960084 ETH
274906142025-11-22 5:57:2385 days ago1763791043
Transit Finance: Router V4
0.18368241 ETH
274906142025-11-22 5:57:2385 days ago1763791043
Transit Finance: Router V4
0.18368241 ETH
274603292025-11-21 13:07:5386 days ago1763730473
Transit Finance: Router V4
0.39724228 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TransitSwapRouterV5

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity =0.8.20;

import "./UniswapV2Router.sol";
import "./UniswapV3Router.sol";
import "./AggregateRouter.sol";
import "./CrossRouter.sol";
import "./interfaces/IBlast.sol";

contract TransitSwapRouterV5 is UniswapV2Router, UniswapV3Router, AggregateRouter, CrossRouter  {

    constructor() {
        IBlast BLAST = IBlast(0x4300000000000000000000000000000000000002);
        BLAST.configureAutomaticYield();
        BLAST.configureClaimableGas();
        BLAST.configureGovernor(msg.sender);
    }

    function withdrawTokens(address[] memory tokens, address recipient) external onlyExecutor {
        for (uint index; index < tokens.length; index++) {
            uint amount;
            if (TransferHelper.isETH(tokens[index])) {
                amount = address(this).balance;
                TransferHelper.safeTransferETH(recipient, amount);
            } else {
                amount = IERC20(tokens[index]).balanceOf(address(this));
                TransferHelper.safeTransferWithoutRequire(tokens[index], recipient, amount);
            }
            emit Withdraw(tokens[index], msg.sender, recipient, amount);
        }
    }
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.9;

enum YieldMode {
    AUTOMATIC,
    VOID,
    CLAIMABLE
}

enum GasMode {
    VOID,
    CLAIMABLE
}

interface IBlast{
    function configureAutomaticYield() external;
    function configureClaimableGas() external;
    function configureGovernor(address _governor) external;
    
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./BaseCore.sol";

contract CrossRouter is BaseCore {

    using SafeMath for uint256;

    constructor() {}

    function cross(CrossDescription calldata desc) external payable nonReentrant whenNotPaused(FunctionFlag.cross) {
        require(desc.calls.length > 0, "data should be not zero");
        require(desc.amount > 0, "amount should be greater than 0");
        require(_cross_caller_allowed[desc.caller], "invalid caller");
        
        uint256 swapAmount = executeFunds(FunctionFlag.cross, desc.srcToken, desc.wrappedToken, desc.caller, desc.amount, desc.fee, desc.signature);

        {
            (bool success, bytes memory result) = desc.caller.call{value:swapAmount}(desc.calls);
            if (!success) {
                revert(RevertReasonParser.parse(result, "TransitCrossV5:"));
            }
            TransferHelper.safeApprove(desc.srcToken, desc.caller, 0);
        }

        _emitTransit(desc.srcToken, desc.dstToken, desc.dstReceiver, desc.amount, 0, desc.toChain, desc.channel);
    } 
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./BaseCore.sol";

contract AggregateRouter is BaseCore {

    using SafeMath for uint256;

    constructor() {

    }

    function aggregateAndGasUsed(TransitSwapDescription calldata desc, CallbytesDescription calldata callbytesDesc) external payable returns (uint256 returnAmount, uint256 gasUsed) {
        uint256 gasLeftBefore = gasleft();
        returnAmount = _executeAggregate(desc, callbytesDesc);
        gasUsed = gasLeftBefore - gasleft();
    }

    function aggregate(TransitSwapDescription calldata desc, CallbytesDescription calldata callbytesDesc) external payable returns (uint256 returnAmount) {
        returnAmount = _executeAggregate(desc, callbytesDesc);
    }

    function _executeAggregate(TransitSwapDescription calldata desc, CallbytesDescription calldata callbytesDesc) internal nonReentrant whenNotPaused(FunctionFlag.executeAggregate) returns (uint256 returnAmount) {
        require(callbytesDesc.calldatas.length > 0, "data should be not zero");
        require(desc.amount > 0, "amount should be greater than 0");
        require(desc.dstReceiver != address(0), "receiver should be not address(0)");
        require(desc.minReturnAmount > 0, "minReturnAmount should be greater than 0");
        require(_wrapped_allowed[desc.wrappedToken], "invalid wrapped address");

        uint256 toBeforeBalance;
        address bridgeAddress = _aggregate_bridge;
        uint256 swapAmount = executeFunds(FunctionFlag.executeAggregate, desc.srcToken, desc.wrappedToken, bridgeAddress, desc.amount, desc.fee, desc.signature);

        if (TransferHelper.isETH(desc.dstToken)) {
            toBeforeBalance = desc.dstReceiver.balance;
        } else {
            toBeforeBalance = IERC20(desc.dstToken).balanceOf(desc.dstReceiver);
        }

        {
            //bytes4(keccak256(bytes('callbytes(CallbytesDescription)')));
            (bool success, bytes memory result) = bridgeAddress.call{value : swapAmount}(abi.encodeWithSelector(0x3f3204d2, callbytesDesc));
            if (!success) {
                revert(RevertReasonParser.parse(result, "TransitSwap:"));
            }
        }

        if (TransferHelper.isETH(desc.dstToken)) {
            returnAmount = desc.dstReceiver.balance.sub(toBeforeBalance);
        } else {
            returnAmount = IERC20(desc.dstToken).balanceOf(desc.dstReceiver).sub(toBeforeBalance);
        }
        require(returnAmount >= desc.minReturnAmount, "Too little received");

        _emitTransit(desc.srcToken, desc.dstToken, desc.dstReceiver, desc.amount, returnAmount, 0, desc.channel);

    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./BaseCore.sol";

contract UniswapV3Router is BaseCore {

    using SafeMath for uint256;

    uint256 private constant _ZERO_FOR_ONE_MASK = 1 << 255;
    uint160 private constant MIN_SQRT_RATIO = 4295128739;
    uint160 private constant MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342;

    constructor() {}

    fallback() external {
        (int256 amount0Delta, int256 amount1Delta, bytes memory _data) = abi.decode(msg.data[4:], (int256,int256,bytes));
        _executeCallback(amount0Delta, amount1Delta, _data);
    }

    function pancakeV3SwapCallback(
        int256 amount0Delta,
        int256 amount1Delta,
        bytes calldata _data
    ) external {
        _executeCallback(amount0Delta, amount1Delta, _data);
    }

    function uniswapV3SwapCallback(
        int256 amount0Delta,
        int256 amount1Delta,
        bytes calldata _data
    ) external {
        _executeCallback(amount0Delta, amount1Delta, _data);
    }

    function _executeCallback(
        int256 amount0Delta,
        int256 amount1Delta,
        bytes memory _data
    ) internal {
        require(amount0Delta > 0 || amount1Delta > 0, "M0 or M1"); // swaps entirely within 0-liquidity regions are not supported
        (uint256 pool, bytes memory tokenInAndPoolSalt) = abi.decode(_data, (uint256, bytes));
        (address tokenIn, bytes32 poolSalt) = abi.decode(tokenInAndPoolSalt, (address, bytes32));
        _verifyCallback(pool, poolSalt, msg.sender);

        uint256 amountToPay = uint256(amount1Delta);
        if (amount0Delta > 0) {
            amountToPay = uint256(amount0Delta);
        }

        TransferHelper.safeTransfer(tokenIn, msg.sender, amountToPay);
    }

    function exactInputV3SwapAndGasUsed(ExactInputV3SwapParams calldata params) external payable returns (uint256 returnAmount, uint256 gasUsed) {
        uint256 gasLeftBefore = gasleft();
        returnAmount = _executeV3Swap(params);
        gasUsed = gasLeftBefore - gasleft();

    }

    function exactInputV3Swap(ExactInputV3SwapParams calldata params) external payable returns (uint256 returnAmount) {
        returnAmount = _executeV3Swap(params);
    }

    function _executeV3Swap(ExactInputV3SwapParams calldata params) internal nonReentrant whenNotPaused(FunctionFlag.executeV3Swap) returns (uint256 returnAmount) {
        require(params.pools.length > 0, "Empty pools");
        require(params.deadline >= block.timestamp, "Expired");
        require(_wrapped_allowed[params.wrappedToken], "Invalid wrapped address");
        address tokenIn = params.srcToken;
        address tokenOut = params.dstToken;

        uint256 toBeforeBalance;
        bool isToETH;
        if (TransferHelper.isETH(params.srcToken)) {
            tokenIn = params.wrappedToken;
        }
        uint256 actualAmountIn = executeFunds(FunctionFlag.executeV3Swap, params.srcToken, params.wrappedToken, address(0), params.amount, params.fee, params.signature);

        if (TransferHelper.isETH(params.dstToken)) {
            tokenOut = params.wrappedToken;
            toBeforeBalance = IERC20(params.wrappedToken).balanceOf(address(this));
            isToETH = true;
        } else {
            toBeforeBalance = IERC20(params.dstToken).balanceOf(params.dstReceiver);
        }

        {
            uint256 len = params.pools.length;
            address recipient = address(this);
            bytes memory tokenInAndPoolSalt;
            if (len > 1) {
                address thisTokenIn = tokenIn;
                address thisTokenOut = address(0);
                for (uint256 i; i < len; i++) {
                    uint256 thisPool = params.pools[i];
                    (thisTokenIn, tokenInAndPoolSalt) = _verifyPool(thisTokenIn, thisTokenOut, thisPool);
                    if (i == len - 1 && !isToETH) {
                        recipient = params.dstReceiver;
                        thisTokenOut = tokenOut;
                    } 
                    actualAmountIn = _swap(recipient, thisPool, tokenInAndPoolSalt, actualAmountIn);
                }
                returnAmount = actualAmountIn;
            } else {
                (, tokenInAndPoolSalt) = _verifyPool(tokenIn, tokenOut, params.pools[0]);
                if (!isToETH) {
                    recipient = params.dstReceiver;
                }
                returnAmount = _swap(recipient, params.pools[0], tokenInAndPoolSalt, actualAmountIn);
            }
        }

        if (isToETH) {
            returnAmount = IERC20(params.wrappedToken).balanceOf(address(this)).sub(toBeforeBalance);
            require(returnAmount >= params.minReturnAmount, "Too little received");
            TransferHelper.safeWithdraw(params.wrappedToken, returnAmount);
            TransferHelper.safeTransferETH(params.dstReceiver, returnAmount);
        } else {
            returnAmount = IERC20(params.dstToken).balanceOf(params.dstReceiver).sub(toBeforeBalance);
            require(returnAmount >= params.minReturnAmount, "Too little received");
        }
        
        _emitTransit(params.srcToken, params.dstToken, params.dstReceiver, params.amount, returnAmount, 0, params.channel);

    }

    function _swap(address recipient, uint256 pool, bytes memory tokenInAndPoolSalt, uint256 amount) internal returns (uint256 amountOut) {
        bool zeroForOne = pool & _ZERO_FOR_ONE_MASK == 0;
        if (zeroForOne) {
            (, int256 amount1) =
                IUniswapV3Pool(address(uint160(pool))).swap(
                    recipient,
                    zeroForOne,
                    amount.toInt256(),
                    MIN_SQRT_RATIO + 1,
                    abi.encode(pool, tokenInAndPoolSalt)
                );
            amountOut = SafeMath.toUint256(-amount1);
        } else {
            (int256 amount0,) =
                IUniswapV3Pool(address(uint160(pool))).swap(
                    recipient,
                    zeroForOne,
                    amount.toInt256(),
                    MAX_SQRT_RATIO - 1,
                    abi.encode(pool, tokenInAndPoolSalt)
                );
            amountOut = SafeMath.toUint256(-amount0);
        }
    }

    function _verifyPool(address tokenIn, address tokenOut, uint256 pool) internal view returns (address nextTokenIn, bytes memory tokenInAndPoolSalt) {
        IUniswapV3Pool iPool = IUniswapV3Pool(address(uint160(pool)));
        address token0 = iPool.token0();
        address token1 = iPool.token1();
        uint24 fee = iPool.fee();
        bytes32 poolSalt = keccak256(abi.encode(token0, token1, fee));

        bool zeroForOne = pool & _ZERO_FOR_ONE_MASK == 0;
        if (zeroForOne) {
            require(tokenIn == token0, "Bad pool");
            if (tokenOut != address(0)) {
                require(tokenOut == token1, "Bad pool");
            }
            nextTokenIn = token1;
            tokenInAndPoolSalt = abi.encode(token0, poolSalt);
        } else {
            require(tokenIn == token1, "Bad pool");
            if (tokenOut != address(0)) {
                require(tokenOut == token0, "Bad pool");
            }
            nextTokenIn = token0;
            tokenInAndPoolSalt = abi.encode(token1, poolSalt);
        }
        _verifyCallback(pool, poolSalt, address(uint160(pool)));
    }

    function _verifyCallback(uint256 pool, bytes32 poolSalt, address caller) internal view {
        uint poolDigit = pool >> 248 & 0xf;
        UniswapV3Pool memory v3Pool = _uniswapV3_factory_allowed[poolDigit];
        require(v3Pool.factory != address(0), "Callback bad pool indexed");
        address calcPool = address(
            uint160(
                uint256(
                    keccak256(
                        abi.encodePacked(
                            hex'ff',
                            v3Pool.factory,
                            poolSalt,
                            v3Pool.initCodeHash
                        )
                    )
                )
            )
        );
        require(calcPool == caller, "Callback bad pool");
    }

}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./BaseCore.sol";

contract UniswapV2Router is BaseCore {

    using SafeMath for uint256;

    constructor() {

    }

    function _beforeSwap(ExactInputV2SwapParams calldata exactInput, bool supportingFeeOn) internal returns (bool isToETH, uint256 actualAmountIn, address[] memory paths, uint256 thisAddressBeforeBalance, uint256 toBeforeBalance) {
        require(exactInput.path.length == exactInput.pool.length + 1, "Invalid path");
        require(_wrapped_allowed[exactInput.wrappedToken], "Invalid wrapped address");

        (bool isToVault, uint256 vaultFee) = splitFee(exactInput.fee);
        actualAmountIn = calculateTradeFee(true, exactInput.amount, vaultFee, exactInput.signature);
        address[] memory path = exactInput.path;
        address dstToken = path[exactInput.path.length - 1];
        if (TransferHelper.isETH(exactInput.path[0])) {
            require(msg.value == exactInput.amount, "Invalid msg.value");
            if (isToVault) {
                TransferHelper.safeTransferETH(_vault, vaultFee);
            }
            path[0] = exactInput.wrappedToken;
            TransferHelper.safeDeposit(exactInput.wrappedToken, actualAmountIn);
        } else {
            if (supportingFeeOn) {
                actualAmountIn = IERC20(path[0]).balanceOf(address(this));
                TransferHelper.safeTransferFrom(path[0], msg.sender, address(this), exactInput.amount);
                actualAmountIn = IERC20(path[0]).balanceOf(address(this)).sub(actualAmountIn).sub(exactInput.fee);
            } else {
                TransferHelper.safeTransferFrom(path[0], msg.sender, address(this), exactInput.amount);
            }
            if (isToVault) {
                TransferHelper.safeTransferWithoutRequire(path[0], _vault, vaultFee);
            }
        }
        if (TransferHelper.isETH(dstToken)) {
            path[path.length - 1] = exactInput.wrappedToken;
            isToETH = true;
            thisAddressBeforeBalance = IERC20(exactInput.wrappedToken).balanceOf(address(this));
        } else {
            if (supportingFeeOn) {
                toBeforeBalance = IERC20(dstToken).balanceOf(exactInput.dstReceiver);
            }
        }
        paths = path;
    }

    function exactInputV2SwapAndGasUsed(ExactInputV2SwapParams calldata exactInput, uint256 deadline) external payable returns (uint256 returnAmount, uint256 gasUsed) {
        uint256 gasLeftBefore = gasleft();
        returnAmount = _executeV2Swap(exactInput, deadline);
        gasUsed = gasLeftBefore - gasleft();
    }

    function exactInputV2Swap(ExactInputV2SwapParams calldata exactInput, uint256 deadline) external payable returns (uint256 returnAmount) {
        returnAmount = _executeV2Swap(exactInput, deadline);
    }

    function _executeV2Swap(ExactInputV2SwapParams calldata exactInput, uint256 deadline) internal nonReentrant whenNotPaused(FunctionFlag.executeV2Swap) returns (uint256 returnAmount) {
        require(deadline >= block.timestamp, "Expired");
        
        bool supportingFeeOn = exactInput.router >> 248 & 0xf == 1;
        {
            (bool isToETH, uint256 actualAmountIn, address[] memory paths, uint256 thisAddressBeforeBalance, uint256 toBeforeBalance) = _beforeSwap(exactInput, supportingFeeOn);
            
            TransferHelper.safeTransfer(paths[0], exactInput.pool[0], actualAmountIn);

            if (supportingFeeOn) {
                if(isToETH) {
                    _swapSupportingFeeOnTransferTokens(address(uint160(exactInput.router)), paths, exactInput.pool, address(this));
                    returnAmount = IERC20(exactInput.wrappedToken).balanceOf(address(this)).sub(thisAddressBeforeBalance);
                } else {
                    _swapSupportingFeeOnTransferTokens(address(uint160(exactInput.router)), paths, exactInput.pool, exactInput.dstReceiver);
                    returnAmount = IERC20(paths[paths.length - 1]).balanceOf(exactInput.dstReceiver).sub(toBeforeBalance);
                }
            } else {
                uint[] memory amounts = IUniswapV2(address(uint160(exactInput.router))).getAmountsOut(actualAmountIn, paths);
                if(isToETH) {
                    _swap(amounts, paths, exactInput.pool, address(this));
                    returnAmount = IERC20(exactInput.wrappedToken).balanceOf(address(this)).sub(thisAddressBeforeBalance);
                } else {
                    _swap(amounts, paths, exactInput.pool, exactInput.dstReceiver);
                    returnAmount = amounts[amounts.length - 1];
                }
            }

            require(returnAmount >= exactInput.minReturnAmount, "Too little received");
            if (isToETH) {
                TransferHelper.safeWithdraw(exactInput.wrappedToken, returnAmount);
                TransferHelper.safeTransferETH(exactInput.dstReceiver, returnAmount);
            }
        }
        string memory channel = exactInput.channel;

        _emitTransit(exactInput.path[0], exactInput.path[exactInput.path.length - 1], exactInput.dstReceiver, exactInput.amount, returnAmount, 0, channel);
        
    }

    function _swap(uint[] memory amounts, address[] memory path, address[] memory pool, address _to) internal {
        for (uint i; i < path.length - 1; i++) {
            (address input, address output) = (path[i], path[i + 1]);
            (address token0,) = input < output ? (input, output) : (output, input);
            uint amountOut = amounts[i + 1];
            (uint amount0Out, uint amount1Out) = input == token0 ? (uint(0), amountOut) : (amountOut, uint(0));
            address to = i < path.length - 2 ? pool[i + 1] : _to;
            IUniswapV2(pool[i]).swap(
                amount0Out, amount1Out, to, new bytes(0)
            );
        }
    }

    function _swapSupportingFeeOnTransferTokens(address router, address[] memory path, address[] memory pool, address _to) internal virtual {
        for (uint i; i < path.length - 1; i++) {
            (address input, address output) = (path[i], path[i + 1]);
            (address token0,) = input < output ? (input, output) : (output, input);
            IUniswapV2 pair = IUniswapV2(pool[i]);
            uint amountInput;
            uint amountOutput;
            { // scope to avoid stack too deep errors
                (uint reserve0, uint reserve1,) = pair.getReserves();
                (uint reserveInput, uint reserveOutput) = input == token0 ? (reserve0, reserve1) : (reserve1, reserve0);
                amountInput = IERC20(input).balanceOf(address(pair)).sub(reserveInput);
                amountOutput = IUniswapV2(router).getAmountOut(amountInput, reserveInput, reserveOutput);
            }
            (uint amount0Out, uint amount1Out) = input == token0 ? (uint(0), amountOutput) : (amountOutput, uint(0));
            address to = i < path.length - 2 ? pool[i + 1] : _to;
            pair.swap(amount0Out, amount1Out, to, new bytes(0));
        }
    }

}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./libs/Pausable.sol";
import "./libs/ReentrancyGuard.sol";
import "./libs/TransferHelper.sol";
import "./libs/RevertReasonParser.sol";
import "./libs/SafeMath.sol";
import "./libs/Ownable.sol";
import "./interfaces/IERC20.sol";
import "./interfaces/IUniswapV2.sol";
import "./interfaces/IUniswapV3Pool.sol";


contract BaseCore is Ownable, Pausable, ReentrancyGuard {

    using SafeMath for uint256;

    struct ExactInputV2SwapParams {
        address dstReceiver;
        address wrappedToken;
        uint256 router;
        uint256 amount;
        uint256 minReturnAmount;
        uint256 fee;
        address[] path;
        address[] pool;
        bytes signature;
        string channel;
    }

    struct ExactInputV3SwapParams {
        address srcToken;
        address dstToken;
        address dstReceiver;
        address wrappedToken;
        uint256 amount;
        uint256 minReturnAmount;
        uint256 fee;
        uint256 deadline;
        uint256[] pools;
        bytes signature;
        string channel;
    }

    struct TransitSwapDescription {
        address srcToken;
        address dstToken;
        address dstReceiver;
        address wrappedToken;
        uint256 amount;
        uint256 minReturnAmount;
        uint256 fee;
        string channel;
        bytes signature;
    }

    struct CrossDescription {
        address srcToken;
        address dstToken;
        address caller;
        address dstReceiver;
        address wrappedToken;
        uint256 amount;
        uint256 fee;
        uint256 toChain;
        string channel;
        bytes calls;
        bytes signature;
    }

    struct CallbytesDescription {
        address srcToken;
        bytes calldatas;
    }

    struct UniswapV3Pool {
        address factory;
        bytes initCodeHash;
    }

    uint256 internal _aggregate_fee;
    uint256 internal _cross_fee;
    address internal _aggregate_bridge;
    address internal _fee_signer;
    address internal _vault;
    bytes32 public DOMAIN_SEPARATOR;
    //whitelist cross's caller
    mapping(address => bool) internal _cross_caller_allowed;
    //whitelist wrapped
    mapping(address => bool) internal _wrapped_allowed;
    //whitelist uniswap v3 factory
    mapping(uint => UniswapV3Pool) internal _uniswapV3_factory_allowed;
    bytes32 public constant CHECKFEE_TYPEHASH = keccak256("CheckFee(address payer,uint256 amount,uint256 fee)");

    event Receipt(address from, uint256 amount);
    event Withdraw(address indexed token, address indexed executor, address indexed recipient, uint amount);
    event ChangeWrappedAllowed(address[] wrappedTokens, bool[] newAllowed);
    event ChangeV3FactoryAllowed(uint256[] poolIndex, address[] factories, bytes[] initCodeHash);
    event ChangeCrossCallerAllowed(address[] callers);
    event ChangeFeeRate(bool isAggregate, uint256 newRate);
    event ChangeSigner(address preSigner, address newSigner);
    event ChangeAggregateBridge(address newBridge);
    event ChangeVault(address preVault, address newVault);
    event TransitSwapped(address indexed srcToken, address indexed dstToken, address indexed dstReceiver, uint256 amount, uint256 returnAmount, uint256 toChainID, string channel);
    
    constructor() Ownable(msg.sender) {
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                keccak256(bytes("TransitSwapV5")),
                keccak256(bytes("5")),
                block.chainid,
                address(this)
            )
        );
    }

    receive() external payable {
        emit Receipt(msg.sender, msg.value);
    }

    function calculateTradeFee(bool isAggregate, uint256 tradeAmount, uint256 fee, bytes calldata signature) internal view returns (uint256) {
        uint256 thisFee;
        if (isAggregate) {
            thisFee = tradeAmount.mul(_aggregate_fee).div(10000);
        } else {
            thisFee = tradeAmount.mul(_cross_fee).div(10000);
        }
        if (fee < thisFee) {
            require(verifySignature(tradeAmount, fee, signature), "Invalid signature fee");
        }
        return tradeAmount.sub(fee);
    }

    function _emitTransit(address srcToken, address dstToken, address dstReceiver, uint256 amount, uint256 returnAmount, uint256 toChainID, string memory channel) internal {
        emit TransitSwapped (
            srcToken, 
            dstToken, 
            dstReceiver,
            amount,
            returnAmount,
            toChainID,
            channel
        );
    }

    function changeFee(bool[] memory isAggregate, uint256[] memory newRate) external onlyExecutor {
        for (uint i; i < isAggregate.length; i++) {
            require(newRate[i] >= 0 && newRate[i] <= 1000, "fee rate is:0-1000");
            if (isAggregate[i]) {
                _aggregate_fee = newRate[i];
            } else {
                _cross_fee = newRate[i];
            }
            emit ChangeFeeRate(isAggregate[i], newRate[i]);
        }
    }

    function changeTransitProxy(address aggregator, address signer, address vault) external onlyExecutor {
        if (aggregator != address(0)) {
            _aggregate_bridge = aggregator;
            emit ChangeAggregateBridge(aggregator);
        }
        if (signer != address(0)) {
            address preSigner = _fee_signer;
            _fee_signer = signer;
            emit ChangeSigner(preSigner, signer);
        }
        if (vault != address(0)) {
            address preVault = _vault;
            _vault = vault;
            emit ChangeVault(preVault, vault);
        }
    }

    function changeAllowed(address[] calldata crossCallers, address[] calldata wrappedTokens) public onlyExecutor {
        if(crossCallers.length != 0){
            for (uint i; i < crossCallers.length; i++) {
                _cross_caller_allowed[crossCallers[i]] = !_cross_caller_allowed[crossCallers[i]];
            }
            emit ChangeCrossCallerAllowed(crossCallers);
        }
        if(wrappedTokens.length != 0) {
            bool[] memory newAllowed = new bool[](wrappedTokens.length);
            for (uint index; index < wrappedTokens.length; index++) {
                _wrapped_allowed[wrappedTokens[index]] = !_wrapped_allowed[wrappedTokens[index]];
                newAllowed[index] = _wrapped_allowed[wrappedTokens[index]];
            }
            emit ChangeWrappedAllowed(wrappedTokens, newAllowed);
        }
    }

    function changeUniswapV3FactoryAllowed(uint[] calldata poolIndex, address[] calldata factories, bytes[] calldata initCodeHash) public onlyExecutor {
        require(poolIndex.length == initCodeHash.length, "invalid data");
        require(factories.length == initCodeHash.length, "invalid data");
        uint len = factories.length;
        for (uint i; i < len; i++) {
            _uniswapV3_factory_allowed[poolIndex[i]] = UniswapV3Pool(factories[i],initCodeHash[i]);
        }
        emit ChangeV3FactoryAllowed(poolIndex, factories, initCodeHash);
    }

    function changePause(bool paused, FunctionFlag[] calldata flags) external onlyExecutor {
        uint len = flags.length;
        for (uint i; i < len; i++) {
            if (paused) {
                _pause(flags[i]);
            } else {
                _unpause(flags[i]);
            }
        }
    }

    function transitProxyAddress() external view returns (address bridgeProxy, address feeSigner) {
        bridgeProxy = _aggregate_bridge;
        feeSigner = _fee_signer;
    }

    function transitFee() external view returns (uint256, uint256, address) {
        return (_aggregate_fee, _cross_fee, _vault);
    }

    function transitAllowedQuery(address crossCaller, address wrappedToken, uint256 poolIndex) external view returns (bool isCrossCallerAllowed, bool isWrappedAllowed, UniswapV3Pool memory pool) {
        isCrossCallerAllowed = _cross_caller_allowed[crossCaller];
        isWrappedAllowed = _wrapped_allowed[wrappedToken];
        pool = _uniswapV3_factory_allowed[poolIndex];
    }

    function verifySignature(uint256 amount, uint256 fee, bytes calldata signature) internal view returns (bool) {
        bytes32 digest = keccak256(
            abi.encodePacked(
                "\x19\x01",
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(CHECKFEE_TYPEHASH, msg.sender, amount, fee))
            )
        );
        (uint8 v, bytes32 r, bytes32 s) = splitSignature(signature);
        address recovered = ecrecover(digest, v, r, s);
        return recovered == _fee_signer;
    }

    function splitSignature(bytes memory _signature) internal pure returns (uint8 v, bytes32 r, bytes32 s) {
        require(bytes(_signature).length == 65, "Invalid signature length");

        assembly {
            r := mload(add(_signature, 0x20))
            s := mload(add(_signature, 0x40))
            v := byte(0, mload(add(_signature, 0x60)))
        }

        return (v, r, s);
    }

    function splitFee(uint256 fee) internal view returns (bool isToVault, uint256 vaultFee) {
        uint vaultFlag = fee % 10;
        vaultFee = (fee.sub(vaultFlag)).div(10);
        if (vaultFlag == 1 && vaultFee > 0 && _vault != address(0)) {
            isToVault = true;
        }
    }

    function executeFunds(FunctionFlag flag, address srcToken, address wrappedToken, address caller, uint256 amount, uint256 fee, bytes calldata signature) internal returns (uint256 swapAmount) {
        (bool isToVault, uint256 vaultFee) = splitFee(fee);
        bool isAggregate = flag == FunctionFlag.cross ? false : true;
        uint256 actualAmountIn = calculateTradeFee(isAggregate, amount, vaultFee, signature);
        if (TransferHelper.isETH(srcToken)) {
            if (flag == FunctionFlag.cross) {
                require(msg.value >= amount, "invalid msg.value");
                swapAmount = msg.value.sub(vaultFee);
            } else {
                require(msg.value == amount, "invalid msg.value");
                swapAmount = actualAmountIn;
            }
            if (wrappedToken != address(0)) {
                require(_wrapped_allowed[wrappedToken], "Invalid wrapped address");
                if (flag == FunctionFlag.cross) {
                    TransferHelper.safeDeposit(wrappedToken, swapAmount);
                    TransferHelper.safeApprove(wrappedToken, caller, swapAmount);
                    swapAmount = 0;
                } else if (flag == FunctionFlag.executeV3Swap) {
                    TransferHelper.safeDeposit(wrappedToken, actualAmountIn);
                }
            }
            if (isToVault) {
                TransferHelper.safeTransferETH(_vault, vaultFee);
            }
        } else {
            TransferHelper.safeTransferFrom(srcToken, msg.sender, address(this), amount);
            if (flag == FunctionFlag.cross) {
                TransferHelper.safeApprove(srcToken, caller, actualAmountIn);
                swapAmount = msg.value;
            } else if (flag == FunctionFlag.executeAggregate) {
                TransferHelper.safeTransfer(srcToken, caller, actualAmountIn);
            } else if (flag == FunctionFlag.executeV3Swap) {
                swapAmount = actualAmountIn;
            }
            if (isToVault) {
                TransferHelper.safeTransferWithoutRequire(srcToken, _vault, vaultFee);
            }
        }
    }

}

// SPDX-License-Identifier: MIT
pragma solidity >=0.5.0;

interface IUniswapV3Pool {
    function token0() external view returns (address);
    function token1() external view returns (address);
    function fee() external view returns (uint24);
    function swap(
        address recipient,
        bool zeroForOne,
        int256 amountSpecified,
        uint160 sqrtPriceLimitX96,
        bytes calldata data
    ) external returns (int256 amount0, int256 amount1);
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.9;

interface IUniswapV2 {
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountsOut(uint amountIn, address[] memory path) external view returns (uint[] memory amounts);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.9;

interface IERC20 {
    
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
 
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)
// Add executor extension

pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable {

    address private _executor;
    address private _pendingExecutor;
    bool internal _initialized;

    event ExecutorshipTransferStarted(address indexed previousExecutor, address indexed newExecutor);
    event ExecutorshipTransferred(address indexed previousExecutor, address indexed newExecutor);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor(address newExecutor) {
        require(!_initialized, "Ownable: initialized");
        _transferExecutorship(newExecutor);
        _initialized = true;
    }

    /**
     * @dev Throws if called by any account other than the executor.
     */
    modifier onlyExecutor() {
        _checkExecutor();
        _;
    }

    /**
     * @dev Returns the address of the current executor.
     */
    function executor() public view virtual returns (address) {
        return _executor;
    }

    /**
     * @dev Returns the address of the pending executor.
     */
    function pendingExecutor() public view virtual returns (address) {
        return _pendingExecutor;
    }

    /**
     * @dev Throws if the sender is not the executor.
     */
    function _checkExecutor() internal view virtual {
        require(executor() == msg.sender, "Ownable: caller is not the executor");
    }

    /**
     * @dev Transfers executorship of the contract to a new account (`newExecutor`).
     * Can only be called by the current executor.
     */
    function transferExecutorship(address newExecutor) public virtual onlyExecutor {
        _pendingExecutor = newExecutor;
        emit ExecutorshipTransferStarted(executor(), newExecutor);
    }

    function _transferExecutorship(address newExecutor) internal virtual {
        delete _pendingExecutor;
        address oldExecutor = _executor;
        _executor = newExecutor;
        emit ExecutorshipTransferred(oldExecutor, newExecutor);
    }

    function acceptExecutorship() external {
        address sender = msg.sender;
        require(pendingExecutor() == sender, "Ownable: caller is not the new executor");
        _transferExecutorship(sender);
    }
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0;

library SafeMath {

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
    
    function div(uint x, uint y) internal pure returns (uint z) {
        require(y != 0 , 'ds-math-div-zero');
        z = x / y;
    }

    function toInt256(uint256 value) internal pure returns (int256) {
        require(value <= uint256(type(int256).max), "SafeCast: value doesn't fit in an int256");
        return int256(value);
    }

    function toUint256(int256 value) internal pure returns (uint256) {
        require(value >= 0, "SafeCast: value must be positive");
        return uint256(value);
    }
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0;

library RevertReasonParser {
        function parse(bytes memory data, string memory prefix) internal pure returns (string memory) {
        // https://solidity.readthedocs.io/en/latest/control-structures.html#revert
        // We assume that revert reason is abi-encoded as Error(string)

        // 68 = 4-byte selector 0x08c379a0 + 32 bytes offset + 32 bytes length
        if (data.length >= 68 && data[0] == "\x08" && data[1] == "\xc3" && data[2] == "\x79" && data[3] == "\xa0") {
            string memory reason;
            // solhint-disable no-inline-assembly
            assembly {
                // 68 = 32 bytes data length + 4-byte selector + 32 bytes offset
                reason := add(data, 68)
            }
            /*
                revert reason is padded up to 32 bytes with ABI encoder: Error(string)
                also sometimes there is extra 32 bytes of zeros padded in the end:
                https://github.com/ethereum/solidity/issues/10170
                because of that we can't check for equality and instead check
                that string length + extra 68 bytes is less than overall data length
            */
            require(data.length >= 68 + bytes(reason).length, "Invalid revert reason");
            return string(abi.encodePacked(prefix, "Error(", reason, ")"));
        }
        // 36 = 4-byte selector 0x4e487b71 + 32 bytes integer
        else if (data.length == 36 && data[0] == "\x4e" && data[1] == "\x48" && data[2] == "\x7b" && data[3] == "\x71") {
            uint256 code;
            // solhint-disable no-inline-assembly
            assembly {
                // 36 = 32 bytes data length + 4-byte selector
                code := mload(add(data, 36))
            }
            return string(abi.encodePacked(prefix, "Panic(", _toHex(code), ")"));
        }

        return string(abi.encodePacked(prefix, "Unknown(", _toHex(data), ")"));
    }
    
    function _toHex(uint256 value) private pure returns(string memory) {
        return _toHex(abi.encodePacked(value));
    }

    function _toHex(bytes memory data) private pure returns(string memory) {
        bytes16 alphabet = 0x30313233343536373839616263646566;
        bytes memory str = new bytes(2 + data.length * 2);
        str[0] = "0";
        str[1] = "x";
        for (uint256 i = 0; i < data.length; i++) {
            str[2 * i + 2] = alphabet[uint8(data[i] >> 4)];
            str[2 * i + 3] = alphabet[uint8(data[i] & 0x0f)];
        }
        return string(str);
    }
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0;

library TransferHelper {
    
    address private constant _ETH_ADDRESS = address(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE);
    address private constant _ZERO_ADDRESS = address(0);
    
    function isETH(address token) internal pure returns (bool) {
        return (token == _ZERO_ADDRESS || token == _ETH_ADDRESS);
    }
    
    function safeApprove(address token, address to, uint value) internal {
        // bytes4(keccak256(bytes('approve(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: APPROVE_FAILED');
    }

    function safeTransfer(address token, address to, uint value) internal {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_TOKEN_FAILED');
    }

    function safeTransferWithoutRequire(address token, address to, uint256 value) internal returns (bool) {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        return (success && (data.length == 0 || abi.decode(data, (bool))));
    }

    function safeTransferFrom(address token, address from, address to, uint value) internal {
        // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FROM_FAILED');
    }

    function safeTransferETH(address to, uint value) internal {
        // solium-disable-next-line
        (bool success,) = to.call{value:value}(new bytes(0));
        require(success, 'TransferHelper: TRANSFER_FAILED');
    }

    function safeDeposit(address wrapped, uint value) internal {
        // bytes4(keccak256(bytes('deposit()')));
        (bool success, bytes memory data) = wrapped.call{value:value}(abi.encodeWithSelector(0xd0e30db0));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: DEPOSIT_FAILED');
    }

    function safeWithdraw(address wrapped, uint value) internal {
        // bytes4(keccak256(bytes('withdraw(uint256 wad)')));
        (bool success, bytes memory data) = wrapped.call{value:0}(abi.encodeWithSelector(0x2e1a7d4d, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: WITHDRAW_FAILED');
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        assembly {
            sstore(_status.slot, _ENTERED)
        }
        _;
        assembly {
            sstore(_status.slot, _NOT_ENTERED)
        }
    }

    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be _NOT_ENTERED
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account, FunctionFlag flag);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account, FunctionFlag flag);

    mapping(FunctionFlag => bool) private _paused;

    enum FunctionFlag {executeAggregate, executeV2Swap, executeV3Swap, cross}

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor() {
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused(FunctionFlag flag) {
        _requireNotPaused(flag);
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused(FunctionFlag flag) {
        _requirePaused(flag);
        _;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused(FunctionFlag flag) public view virtual returns (bool) {
        return _paused[flag];
    }

    /**
     * @dev Throws if the contract is paused.
     */
    function _requireNotPaused(FunctionFlag flag) internal view virtual {
        require(!paused(flag), "Pausable: paused");
    }

    /**
     * @dev Throws if the contract is not paused.
     */
    function _requirePaused(FunctionFlag flag) internal view virtual {
        require(paused(flag), "Pausable: not paused");
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause(FunctionFlag flag) internal virtual whenNotPaused(flag) {
        _paused[flag] = true;
        emit Paused(msg.sender, flag);
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause(FunctionFlag flag) internal virtual whenPaused(flag) {
        _paused[flag] = false;
        emit Unpaused(msg.sender, flag);
    }

    function pausedOverAll() public view virtual returns (bool executeAggregate, bool executeV2Swap, bool executeV3Swap, bool cross) {
        executeAggregate = _paused[FunctionFlag.executeAggregate];
        executeV2Swap = _paused[FunctionFlag.executeV2Swap];
        executeV3Swap = _paused[FunctionFlag.executeV3Swap];
        cross = _paused[FunctionFlag.cross];
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newBridge","type":"address"}],"name":"ChangeAggregateBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"callers","type":"address[]"}],"name":"ChangeCrossCallerAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isAggregate","type":"bool"},{"indexed":false,"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"ChangeFeeRate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preSigner","type":"address"},{"indexed":false,"internalType":"address","name":"newSigner","type":"address"}],"name":"ChangeSigner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"poolIndex","type":"uint256[]"},{"indexed":false,"internalType":"address[]","name":"factories","type":"address[]"},{"indexed":false,"internalType":"bytes[]","name":"initCodeHash","type":"bytes[]"}],"name":"ChangeV3FactoryAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preVault","type":"address"},{"indexed":false,"internalType":"address","name":"newVault","type":"address"}],"name":"ChangeVault","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"wrappedTokens","type":"address[]"},{"indexed":false,"internalType":"bool[]","name":"newAllowed","type":"bool[]"}],"name":"ChangeWrappedAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousExecutor","type":"address"},{"indexed":true,"internalType":"address","name":"newExecutor","type":"address"}],"name":"ExecutorshipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousExecutor","type":"address"},{"indexed":true,"internalType":"address","name":"newExecutor","type":"address"}],"name":"ExecutorshipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"enum Pausable.FunctionFlag","name":"flag","type":"uint8"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Receipt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"srcToken","type":"address"},{"indexed":true,"internalType":"address","name":"dstToken","type":"address"},{"indexed":true,"internalType":"address","name":"dstReceiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"returnAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toChainID","type":"uint256"},{"indexed":false,"internalType":"string","name":"channel","type":"string"}],"name":"TransitSwapped","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"enum Pausable.FunctionFlag","name":"flag","type":"uint8"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"executor","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"CHECKFEE_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptExecutorship","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"string","name":"channel","type":"string"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct BaseCore.TransitSwapDescription","name":"desc","type":"tuple"},{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"bytes","name":"calldatas","type":"bytes"}],"internalType":"struct BaseCore.CallbytesDescription","name":"callbytesDesc","type":"tuple"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"string","name":"channel","type":"string"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct BaseCore.TransitSwapDescription","name":"desc","type":"tuple"},{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"bytes","name":"calldatas","type":"bytes"}],"internalType":"struct BaseCore.CallbytesDescription","name":"callbytesDesc","type":"tuple"}],"name":"aggregateAndGasUsed","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"},{"internalType":"uint256","name":"gasUsed","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"crossCallers","type":"address[]"},{"internalType":"address[]","name":"wrappedTokens","type":"address[]"}],"name":"changeAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool[]","name":"isAggregate","type":"bool[]"},{"internalType":"uint256[]","name":"newRate","type":"uint256[]"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"enum Pausable.FunctionFlag[]","name":"flags","type":"uint8[]"}],"name":"changePause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"},{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"vault","type":"address"}],"name":"changeTransitProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"poolIndex","type":"uint256[]"},{"internalType":"address[]","name":"factories","type":"address[]"},{"internalType":"bytes[]","name":"initCodeHash","type":"bytes[]"}],"name":"changeUniswapV3FactoryAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"toChain","type":"uint256"},{"internalType":"string","name":"channel","type":"string"},{"internalType":"bytes","name":"calls","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct BaseCore.CrossDescription","name":"desc","type":"tuple"}],"name":"cross","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"router","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address[]","name":"pool","type":"address[]"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"channel","type":"string"}],"internalType":"struct BaseCore.ExactInputV2SwapParams","name":"exactInput","type":"tuple"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"exactInputV2Swap","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"router","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address[]","name":"pool","type":"address[]"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"channel","type":"string"}],"internalType":"struct BaseCore.ExactInputV2SwapParams","name":"exactInput","type":"tuple"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"exactInputV2SwapAndGasUsed","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"},{"internalType":"uint256","name":"gasUsed","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256[]","name":"pools","type":"uint256[]"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"channel","type":"string"}],"internalType":"struct BaseCore.ExactInputV3SwapParams","name":"params","type":"tuple"}],"name":"exactInputV3Swap","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256[]","name":"pools","type":"uint256[]"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"channel","type":"string"}],"internalType":"struct BaseCore.ExactInputV3SwapParams","name":"params","type":"tuple"}],"name":"exactInputV3SwapAndGasUsed","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"},{"internalType":"uint256","name":"gasUsed","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"executor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"pancakeV3SwapCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum Pausable.FunctionFlag","name":"flag","type":"uint8"}],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pausedOverAll","outputs":[{"internalType":"bool","name":"executeAggregate","type":"bool"},{"internalType":"bool","name":"executeV2Swap","type":"bool"},{"internalType":"bool","name":"executeV3Swap","type":"bool"},{"internalType":"bool","name":"cross","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingExecutor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newExecutor","type":"address"}],"name":"transferExecutorship","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"crossCaller","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"poolIndex","type":"uint256"}],"name":"transitAllowedQuery","outputs":[{"internalType":"bool","name":"isCrossCallerAllowed","type":"bool"},{"internalType":"bool","name":"isWrappedAllowed","type":"bool"},{"components":[{"internalType":"address","name":"factory","type":"address"},{"internalType":"bytes","name":"initCodeHash","type":"bytes"}],"internalType":"struct BaseCore.UniswapV3Pool","name":"pool","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transitFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transitProxyAddress","outputs":[{"internalType":"address","name":"bridgeProxy","type":"address"},{"internalType":"address","name":"feeSigner","type":"address"}],"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":"tokens","type":"address[]"},{"internalType":"address","name":"recipient","type":"address"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801562000010575f80fd5b506001543390600160a01b900460ff1615620000725760405162461bcd60e51b815260206004820152601460248201527f4f776e61626c653a20696e697469616c697a6564000000000000000000000000604482015260640160405180910390fd5b6200007d816200027c565b506001805460ff60a01b1916600160a01b1781556003819055604080518082018252600d81526c5472616e73697453776170563560981b60209182015281518083018352928352603560f81b9281019290925280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f928101929092527f20b7d1a4a088b240a0e093c572f43e31015ce187a55e6f343e049dcb744e5341908201527fceebf77a833b30520287ddd9478ff51abbdffa30aa90a8d655dba0e8a79ce0c160608201524660808201523060a082015260c00160408051601f19818403018152828252805160209091012060095563388a0bbd60e11b825251734300000000000000000000000000000000000002918291637114177a916004808201925f9290919082900301818387803b158015620001b8575f80fd5b505af1158015620001cb573d5f803e3d5ffd5b50505050806001600160a01b0316634e606c476040518163ffffffff1660e01b81526004015f604051808303815f87803b15801562000208575f80fd5b505af11580156200021b573d5f803e3d5ffd5b5050604051631d70c8d360e31b81523360048201526001600160a01b038416925063eb86469891506024015f604051808303815f87803b1580156200025e575f80fd5b505af115801562000271573d5f803e3d5ffd5b5050505050620002d5565b600180546001600160a01b03199081169091555f80546001600160a01b03848116938216841783556040519116929183917f88436636ea40d5bb1bcc55ff9cd54788af71da886f4147a87f199adcca733d4d9190a35050565b615e1680620002e35f395ff3fe608060405260043610610184575f3560e01c80637ec753fe116100d0578063b9b5149b11610089578063d63234e011610063578063d63234e0146105a8578063d808d889146105c5578063fa461e33146102a4578063fa9ec7af146105d8576101c3565b8063b9b5149b14610546578063bf5c55a214610559578063c34c08e514610578576101c3565b80637ec753fe1461049757806392bcc8be146104b657806394d3d793146104d5578063afed2d0e146104e9578063b93c0beb14610508578063b946fd3b14610527576101c3565b80633644e5151161013d5780635ac86ab7116101175780635ac86ab7146103e95780636b3ec416146104185780636fbf72f91461042b5780637e467ecf14610464576101c3565b80633644e515146102eb5780633c481d57146103005780634c42342f146103d6576101c3565b80630ced9fb9146101ff5780630dc4bdae146102365780630e8cc705146102575780631975b0961461027657806323a69e75146102a45780632adb806f146102c3576101c3565b366101c357604080513381523460208201527f7784f8d436dc514f0690e472c7e2d7f660a73e504c69b2350f6be5a5f02432ef910160405180910390a1005b3480156101ce575f80fd5b505f80806101df3660048184614c14565b8101906101ec9190614ca5565b9250925092506101fd8383836105eb565b005b34801561020a575f80fd5b50600654600754604080516001600160a01b039384168152929091166020830152015b60405180910390f35b610249610244366004614d30565b610694565b60405190815260200161022d565b348015610262575f80fd5b506101fd610271366004614dbc565b6106a6565b348015610281575f80fd5b50610295610290366004614e62565b610826565b60405161022d93929190614eed565b3480156102af575f80fd5b506101fd6102be366004614f2a565b610925565b6102d66102d1366004614fa2565b61096b565b6040805192835260208301919091520161022d565b3480156102f6575f80fd5b5061024960095481565b34801561030b575f80fd5b5060026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b547fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0547f679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c5460035f527f88601476d11616a71c5be67555bd1dff4b1cbf21533d2669b768b61518cfe1c35460ff938416939283169291821691166040805194151585529215156020850152901515918301919091521515606082015260800161022d565b6102d66103e4366004615026565b610992565b3480156103f4575f80fd5b5061040861040336600461505f565b6109b6565b604051901515815260200161022d565b6101fd610426366004615026565b6109f6565b348015610436575f80fd5b506004546005546008546040805193845260208401929092526001600160a01b03169082015260600161022d565b34801561046f575f80fd5b506102497f048f880a603b1aab0e626a287e33d603417b3d53a36f7527b7c86365bf7def4f81565b3480156104a2575f80fd5b506101fd6104b13660046150ed565b610d11565b3480156104c1575f80fd5b506101fd6104d03660046151e5565b610e96565b3480156104e0575f80fd5b506101fd61107f565b3480156104f4575f80fd5b506101fd610503366004615277565b611105565b348015610513575f80fd5b506101fd610522366004615292565b611175565b348015610532575f80fd5b506101fd6105413660046152f8565b61142a565b610249610554366004615026565b611573565b348015610564575f80fd5b506101fd610573366004615340565b611583565b348015610583575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161022d565b3480156105b3575f80fd5b506001546001600160a01b0316610590565b6102496105d3366004614fa2565b611618565b6102d66105e6366004614d30565b611623565b5f8313806105f857505f82135b6106345760405162461bcd60e51b81526020600482015260086024820152674d30206f72204d3160c01b60448201526064015b60405180910390fd5b5f808280602001905181019061064a9190615390565b915091505f8082806020019051810190610664919061540d565b91509150610673848233611633565b855f88131561067f5750865b61068a8333836117e6565b5050505050505050565b5f61069f8383611903565b9392505050565b6106ae611e7b565b5f5b8251811015610821575f6106dc8483815181106106cf576106cf615439565b6020026020010151611ef1565b156106f25750476106ed8382611f29565b61079e565b83828151811061070457610704615439565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610752573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610776919061544d565b905061079c84838151811061078d5761078d615439565b60200260200101518483611fe2565b505b826001600160a01b0316336001600160a01b03168584815181106107c4576107c4615439565b60200260200101516001600160a01b03167f3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f78460405161080691815260200190565b60405180910390a4508061081981615478565b9150506106b0565b505050565b6040805180820182525f80825260606020808401919091526001600160a01b038781168352600a8252848320548782168452600b835285842054878552600c84529386902086518088019097528054909216865260018201805460ff92831697929095169594919384019161089a90615490565b80601f01602080910402602001604051908101604052809291908181526020018280546108c690615490565b80156109115780601f106108e857610100808354040283529160200191610911565b820191905f5260205f20905b8154815290600101906020018083116108f457829003601f168201915b505050505081525050905093509350939050565b610965848484848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506105eb92505050565b50505050565b5f805f5a905061097b85856120c6565b92505a61098890826154c2565b9150509250929050565b5f805f5a90506109a1846125d7565b92505a6109ae90826154c2565b915050915091565b5f60025f8360038111156109cc576109cc6154d5565b60038111156109dd576109dd6154d5565b815260208101919091526040015f205460ff1692915050565b600260035403610a185760405162461bcd60e51b815260040161062b906154e9565b60026003556003610a2881612b20565b5f610a37610120840184615520565b905011610a805760405162461bcd60e51b8152602060048201526017602482015276646174612073686f756c64206265206e6f74207a65726f60481b604482015260640161062b565b5f8260a0013511610ad35760405162461bcd60e51b815260206004820152601f60248201527f616d6f756e742073686f756c642062652067726561746572207468616e203000604482015260640161062b565b600a5f610ae66060850160408601615277565b6001600160a01b0316815260208101919091526040015f205460ff16610b3f5760405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21031b0b63632b960911b604482015260640161062b565b5f610b8f6003610b526020860186615277565b610b6260a0870160808801615277565b610b726060880160408901615277565b60a088013560c0890135610b8a6101408b018b615520565b612b69565b90505f80610ba36060860160408701615277565b6001600160a01b031683610bbb610120880188615520565b604051610bc9929190615562565b5f6040518083038185875af1925050503d805f8114610c03576040519150601f19603f3d011682016040523d82523d5f602084013e610c08565b606091505b509150915081610c5c57610c43816040518060400160405280600f81526020016e2a3930b739b4ba21b937b9b9ab1a9d60891b815250612ddf565b60405162461bcd60e51b815260040161062b9190615571565b610c82610c6c6020870187615277565b610c7c6060880160408901615277565b5f613053565b50610d079050610c956020850185615277565b610ca56040860160208701615277565b610cb56080870160608801615277565b60a08701355f60e0890135610cce6101008b018b615520565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061316292505050565b5050600160035550565b610d19611e7b565b5f5b8251811015610821575f828281518110610d3757610d37615439565b602002602001015110158015610d6857506103e8828281518110610d5d57610d5d615439565b602002602001015111155b610da95760405162461bcd60e51b8152602060048201526012602482015271066656520726174652069733a302d313030360741b604482015260640161062b565b828181518110610dbb57610dbb615439565b602002602001015115610ded57818181518110610dda57610dda615439565b6020026020010151600481905550610e0e565b818181518110610dff57610dff615439565b60200260200101516005819055505b7f5fa95345cbe35dad70f67a9ca1430c22453a695590cb4fca05d58f637e85af4f838281518110610e4157610e41615439565b6020026020010151838381518110610e5b57610e5b615439565b6020026020010151604051610e7c9291909115158252602082015260400190565b60405180910390a180610e8e81615478565b915050610d1b565b610e9e611e7b565b848114610edc5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964206461746160a01b604482015260640161062b565b828114610f1a5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964206461746160a01b604482015260640161062b565b825f5b81811015611034576040518060400160405280878784818110610f4257610f42615439565b9050602002016020810190610f579190615277565b6001600160a01b03168152602001858584818110610f7757610f77615439565b9050602002810190610f899190615520565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250600c92508b90508a85818110610fd557610fd5615439565b60209081029290920135835250818101929092526040015f20825181546001600160a01b0319166001600160a01b0390911617815590820151600182019061101d90826155c8565b50905050808061102c90615478565b915050610f1d565b507f652c1af850dcc0b28fcb71cd9473023f56a89edd81bbe7b51056a04caa94002487878787878760405161106e96959493929190615733565b60405180910390a150505050505050565b33806110936001546001600160a01b031690565b6001600160a01b0316146110f95760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206e657720656044820152663c32b1baba37b960c91b606482015260840161062b565b611102816131c6565b50565b61110d611e7b565b600180546001600160a01b0383166001600160a01b0319909116811790915561113d5f546001600160a01b031690565b6001600160a01b03167fdd01547fc40682edc3cd8d164d53f5a1ae6b46138a83f045658ed760823ddba860405160405180910390a350565b61117d611e7b565b8215611275575f5b8381101561123a57600a5f8686848181106111a2576111a2615439565b90506020020160208101906111b79190615277565b6001600160a01b0316815260208101919091526040015f9081205460ff161590600a908787858181106111ec576111ec615439565b90506020020160208101906112019190615277565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790558061123281615478565b915050611185565b507fb05655746bd43b7fe3ccd9d28b7685b4c67ddc51e70890062b0f7f85dd692695848460405161126c9291906157e3565b60405180910390a15b8015610965575f816001600160401b0381111561129457611294614c3b565b6040519080825280602002602001820160405280156112bd578160200160208202803683370190505b5090505f5b828110156113e757600b5f8585848181106112df576112df615439565b90506020020160208101906112f49190615277565b6001600160a01b0316815260208101919091526040015f9081205460ff161590600b9086868581811061132957611329615439565b905060200201602081019061133e9190615277565b6001600160a01b0316815260208101919091526040015f908120805460ff191692151592909217909155600b9085858481811061137d5761137d615439565b90506020020160208101906113929190615277565b6001600160a01b0316815260208101919091526040015f2054825160ff909116908390839081106113c5576113c5615439565b91151560209283029190910190910152806113df81615478565b9150506112c2565b507f4a28b173d9bc739be3886d172e07fef80392184787fc6b92406ce0f0c05b7e6383838360405161141b939291906157f6565b60405180910390a15050505050565b611432611e7b565b6001600160a01b0383161561149357600680546001600160a01b0319166001600160a01b0385169081179091556040519081527f347fade115440908839b750620f0add8f417b77a392657edd70b950373eda9c39060200160405180910390a15b6001600160a01b0382161561150157600780546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527ff9c6fa562c9d8326f8518a29a53ef18ab03cd6b9eead73ac667c5e289354c73e910160405180910390a1505b6001600160a01b0381161561082157600880546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fb3911b5760f95a64aaa8d7f1775f57a7b6ed0bcf1ebb3fbfcc045e2f04eaad11910160405180910390a150505050565b5f61157d826125d7565b92915050565b61158b611e7b565b805f5b818110156116115784156115d0576115cb8484838181106115b1576115b1615439565b90506020020160208101906115c6919061505f565b61321f565b6115ff565b6115ff8484838181106115e5576115e5615439565b90506020020160208101906115fa919061505f565b6132b1565b8061160981615478565b91505061158e565b5050505050565b5f61069f83836120c6565b5f805f5a905061097b8585611903565b600f60f884901c165f818152600c60209081526040808320815180830190925280546001600160a01b03168252600181018054929391929184019161167790615490565b80601f01602080910402602001604051908101604052809291908181526020018280546116a390615490565b80156116ee5780601f106116c5576101008083540402835291602001916116ee565b820191905f5260205f20905b8154815290600101906020018083116116d157829003601f168201915b5050509190925250508151919250506001600160a01b03166117525760405162461bcd60e51b815260206004820152601960248201527f43616c6c6261636b2062616420706f6f6c20696e646578656400000000000000604482015260640161062b565b5f815f015185836020015160405160200161176f9392919061584f565b604051602081830303815290604052805190602001205f1c9050836001600160a01b0316816001600160a01b0316146117de5760405162461bcd60e51b815260206004820152601160248201527010d85b1b189858dac8189859081c1bdbdb607a1b604482015260640161062b565b505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f928392908716916118419190615897565b5f604051808303815f865af19150503d805f811461187a576040519150601f19603f3d011682016040523d82523d5f602084013e61187f565b606091505b50915091508180156118a95750805115806118a95750808060200190518101906118a991906158b2565b6116115760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657248656c7065723a205452414e534645525f544f4b454e5f46604482015264105253115160da1b606482015260840161062b565b5f6002600354036119265760405162461bcd60e51b815260040161062b906154e9565b6002600355600161193681612b20565b428310156119705760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161062b565b6001600f604086013560f81c16145f8080808061198d8a87613336565b945094509450945094506119ef835f815181106119ac576119ac615439565b60200260200101518b8060e001906119c491906158cd565b5f8181106119d4576119d4615439565b90506020020160208101906119e99190615277565b866117e6565b8515611bb6578415611ad357611a4960408b013584611a1160e08e018e6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250309250613863915050565b611acc82611a5d60408d0160208e01615277565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a08231906024015b602060405180830381865afa158015611aa2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ac6919061544d565b90613b5a565b9750611d2b565b611b3f60408b013584611ae960e08e018e6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f820116905080830192505050505050508d5f016020810190611b3a9190615277565b613863565b611acc818460018651611b5291906154c2565b81518110611b6257611b62615439565b60200260200101516001600160a01b03166370a082318d5f016020810190611b8a9190615277565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401611a87565b5f8a604001356001600160a01b031663d06ca61f86866040518363ffffffff1660e01b8152600401611be9929190615912565b5f60405180830381865afa158015611c03573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c2a9190810190615967565b90508515611c9757611c7c8185611c4460e08f018f6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250309250613baf915050565b611c9083611a5d60408e0160208f01615277565b9850611d29565b611cff8185611ca960e08f018f6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f820116905080830192505050505050508e5f016020810190611cfa9190615277565b613baf565b8060018251611d0e91906154c2565b81518110611d1e57611d1e615439565b602002602001015198505b505b8960800135881015611d4f5760405162461bcd60e51b815260040161062b906159e7565b8415611d8457611d6e611d6860408c0160208d01615277565b89613d99565b611d84611d7e60208c018c615277565b89611f29565b50505050505f85806101200190611d9b9190615520565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929350611e6d9250611de391505060c08801886158cd565b5f818110611df357611df3615439565b9050602002016020810190611e089190615277565b611e1560c08901896158cd565b6001611e2460c08c018c6158cd565b611e2f9291506154c2565b818110611e3e57611e3e615439565b9050602002016020810190611e539190615277565b611e6060208a018a615277565b8960600135885f87613162565b505050600160035592915050565b33611e8d5f546001600160a01b031690565b6001600160a01b031614611eef5760405162461bcd60e51b815260206004820152602360248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652065786563756044820152623a37b960e91b606482015260840161062b565b565b5f6001600160a01b038216158061157d57506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1492915050565b604080515f808252602082019092526001600160a01b038416908390604051611f529190615897565b5f6040518083038185875af1925050503d805f8114611f8c576040519150601f19603f3d011682016040523d82523d5f602084013e611f91565b606091505b50509050806108215760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015260640161062b565b5f805f856001600160a01b031663a9059cbb868660405160240161201b9291906001600160a01b03929092168252602082015260400190565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516120549190615897565b5f604051808303815f865af19150503d805f811461208d576040519150601f19603f3d011682016040523d82523d5f602084013e612092565b606091505b50915091508180156120bc5750805115806120bc5750808060200190518101906120bc91906158b2565b9695505050505050565b5f6002600354036120e95760405162461bcd60e51b815260040161062b906154e9565b60026003555f6120f881612b20565b5f6121066020850185615520565b90501161214f5760405162461bcd60e51b8152602060048201526017602482015276646174612073686f756c64206265206e6f74207a65726f60481b604482015260640161062b565b5f8460800135116121a25760405162461bcd60e51b815260206004820152601f60248201527f616d6f756e742073686f756c642062652067726561746572207468616e203000604482015260640161062b565b5f6121b36060860160408701615277565b6001600160a01b0316036122135760405162461bcd60e51b815260206004820152602160248201527f72656365697665722073686f756c64206265206e6f74206164647265737328306044820152602960f81b606482015260840161062b565b5f8460a00135116122775760405162461bcd60e51b815260206004820152602860248201527f6d696e52657475726e416d6f756e742073686f756c6420626520677265617465604482015267072207468616e20360c41b606482015260840161062b565b600b5f61228a6080870160608801615277565b6001600160a01b0316815260208101919091526040015f205460ff166122f25760405162461bcd60e51b815260206004820152601760248201527f696e76616c696420777261707065642061646472657373000000000000000000604482015260640161062b565b6006545f906001600160a01b03168161233b8161231260208a018a615277565b61232260808b0160608c01615277565b8560808c013560c08d0135610b8a6101008f018f615520565b90506123556123506040890160208a01615277565b611ef1565b1561237b5761236a6060880160408901615277565b6001600160a01b0316319250612412565b61238b6040880160208901615277565b6001600160a01b03166370a082316123a960608a0160408b01615277565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156123eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061240f919061544d565b92505b5f80836001600160a01b031683633f3204d28a6040516024016124359190615a14565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161246e9190615897565b5f6040518083038185875af1925050503d805f81146124a8576040519150601f19603f3d011682016040523d82523d5f602084013e6124ad565b606091505b5091509150816124e557610c43816040518060400160405280600c81526020016b2a3930b739b4ba29bbb0b81d60a11b815250612ddf565b506124fb90506123506040890160208a01615277565b1561252b576125248361251460608a0160408b01615277565b6001600160a01b03163190613b5a565b9450612560565b61255d8361253f60408a0160208b01615277565b6001600160a01b03166370a08231611b8a60608c0160408d01615277565b94505b8660a001358510156125845760405162461bcd60e51b815260040161062b906159e7565b6125c86125946020890189615277565b6125a460408a0160208b01615277565b6125b460608b0160408c01615277565b60808b0135895f610cce60e08f018f615520565b50505050600160035592915050565b5f6002600354036125fa5760405162461bcd60e51b815260040161062b906154e9565b6002600355600261260a81612b20565b5f6126196101008501856158cd565b9050116126565760405162461bcd60e51b815260206004820152600b60248201526a456d70747920706f6f6c7360a81b604482015260640161062b565b428360e0013510156126945760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161062b565b600b5f6126a76080860160608701615277565b6001600160a01b0316815260208101919091526040015f205460ff166126df5760405162461bcd60e51b815260040161062b90615a5f565b5f6126ed6020850185615277565b90505f6127006040860160208701615277565b90505f806127146123506020890189615277565b1561272c576127296080880160608901615277565b93505b5f61276b600261273f60208b018b615277565b61274f60808c0160608d01615277565b5f8c608001358d60c001358e806101200190610b8a9190615520565b905061278061235060408a0160208b01615277565b1561281a576127956080890160608a01615277565b93506127a76080890160608a01615277565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156127eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280f919061544d565b9250600191506128b1565b61282a6040890160208a01615277565b6001600160a01b03166370a0823161284860608b0160408c01615277565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561288a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128ae919061544d565b92505b5f6128c06101008a018a6158cd565b91503090506060600183111561297857875f805b8581101561296d575f8e8061010001906128ee91906158cd565b838181106128fe576128fe615439565b905060200201359050612912848483613eac565b955093506129216001886154c2565b8214801561292d575088155b1561294b578e60400160208101906129459190615277565b95508a92505b6129578682878b614197565b975050808061296590615478565b9150506128d4565b50859b5050506129f6565b6129a7888861298b6101008f018f6158cd565b5f81811061299b5761299b615439565b90506020020135613eac565b91508590506129c3576129c060608c0160408d01615277565b91505b6129f3826129d56101008e018e6158cd565b5f8181106129e5576129e5615439565b905060200201358387614197565b99505b5050508115612a7057612a1383611a5d60808b0160608c01615277565b96508760a00135871015612a395760405162461bcd60e51b815260040161062b906159e7565b612a52612a4c60808a0160608b01615277565b88613d99565b612a6b612a6560608a0160408b01615277565b88611f29565b612ac8565b612aa283612a8460408b0160208c01615277565b6001600160a01b03166370a08231611b8a60608d0160408e01615277565b96508760a00135871015612ac85760405162461bcd60e51b815260040161062b906159e7565b612b10612ad860208a018a615277565b612ae860408b0160208c01615277565b612af860608c0160408d01615277565b8b608001358b5f8e806101400190610cce9190615520565b5050505050506001600355919050565b612b29816109b6565b156111025760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161062b565b5f805f612b7586614346565b90925090505f60038c6003811115612b8f57612b8f6154d5565b14612b9b576001612b9d565b5f5b90505f612bad828a858a8a6143a2565b9050612bb88c611ef1565b15612d325760038d6003811115612bd157612bd16154d5565b03612c2b5788341015612c1a5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672e76616c756560781b604482015260640161062b565b612c243484613b5a565b9450612c72565b883414612c6e5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672e76616c756560781b604482015260640161062b565b8094505b6001600160a01b038b1615612d11576001600160a01b038b165f908152600b602052604090205460ff16612cb85760405162461bcd60e51b815260040161062b90615a5f565b60038d6003811115612ccc57612ccc6154d5565b03612cee57612cdb8b86614457565b612ce68b8b87613053565b5f9450612d11565b60028d6003811115612d0257612d026154d5565b03612d1157612d118b82614457565b8315612d2d57600854612d2d906001600160a01b031684611f29565b612dcf565b612d3e8c33308c614551565b60038d6003811115612d5257612d526154d5565b03612d6a57612d628c8b83613053565b349450612daf565b5f8d6003811115612d7d57612d7d6154d5565b03612d9257612d8d8c8b836117e6565b612daf565b60028d6003811115612da657612da66154d5565b03612daf578094505b8315612dcf57600854612dcd908d906001600160a01b031685611fe2565b505b5050505098975050505050505050565b60606044835110158015612e175750825f81518110612e0057612e00615439565b6020910101516001600160f81b031916600160fb1b145b8015612e48575082600181518110612e3157612e31615439565b6020910101516001600160f81b03191660c360f81b145b8015612e79575082600281518110612e6257612e62615439565b6020910101516001600160f81b031916607960f81b145b8015612eaa575082600381518110612e9357612e93615439565b6020910101516001600160f81b031916600560fd1b145b15612f3457604483810180519091612ec29190615a96565b84511015612f0a5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b604482015260640161062b565b8281604051602001612f1d929190615aa9565b60405160208183030381529060405291505061157d565b82516024148015612f695750825f81518110612f5257612f52615439565b6020910101516001600160f81b031916602760f91b145b8015612f9a575082600181518110612f8357612f83615439565b6020910101516001600160f81b031916600960fb1b145b8015612fcb575082600281518110612fb457612fb4615439565b6020910101516001600160f81b031916607b60f81b145b8015612ffc575082600381518110612fe557612fe5615439565b6020910101516001600160f81b031916607160f81b145b156130215760248301518261301082614674565b604051602001612f1d929190615af7565b8161302b8461469c565b60405160200161303c929190615b2b565b604051602081830303815290604052905092915050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f928392908716916130ae9190615897565b5f604051808303815f865af19150503d805f81146130e7576040519150601f19603f3d011682016040523d82523d5f602084013e6130ec565b606091505b509150915081801561311657508051158061311657508080602001905181019061311691906158b2565b6116115760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657248656c7065723a20415050524f56455f4641494c45440000604482015260640161062b565b846001600160a01b0316866001600160a01b0316886001600160a01b03167f2251435bd151cd72851a82be055bf6d1c3d7f34d08d56493dddf874229b8e897878787876040516131b59493929190615b7b565b60405180910390a450505050505050565b600180546001600160a01b03199081169091555f80546001600160a01b03848116938216841783556040519116929183917f88436636ea40d5bb1bcc55ff9cd54788af71da886f4147a87f199adcca733d4d9190a35050565b8061322981612b20565b600160025f846003811115613240576132406154d5565b6003811115613251576132516154d5565b81526020019081526020015f205f6101000a81548160ff0219169083151502179055507f534f879afd40abb4e39f8e1b77a316be4c8e3521d9cf5a3a3db8959d574d455933836040516132a5929190615b9f565b60405180910390a15050565b806132bb8161487c565b5f60025f8460038111156132d1576132d16154d5565b60038111156132e2576132e26154d5565b81526020019081526020015f205f6101000a81548160ff0219169083151502179055507f4cd3e1443d03aba343c5d882744f8f172c07b495e955ac3defb325cbd73c855033836040516132a5929190615b9f565b5f806060818061334960e08801886158cd565b61335591506001615a96565b61336260c08901896158cd565b9050146133a05760405162461bcd60e51b815260206004820152600c60248201526b092dcecc2d8d2c840e0c2e8d60a31b604482015260640161062b565b600b5f6133b360408a0160208b01615277565b6001600160a01b0316815260208101919091526040015f205460ff166133eb5760405162461bcd60e51b815260040161062b90615a5f565b5f806133fa8960a00135614346565b909250905061341d600160608b0135836134186101008e018e615520565b6143a2565b95505f61342d60c08b018b6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093945084925060019150613472905060c08e018e6158cd565b61347d9291506154c2565b8151811061348d5761348d615439565b602002602001015190506134cf8b8060c001906134aa91906158cd565b5f8181106134ba576134ba615439565b90506020020160208101906123509190615277565b1561358f578a60600135341461351b5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964206d73672e76616c756560781b604482015260640161062b565b831561353757600854613537906001600160a01b031684611f29565b61354760408c0160208d01615277565b825f8151811061355957613559615439565b6001600160a01b0390921660209283029190910182015261358a906135849060408e01908e01615277565b89614457565b6136f0565b89156136a157815f815181106135a7576135a7615439565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156135f5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613619919061544d565b9750613644825f8151811061363057613630615439565b602002602001015133308e60600135614551565b61369a8b60a00135611ac68a855f8151811061366257613662615439565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401611a87565b97506136b6565b6136b6825f8151811061363057613630615439565b83156136f0576136ee825f815181106136d1576136d1615439565b60209081029190910101516008546001600160a01b031685611fe2565b505b6136f981611ef1565b156137c75761370e60408c0160208d01615277565b826001845161371d91906154c2565b8151811061372d5761372d615439565b6001600160a01b03909216602092830291909101820152600199506137589060408d01908d01615277565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa15801561379c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137c0919061544d565b9550613852565b8915613852576001600160a01b0381166370a082316137e960208e018e615277565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561382b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061384f919061544d565b94505b819650505050509295509295909350565b5f5b6001845161387391906154c2565b811015611611575f8085838151811061388e5761388e615439565b6020026020010151868460016138a49190615a96565b815181106138b4576138b4615439565b6020026020010151915091505f816001600160a01b0316836001600160a01b0316106138e15781836138e4565b82825b5090505f8685815181106138fa576138fa615439565b602002602001015190505f805f80846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139689190615bee565b506001600160701b031691506001600160701b031691505f80876001600160a01b03168a6001600160a01b0316146139a15782846139a4565b83835b6040516370a0823160e01b81526001600160a01b038a811660048301529294509092506139df918491908d16906370a0823190602401611a87565b95508e6001600160a01b031663054d50d48784846040518463ffffffff1660e01b8152600401613a22939291909283526020830191909152604082015260600190565b602060405180830381865afa158015613a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a61919061544d565b9450505050505f80856001600160a01b0316886001600160a01b031614613a8957825f613a8c565b5f835b915091505f60028d51613a9f91906154c2565b8a10613aab578a613ad0565b8b613ab78b6001615a96565b81518110613ac757613ac7615439565b60200260200101515b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0387169063022c0d9f90613b119086908690869060248101615c2f565b5f604051808303815f87803b158015613b28575f80fd5b505af1158015613b3a573d5f803e3d5ffd5b505050505050505050505050508080613b5290615478565b915050613865565b5f82613b6683826154c2565b915081111561157d5760405162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015260640161062b565b5f5b60018451613bbf91906154c2565b811015611611575f80858381518110613bda57613bda615439565b602002602001015186846001613bf09190615a96565b81518110613c0057613c00615439565b6020026020010151915091505f816001600160a01b0316836001600160a01b031610613c2d578183613c30565b82825b5090505f88613c40866001615a96565b81518110613c5057613c50615439565b602002602001015190505f80836001600160a01b0316866001600160a01b031614613c7c57825f613c7f565b5f835b915091505f60028b51613c9291906154c2565b8810613c9e5788613cc3565b89613caa896001615a96565b81518110613cba57613cba615439565b60200260200101515b9050898881518110613cd757613cd7615439565b60200260200101516001600160a01b031663022c0d9f8484845f6001600160401b03811115613d0857613d08614c3b565b6040519080825280601f01601f191660200182016040528015613d32576020820181803683370190505b506040518563ffffffff1660e01b8152600401613d529493929190615c2f565b5f604051808303815f87803b158015613d69575f80fd5b505af1158015613d7b573d5f803e3d5ffd5b50505050505050505050508080613d9190615478565b915050613bb1565b5f80836001600160a01b03165f632e1a7d4d85604051602401613dbe91815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051613df79190615897565b5f6040518083038185875af1925050503d805f8114613e31576040519150601f19603f3d011682016040523d82523d5f602084013e613e36565b606091505b5091509150818015613e60575080511580613e60575080806020019051810190613e6091906158b2565b6109655760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a2057495448445241575f4641494c454400604482015260640161062b565b5f60605f8390505f816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ef0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f149190615c5b565b90505f826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f779190615c5b565b90505f836001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613fda9190615c76565b604080516001600160a01b03808716602083015285169181019190915262ffffff821660608201529091505f9060800160408051601f1981840301815291905280516020909101209050600160ff1b88161580156140da57846001600160a01b03168b6001600160a01b0316146140635760405162461bcd60e51b815260040161062b90615c98565b6001600160a01b038a16156140a357836001600160a01b03168a6001600160a01b0316146140a35760405162461bcd60e51b815260040161062b90615c98565b604080516001600160a01b03871660208201529081018390529397508793606001604051602081830303815290604052965061417e565b836001600160a01b03168b6001600160a01b03161461410b5760405162461bcd60e51b815260040161062b90615c98565b6001600160a01b038a161561414b57846001600160a01b03168a6001600160a01b03161461414b5760405162461bcd60e51b815260040161062b90615c98565b604080516001600160a01b0386166020820152908101839052949750879460600160405160208183030381529060405296505b61418989838b611633565b505050505050935093915050565b5f600160ff1b841615801561426f575f856001600160a01b031663128acb0888846141c1886148c8565b6141d16401000276a36001615cba565b8b8b6040516020016141e4929190615ce1565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401614213959493929190615cf9565b60408051808303815f875af115801561422e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142529190615d33565b9150506142678161426290615d55565b614935565b92505061433d565b5f856001600160a01b031663128acb08888461428a886148c8565b6142a9600173fffd8963efd1fc6a506488495d951d5263988d26615d6f565b8b8b6040516020016142bc929190615ce1565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016142eb959493929190615cf9565b60408051808303815f875af1158015614306573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061432a9190615d33565b50905061433961426282615d55565b9250505b50949350505050565b5f8080614354600a85615da3565b905061436b600a6143658684613b5a565b90614986565b915080600114801561437c57505f82115b801561439257506008546001600160a01b031615155b1561439c57600192505b50915091565b5f8086156143cc576143c5612710614365600454896149d390919063ffffffff16565b90506143ea565b6143e7612710614365600554896149d390919063ffffffff16565b90505b80851015614442576143fe86868686614a39565b6144425760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964207369676e61747572652066656560581b604482015260640161062b565b61444c8686613b5a565b979650505050505050565b60408051600481526024810182526020810180516001600160e01b0316630d0e30db60e41b17905290515f9182916001600160a01b03861691859161449c9190615897565b5f6040518083038185875af1925050503d805f81146144d6576040519150601f19603f3d011682016040523d82523d5f602084013e6144db565b606091505b509150915081801561450557508051158061450557508080602001905181019061450591906158b2565b6109655760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657248656c7065723a204445504f5349545f4641494c45440000604482015260640161062b565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f928392908816916145b49190615897565b5f604051808303815f865af19150503d805f81146145ed576040519150601f19603f3d011682016040523d82523d5f602084013e6145f2565b606091505b509150915081801561461c57508051158061461c57508080602001905181019061461c91906158b2565b6117de5760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b606482015260840161062b565b606061157d8260405160200161468c91815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b905f906146c3906002615db6565b6146ce906002615a96565b6001600160401b038111156146e5576146e5614c3b565b6040519080825280601f01601f19166020018201604052801561470f576020820181803683370190505b509050600360fc1b815f8151811061472957614729615439565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061475757614757615439565b60200101906001600160f81b03191690815f1a9053505f5b84518110156148745782600486838151811061478d5761478d615439565b01602001516001600160f81b031916901c60f81c601081106147b1576147b1615439565b1a60f81b826147c1836002615db6565b6147cc906002615a96565b815181106147dc576147dc615439565b60200101906001600160f81b03191690815f1a9053508285828151811061480557614805615439565b60209101015160f81c600f166010811061482157614821615439565b1a60f81b82614831836002615db6565b61483c906003615a96565b8151811061484c5761484c615439565b60200101906001600160f81b03191690815f1a9053508061486c81615478565b91505061476f565b509392505050565b614885816109b6565b6111025760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161062b565b5f6001600160ff1b038211156149315760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b606482015260840161062b565b5090565b5f808212156149315760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161062b565b5f815f036149c95760405162461bcd60e51b815260206004820152601060248201526f64732d6d6174682d6469762d7a65726f60801b604482015260640161062b565b61069f8284615dcd565b5f8115806149f6575082826149e88183615db6565b92506149f49083615dcd565b145b61157d5760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015260640161062b565b600954604080517f048f880a603b1aab0e626a287e33d603417b3d53a36f7527b7c86365bf7def4f6020820152339181019190915260608101869052608081018590525f91829160a00160405160208183030381529060405280519060200120604051602001614ac092919061190160f01b81526002810192909252602282015260420190565b6040516020818303038152906040528051906020012090505f805f614b1987878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250614ba592505050565b9250925092505f6001858585856040515f8152602001604052604051614b5b949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015614b7b573d5f803e3d5ffd5b5050604051601f1901516007546001600160a01b039081169116149b9a5050505050505050505050565b5f805f8351604114614bf95760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207369676e6174757265206c656e6774680000000000000000604482015260640161062b565b505050602081015160408201516060909201515f1a92909190565b5f8085851115614c22575f80fd5b83861115614c2e575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614c7757614c77614c3b565b604052919050565b5f6001600160401b03821115614c9757614c97614c3b565b50601f01601f191660200190565b5f805f60608486031215614cb7575f80fd5b833592506020840135915060408401356001600160401b03811115614cda575f80fd5b8401601f81018613614cea575f80fd5b8035614cfd614cf882614c7f565b614c4f565b818152876020838501011115614d11575f80fd5b816020840160208301375f602083830101528093505050509250925092565b5f8060408385031215614d41575f80fd5b82356001600160401b03811115614d56575f80fd5b83016101408186031215614d68575f80fd5b946020939093013593505050565b5f6001600160401b03821115614d8e57614d8e614c3b565b5060051b60200190565b6001600160a01b0381168114611102575f80fd5b8035614db781614d98565b919050565b5f8060408385031215614dcd575f80fd5b82356001600160401b03811115614de2575f80fd5b8301601f81018513614df2575f80fd5b80356020614e02614cf883614d76565b82815260059290921b83018101918181019088841115614e20575f80fd5b938201935b83851015614e47578435614e3881614d98565b82529382019390820190614e25565b9550614e569050868201614dac565b93505050509250929050565b5f805f60608486031215614e74575f80fd5b8335614e7f81614d98565b92506020840135614e8f81614d98565b929592945050506040919091013590565b5f5b83811015614eba578181015183820152602001614ea2565b50505f910152565b5f8151808452614ed9816020860160208601614ea0565b601f01601f19169290920160200192915050565b831515815282151560208201526060604082015260018060a01b0382511660608201525f6020830151604060808401526120bc60a0840182614ec2565b5f805f8060608587031215614f3d575f80fd5b843593506020850135925060408501356001600160401b0380821115614f61575f80fd5b818701915087601f830112614f74575f80fd5b813581811115614f82575f80fd5b886020828501011115614f93575f80fd5b95989497505060200194505050565b5f8060408385031215614fb3575f80fd5b82356001600160401b0380821115614fc9575f80fd5b908401906101208287031215614fdd575f80fd5b90925060208401359080821115614ff2575f80fd5b50830160408186031215615004575f80fd5b809150509250929050565b5f6101608284031215615020575f80fd5b50919050565b5f60208284031215615036575f80fd5b81356001600160401b0381111561504b575f80fd5b6150578482850161500f565b949350505050565b5f6020828403121561506f575f80fd5b81356004811061069f575f80fd5b8015158114611102575f80fd5b5f82601f830112615099575f80fd5b813560206150a9614cf883614d76565b82815260059290921b840181019181810190868411156150c7575f80fd5b8286015b848110156150e257803583529183019183016150cb565b509695505050505050565b5f80604083850312156150fe575f80fd5b82356001600160401b0380821115615114575f80fd5b818501915085601f830112615127575f80fd5b81356020615137614cf883614d76565b82815260059290921b84018101918181019089841115615155575f80fd5b948201945b8386101561517c57853561516d8161507d565b8252948201949082019061515a565b96505086013592505080821115615191575f80fd5b506109888582860161508a565b5f8083601f8401126151ae575f80fd5b5081356001600160401b038111156151c4575f80fd5b6020830191508360208260051b85010111156151de575f80fd5b9250929050565b5f805f805f80606087890312156151fa575f80fd5b86356001600160401b0380821115615210575f80fd5b61521c8a838b0161519e565b90985096506020890135915080821115615234575f80fd5b6152408a838b0161519e565b90965094506040890135915080821115615258575f80fd5b5061526589828a0161519e565b979a9699509497509295939492505050565b5f60208284031215615287575f80fd5b813561069f81614d98565b5f805f80604085870312156152a5575f80fd5b84356001600160401b03808211156152bb575f80fd5b6152c78883890161519e565b909650945060208701359150808211156152df575f80fd5b506152ec8782880161519e565b95989497509550505050565b5f805f6060848603121561530a575f80fd5b833561531581614d98565b9250602084013561532581614d98565b9150604084013561533581614d98565b809150509250925092565b5f805f60408486031215615352575f80fd5b833561535d8161507d565b925060208401356001600160401b03811115615377575f80fd5b6153838682870161519e565b9497909650939450505050565b5f80604083850312156153a1575f80fd5b8251915060208301516001600160401b038111156153bd575f80fd5b8301601f810185136153cd575f80fd5b80516153db614cf882614c7f565b8181528660208385010111156153ef575f80fd5b615400826020830160208601614ea0565b8093505050509250929050565b5f806040838503121561541e575f80fd5b825161542981614d98565b6020939093015192949293505050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561545d575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b5f6001820161548957615489615464565b5060010190565b600181811c908216806154a457607f821691505b60208210810361502057634e487b7160e01b5f52602260045260245ffd5b8181038181111561157d5761157d615464565b634e487b7160e01b5f52602160045260245ffd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b5f808335601e19843603018112615535575f80fd5b8301803591506001600160401b0382111561554e575f80fd5b6020019150368190038213156151de575f80fd5b818382375f9101908152919050565b602081525f61069f6020830184614ec2565b601f821115610821575f81815260208120601f850160051c810160208610156155a95750805b601f850160051c820191505b818110156117de578281556001016155b5565b81516001600160401b038111156155e1576155e1614c3b565b6155f5816155ef8454615490565b84615583565b602080601f831160018114615628575f84156156115750858301515b5f19600386901b1c1916600185901b1785556117de565b5f85815260208120601f198616915b8281101561565657888601518255948401946001909101908401615637565b508582101561567357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8183525f60208085019450825f5b858110156156bf5781356156a481614d98565b6001600160a01b031687529582019590820190600101615691565b509495945050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f808335601e19843603018112615707575f80fd5b83016020810192503590506001600160401b03811115615725575f80fd5b8036038213156151de575f80fd5b606080825281018690525f6001600160fb1b03871115615751575f80fd5b8660051b80896080850137808301905060206080848303018185015261577b60808301888a615683565b84810360408601528581529150808201600586901b83018201875f5b888110156157d157858303601f190184526157b2828b6156f2565b6157bd8582846156ca565b958701959450505090840190600101615797565b50909c9b505050505050505050505050565b602081525f615057602083018486615683565b604081525f615809604083018587615683565b8281036020848101919091528451808352858201928201905f5b81811015615841578451151583529383019391830191600101615823565b509098975050505050505050565b60ff60f81b81526bffffffffffffffffffffffff198460601b1660018201528260158201525f8251615888816035850160208701614ea0565b91909101603501949350505050565b5f82516158a8818460208701614ea0565b9190910192915050565b5f602082840312156158c2575f80fd5b815161069f8161507d565b5f808335601e198436030181126158e2575f80fd5b8301803591506001600160401b038211156158fb575f80fd5b6020019150600581901b36038213156151de575f80fd5b5f60408201848352602060408185015281855180845260608601915082870193505f5b8181101561595a5784516001600160a01b031683529383019391830191600101615935565b5090979650505050505050565b5f6020808385031215615978575f80fd5b82516001600160401b0381111561598d575f80fd5b8301601f8101851361599d575f80fd5b80516159ab614cf882614d76565b81815260059190911b820183019083810190878311156159c9575f80fd5b928401925b8284101561444c578351825292840192908401906159ce565b602080825260139082015272151bdbc81b1a5d1d1b19481c9958d95a5d9959606a1b604082015260600190565b602081525f8235615a2481614d98565b6001600160a01b0316602083810191909152615a42908401846156f2565b604080850152615a566060850182846156ca565b95945050505050565b60208082526017908201527f496e76616c696420777261707065642061646472657373000000000000000000604082015260600190565b8082018082111561157d5761157d615464565b5f8351615aba818460208801614ea0565b6508ae4e4dee4560d31b9083019081528351615add816006840160208801614ea0565b602960f81b60069290910191820152600701949350505050565b5f8351615b08818460208801614ea0565b650a0c2dcd2c6560d31b9083019081528351615add816006840160208801614ea0565b5f8351615b3c818460208801614ea0565b670aadcd6dcdeeedc560c31b9083019081528351615b61816008840160208801614ea0565b602960f81b60089290910191820152600901949350505050565b848152836020820152826040820152608060608201525f6120bc6080830184614ec2565b6001600160a01b03831681526040810160048310615bcb57634e487b7160e01b5f52602160045260245ffd5b8260208301529392505050565b80516001600160701b0381168114614db7575f80fd5b5f805f60608486031215615c00575f80fd5b615c0984615bd8565b9250615c1760208501615bd8565b9150604084015163ffffffff81168114615335575f80fd5b84815283602082015260018060a01b0383166040820152608060608201525f6120bc6080830184614ec2565b5f60208284031215615c6b575f80fd5b815161069f81614d98565b5f60208284031215615c86575f80fd5b815162ffffff8116811461069f575f80fd5b602080825260089082015267109859081c1bdbdb60c21b604082015260600190565b6001600160a01b03818116838216019080821115615cda57615cda615464565b5092915050565b828152604060208201525f6150576040830184614ec2565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f9061444c90830184614ec2565b5f8060408385031215615d44575f80fd5b505080516020909101519092909150565b5f600160ff1b8201615d6957615d69615464565b505f0390565b6001600160a01b03828116828216039080821115615cda57615cda615464565b634e487b7160e01b5f52601260045260245ffd5b5f82615db157615db1615d8f565b500690565b808202811582820484141761157d5761157d615464565b5f82615ddb57615ddb615d8f565b50049056fea2646970667358221220c6e5fa5d7298b1e0aae7e9753be45dc659b862a5c4d1a26130713863f3596b4464736f6c63430008140033

Deployed Bytecode

0x608060405260043610610184575f3560e01c80637ec753fe116100d0578063b9b5149b11610089578063d63234e011610063578063d63234e0146105a8578063d808d889146105c5578063fa461e33146102a4578063fa9ec7af146105d8576101c3565b8063b9b5149b14610546578063bf5c55a214610559578063c34c08e514610578576101c3565b80637ec753fe1461049757806392bcc8be146104b657806394d3d793146104d5578063afed2d0e146104e9578063b93c0beb14610508578063b946fd3b14610527576101c3565b80633644e5151161013d5780635ac86ab7116101175780635ac86ab7146103e95780636b3ec416146104185780636fbf72f91461042b5780637e467ecf14610464576101c3565b80633644e515146102eb5780633c481d57146103005780634c42342f146103d6576101c3565b80630ced9fb9146101ff5780630dc4bdae146102365780630e8cc705146102575780631975b0961461027657806323a69e75146102a45780632adb806f146102c3576101c3565b366101c357604080513381523460208201527f7784f8d436dc514f0690e472c7e2d7f660a73e504c69b2350f6be5a5f02432ef910160405180910390a1005b3480156101ce575f80fd5b505f80806101df3660048184614c14565b8101906101ec9190614ca5565b9250925092506101fd8383836105eb565b005b34801561020a575f80fd5b50600654600754604080516001600160a01b039384168152929091166020830152015b60405180910390f35b610249610244366004614d30565b610694565b60405190815260200161022d565b348015610262575f80fd5b506101fd610271366004614dbc565b6106a6565b348015610281575f80fd5b50610295610290366004614e62565b610826565b60405161022d93929190614eed565b3480156102af575f80fd5b506101fd6102be366004614f2a565b610925565b6102d66102d1366004614fa2565b61096b565b6040805192835260208301919091520161022d565b3480156102f6575f80fd5b5061024960095481565b34801561030b575f80fd5b5060026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b547fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0547f679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c5460035f527f88601476d11616a71c5be67555bd1dff4b1cbf21533d2669b768b61518cfe1c35460ff938416939283169291821691166040805194151585529215156020850152901515918301919091521515606082015260800161022d565b6102d66103e4366004615026565b610992565b3480156103f4575f80fd5b5061040861040336600461505f565b6109b6565b604051901515815260200161022d565b6101fd610426366004615026565b6109f6565b348015610436575f80fd5b506004546005546008546040805193845260208401929092526001600160a01b03169082015260600161022d565b34801561046f575f80fd5b506102497f048f880a603b1aab0e626a287e33d603417b3d53a36f7527b7c86365bf7def4f81565b3480156104a2575f80fd5b506101fd6104b13660046150ed565b610d11565b3480156104c1575f80fd5b506101fd6104d03660046151e5565b610e96565b3480156104e0575f80fd5b506101fd61107f565b3480156104f4575f80fd5b506101fd610503366004615277565b611105565b348015610513575f80fd5b506101fd610522366004615292565b611175565b348015610532575f80fd5b506101fd6105413660046152f8565b61142a565b610249610554366004615026565b611573565b348015610564575f80fd5b506101fd610573366004615340565b611583565b348015610583575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161022d565b3480156105b3575f80fd5b506001546001600160a01b0316610590565b6102496105d3366004614fa2565b611618565b6102d66105e6366004614d30565b611623565b5f8313806105f857505f82135b6106345760405162461bcd60e51b81526020600482015260086024820152674d30206f72204d3160c01b60448201526064015b60405180910390fd5b5f808280602001905181019061064a9190615390565b915091505f8082806020019051810190610664919061540d565b91509150610673848233611633565b855f88131561067f5750865b61068a8333836117e6565b5050505050505050565b5f61069f8383611903565b9392505050565b6106ae611e7b565b5f5b8251811015610821575f6106dc8483815181106106cf576106cf615439565b6020026020010151611ef1565b156106f25750476106ed8382611f29565b61079e565b83828151811061070457610704615439565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610752573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610776919061544d565b905061079c84838151811061078d5761078d615439565b60200260200101518483611fe2565b505b826001600160a01b0316336001600160a01b03168584815181106107c4576107c4615439565b60200260200101516001600160a01b03167f3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f78460405161080691815260200190565b60405180910390a4508061081981615478565b9150506106b0565b505050565b6040805180820182525f80825260606020808401919091526001600160a01b038781168352600a8252848320548782168452600b835285842054878552600c84529386902086518088019097528054909216865260018201805460ff92831697929095169594919384019161089a90615490565b80601f01602080910402602001604051908101604052809291908181526020018280546108c690615490565b80156109115780601f106108e857610100808354040283529160200191610911565b820191905f5260205f20905b8154815290600101906020018083116108f457829003601f168201915b505050505081525050905093509350939050565b610965848484848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506105eb92505050565b50505050565b5f805f5a905061097b85856120c6565b92505a61098890826154c2565b9150509250929050565b5f805f5a90506109a1846125d7565b92505a6109ae90826154c2565b915050915091565b5f60025f8360038111156109cc576109cc6154d5565b60038111156109dd576109dd6154d5565b815260208101919091526040015f205460ff1692915050565b600260035403610a185760405162461bcd60e51b815260040161062b906154e9565b60026003556003610a2881612b20565b5f610a37610120840184615520565b905011610a805760405162461bcd60e51b8152602060048201526017602482015276646174612073686f756c64206265206e6f74207a65726f60481b604482015260640161062b565b5f8260a0013511610ad35760405162461bcd60e51b815260206004820152601f60248201527f616d6f756e742073686f756c642062652067726561746572207468616e203000604482015260640161062b565b600a5f610ae66060850160408601615277565b6001600160a01b0316815260208101919091526040015f205460ff16610b3f5760405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21031b0b63632b960911b604482015260640161062b565b5f610b8f6003610b526020860186615277565b610b6260a0870160808801615277565b610b726060880160408901615277565b60a088013560c0890135610b8a6101408b018b615520565b612b69565b90505f80610ba36060860160408701615277565b6001600160a01b031683610bbb610120880188615520565b604051610bc9929190615562565b5f6040518083038185875af1925050503d805f8114610c03576040519150601f19603f3d011682016040523d82523d5f602084013e610c08565b606091505b509150915081610c5c57610c43816040518060400160405280600f81526020016e2a3930b739b4ba21b937b9b9ab1a9d60891b815250612ddf565b60405162461bcd60e51b815260040161062b9190615571565b610c82610c6c6020870187615277565b610c7c6060880160408901615277565b5f613053565b50610d079050610c956020850185615277565b610ca56040860160208701615277565b610cb56080870160608801615277565b60a08701355f60e0890135610cce6101008b018b615520565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061316292505050565b5050600160035550565b610d19611e7b565b5f5b8251811015610821575f828281518110610d3757610d37615439565b602002602001015110158015610d6857506103e8828281518110610d5d57610d5d615439565b602002602001015111155b610da95760405162461bcd60e51b8152602060048201526012602482015271066656520726174652069733a302d313030360741b604482015260640161062b565b828181518110610dbb57610dbb615439565b602002602001015115610ded57818181518110610dda57610dda615439565b6020026020010151600481905550610e0e565b818181518110610dff57610dff615439565b60200260200101516005819055505b7f5fa95345cbe35dad70f67a9ca1430c22453a695590cb4fca05d58f637e85af4f838281518110610e4157610e41615439565b6020026020010151838381518110610e5b57610e5b615439565b6020026020010151604051610e7c9291909115158252602082015260400190565b60405180910390a180610e8e81615478565b915050610d1b565b610e9e611e7b565b848114610edc5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964206461746160a01b604482015260640161062b565b828114610f1a5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964206461746160a01b604482015260640161062b565b825f5b81811015611034576040518060400160405280878784818110610f4257610f42615439565b9050602002016020810190610f579190615277565b6001600160a01b03168152602001858584818110610f7757610f77615439565b9050602002810190610f899190615520565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250600c92508b90508a85818110610fd557610fd5615439565b60209081029290920135835250818101929092526040015f20825181546001600160a01b0319166001600160a01b0390911617815590820151600182019061101d90826155c8565b50905050808061102c90615478565b915050610f1d565b507f652c1af850dcc0b28fcb71cd9473023f56a89edd81bbe7b51056a04caa94002487878787878760405161106e96959493929190615733565b60405180910390a150505050505050565b33806110936001546001600160a01b031690565b6001600160a01b0316146110f95760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206e657720656044820152663c32b1baba37b960c91b606482015260840161062b565b611102816131c6565b50565b61110d611e7b565b600180546001600160a01b0383166001600160a01b0319909116811790915561113d5f546001600160a01b031690565b6001600160a01b03167fdd01547fc40682edc3cd8d164d53f5a1ae6b46138a83f045658ed760823ddba860405160405180910390a350565b61117d611e7b565b8215611275575f5b8381101561123a57600a5f8686848181106111a2576111a2615439565b90506020020160208101906111b79190615277565b6001600160a01b0316815260208101919091526040015f9081205460ff161590600a908787858181106111ec576111ec615439565b90506020020160208101906112019190615277565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790558061123281615478565b915050611185565b507fb05655746bd43b7fe3ccd9d28b7685b4c67ddc51e70890062b0f7f85dd692695848460405161126c9291906157e3565b60405180910390a15b8015610965575f816001600160401b0381111561129457611294614c3b565b6040519080825280602002602001820160405280156112bd578160200160208202803683370190505b5090505f5b828110156113e757600b5f8585848181106112df576112df615439565b90506020020160208101906112f49190615277565b6001600160a01b0316815260208101919091526040015f9081205460ff161590600b9086868581811061132957611329615439565b905060200201602081019061133e9190615277565b6001600160a01b0316815260208101919091526040015f908120805460ff191692151592909217909155600b9085858481811061137d5761137d615439565b90506020020160208101906113929190615277565b6001600160a01b0316815260208101919091526040015f2054825160ff909116908390839081106113c5576113c5615439565b91151560209283029190910190910152806113df81615478565b9150506112c2565b507f4a28b173d9bc739be3886d172e07fef80392184787fc6b92406ce0f0c05b7e6383838360405161141b939291906157f6565b60405180910390a15050505050565b611432611e7b565b6001600160a01b0383161561149357600680546001600160a01b0319166001600160a01b0385169081179091556040519081527f347fade115440908839b750620f0add8f417b77a392657edd70b950373eda9c39060200160405180910390a15b6001600160a01b0382161561150157600780546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527ff9c6fa562c9d8326f8518a29a53ef18ab03cd6b9eead73ac667c5e289354c73e910160405180910390a1505b6001600160a01b0381161561082157600880546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fb3911b5760f95a64aaa8d7f1775f57a7b6ed0bcf1ebb3fbfcc045e2f04eaad11910160405180910390a150505050565b5f61157d826125d7565b92915050565b61158b611e7b565b805f5b818110156116115784156115d0576115cb8484838181106115b1576115b1615439565b90506020020160208101906115c6919061505f565b61321f565b6115ff565b6115ff8484838181106115e5576115e5615439565b90506020020160208101906115fa919061505f565b6132b1565b8061160981615478565b91505061158e565b5050505050565b5f61069f83836120c6565b5f805f5a905061097b8585611903565b600f60f884901c165f818152600c60209081526040808320815180830190925280546001600160a01b03168252600181018054929391929184019161167790615490565b80601f01602080910402602001604051908101604052809291908181526020018280546116a390615490565b80156116ee5780601f106116c5576101008083540402835291602001916116ee565b820191905f5260205f20905b8154815290600101906020018083116116d157829003601f168201915b5050509190925250508151919250506001600160a01b03166117525760405162461bcd60e51b815260206004820152601960248201527f43616c6c6261636b2062616420706f6f6c20696e646578656400000000000000604482015260640161062b565b5f815f015185836020015160405160200161176f9392919061584f565b604051602081830303815290604052805190602001205f1c9050836001600160a01b0316816001600160a01b0316146117de5760405162461bcd60e51b815260206004820152601160248201527010d85b1b189858dac8189859081c1bdbdb607a1b604482015260640161062b565b505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f928392908716916118419190615897565b5f604051808303815f865af19150503d805f811461187a576040519150601f19603f3d011682016040523d82523d5f602084013e61187f565b606091505b50915091508180156118a95750805115806118a95750808060200190518101906118a991906158b2565b6116115760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657248656c7065723a205452414e534645525f544f4b454e5f46604482015264105253115160da1b606482015260840161062b565b5f6002600354036119265760405162461bcd60e51b815260040161062b906154e9565b6002600355600161193681612b20565b428310156119705760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161062b565b6001600f604086013560f81c16145f8080808061198d8a87613336565b945094509450945094506119ef835f815181106119ac576119ac615439565b60200260200101518b8060e001906119c491906158cd565b5f8181106119d4576119d4615439565b90506020020160208101906119e99190615277565b866117e6565b8515611bb6578415611ad357611a4960408b013584611a1160e08e018e6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250309250613863915050565b611acc82611a5d60408d0160208e01615277565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a08231906024015b602060405180830381865afa158015611aa2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ac6919061544d565b90613b5a565b9750611d2b565b611b3f60408b013584611ae960e08e018e6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f820116905080830192505050505050508d5f016020810190611b3a9190615277565b613863565b611acc818460018651611b5291906154c2565b81518110611b6257611b62615439565b60200260200101516001600160a01b03166370a082318d5f016020810190611b8a9190615277565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401611a87565b5f8a604001356001600160a01b031663d06ca61f86866040518363ffffffff1660e01b8152600401611be9929190615912565b5f60405180830381865afa158015611c03573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c2a9190810190615967565b90508515611c9757611c7c8185611c4460e08f018f6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250309250613baf915050565b611c9083611a5d60408e0160208f01615277565b9850611d29565b611cff8185611ca960e08f018f6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f820116905080830192505050505050508e5f016020810190611cfa9190615277565b613baf565b8060018251611d0e91906154c2565b81518110611d1e57611d1e615439565b602002602001015198505b505b8960800135881015611d4f5760405162461bcd60e51b815260040161062b906159e7565b8415611d8457611d6e611d6860408c0160208d01615277565b89613d99565b611d84611d7e60208c018c615277565b89611f29565b50505050505f85806101200190611d9b9190615520565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929350611e6d9250611de391505060c08801886158cd565b5f818110611df357611df3615439565b9050602002016020810190611e089190615277565b611e1560c08901896158cd565b6001611e2460c08c018c6158cd565b611e2f9291506154c2565b818110611e3e57611e3e615439565b9050602002016020810190611e539190615277565b611e6060208a018a615277565b8960600135885f87613162565b505050600160035592915050565b33611e8d5f546001600160a01b031690565b6001600160a01b031614611eef5760405162461bcd60e51b815260206004820152602360248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652065786563756044820152623a37b960e91b606482015260840161062b565b565b5f6001600160a01b038216158061157d57506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1492915050565b604080515f808252602082019092526001600160a01b038416908390604051611f529190615897565b5f6040518083038185875af1925050503d805f8114611f8c576040519150601f19603f3d011682016040523d82523d5f602084013e611f91565b606091505b50509050806108215760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015260640161062b565b5f805f856001600160a01b031663a9059cbb868660405160240161201b9291906001600160a01b03929092168252602082015260400190565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516120549190615897565b5f604051808303815f865af19150503d805f811461208d576040519150601f19603f3d011682016040523d82523d5f602084013e612092565b606091505b50915091508180156120bc5750805115806120bc5750808060200190518101906120bc91906158b2565b9695505050505050565b5f6002600354036120e95760405162461bcd60e51b815260040161062b906154e9565b60026003555f6120f881612b20565b5f6121066020850185615520565b90501161214f5760405162461bcd60e51b8152602060048201526017602482015276646174612073686f756c64206265206e6f74207a65726f60481b604482015260640161062b565b5f8460800135116121a25760405162461bcd60e51b815260206004820152601f60248201527f616d6f756e742073686f756c642062652067726561746572207468616e203000604482015260640161062b565b5f6121b36060860160408701615277565b6001600160a01b0316036122135760405162461bcd60e51b815260206004820152602160248201527f72656365697665722073686f756c64206265206e6f74206164647265737328306044820152602960f81b606482015260840161062b565b5f8460a00135116122775760405162461bcd60e51b815260206004820152602860248201527f6d696e52657475726e416d6f756e742073686f756c6420626520677265617465604482015267072207468616e20360c41b606482015260840161062b565b600b5f61228a6080870160608801615277565b6001600160a01b0316815260208101919091526040015f205460ff166122f25760405162461bcd60e51b815260206004820152601760248201527f696e76616c696420777261707065642061646472657373000000000000000000604482015260640161062b565b6006545f906001600160a01b03168161233b8161231260208a018a615277565b61232260808b0160608c01615277565b8560808c013560c08d0135610b8a6101008f018f615520565b90506123556123506040890160208a01615277565b611ef1565b1561237b5761236a6060880160408901615277565b6001600160a01b0316319250612412565b61238b6040880160208901615277565b6001600160a01b03166370a082316123a960608a0160408b01615277565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156123eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061240f919061544d565b92505b5f80836001600160a01b031683633f3204d28a6040516024016124359190615a14565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161246e9190615897565b5f6040518083038185875af1925050503d805f81146124a8576040519150601f19603f3d011682016040523d82523d5f602084013e6124ad565b606091505b5091509150816124e557610c43816040518060400160405280600c81526020016b2a3930b739b4ba29bbb0b81d60a11b815250612ddf565b506124fb90506123506040890160208a01615277565b1561252b576125248361251460608a0160408b01615277565b6001600160a01b03163190613b5a565b9450612560565b61255d8361253f60408a0160208b01615277565b6001600160a01b03166370a08231611b8a60608c0160408d01615277565b94505b8660a001358510156125845760405162461bcd60e51b815260040161062b906159e7565b6125c86125946020890189615277565b6125a460408a0160208b01615277565b6125b460608b0160408c01615277565b60808b0135895f610cce60e08f018f615520565b50505050600160035592915050565b5f6002600354036125fa5760405162461bcd60e51b815260040161062b906154e9565b6002600355600261260a81612b20565b5f6126196101008501856158cd565b9050116126565760405162461bcd60e51b815260206004820152600b60248201526a456d70747920706f6f6c7360a81b604482015260640161062b565b428360e0013510156126945760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161062b565b600b5f6126a76080860160608701615277565b6001600160a01b0316815260208101919091526040015f205460ff166126df5760405162461bcd60e51b815260040161062b90615a5f565b5f6126ed6020850185615277565b90505f6127006040860160208701615277565b90505f806127146123506020890189615277565b1561272c576127296080880160608901615277565b93505b5f61276b600261273f60208b018b615277565b61274f60808c0160608d01615277565b5f8c608001358d60c001358e806101200190610b8a9190615520565b905061278061235060408a0160208b01615277565b1561281a576127956080890160608a01615277565b93506127a76080890160608a01615277565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156127eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280f919061544d565b9250600191506128b1565b61282a6040890160208a01615277565b6001600160a01b03166370a0823161284860608b0160408c01615277565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561288a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128ae919061544d565b92505b5f6128c06101008a018a6158cd565b91503090506060600183111561297857875f805b8581101561296d575f8e8061010001906128ee91906158cd565b838181106128fe576128fe615439565b905060200201359050612912848483613eac565b955093506129216001886154c2565b8214801561292d575088155b1561294b578e60400160208101906129459190615277565b95508a92505b6129578682878b614197565b975050808061296590615478565b9150506128d4565b50859b5050506129f6565b6129a7888861298b6101008f018f6158cd565b5f81811061299b5761299b615439565b90506020020135613eac565b91508590506129c3576129c060608c0160408d01615277565b91505b6129f3826129d56101008e018e6158cd565b5f8181106129e5576129e5615439565b905060200201358387614197565b99505b5050508115612a7057612a1383611a5d60808b0160608c01615277565b96508760a00135871015612a395760405162461bcd60e51b815260040161062b906159e7565b612a52612a4c60808a0160608b01615277565b88613d99565b612a6b612a6560608a0160408b01615277565b88611f29565b612ac8565b612aa283612a8460408b0160208c01615277565b6001600160a01b03166370a08231611b8a60608d0160408e01615277565b96508760a00135871015612ac85760405162461bcd60e51b815260040161062b906159e7565b612b10612ad860208a018a615277565b612ae860408b0160208c01615277565b612af860608c0160408d01615277565b8b608001358b5f8e806101400190610cce9190615520565b5050505050506001600355919050565b612b29816109b6565b156111025760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161062b565b5f805f612b7586614346565b90925090505f60038c6003811115612b8f57612b8f6154d5565b14612b9b576001612b9d565b5f5b90505f612bad828a858a8a6143a2565b9050612bb88c611ef1565b15612d325760038d6003811115612bd157612bd16154d5565b03612c2b5788341015612c1a5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672e76616c756560781b604482015260640161062b565b612c243484613b5a565b9450612c72565b883414612c6e5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672e76616c756560781b604482015260640161062b565b8094505b6001600160a01b038b1615612d11576001600160a01b038b165f908152600b602052604090205460ff16612cb85760405162461bcd60e51b815260040161062b90615a5f565b60038d6003811115612ccc57612ccc6154d5565b03612cee57612cdb8b86614457565b612ce68b8b87613053565b5f9450612d11565b60028d6003811115612d0257612d026154d5565b03612d1157612d118b82614457565b8315612d2d57600854612d2d906001600160a01b031684611f29565b612dcf565b612d3e8c33308c614551565b60038d6003811115612d5257612d526154d5565b03612d6a57612d628c8b83613053565b349450612daf565b5f8d6003811115612d7d57612d7d6154d5565b03612d9257612d8d8c8b836117e6565b612daf565b60028d6003811115612da657612da66154d5565b03612daf578094505b8315612dcf57600854612dcd908d906001600160a01b031685611fe2565b505b5050505098975050505050505050565b60606044835110158015612e175750825f81518110612e0057612e00615439565b6020910101516001600160f81b031916600160fb1b145b8015612e48575082600181518110612e3157612e31615439565b6020910101516001600160f81b03191660c360f81b145b8015612e79575082600281518110612e6257612e62615439565b6020910101516001600160f81b031916607960f81b145b8015612eaa575082600381518110612e9357612e93615439565b6020910101516001600160f81b031916600560fd1b145b15612f3457604483810180519091612ec29190615a96565b84511015612f0a5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b604482015260640161062b565b8281604051602001612f1d929190615aa9565b60405160208183030381529060405291505061157d565b82516024148015612f695750825f81518110612f5257612f52615439565b6020910101516001600160f81b031916602760f91b145b8015612f9a575082600181518110612f8357612f83615439565b6020910101516001600160f81b031916600960fb1b145b8015612fcb575082600281518110612fb457612fb4615439565b6020910101516001600160f81b031916607b60f81b145b8015612ffc575082600381518110612fe557612fe5615439565b6020910101516001600160f81b031916607160f81b145b156130215760248301518261301082614674565b604051602001612f1d929190615af7565b8161302b8461469c565b60405160200161303c929190615b2b565b604051602081830303815290604052905092915050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f928392908716916130ae9190615897565b5f604051808303815f865af19150503d805f81146130e7576040519150601f19603f3d011682016040523d82523d5f602084013e6130ec565b606091505b509150915081801561311657508051158061311657508080602001905181019061311691906158b2565b6116115760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657248656c7065723a20415050524f56455f4641494c45440000604482015260640161062b565b846001600160a01b0316866001600160a01b0316886001600160a01b03167f2251435bd151cd72851a82be055bf6d1c3d7f34d08d56493dddf874229b8e897878787876040516131b59493929190615b7b565b60405180910390a450505050505050565b600180546001600160a01b03199081169091555f80546001600160a01b03848116938216841783556040519116929183917f88436636ea40d5bb1bcc55ff9cd54788af71da886f4147a87f199adcca733d4d9190a35050565b8061322981612b20565b600160025f846003811115613240576132406154d5565b6003811115613251576132516154d5565b81526020019081526020015f205f6101000a81548160ff0219169083151502179055507f534f879afd40abb4e39f8e1b77a316be4c8e3521d9cf5a3a3db8959d574d455933836040516132a5929190615b9f565b60405180910390a15050565b806132bb8161487c565b5f60025f8460038111156132d1576132d16154d5565b60038111156132e2576132e26154d5565b81526020019081526020015f205f6101000a81548160ff0219169083151502179055507f4cd3e1443d03aba343c5d882744f8f172c07b495e955ac3defb325cbd73c855033836040516132a5929190615b9f565b5f806060818061334960e08801886158cd565b61335591506001615a96565b61336260c08901896158cd565b9050146133a05760405162461bcd60e51b815260206004820152600c60248201526b092dcecc2d8d2c840e0c2e8d60a31b604482015260640161062b565b600b5f6133b360408a0160208b01615277565b6001600160a01b0316815260208101919091526040015f205460ff166133eb5760405162461bcd60e51b815260040161062b90615a5f565b5f806133fa8960a00135614346565b909250905061341d600160608b0135836134186101008e018e615520565b6143a2565b95505f61342d60c08b018b6158cd565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093945084925060019150613472905060c08e018e6158cd565b61347d9291506154c2565b8151811061348d5761348d615439565b602002602001015190506134cf8b8060c001906134aa91906158cd565b5f8181106134ba576134ba615439565b90506020020160208101906123509190615277565b1561358f578a60600135341461351b5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964206d73672e76616c756560781b604482015260640161062b565b831561353757600854613537906001600160a01b031684611f29565b61354760408c0160208d01615277565b825f8151811061355957613559615439565b6001600160a01b0390921660209283029190910182015261358a906135849060408e01908e01615277565b89614457565b6136f0565b89156136a157815f815181106135a7576135a7615439565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156135f5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613619919061544d565b9750613644825f8151811061363057613630615439565b602002602001015133308e60600135614551565b61369a8b60a00135611ac68a855f8151811061366257613662615439565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401611a87565b97506136b6565b6136b6825f8151811061363057613630615439565b83156136f0576136ee825f815181106136d1576136d1615439565b60209081029190910101516008546001600160a01b031685611fe2565b505b6136f981611ef1565b156137c75761370e60408c0160208d01615277565b826001845161371d91906154c2565b8151811061372d5761372d615439565b6001600160a01b03909216602092830291909101820152600199506137589060408d01908d01615277565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa15801561379c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137c0919061544d565b9550613852565b8915613852576001600160a01b0381166370a082316137e960208e018e615277565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561382b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061384f919061544d565b94505b819650505050509295509295909350565b5f5b6001845161387391906154c2565b811015611611575f8085838151811061388e5761388e615439565b6020026020010151868460016138a49190615a96565b815181106138b4576138b4615439565b6020026020010151915091505f816001600160a01b0316836001600160a01b0316106138e15781836138e4565b82825b5090505f8685815181106138fa576138fa615439565b602002602001015190505f805f80846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139689190615bee565b506001600160701b031691506001600160701b031691505f80876001600160a01b03168a6001600160a01b0316146139a15782846139a4565b83835b6040516370a0823160e01b81526001600160a01b038a811660048301529294509092506139df918491908d16906370a0823190602401611a87565b95508e6001600160a01b031663054d50d48784846040518463ffffffff1660e01b8152600401613a22939291909283526020830191909152604082015260600190565b602060405180830381865afa158015613a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a61919061544d565b9450505050505f80856001600160a01b0316886001600160a01b031614613a8957825f613a8c565b5f835b915091505f60028d51613a9f91906154c2565b8a10613aab578a613ad0565b8b613ab78b6001615a96565b81518110613ac757613ac7615439565b60200260200101515b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0387169063022c0d9f90613b119086908690869060248101615c2f565b5f604051808303815f87803b158015613b28575f80fd5b505af1158015613b3a573d5f803e3d5ffd5b505050505050505050505050508080613b5290615478565b915050613865565b5f82613b6683826154c2565b915081111561157d5760405162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015260640161062b565b5f5b60018451613bbf91906154c2565b811015611611575f80858381518110613bda57613bda615439565b602002602001015186846001613bf09190615a96565b81518110613c0057613c00615439565b6020026020010151915091505f816001600160a01b0316836001600160a01b031610613c2d578183613c30565b82825b5090505f88613c40866001615a96565b81518110613c5057613c50615439565b602002602001015190505f80836001600160a01b0316866001600160a01b031614613c7c57825f613c7f565b5f835b915091505f60028b51613c9291906154c2565b8810613c9e5788613cc3565b89613caa896001615a96565b81518110613cba57613cba615439565b60200260200101515b9050898881518110613cd757613cd7615439565b60200260200101516001600160a01b031663022c0d9f8484845f6001600160401b03811115613d0857613d08614c3b565b6040519080825280601f01601f191660200182016040528015613d32576020820181803683370190505b506040518563ffffffff1660e01b8152600401613d529493929190615c2f565b5f604051808303815f87803b158015613d69575f80fd5b505af1158015613d7b573d5f803e3d5ffd5b50505050505050505050508080613d9190615478565b915050613bb1565b5f80836001600160a01b03165f632e1a7d4d85604051602401613dbe91815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051613df79190615897565b5f6040518083038185875af1925050503d805f8114613e31576040519150601f19603f3d011682016040523d82523d5f602084013e613e36565b606091505b5091509150818015613e60575080511580613e60575080806020019051810190613e6091906158b2565b6109655760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a2057495448445241575f4641494c454400604482015260640161062b565b5f60605f8390505f816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ef0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f149190615c5b565b90505f826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f779190615c5b565b90505f836001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613fda9190615c76565b604080516001600160a01b03808716602083015285169181019190915262ffffff821660608201529091505f9060800160408051601f1981840301815291905280516020909101209050600160ff1b88161580156140da57846001600160a01b03168b6001600160a01b0316146140635760405162461bcd60e51b815260040161062b90615c98565b6001600160a01b038a16156140a357836001600160a01b03168a6001600160a01b0316146140a35760405162461bcd60e51b815260040161062b90615c98565b604080516001600160a01b03871660208201529081018390529397508793606001604051602081830303815290604052965061417e565b836001600160a01b03168b6001600160a01b03161461410b5760405162461bcd60e51b815260040161062b90615c98565b6001600160a01b038a161561414b57846001600160a01b03168a6001600160a01b03161461414b5760405162461bcd60e51b815260040161062b90615c98565b604080516001600160a01b0386166020820152908101839052949750879460600160405160208183030381529060405296505b61418989838b611633565b505050505050935093915050565b5f600160ff1b841615801561426f575f856001600160a01b031663128acb0888846141c1886148c8565b6141d16401000276a36001615cba565b8b8b6040516020016141e4929190615ce1565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401614213959493929190615cf9565b60408051808303815f875af115801561422e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142529190615d33565b9150506142678161426290615d55565b614935565b92505061433d565b5f856001600160a01b031663128acb08888461428a886148c8565b6142a9600173fffd8963efd1fc6a506488495d951d5263988d26615d6f565b8b8b6040516020016142bc929190615ce1565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016142eb959493929190615cf9565b60408051808303815f875af1158015614306573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061432a9190615d33565b50905061433961426282615d55565b9250505b50949350505050565b5f8080614354600a85615da3565b905061436b600a6143658684613b5a565b90614986565b915080600114801561437c57505f82115b801561439257506008546001600160a01b031615155b1561439c57600192505b50915091565b5f8086156143cc576143c5612710614365600454896149d390919063ffffffff16565b90506143ea565b6143e7612710614365600554896149d390919063ffffffff16565b90505b80851015614442576143fe86868686614a39565b6144425760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964207369676e61747572652066656560581b604482015260640161062b565b61444c8686613b5a565b979650505050505050565b60408051600481526024810182526020810180516001600160e01b0316630d0e30db60e41b17905290515f9182916001600160a01b03861691859161449c9190615897565b5f6040518083038185875af1925050503d805f81146144d6576040519150601f19603f3d011682016040523d82523d5f602084013e6144db565b606091505b509150915081801561450557508051158061450557508080602001905181019061450591906158b2565b6109655760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657248656c7065723a204445504f5349545f4641494c45440000604482015260640161062b565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f928392908816916145b49190615897565b5f604051808303815f865af19150503d805f81146145ed576040519150601f19603f3d011682016040523d82523d5f602084013e6145f2565b606091505b509150915081801561461c57508051158061461c57508080602001905181019061461c91906158b2565b6117de5760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b606482015260840161062b565b606061157d8260405160200161468c91815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b905f906146c3906002615db6565b6146ce906002615a96565b6001600160401b038111156146e5576146e5614c3b565b6040519080825280601f01601f19166020018201604052801561470f576020820181803683370190505b509050600360fc1b815f8151811061472957614729615439565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061475757614757615439565b60200101906001600160f81b03191690815f1a9053505f5b84518110156148745782600486838151811061478d5761478d615439565b01602001516001600160f81b031916901c60f81c601081106147b1576147b1615439565b1a60f81b826147c1836002615db6565b6147cc906002615a96565b815181106147dc576147dc615439565b60200101906001600160f81b03191690815f1a9053508285828151811061480557614805615439565b60209101015160f81c600f166010811061482157614821615439565b1a60f81b82614831836002615db6565b61483c906003615a96565b8151811061484c5761484c615439565b60200101906001600160f81b03191690815f1a9053508061486c81615478565b91505061476f565b509392505050565b614885816109b6565b6111025760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161062b565b5f6001600160ff1b038211156149315760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b606482015260840161062b565b5090565b5f808212156149315760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161062b565b5f815f036149c95760405162461bcd60e51b815260206004820152601060248201526f64732d6d6174682d6469762d7a65726f60801b604482015260640161062b565b61069f8284615dcd565b5f8115806149f6575082826149e88183615db6565b92506149f49083615dcd565b145b61157d5760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015260640161062b565b600954604080517f048f880a603b1aab0e626a287e33d603417b3d53a36f7527b7c86365bf7def4f6020820152339181019190915260608101869052608081018590525f91829160a00160405160208183030381529060405280519060200120604051602001614ac092919061190160f01b81526002810192909252602282015260420190565b6040516020818303038152906040528051906020012090505f805f614b1987878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250614ba592505050565b9250925092505f6001858585856040515f8152602001604052604051614b5b949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015614b7b573d5f803e3d5ffd5b5050604051601f1901516007546001600160a01b039081169116149b9a5050505050505050505050565b5f805f8351604114614bf95760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207369676e6174757265206c656e6774680000000000000000604482015260640161062b565b505050602081015160408201516060909201515f1a92909190565b5f8085851115614c22575f80fd5b83861115614c2e575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614c7757614c77614c3b565b604052919050565b5f6001600160401b03821115614c9757614c97614c3b565b50601f01601f191660200190565b5f805f60608486031215614cb7575f80fd5b833592506020840135915060408401356001600160401b03811115614cda575f80fd5b8401601f81018613614cea575f80fd5b8035614cfd614cf882614c7f565b614c4f565b818152876020838501011115614d11575f80fd5b816020840160208301375f602083830101528093505050509250925092565b5f8060408385031215614d41575f80fd5b82356001600160401b03811115614d56575f80fd5b83016101408186031215614d68575f80fd5b946020939093013593505050565b5f6001600160401b03821115614d8e57614d8e614c3b565b5060051b60200190565b6001600160a01b0381168114611102575f80fd5b8035614db781614d98565b919050565b5f8060408385031215614dcd575f80fd5b82356001600160401b03811115614de2575f80fd5b8301601f81018513614df2575f80fd5b80356020614e02614cf883614d76565b82815260059290921b83018101918181019088841115614e20575f80fd5b938201935b83851015614e47578435614e3881614d98565b82529382019390820190614e25565b9550614e569050868201614dac565b93505050509250929050565b5f805f60608486031215614e74575f80fd5b8335614e7f81614d98565b92506020840135614e8f81614d98565b929592945050506040919091013590565b5f5b83811015614eba578181015183820152602001614ea2565b50505f910152565b5f8151808452614ed9816020860160208601614ea0565b601f01601f19169290920160200192915050565b831515815282151560208201526060604082015260018060a01b0382511660608201525f6020830151604060808401526120bc60a0840182614ec2565b5f805f8060608587031215614f3d575f80fd5b843593506020850135925060408501356001600160401b0380821115614f61575f80fd5b818701915087601f830112614f74575f80fd5b813581811115614f82575f80fd5b886020828501011115614f93575f80fd5b95989497505060200194505050565b5f8060408385031215614fb3575f80fd5b82356001600160401b0380821115614fc9575f80fd5b908401906101208287031215614fdd575f80fd5b90925060208401359080821115614ff2575f80fd5b50830160408186031215615004575f80fd5b809150509250929050565b5f6101608284031215615020575f80fd5b50919050565b5f60208284031215615036575f80fd5b81356001600160401b0381111561504b575f80fd5b6150578482850161500f565b949350505050565b5f6020828403121561506f575f80fd5b81356004811061069f575f80fd5b8015158114611102575f80fd5b5f82601f830112615099575f80fd5b813560206150a9614cf883614d76565b82815260059290921b840181019181810190868411156150c7575f80fd5b8286015b848110156150e257803583529183019183016150cb565b509695505050505050565b5f80604083850312156150fe575f80fd5b82356001600160401b0380821115615114575f80fd5b818501915085601f830112615127575f80fd5b81356020615137614cf883614d76565b82815260059290921b84018101918181019089841115615155575f80fd5b948201945b8386101561517c57853561516d8161507d565b8252948201949082019061515a565b96505086013592505080821115615191575f80fd5b506109888582860161508a565b5f8083601f8401126151ae575f80fd5b5081356001600160401b038111156151c4575f80fd5b6020830191508360208260051b85010111156151de575f80fd5b9250929050565b5f805f805f80606087890312156151fa575f80fd5b86356001600160401b0380821115615210575f80fd5b61521c8a838b0161519e565b90985096506020890135915080821115615234575f80fd5b6152408a838b0161519e565b90965094506040890135915080821115615258575f80fd5b5061526589828a0161519e565b979a9699509497509295939492505050565b5f60208284031215615287575f80fd5b813561069f81614d98565b5f805f80604085870312156152a5575f80fd5b84356001600160401b03808211156152bb575f80fd5b6152c78883890161519e565b909650945060208701359150808211156152df575f80fd5b506152ec8782880161519e565b95989497509550505050565b5f805f6060848603121561530a575f80fd5b833561531581614d98565b9250602084013561532581614d98565b9150604084013561533581614d98565b809150509250925092565b5f805f60408486031215615352575f80fd5b833561535d8161507d565b925060208401356001600160401b03811115615377575f80fd5b6153838682870161519e565b9497909650939450505050565b5f80604083850312156153a1575f80fd5b8251915060208301516001600160401b038111156153bd575f80fd5b8301601f810185136153cd575f80fd5b80516153db614cf882614c7f565b8181528660208385010111156153ef575f80fd5b615400826020830160208601614ea0565b8093505050509250929050565b5f806040838503121561541e575f80fd5b825161542981614d98565b6020939093015192949293505050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561545d575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b5f6001820161548957615489615464565b5060010190565b600181811c908216806154a457607f821691505b60208210810361502057634e487b7160e01b5f52602260045260245ffd5b8181038181111561157d5761157d615464565b634e487b7160e01b5f52602160045260245ffd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b5f808335601e19843603018112615535575f80fd5b8301803591506001600160401b0382111561554e575f80fd5b6020019150368190038213156151de575f80fd5b818382375f9101908152919050565b602081525f61069f6020830184614ec2565b601f821115610821575f81815260208120601f850160051c810160208610156155a95750805b601f850160051c820191505b818110156117de578281556001016155b5565b81516001600160401b038111156155e1576155e1614c3b565b6155f5816155ef8454615490565b84615583565b602080601f831160018114615628575f84156156115750858301515b5f19600386901b1c1916600185901b1785556117de565b5f85815260208120601f198616915b8281101561565657888601518255948401946001909101908401615637565b508582101561567357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8183525f60208085019450825f5b858110156156bf5781356156a481614d98565b6001600160a01b031687529582019590820190600101615691565b509495945050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f808335601e19843603018112615707575f80fd5b83016020810192503590506001600160401b03811115615725575f80fd5b8036038213156151de575f80fd5b606080825281018690525f6001600160fb1b03871115615751575f80fd5b8660051b80896080850137808301905060206080848303018185015261577b60808301888a615683565b84810360408601528581529150808201600586901b83018201875f5b888110156157d157858303601f190184526157b2828b6156f2565b6157bd8582846156ca565b958701959450505090840190600101615797565b50909c9b505050505050505050505050565b602081525f615057602083018486615683565b604081525f615809604083018587615683565b8281036020848101919091528451808352858201928201905f5b81811015615841578451151583529383019391830191600101615823565b509098975050505050505050565b60ff60f81b81526bffffffffffffffffffffffff198460601b1660018201528260158201525f8251615888816035850160208701614ea0565b91909101603501949350505050565b5f82516158a8818460208701614ea0565b9190910192915050565b5f602082840312156158c2575f80fd5b815161069f8161507d565b5f808335601e198436030181126158e2575f80fd5b8301803591506001600160401b038211156158fb575f80fd5b6020019150600581901b36038213156151de575f80fd5b5f60408201848352602060408185015281855180845260608601915082870193505f5b8181101561595a5784516001600160a01b031683529383019391830191600101615935565b5090979650505050505050565b5f6020808385031215615978575f80fd5b82516001600160401b0381111561598d575f80fd5b8301601f8101851361599d575f80fd5b80516159ab614cf882614d76565b81815260059190911b820183019083810190878311156159c9575f80fd5b928401925b8284101561444c578351825292840192908401906159ce565b602080825260139082015272151bdbc81b1a5d1d1b19481c9958d95a5d9959606a1b604082015260600190565b602081525f8235615a2481614d98565b6001600160a01b0316602083810191909152615a42908401846156f2565b604080850152615a566060850182846156ca565b95945050505050565b60208082526017908201527f496e76616c696420777261707065642061646472657373000000000000000000604082015260600190565b8082018082111561157d5761157d615464565b5f8351615aba818460208801614ea0565b6508ae4e4dee4560d31b9083019081528351615add816006840160208801614ea0565b602960f81b60069290910191820152600701949350505050565b5f8351615b08818460208801614ea0565b650a0c2dcd2c6560d31b9083019081528351615add816006840160208801614ea0565b5f8351615b3c818460208801614ea0565b670aadcd6dcdeeedc560c31b9083019081528351615b61816008840160208801614ea0565b602960f81b60089290910191820152600901949350505050565b848152836020820152826040820152608060608201525f6120bc6080830184614ec2565b6001600160a01b03831681526040810160048310615bcb57634e487b7160e01b5f52602160045260245ffd5b8260208301529392505050565b80516001600160701b0381168114614db7575f80fd5b5f805f60608486031215615c00575f80fd5b615c0984615bd8565b9250615c1760208501615bd8565b9150604084015163ffffffff81168114615335575f80fd5b84815283602082015260018060a01b0383166040820152608060608201525f6120bc6080830184614ec2565b5f60208284031215615c6b575f80fd5b815161069f81614d98565b5f60208284031215615c86575f80fd5b815162ffffff8116811461069f575f80fd5b602080825260089082015267109859081c1bdbdb60c21b604082015260600190565b6001600160a01b03818116838216019080821115615cda57615cda615464565b5092915050565b828152604060208201525f6150576040830184614ec2565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f9061444c90830184614ec2565b5f8060408385031215615d44575f80fd5b505080516020909101519092909150565b5f600160ff1b8201615d6957615d69615464565b505f0390565b6001600160a01b03828116828216039080821115615cda57615cda615464565b634e487b7160e01b5f52601260045260245ffd5b5f82615db157615db1615d8f565b500690565b808202811582820484141761157d5761157d615464565b5f82615ddb57615ddb615d8f565b50049056fea2646970667358221220c6e5fa5d7298b1e0aae7e9753be45dc659b862a5c4d1a26130713863f3596b4464736f6c63430008140033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x07964f135f276412b3182a3B2407b8dd45000000
Net Worth in USD
$1,376,981,849,497.23

Net Worth in ETH
702,279,129.040849

Token Allocations
ERC20 95.85%
BTCBRUP 2.84%
LUIGI 0.52%
Others 0.79%
Chain Token Portfolio % Price Amount Value
BSC95.85%$0.009073145,456,728,465,416.97$1,319,789,989,192.68
BSC2.84%$0.0045718,567,881,313,104.0684$39,164,946,671.98
BSC0.52%$0.00029624,356,802,150,516.691$7,208,367,918.45
BSC0.49%$0.0045711,472,570,742,060.5151$6,731,320,436.86
BSC0.13%$0.00387461,397,544,735.1195$1,785,465,464.89
BSC0.12%$0.004571354,052,949,460.5202$1,618,424,016.15
BSC0.05%$0.004571147,443,324,867.199$673,983,420.7
BSC<0.01%$0.00031610,240,192,119.8123$3,234,960.66
BSC<0.01%$0.004571265,987,975.0349$1,215,867.08
BSC<0.01%$0.999527158,211.073$158,136.24
BSC<0.01%$5.926,760.9117$157,869.78
BSC<0.01%$0.0000251,753,656,029.7375$43,543.28
BSC<0.01%$615.1365.4591$40,265.6
BSC<0.01%$1.1912,589.0857$14,920.37
BSC<0.01%$1.065,135.082$5,463.68
BSC<0.01%$0.9998063,688.4755$3,687.76
BSC<0.01%$0.14457122,638.3122$3,272.84
BSC<0.01%$0.0015361,915,214.0521$2,942.41
BSC<0.01%$1,957.951.2555$2,458.18
BSC<0.01%$0.003184638,313.6248$2,032.19
BSC<0.01%$2.83666.4035$1,886.27
BSC<0.01%$0.10245616,354.1944$1,675.59
BSC<0.01%$0.2321486,833.672$1,586.42
BSC<0.01%$9913.9676$1,382.8
BSC<0.01%$615.622.2096$1,360.26
BSC<0.01%$0.1600597,466.7374$1,195.12
BSC<0.01%$68,850.180.0157$1,080.35
BSC<0.01%$0.999331,048.6315$1,047.93
BSC<0.01%$0.1029439,949.2369$1,024.2
BSC<0.01%$12.6673.8322$934.72
BSC<0.01%$0.0006741,379,838.6289$929.56
BSC<0.01%$0.3939542,122.3378$836.1
BSC<0.01%$1.3590.2617$768.96
BSC<0.01%$0.7228241,057.6485$764.49
BSC<0.01%$0.2090763,466.5198$724.77
BSC<0.01%$0.3715631,898.4309$705.39
BSC<0.01%$1.47479.3996$705.13
BSC<0.01%$4.41159.7995$704.1
BSC<0.01%$0.02473227,545.5288$681.25
BSC<0.01%$0.0788338,496.9749$669.84
BSC<0.01%$0.1015126,056.8059$614.84
BSC<0.01%$0.0314418,871.9564$593.34
BSC<0.01%$0.99976570.0389$569.9
BSC<0.01%$0.03318215,818.9622$524.9
BSC<0.01%$0.1136674,510.2422$512.67
BSC<0.01%$0.02055623,040.1535$473.62
BSC<0.01%$8.7251.6769$450.52
BSC<0.01%$0.955822462.9576$442.5
BSC<0.01%$1.17362.8227$424.5
BSC<0.01%<$0.0000019,953,655,526.0881$414.94
BSC<0.01%$0.998831412.326$411.84
BSC<0.01%$0.2799621,467.9403$410.97
BSC<0.01%$1.29317.5579$409.65
BSC<0.01%$0.1445712,681.7529$387.7
BSC<0.01%$0.00979537,478.2691$367.09
BSC<0.01%$0.01430124,910.9664$356.25
BSC<0.01%$2.16163.9527$353.68
BSC<0.01%$0.1707342,060.2355$351.75
BSC<0.01%$0.421147834.5155$351.45
BSC<0.01%$0.000932329,857.9869$307.43
BSC<0.01%$0.00001518,334,141.6347$283.63
BSC<0.01%<$0.000001332,081,327,096,128.94$282.92
BSC<0.01%<$0.00000120,871,560,104.6717$280.45
BSC<0.01%$0.0000328,527,218.1534$271.42
BSC<0.01%$0.1751731,516.6136$265.67
BSC<0.01%$0.280253938.747$263.09
BSC<0.01%$0.00693937,379.1151$259.39
BSC<0.01%$0.999501252.277$252.15
BSC<0.01%$0.00274991,183.0587$250.67
BSC<0.01%$4.456.0521$246.63
BSC<0.01%<$0.000001605,862,091,215.5017$244.51
BSC<0.01%$0.1013212,406.4429$243.82
BSC<0.01%$0.0565664,218.6053$238.63
BSC<0.01%$0.001404159,354.0666$223.75
BSC<0.01%$0.0592693,588.4186$212.68
BSC<0.01%$1211.987$212.17
BSC<0.01%$121.071.738$210.42
BSC<0.01%$0.001695115,785.4731$196.25
BSC<0.01%$295.220.6526$192.67
BSC<0.01%$0.216268879.7149$190.25
BSC<0.01%$555.090.3362$186.62
BSC<0.01%$0.00269267,862.2043$182.72
BSC<0.01%$0.998665179.1698$178.93
BSC<0.01%$0.035874,857.9406$174.25
BSC<0.01%$0.22726745.381$169.39
BSC<0.01%$0.997852168.1453$167.78
BSC<0.01%$0.00097172,411.4476$167.23
BSC<0.01%$1.35123.6753$167.03
BSC<0.01%$0.001551106,439.5724$165.12
BSC<0.01%$0.00214775,630.5507$162.35
BSC<0.01%$0.0377164,241.2174$159.96
BSC<0.01%$0.00300153,143.5561$159.5
BSC<0.01%$0.0413593,809.9779$157.58
BSC<0.01%<$0.000001875,731,107,908.5256$155.6
BSC<0.01%$0.0000532,842,588.2343$151
BSC<0.01%$54.792.7471$150.5
BSC<0.01%$0.00000433,234,573.6553$145.24
BSC<0.01%$0.510275278.3572$142.04
BSC<0.01%$0.0862871,632.6488$140.88
BSC<0.01%$0.0172587,886.6483$136.11
BSC<0.01%$0.0179237,446.9846$133.47
BSC<0.01%$0.00000268,717,175.9033$129.19
BSC<0.01%$8.714.2306$123.78
BSC<0.01%$0.027134,561.4339$123.75
BSC<0.01%$0.00000618,930,433.2895$123.04
BSC<0.01%$0.0772691,587.5788$122.67
BSC<0.01%<$0.0000011,919,164,178.9422$122.19
BSC<0.01%$1.9961.2638$121.91
BSC<0.01%$1.7668.9648$121.38
BSC<0.01%$0.269669444.4574$119.86
BSC<0.01%$0.0712391,670.4767$119
BSC<0.01%$0.035873,189.1446$114.39
BSC<0.01%$0.99922113.5584$113.47
BSC<0.01%$0.000116962,131.6695$111.48
BSC<0.01%$3.4631.8744$110.25
BSC<0.01%$0.00783613,666.6187$107.09
BSC<0.01%<$0.00000130,004,270,497.0526$107.03
BSC<0.01%<$0.000001106,809,345,816.2403$106.81
BSC<0.01%$0.0676921,576.1072$106.69
BSC<0.01%$0.0303863,485.1237$105.9
BSC<0.01%$0.00123785,530.5143$105.82
BSC<0.01%$0.0105399,922.271$104.58
BSC<0.01%$0.00411224,976.9935$102.72
BSC<0.01%$0.0469342,163.8895$101.56
BSC<0.01%$0.0345922,912.1629$100.74
BSC<0.01%$0.000071,424,147.5365$99.9
BSC<0.01%$0.00562217,745.3686$99.77
BSC<0.01%$0.00945110,438.6407$98.66
BSC<0.01%$0.00414423,411.4092$97.02
BSC<0.01%$0.652243147.8925$96.46
BSC<0.01%<$0.00000115,016,311,359.1235$96.11
BSC<0.01%$0.108322883.7705$95.73
BSC<0.01%$0.039662,393.9495$94.94
BSC<0.01%$0.0219464,295.209$94.26
BSC<0.01%$0.264366350.6015$92.69
BSC<0.01%$31.442.9117$91.54
BSC<0.01%$0.000521173,998.9137$90.67
BSC<0.01%$0.000503169,326.7736$85.25
BSC<0.01%$0.000545150,598.7239$82.15
BSC<0.01%$0.0096948,458.6521$82
BSC<0.01%$0.096397838.6941$80.85
BSC<0.01%$0.262913303.4981$79.79
BSC<0.01%$0.0182394,367.1868$79.65
BSC<0.01%$0.692988113.833$78.88
BSC<0.01%$0.00425218,384.2053$78.17
BSC<0.01%$9.248.1761$75.55
BSC<0.01%$0.000114647,674.4429$74.02
BSC<0.01%$0.0000421,779,639.3635$73.96
BSC<0.01%$0.0449471,622.3689$72.92
BSC<0.01%$0.000578123,242.7181$71.2
BSC<0.01%$0.0101426,878.7593$69.76
BSC<0.01%$0.0112026,185.544$69.29
BSC<0.01%$0.00455814,878.6324$67.82
BSC<0.01%$1.4745.7934$67.32
BSC<0.01%$0.000182366,530.9489$66.61
BSC<0.01%$3.618.2624$65.71
BSC<0.01%$0.000336191,237.1659$64.17
BSC<0.01%$0.00123151,568.0705$63.46
BSC<0.01%$0.00164138,236.5393$62.76
BSC<0.01%$106,305.360.00058635$62.33
BSC<0.01%$0.00555411,184.4199$62.12
BSC<0.01%$125.060.4875$60.97
BSC<0.01%$0.0594281,008.5923$59.94
BSC<0.01%$0.00129845,928.6707$59.6
BSC<0.01%$0.78762675.1102$59.16
BSC<0.01%$0.00170433,109.9315$56.4
BSC<0.01%$0.091516612.4238$56.05
BSC<0.01%<$0.0000014,581,323,013.3775$55.87
BSC<0.01%$0.0000551,007,099.9843$55.69
BSC<0.01%$0.000396135,052.2264$53.43
BSC<0.01%$0.000041,303,369.9309$52.56
BSC<0.01%$0.0505241,021.7045$51.62
BSC<0.01%$0.030021,717.0179$51.54
BSC<0.01%$0.0086965,734.4836$49.87
BSC<0.01%$0.00332115,007.9178$49.84
BSC<0.01%$2.1222.2665$47.18
BSC<0.01%$0.0196792,385.9677$46.95
BSC<0.01%$0.00219921,021.9325$46.22
BSC<0.01%$0.104103441.849$46
BSC<0.01%$0.083363542.774$45.25
BSC<0.01%$3.7212.118$45.08
BSC<0.01%$0.00000188,013,280.1281$44.52
BSC<0.01%$0.216114205.8188$44.48
BSC<0.01%$0.0000231,886,915.9846$43.68
BSC<0.01%<$0.0000016,074,128,010.9046$43.24
BSC<0.01%$0.0084874,836.0001$41.04
BSC<0.01%$0.00393410,433.4071$41.04
BSC<0.01%$0.005497,407.1676$40.66
BSC<0.01%$1,5570.0259$40.26
BSC<0.01%$139.9067$39.91
BSC<0.01%$0.00039100,410.5889$39.19
BSC<0.01%$0.0121443,203.4887$38.9
BSC<0.01%$0.00160723,905.3317$38.4
BSC<0.01%$0.000315116,480.072$36.75
BSC<0.01%$0.054427672.5443$36.6
BSC<0.01%$0.0046437,642.0678$35.48
BSC<0.01%$0.000324104,666.9317$33.96
BSC<0.01%$8.273.9872$32.98
BSC<0.01%<$0.00000116,206,464,586.9297$32.62
BSC<0.01%$132.46$32.46
BSC<0.01%$0.032211,003.4558$32.32
BSC<0.01%$0.0275161,174.2583$32.31
BSC<0.01%$0.000063502,444.7453$31.61
BSC<0.01%$0.104966300.4643$31.54
BSC<0.01%$0.079979390.0549$31.2
BSC<0.01%$0.000089341,097.1236$30.49
BSC<0.01%$0.04768637.2915$30.39
BSC<0.01%$47.980.62$29.75
BSC<0.01%$0.035131831.6728$29.22
BSC<0.01%$0.00061446,245.6811$28.41
BSC<0.01%<$0.0000013,949,073,688.0269$28.28
BSC<0.01%$0.0079983,532.0179$28.25
BSC<0.01%$0.0062694,485.213$28.12
BSC<0.01%<$0.000001126,764,064,331.6218$27.6
BSC<0.01%$0.0000191,484,467.1038$27.5
BSC<0.01%$0.000058470,598.8229$27.39
BSC<0.01%$1.0526.1683$27.39
BSC<0.01%$0.0000132,156,939.9842$27
BSC<0.01%$0.000107248,403.6274$26.55
BSC<0.01%$4.485.8847$26.36
BSC<0.01%<$0.000001195,909,746.7743$26.13
BSC<0.01%<$0.000001531,415,579.1347$25.65
BSC<0.01%$0.0116182,205.4442$25.62
BSC<0.01%$1.1821.5917$25.48
BSC<0.01%$0.000071356,099.2445$25.34
BSC<0.01%$0.0031937,910.8388$25.26
BSC<0.01%$0.26555893.2979$24.78
BSC<0.01%$0.000037672,827.7115$24.56
BSC<0.01%$0.009412,545.8545$23.96
BSC<0.01%$0.56742.1887$23.92
BSC<0.01%$0.0000037,966,893.2589$23.43
BSC<0.01%$0.0000073,370,222.0796$21.97
BSC<0.01%$0.0098582,199.7092$21.68
BSC<0.01%$0.0120831,787.7319$21.6
BSC<0.01%$21.211.0132$21.49
BSC<0.01%$0.0078112,727.9161$21.31
BSC<0.01%$0.004464,711.1381$21.01
BSC<0.01%$0.00086424,291.2023$20.99
BSC<0.01%$0.000178117,063.7691$20.89
BSC<0.01%<$0.0000017,368,521,677.1236$20.63
BSC<0.01%$0.060547332.3694$20.12
BSC<0.01%$0.055502362.5478$20.12
BSC<0.01%$0.000299,314.9869$19.85
BSC<0.01%$0.00064630,527.8334$19.71
BSC<0.01%$0.030706620.4157$19.05
BSC<0.01%$0.138984137.0303$19.05
BSC<0.01%$0.000041457,695.0906$18.56
BSC<0.01%$0.0003946,710$18.22
BSC<0.01%$0.021976826.605$18.17
BSC<0.01%<$0.00000149,135,698,378.4918$18.13
BSC<0.01%$0.0174131,023.24$17.82
BSC<0.01%<$0.00000110,772,823,527,874.191$17.13
BSC<0.01%$0.0026996,325.1039$17.07
BSC<0.01%$313.40.0535$16.78
BSC<0.01%$53.170.3156$16.78
BSC<0.01%$0.131788127.1818$16.76
BSC<0.01%$1.888.8884$16.71
BSC<0.01%$0.00034847,999.15$16.71
BSC<0.01%$0.32095251.8705$16.65
BSC<0.01%<$0.0000012,982,730,377.576$16.61
BSC<0.01%<$0.000001185,469,887,401.0973$16.53
BSC<0.01%$0.026286619.9278$16.3
BSC<0.01%$0.0007720,579.491$15.85
BSC<0.01%$0.99873715.6684$15.65
BSC<0.01%$0.51223230.2918$15.52
BSC<0.01%$40.880.3744$15.3
BSC<0.01%$0.0023296,547.0285$15.25
BSC<0.01%$0.000349,890.8291$14.96
BSC<0.01%$76,2840.00019242$14.68
BSC<0.01%$0.99841714.6346$14.61
BSC<0.01%$6.452.2511$14.52
BSC<0.01%<$0.0000017,417,466,263.0615$14.32
BSC<0.01%$0.000033421,790.1373$14.03
BSC<0.01%$2.844.9077$13.93
BSC<0.01%$0.020515675.8904$13.87
BSC<0.01%$0.16333884.7584$13.84
BSC<0.01%$0.70842119.4441$13.77
BSC<0.01%$0.0045713,000$13.71
BSC<0.01%$0.00002700,070.4086$13.71
BSC<0.01%$0.00085316,039.5195$13.69
BSC<0.01%$1.3210.2452$13.52
BSC<0.01%$0.036676362.9035$13.31
BSC<0.01%<$0.000001352,017,534,037.2976$12.74
BSC<0.01%$3.114.0805$12.69
BSC<0.01%$0.0000034,975,343.4231$12.69
BSC<0.01%$0.42137429.9905$12.64
BSC<0.01%$0.039129322.5469$12.62
BSC<0.01%$0.0000026,347,332.8655$12.44
BSC<0.01%$0.1686372.927$12.3
BSC<0.01%$0.0083341,472.0362$12.27
BSC<0.01%$0.0025894,730.6304$12.25
BSC<0.01%<$0.00000143,962,806,067.9689$12.23
BSC<0.01%$0.019226617.5082$11.87
BSC<0.01%<$0.00000121,144,613,347,890.922$11.71
BSC<0.01%$0.017323672.6121$11.65
BSC<0.01%$0.000019597,366.839$11.61
BSC<0.01%$0.021348526.6296$11.24
BSC<0.01%$0.084789131.68$11.17
BSC<0.01%$0.0056711,954.9323$11.09
BSC<0.01%$0.0032313,424.325$11.06
BSC<0.01%$2.334.7088$10.96
BSC<0.01%$0.000051211,972.611$10.91
BSC<0.01%<$0.000001775,452,978.1783$10.65
BSC<0.01%$0.0044122,408.195$10.63
BSC<0.01%$0.028629365.733$10.47
BSC<0.01%$0.098054106.0798$10.4
BSC<0.01%$0.00073213,791.2436$10.09
BSC<0.01%<$0.0000018,367,344,357.6242$9.93
BSC<0.01%<$0.00000142,752,288.885$9.78
BSC<0.01%$0.0026963,621.0781$9.76
BSC<0.01%$0.079002123.5025$9.76
BSC<0.01%<$0.00000157,959,938.5513$9.72
BSC<0.01%$805.520.012$9.63
BSC<0.01%$0.0017425,494.6974$9.57
BSC<0.01%$0.0036452,589.6526$9.44
BSC<0.01%$0.0006214,985.223$9.29
BSC<0.01%$1.46.6279$9.28
BSC<0.01%$0.074167124.1801$9.21
BSC<0.01%<$0.00000123,542,102,913.8723$9.08
BSC<0.01%$0.009589943.2857$9.04
BSC<0.01%<$0.000001280,723,561.6891$8.93
BSC<0.01%<$0.00000125,266,410.0491$8.62
BSC<0.01%$0.000039220,622.3954$8.59
BSC<0.01%$0.00072311,707.5195$8.47
BSC<0.01%$0.0016575,075.0132$8.41
BSC<0.01%$0.008,786,027.9407$0.00
BSC<0.01%$0.0000016,436,259.4995$8.11
BSC<0.01%$0.008296975.7841$8.1
BSC<0.01%$0.0050541,599.3256$8.08
BSC<0.01%$0.56433714.284$8.06
BSC<0.01%$0.0017674,507.2096$7.96
BSC<0.01%$0.0010987,091.3603$7.78
BSC<0.01%$1.345.7539$7.71
BSC<0.01%$0.000061124,285.0309$7.64
BSC<0.01%$0.0018744,059.5595$7.61
BSC<0.01%$0.0038941,930.1891$7.52
BSC<0.01%$0.00065711,418.8145$7.51
BSC<0.01%$4,960.690.00150995$7.49
BSC<0.01%$0.014311522.9246$7.48
BSC<0.01%<$0.000001181,122,929,474.3978$7.42
BSC<0.01%$0.0055491,333.9075$7.4
BSC<0.01%$0.000023307,829.8881$7.06
BSC<0.01%$0.00008681,145.1043$6.94
BSC<0.01%$0.0031662,191.1618$6.94
BSC<0.01%<$0.00000136,290,437.7946$6.9
BSC<0.01%$0.03156211.3208$6.67
BSC<0.01%$0.0000023,672,818.8202$6.65
BSC<0.01%<$0.000001206,054,892.0976$6.63
BSC<0.01%$0.000023288,296.6222$6.62
BSC<0.01%$0.001584,102.9121$6.48
BSC<0.01%$0.000039166,431.781$6.48
BSC<0.01%$0.0027852,301.7114$6.41
BSC<0.01%$0.009056686.6044$6.22
BSC<0.01%$0.10187260.4366$6.16
BSC<0.01%$0.00040415,213.0302$6.14
BSC<0.01%$0.0013264,592.6657$6.09
BSC<0.01%$0.00035516,847.3758$5.98
BSC<0.01%$0.979866.0414$5.92
BSC<0.01%$0.008005729.9778$5.84
BSC<0.01%$0.21350927.3497$5.84
BSC<0.01%$0.000013450,538.2845$5.81
BSC<0.01%$0.0012124,751.4158$5.76
BSC<0.01%$0.38029714.9279$5.68
BSC<0.01%$0.0036621,532.1638$5.61
BSC<0.01%<$0.0000011,002,170,954.2479$5.57
BSC<0.01%$0.000018305,860.6265$5.37
BSC<0.01%<$0.00000117,819,108,138.9567$5.35
BSC<0.01%$0.0000051,111,638.6535$5.27
BSC<0.01%$0.05753991.3343$5.26
BSC<0.01%<$0.00000125,873,137,287.4081$5.17
BSC<0.01%$0.00043711,707.2623$5.12
BSC<0.01%<$0.0000011,634,993,431.0318$5.07
BSC<0.01%$0.10220249.5306$5.06
BSC<0.01%$0.00006181,300.14$4.98
BSC<0.01%<$0.0000011,904,860,918.7546$4.98
BSC<0.01%$0.0006517,626.8802$4.96
BSC<0.01%$0.21147923.4595$4.96
BSC<0.01%$0.000015328,292.1058$4.91
BSC<0.01%<$0.0000012,627,406,691.5998$4.84
BSC<0.01%$0.001243,901.7913$4.84
BSC<0.01%<$0.000001256,383,293,823$4.81
BSC<0.01%$0.00001480,442.1496$4.77
BSC<0.01%<$0.0000013,349,501,693.1266$4.69
BSC<0.01%<$0.0000011,527,519,480,442,017,300$4.58
BSC<0.01%$0.00004113,036.8453$4.55
BSC<0.01%$0.0014243,168.0515$4.51
BSC<0.01%$0.10041144.7886$4.5
BSC<0.01%$0.08706951.0858$4.45
BSC<0.01%$0.0015822,789.9549$4.41
BSC<0.01%$0.0006067,269.3438$4.4
BSC<0.01%$0.31996513.6857$4.38
BSC<0.01%$0.011585377.3767$4.37
BSC<0.01%$1.153.7906$4.37
BSC<0.01%$2.991.4216$4.25
BSC<0.01%<$0.0000012,603,876,972.731$4.25
BSC<0.01%$0.000023181,807.3916$4.22
BSC<0.01%$0.0005797,243.2379$4.19
BSC<0.01%$0.4480139.2886$4.16
BSC<0.01%<$0.00000112,031,149.3064$4.15
BSC<0.01%$0.000035119,059.2756$4.13
BSC<0.01%$0.0024881,641.9998$4.08
BSC<0.01%$0.00012632,373.0623$4.07
BSC<0.01%$0.0011133,633.701$4.05
BSC<0.01%$0.00018721,359.5364$3.99
BSC<0.01%$0.0016962,352.2618$3.99
BSC<0.01%$2.931.3443$3.94
BSC<0.01%$0.0006925,684.0981$3.94
BSC<0.01%$0.0000942,895.0617$3.88
BSC<0.01%$0.004081948.1174$3.87
BSC<0.01%$0.00010736,083.7485$3.85
BSC<0.01%$0.0000031,257,660.1525$3.85
BSC<0.01%$0.0030841,229.9461$3.79
BSC<0.01%$0.017016220.8217$3.76
BSC<0.01%$0.0000574,459.3512$3.74
BSC<0.01%$0.00004780,034.9622$3.73
BSC<0.01%$0.015339242.5689$3.72
BSC<0.01%$0.0016512,217.5778$3.66
BSC<0.01%$0.004753757.8578$3.6
BSC<0.01%$0.032987107.1023$3.53
BSC<0.01%$0.3875049.0967$3.53
BSC<0.01%<$0.00000189,591,938.981$3.52
BSC<0.01%<$0.000001128,233,374,649,841,580$3.46
BSC<0.01%$0.00016221,136.5408$3.42
BSC<0.01%$0.0007344,600.823$3.38
BSC<0.01%$0.0031521,071.3827$3.38
BSC<0.01%$0.11019930.5734$3.37
BSC<0.01%$0.010828311.1025$3.37
BSC<0.01%$0.04567173.2095$3.34
BSC<0.01%$0.0000841,792.3085$3.34
BSC<0.01%<$0.0000011,993,738,758.5833$3.3
BSC<0.01%$0.0006455,054.9377$3.26
BSC<0.01%$0.0023241,394.619$3.24
BSC<0.01%<$0.00000111,347,153,974.7246$3.22
BSC<0.01%$0.007826401.7007$3.14
BSC<0.01%$0.00008934,655.345$3.07
BSC<0.01%$0.006126497.4326$3.05
BSC<0.01%$0.000025119,611.8525$3.04
BSC<0.01%$1.122.7135$3.04
BSC<0.01%$0.00008435,865$3.01
BSC<0.01%$1.242.4036$2.98
BSC<0.01%$0.0003658,106.151$2.96
BSC<0.01%$0.000012240,174.8242$2.88
BSC<0.01%$0.0016371,757.281$2.88
BSC<0.01%$0.0000013,091,014.7482$2.83
BSC<0.01%$115.470.0244$2.82
BSC<0.01%$0.007747361.1824$2.8
BSC<0.01%$0.0017261,619.7807$2.8
BSC<0.01%$0.0000021,562,862.2364$2.75
BSC<0.01%<$0.00000141,650,506.8978$2.75
BSC<0.01%<$0.00000127,259,977,395.8042$2.73
BSC<0.01%$0.00588450.1623$2.65
BSC<0.01%$0.0005934,434.8322$2.63
BSC<0.01%<$0.00000149,915,261,870,204.172$2.59
BSC<0.01%$0.005106506.5392$2.59
BSC<0.01%<$0.0000017,379,975,397,447.4355$2.55
BSC<0.01%$0.008318305.1361$2.54
BSC<0.01%$0.20255412.3152$2.49
BSC<0.01%$0.02736190.209$2.47
BSC<0.01%$0.03918762.8566$2.46
BSC<0.01%$1.012.4326$2.46
BSC<0.01%<$0.0000013,045,296,756.6581$2.44
BSC<0.01%$0.0012032,023.7515$2.44
BSC<0.01%$0.6407963.7403$2.4
BSC<0.01%$0.469415.0666$2.38
BSC<0.01%$4.80.4898$2.35
BSC<0.01%<$0.00000169,249,317.3009$2.34
BSC<0.01%<$0.00000140,371,454.9683$2.3
BSC<0.01%<$0.00000144,013,878.6656$2.28
BSC<0.01%$0.03318268.7238$2.28
BSC<0.01%$0.0005364,205.8418$2.25
BSC<0.01%$0.02908774.1288$2.16
BSC<0.01%$0.08385625.5316$2.14
BSC<0.01%$0.0000014,271,183.9725$2.14
BSC<0.01%$0.06410733.1088$2.12
BSC<0.01%$0.0000021,275,746.497$2.12
BSC<0.01%$15.70.134$2.1
BSC<0.01%$0.00004250,216.8201$2.1
BSC<0.01%$0.000210,500$2.1
BSC<0.01%$0.00019710,629.2162$2.09
BSC<0.01%$0.005169401.2831$2.07
BSC<0.01%<$0.0000011,035,294,496.3748$2.01
BSC<0.01%$0.00007825,594.4517$2
BSC<0.01%$0.09465520.4346$1.93
BSC<0.01%$0.000007262,410.4948$1.93
BSC<0.01%$0.0007772,423.2446$1.88
BSC<0.01%$832.420.00225965$1.88
BSC<0.01%$0.02558372$1.84
BSC<0.01%$11.780.1555$1.83
BSC<0.01%$0.06118529.7781$1.82
BSC<0.01%$1.011.7982$1.81
BSC<0.01%$0.004222419.3531$1.77
BSC<0.01%$0.010913162.1492$1.77
BSC<0.01%$0.15255311.5026$1.75
BSC<0.01%$0.000017104,904.6144$1.74
BSC<0.01%$0.05232333.0017$1.73
BSC<0.01%$0.02616665.0211$1.7
BSC<0.01%$0.0234872.3533$1.7
BSC<0.01%$0.00028,492.3655$1.7
BSC<0.01%$0.06871924.6975$1.7
BSC<0.01%$0.3332615.0588$1.69
BSC<0.01%<$0.0000013,294,413,480.2959$1.67
BSC<0.01%<$0.0000019,983,667,743.1511$1.66
BSC<0.01%$0.001834898.9393$1.65
BSC<0.01%$0.001704961.1674$1.64
BSC<0.01%$0.0009991,616.6539$1.61
BSC<0.01%$0.01892785.1364$1.61
BSC<0.01%$100.650.016$1.61
BSC<0.01%$0.012571127.7608$1.61
BSC<0.01%$0.014749107.0949$1.58
BSC<0.01%$0.13548311.6587$1.58
BSC<0.01%<$0.00000139,442,742.4449$1.57
BSC<0.01%$0.004608338.6448$1.56
BSC<0.01%$0.05894326.243$1.55
BSC<0.01%<$0.000001329,148,081.2631$1.55
BSC<0.01%$0.000002618,734.0955$1.54
BSC<0.01%$1.191.2489$1.48
BSC<0.01%$0.2142616.8442$1.47
BSC<0.01%$0.004509322.7049$1.45
BSC<0.01%$0.004845299.3935$1.45
BSC<0.01%$0.005974239.6681$1.43
BSC<0.01%$0.1283911.1303$1.43
BSC<0.01%$0.03751837.3971$1.4
BSC<0.01%$0.000006240,483.4804$1.39
BSC<0.01%$0.00889154.4716$1.37
BSC<0.01%$0.012071111.3529$1.34
BSC<0.01%$0.0003333,993.3133$1.33
BSC<0.01%$8.30.1603$1.33
BSC<0.01%$0.07075418.544$1.31
BSC<0.01%$0.000004293,267.4756$1.29
BSC<0.01%$5.350.2398$1.28
BSC<0.01%$0.000112,830.5026$1.28
BSC<0.01%<$0.0000013,271,641,523,581.5049$1.27
BSC<0.01%$0.00005423,261.1763$1.26
BSC<0.01%<$0.00000160,377,523.3844$1.26
BSC<0.01%$0.03841132.2987$1.24
BSC<0.01%$0.00001963,527.3055$1.24
BSC<0.01%$0.0011291,090.501$1.23
BSC<0.01%$20.810.059$1.23
BSC<0.01%$0.01613975.1025$1.21
BSC<0.01%$0.001775679.5413$1.21
BSC<0.01%$0.0006131,935.5501$1.19
BSC<0.01%$0.02794842.2759$1.18
BSC<0.01%$0.01733567.9611$1.18
BSC<0.01%$182.410.00645576$1.18
BSC<0.01%<$0.0000019,348,666,548.6424$1.18
BSC<0.01%<$0.000001190,029,339.8817$1.17
BSC<0.01%$0.05381521.5568$1.16
BSC<0.01%$0.08611113.453$1.16
BSC<0.01%$0.00001576,153.162$1.16
BSC<0.01%$0.00004624,641.4941$1.14
BSC<0.01%$0.00277409.885$1.14
BSC<0.01%$0.002013561.9781$1.13
BSC<0.01%<$0.0000017,038,533,757.6765$1.11
BSC<0.01%$0.000003329,850.3797$1.11
BSC<0.01%$0.00001861,391.515$1.11
BSC<0.01%$0.00007714,339.7529$1.1
BSC<0.01%<$0.0000016,591,992.066$1.08
BSC<0.01%$0.004313247.2734$1.07
BSC<0.01%<$0.000001630,354,599.3328$1.05
BSC<0.01%$0.00996105.5307$1.05
BSC<0.01%$0.10037910.4199$1.05
BSC<0.01%$194.690.00533004$1.04
BSC<0.01%$0.0004722,152.207$1.02
BSC<0.01%$0.008772113.6971$0.9973
BSC<0.01%$0.00003627,725.7801$0.992
BSC<0.01%$0.04828420.4326$0.9865
BSC<0.01%$0.02910933.7297$0.9818
BSC<0.01%$0.004179234.8179$0.9811
BSC<0.01%<$0.0000015,170,405.7314$0.9809
BSC<0.01%$0.000003322,835.2206$0.9804
BSC<0.01%$0.009647100.8815$0.9731
BSC<0.01%$0.001225786.7638$0.9636
BSC<0.01%$0.1246227.7096$0.9607
BSC<0.01%$0.002116450.6866$0.9534
BSC<0.01%$0.007104134.0121$0.9519
BSC<0.01%$0.07785511.9449$0.9299
BSC<0.01%$0.00007612,201.6642$0.9267
BSC<0.01%$0.0005151,793.5473$0.9229
BSC<0.01%$0.001229743.7529$0.9141
BSC<0.01%$0.002119426.3426$0.9033
BSC<0.01%$0.001283701.7537$0.90
BSC<0.01%$0.00003129,153.0811$0.8973
BSC<0.01%$0.00004619,440.0394$0.8913
BSC<0.01%$75,6180.00001131$0.8552
BSC<0.01%$0.02540533.1834$0.843
BSC<0.01%$0.01239967.7606$0.8401
BSC<0.01%$0.07372111.3858$0.8393
BSC<0.01%$0.0004581,831.9399$0.8381
BSC<0.01%<$0.00000113,393,671,512.6476$0.8261
BSC<0.01%$0.0002233,699.1322$0.8237
BSC<0.01%$0.0000879,359.1177$0.8129
BSC<0.01%<$0.0000011,070,515,301.9549$0.8091
BSC<0.01%<$0.000001382,448,347.2769$0.8062
BSC<0.01%$0.002483323.7061$0.8037
BSC<0.01%$0.000002369,554.8466$0.8019
BSC<0.01%$0.003566224.7786$0.8015
BSC<0.01%$0.0001117,138.8793$0.7922
BSC<0.01%<$0.000001282,462,469.1563$0.7908
BSC<0.01%$0.0001425,551.3844$0.7885
BSC<0.01%$0.0001415,568.2708$0.7858
BSC<0.01%$0.8704220.8862$0.7713
BSC<0.01%$0.001504512.511$0.7706
BSC<0.01%$0.004015190.7846$0.7659
BSC<0.01%$0.04997414.8372$0.7414
BSC<0.01%$1,958.260.00037633$0.7369
BSC<0.01%$0.01697843.3745$0.7364
BSC<0.01%<$0.000001646,968,766,934.587$0.726
BSC<0.01%$0.001312548.7421$0.7198
BSC<0.01%$0.0000170,862.456$0.715
BSC<0.01%<$0.00000133,463,194.938$0.7127
BSC<0.01%$0.00003122,949.7812$0.7059
BSC<0.01%$0.004014174.1119$0.6989
BSC<0.01%$0.0001255,554.2447$0.6916
BSC<0.01%$0.001307528.0067$0.6901
BSC<0.01%<$0.0000012,606,640,036.4939$0.6874
BSC<0.01%$0.005966114.2864$0.6818
BSC<0.01%$0.1119266.089$0.6815
BSC<0.01%$0.001125602.4375$0.6778
BSC<0.01%$0.0000947,242.2518$0.6775
BSC<0.01%$0.0122154.764$0.6686
BSC<0.01%$0.03311420.1898$0.6685
BSC<0.01%$0.004531146.4033$0.6633
BSC<0.01%$61.250.0108$0.662
BSC<0.01%$0.1242785.3183$0.6609
BSC<0.01%$0.02636624.9671$0.6582
BSC<0.01%$0.0002442,676.9246$0.6533
BSC<0.01%$0.01910634.1528$0.6525
BSC<0.01%$0.0145144.2587$0.6421
BSC<0.01%$0.9898530.6456$0.639
BSC<0.01%$0.9999930.6368$0.6367
BSC<0.01%<$0.0000011,618,949,699.0277$0.6357
BSC<0.01%$0.02670423.798$0.6354
BSC<0.01%$0.00159398.3508$0.6333
BSC<0.01%$0.000004145,497.1078$0.6322
BSC<0.01%<$0.0000018,315,718.9606$0.6286
BSC<0.01%<$0.000001280,744,243.68$0.6283
BSC<0.01%<$0.00000159,761,719,183.4642$0.627
BSC<0.01%$0.00632298.7204$0.624
BSC<0.01%$0.04584213.6136$0.624
BSC<0.01%<$0.000001273,676,644,541.7469$0.6226
BSC<0.01%$0.1986033.1316$0.6219
BSC<0.01%$0.000087,703.7715$0.6189
BSC<0.01%$0.0001893,242.0362$0.6123
BSC<0.01%$1.160.5205$0.6037
BSC<0.01%<$0.00000122,695,072.2251$0.602
BSC<0.01%$0.0000629,638.3804$0.5984
BSC<0.01%$0.0000414,729.5543$0.5956
BSC<0.01%$0.0001633,618.2897$0.5898
BSC<0.01%<$0.000001162,422,911.7489$0.5821
BSC<0.01%$0.0692678.2881$0.574
BSC<0.01%$0.000892643.1946$0.5734
BSC<0.01%$0.02717221.0262$0.5713
BSC<0.01%<$0.000001891,434,215.8668$0.5672
BSC<0.01%$0.01705533.0885$0.5643
BSC<0.01%$0.00921960.3684$0.5565
BSC<0.01%<$0.00000122,202,035,827.6817$0.5538
BSC<0.01%$0.03400116.111$0.5477
BSC<0.01%$0.5752670.9509$0.547
BSC<0.01%<$0.000001121,286,418.8756$0.5457
BSC<0.01%$0.004731115.2986$0.5455
BSC<0.01%$0.0085863.4105$0.544
BSC<0.01%$0.005387100.7683$0.5428
BSC<0.01%<$0.0000014,797,183,483.414$0.54
BSC<0.01%$0.0605058.8759$0.537
BSC<0.01%<$0.000001140,298,415,099.9116$0.5366
BSC<0.01%$0.0002442,197.6594$0.5355
BSC<0.01%$0.02557320.7896$0.5316
BSC<0.01%$0.003236162.9346$0.5271
BSC<0.01%$0.0000925,581.1118$0.5113
BSC<0.01%$0.0157532.1563$0.5064
BSC<0.01%<$0.00000133,414,209.9955$0.5045
BSC<0.01%$0.003256151.6957$0.4938
BSC<0.01%$0.00567286.4033$0.4901
BSC<0.01%$0.01707728.4391$0.4856
BSC<0.01%$0.00579383.2215$0.482
BSC<0.01%$15.340.0312$0.4786
BSC<0.01%$0.0993834.7708$0.4741
BSC<0.01%$0.000915516.9843$0.4732
BSC<0.01%$0.2693371.7505$0.4714
BSC<0.01%$0.0004381,057.6759$0.4628
BSC<0.01%$0.00000951,564.4239$0.4615
BSC<0.01%$0.000004128,068.859$0.461
BSC<0.01%$0.000001841,208.7589$0.4597
BSC<0.01%$0.1524392.9861$0.4551
BSC<0.01%<$0.0000011,204,293.7422$0.453
BSC<0.01%<$0.000001448,938,671.1314$0.4489
BSC<0.01%<$0.00000119,188,158.8761$0.4443
BSC<0.01%$0.00002120,749.424$0.4425
BSC<0.01%$0.000002193,006.2112$0.439
BSC<0.01%$0.001135379.9678$0.4311
BSC<0.01%$0.03255613.1779$0.429
BSC<0.01%$0.0001582,704.1208$0.4284
BSC<0.01%$0.02404917.4943$0.4207
BSC<0.01%$0.0480178.584$0.4121
BSC<0.01%$5,489.580.000075$0.4117
BSC<0.01%$0.079445.1334$0.4078
BSC<0.01%$0.00000672,000$0.3974
BSC<0.01%$0.2178741.7933$0.3907
BSC<0.01%$0.2311431.6851$0.3895
BSC<0.01%<$0.0000015,759,242.0691$0.3823
BSC<0.01%$0.0003591,065.9102$0.3821
BSC<0.01%$0.00003810,085.3173$0.3793
BSC<0.01%$0.000123,045.8566$0.364
BSC<0.01%<$0.00000116,504,795.7432$0.3534
BSC<0.01%$0.0001612,188.3973$0.3518
BSC<0.01%$0.02217115.744$0.349
BSC<0.01%$76.960.00449829$0.3461
BSC<0.01%$0.001074321.1845$0.3447
BSC<0.01%$0.0000477,300.2595$0.3426
BSC<0.01%$0.000578590.0488$0.3412
BSC<0.01%$0.00002413,755.5947$0.3354
BSC<0.01%$0.00768543.4068$0.3335
BSC<0.01%$0.0000893,755.0961$0.3333
BSC<0.01%$0.1173772.825$0.3315
BSC<0.01%<$0.00000170,960,010.2009$0.3216
BSC<0.01%$0.00357889.1911$0.3191
BSC<0.01%$0.001047303.6384$0.3179
BSC<0.01%<$0.0000012,046,153,256,649.5662$0.3176
BSC<0.01%$0.000499635.0828$0.3169
BSC<0.01%$0.02199714.3929$0.3165
BSC<0.01%$0.01214626.0317$0.3161
BSC<0.01%<$0.00000112,954,706,847,873.822$0.3145
BSC<0.01%$0.000346906.7576$0.3135
BSC<0.01%$0.2443851.2825$0.3134
BSC<0.01%$0.3978240.7808$0.3106
BSC<0.01%<$0.000001522,908,243.1826$0.3044
BSC<0.01%$0.000717422.5893$0.3029
BSC<0.01%$0.0002741,101.8667$0.3017
BSC<0.01%<$0.00000194,432,510,716.536$0.3001
BSC<0.01%$0.002399124.6348$0.299
BSC<0.01%$0.00001322,533.3759$0.2988
BSC<0.01%$3,854.050.00007683$0.2961
BSC<0.01%$0.000846349.0672$0.2953
BSC<0.01%$0.0000923,193.8642$0.2934
BSC<0.01%$0.1080882.7115$0.293
BSC<0.01%$0.02284312.4785$0.285
BSC<0.01%$0.00837333.9451$0.2842
BSC<0.01%$0.000784361.935$0.2837
BSC<0.01%<$0.00000120,467,461.4413$0.2815
BSC<0.01%$0.00989528.3716$0.2807
BSC<0.01%$0.0896073.0979$0.2775
BSC<0.01%<$0.00000114,954,459,862,822.467$0.277
BSC<0.01%$0.0000743,734.0149$0.2763
BSC<0.01%$0.00001222,861.9649$0.2759
BSC<0.01%$0.0002681,016.9317$0.2726
BSC<0.01%$1.760.153$0.2693
BSC<0.01%$0.00002311,482.5432$0.2643
BSC<0.01%<$0.000001330,355,915.5532$0.2642
BSC<0.01%$0.001091241.5079$0.2634
BSC<0.01%$0.00000832,123.0551$0.2624
BSC<0.01%$0.00318682.3751$0.2624
BSC<0.01%$0.1384271.8655$0.2582
BSC<0.01%<$0.0000012,635,031,140.0386$0.2575
BSC<0.01%<$0.000001857,735,923.9251$0.2573
BSC<0.01%$0.08233.1067$0.2556
BSC<0.01%<$0.00000179,824,054.4771$0.2549
BSC<0.01%<$0.000001264,443,415.11$0.2538
BSC<0.01%$0.000001285,732.4443$0.2525
BSC<0.01%<$0.000001139,284,535.4883$0.2493
BSC<0.01%$0.0001651,512.7441$0.249
BSC<0.01%$0.01274319.4938$0.2484
BSC<0.01%<$0.000001187,769,459.8145$0.2472
BSC<0.01%$0.0001152,140.5547$0.2468
BSC<0.01%<$0.000001323,564,757.5266$0.2445
BSC<0.01%$0.001895129.0409$0.2445
BSC<0.01%$0.0505734.8116$0.2433
BSC<0.01%$70.160.00344368$0.2416
BSC<0.01%$0.00457152.8304$0.2414
BSC<0.01%$0.000369651.1432$0.2405
BSC<0.01%$0.0083728.5$0.2385
BSC<0.01%$0.00641936.9064$0.2368
BSC<0.01%<$0.0000011,429,580.3707$0.2347
BSC<0.01%$0.00826827.895$0.2306
BSC<0.01%<$0.00000137,983,400,507,283.242$0.2248
BSC<0.01%$0.01497315.0052$0.2246
BSC<0.01%<$0.0000017,563,305,279.213$0.2241
BSC<0.01%$0.01623813.7802$0.2237
BSC<0.01%$0.00001712,937.7633$0.2227
BSC<0.01%$0.0000474,699.7407$0.2204
BSC<0.01%$0.00085256.9247$0.2184
BSC<0.01%$0.9992020.2177$0.2175
BSC<0.01%$0.001239175.4292$0.2173
BSC<0.01%$0.6413920.3387$0.2172
BSC<0.01%<$0.0000011,306,599,367.9646$0.2164
BSC<0.01%<$0.0000012,153,235.7198$0.2153
BSC<0.01%$0.4158350.518$0.2153
BSC<0.01%$0.00046466.1215$0.2145
BSC<0.01%$0.001297163.8601$0.2125
BSC<0.01%<$0.0000011,071,344,664.5832$0.2103
BSC<0.01%<$0.0000011,915,607,167.8916$0.2094
BSC<0.01%<$0.0000011,210,987,025$0.2078
BSC<0.01%<$0.000001406,909,045,285.5485$0.2058
BSC<0.01%$0.000635323.2448$0.2053
BSC<0.01%$0.0001171,734.3406$0.203
BSC<0.01%$0.0628633.2099$0.2017
BSC<0.01%$0.001716117.4376$0.2015
BSC<0.01%<$0.000001140,751,461.4868$0.2013
BSC<0.01%$0.0001841,090.5034$0.201
BSC<0.01%$0.0001361,450.9854$0.1979
BSC<0.01%<$0.00000113,907,474.4794$0.1959
BSC<0.01%$64,782.90.000003$0.1943
BSC<0.01%<$0.00000113,408,386,771,788.641$0.1941
BSC<0.01%<$0.0000011,071,857.8477$0.1891
BSC<0.01%$0.1297121.4567$0.1889
BSC<0.01%$0.00000276,882.7511$0.1868
BSC<0.01%$0.000241775.3379$0.1866
BSC<0.01%$2.220.0837$0.1859
BSC<0.01%$0.000821225.5658$0.1852
BSC<0.01%$0.00244375.4716$0.1843
BSC<0.01%$1.050.174$0.1834
BSC<0.01%<$0.000001652,350,467.5857$0.1823
BSC<0.01%$0.000203889.4783$0.1804
BSC<0.01%$0.0027565.376$0.1797
BSC<0.01%$0.000377474.1804$0.1786
BSC<0.01%$255.730.00069812$0.1785
BSC<0.01%$0.0398794.4759$0.1784
BSC<0.01%$0.00000445,691.8788$0.1779
BSC<0.01%$0.00304758.42$0.1779
BSC<0.01%<$0.000001253,330,143.6583$0.1773
BSC<0.01%$0.000001245,165.9124$0.1755
BSC<0.01%$0.0280636.2036$0.174
BSC<0.01%$0.00232874.4334$0.1732
BSC<0.01%$0.0217997.9227$0.1727
BSC<0.01%<$0.0000018,354,710.4142$0.1724
BSC<0.01%<$0.000001393,293,612,163.2111$0.1713
BSC<0.01%$0.3138980.5414$0.1699
BSC<0.01%$0.00376444.5508$0.1677
BSC<0.01%$0.000397418.3697$0.1659
BSC<0.01%$0.01642610.0905$0.1657
BSC<0.01%$0.000324505.4084$0.1638
BSC<0.01%$0.0001291,257.0749$0.1626
BSC<0.01%<$0.000001322,632.5648$0.1612
BSC<0.01%$0.00238367.6039$0.1611
BSC<0.01%$0.00000437,612.4459$0.1602
BSC<0.01%$198.50.00080688$0.1601
BSC<0.01%$0.2992750.5337$0.1597
BSC<0.01%$0.0174259.1175$0.1588
BSC<0.01%<$0.000001392,178,298.293$0.1577
BSC<0.01%<$0.0000011,272,466,233.674$0.1565
BSC<0.01%$0.00042372.4814$0.1565
BSC<0.01%$0.000672231.9459$0.1559
BSC<0.01%$0.00257560.006$0.1545
BSC<0.01%$0.000674228.7857$0.1541
BSC<0.01%$415.80.0003676$0.1528
BSC<0.01%$0.001267118.2549$0.1498
BSC<0.01%$0.0603182.4639$0.1486
BSC<0.01%$0.000001144,180.8332$0.1485
BSC<0.01%$0.001158127.2698$0.1474
BSC<0.01%$0.00610124.15$0.1473
BSC<0.01%$0.000997147.2289$0.1468
BSC<0.01%$0.00132111.2715$0.1468
BSC<0.01%$0.000506289.8651$0.1465
BSC<0.01%<$0.00000120,375,290,228.425$0.1452
BSC<0.01%$0.000171846.3567$0.1447
BSC<0.01%$0.0224296.3603$0.1426
BSC<0.01%$0.00254655.5941$0.1415
BSC<0.01%$0.000071,971.9224$0.1386
BSC<0.01%$0.000319427.1757$0.1363
BSC<0.01%$0.5654260.24$0.1357
BSC<0.01%$0.0001061,269.9778$0.1343
BSC<0.01%$0.0404363.3189$0.1342
BSC<0.01%$0.00751417.7628$0.1334
BSC<0.01%$0.00143792.2353$0.1325
BSC<0.01%$0.0118811.1138$0.132
BSC<0.01%<$0.00000111,464,342,755.6476$0.1319
BSC<0.01%<$0.000001558,913,469.233$0.1309
BSC<0.01%$0.0146978.8962$0.1307
BSC<0.01%$0.2417290.5391$0.1303
BSC<0.01%$0.00000815,440.6072$0.1285
BSC<0.01%<$0.00000140,105,191.5007$0.1283
BSC<0.01%<$0.000001212,387,234.2452$0.1274
BSC<0.01%<$0.000001135,296,499,919.2586$0.1267
BSC<0.01%$0.00000279,478.3772$0.1256
BSC<0.01%$0.000412304.0623$0.1252
BSC<0.01%$0.00000913,725.8146$0.125
BSC<0.01%$0.00355835.1228$0.1249
BSC<0.01%$0.001169106.6105$0.1246
BSC<0.01%$0.00186466.6587$0.1242
BSC<0.01%<$0.000001368,962,789,732.9337$0.1241
BSC<0.01%$0.000998123.6813$0.1233
BSC<0.01%$4.80.0256$0.1228
BSC<0.01%$0.00000716,527.4661$0.1196
BSC<0.01%$0.0000313,904.911$0.1196
BSC<0.01%<$0.000001388,537.0658$0.1191
BSC<0.01%$0.00188862.823$0.1186
BSC<0.01%$0.000001118,527.8252$0.1183
BSC<0.01%<$0.000001891,372,484.0968$0.1179
BSC<0.01%$0.000983119.9861$0.1179
BSC<0.01%$0.0121289.6984$0.1176
BSC<0.01%$0.00000343,378.1338$0.1175
BSC<0.01%$0.0045325.8628$0.1171
BSC<0.01%$0.3100590.3684$0.1142
BSC<0.01%$0.01039610.8397$0.1126
BSC<0.01%$0.000393285.6202$0.1122
BSC<0.01%<$0.00000167,667,193,051.5897$0.1115
BSC<0.01%$29.870.0037321$0.1114
BSC<0.01%$0.9109410.1223$0.1113
BSC<0.01%$0.0000452,476.1577$0.1105
BSC<0.01%$0.001668.7412$0.1099
BSC<0.01%$0.0000991,109.5551$0.1097
BSC<0.01%<$0.000001740,229,496.3667$0.1095
BSC<0.01%$0.141250.7688$0.1085
BSC<0.01%$0.00765314.1505$0.1082
BSC<0.01%$0.0269313.9564$0.1065
BSC<0.01%$0.3480670.3053$0.1062
BSC<0.01%$0.000151704.6384$0.1061
BSC<0.01%$0.000294360.6123$0.1059
BSC<0.01%$0.000683154.7549$0.1056
BSC<0.01%$0.000531198.2891$0.1053
BSC<0.01%$0.415690.2536$0.1053
BSC<0.01%$0.0000641,644.9686$0.1045
BSC<0.01%$0.0000382,755$0.1044
BSC<0.01%$400.710.00025762$0.1032
ARB<0.01%$0.005365793,618,881.5979$4,257,860.53
ARB<0.01%$0.9999042,424.0793$2,423.85
ARB<0.01%$0.9984381,235.2725$1,233.34
ARB<0.01%$1,960.750.1363$267.31
ARB<0.01%$0.114091511.7762$58.39
ARB<0.01%$76,1770.00035428$26.99
ARB<0.01%$0.00000118,982,601.956$12.21
ARB<0.01%$0.000085144,120.8498$12.2
ARB<0.01%$2,258.880.00407375$9.2
ARB<0.01%$0.21064636.6737$7.73
ARB<0.01%$0.068016107.6224$7.32
ARB<0.01%$0.000.00265057$0.00
ARB<0.01%$16.296$6.3
ARB<0.01%$0.15183940.4939$6.15
ARB<0.01%$29.650.192$5.69
ARB<0.01%$0.9999045.4953$5.49
ARB<0.01%$0.009852487.4125$4.8
ARB<0.01%$8.710.5329$4.64
ARB<0.01%$0.0045711,009.2058$4.61
ARB<0.01%$20.850.2013$4.2
ARB<0.01%$0.006041618.4424$3.74
ARB<0.01%$0.07864446.0022$3.62
ARB<0.01%$121.290.0293$3.56
ARB<0.01%$0.0017671,680.5661$2.97
ARB<0.01%$2,767.960.00101103$2.8
ARB<0.01%$0.0015941,455.7948$2.32
ARB<0.01%$0.00003955,657.5493$2.16
ARB<0.01%$77,2570.00002667$2.06
ARB<0.01%$0.3457165.8329$2.02
ARB<0.01%$0.010757184.0951$1.98
ARB<0.01%$2,317.130.00083024$1.92
ARB<0.01%$0.9691981.8809$1.82
ARB<0.01%$0.4694773.8271$1.8
ARB<0.01%$1.291.3653$1.76
ARB<0.01%$0.02497170.079$1.75
ARB<0.01%$3.120.5496$1.71
ARB<0.01%$0.05800329.0397$1.68
ARB<0.01%$124.920.0119$1.49
ARB<0.01%$76,3900.00001949$1.49
ARB<0.01%$0.07894218.6469$1.47
ARB<0.01%$0.2501655.6968$1.43
ARB<0.01%$0.9997761.4092$1.41
ARB<0.01%$0.001462908.3414$1.33
ARB<0.01%$2.380.5527$1.32
ARB<0.01%$0.002023641.7037$1.3
ARB<0.01%$76,2840.00001613$1.23
ARB<0.01%$3.530.3104$1.1
ARB<0.01%$0.8506271.287$1.09
ARB<0.01%$0.003151335.931$1.06
ARB<0.01%$0.001403750.7729$1.05
ARB<0.01%$0.05274519.319$1.02
ARB<0.01%$0.2736693.645$0.9975
ARB<0.01%<$0.00000141,285,006.2672$0.9908
ARB<0.01%$0.9674780.9534$0.9223
ARB<0.01%$0.000194,595.7789$0.8747
ARB<0.01%$0.02009440.825$0.8203
ARB<0.01%$0.2071143.8211$0.7913
ARB<0.01%$0.001415555.1622$0.7852
ARB<0.01%$2.020.3749$0.7573
ARB<0.01%$6.320.1177$0.7439
ARB<0.01%$0.000002419,376.5235$0.7087
ARB<0.01%$0.00003519,691.7921$0.6937
ARB<0.01%$0.000005141,531.6158$0.6694
ARB<0.01%$0.472671.3977$0.6606
ARB<0.01%$0.005879105.0147$0.6173
ARB<0.01%$0.01647733.2171$0.5473
ARB<0.01%$1.740.2959$0.5149
ARB<0.01%$0.1308653.8946$0.5096
ARB<0.01%$0.0004191,127.7062$0.4723
ARB<0.01%$0.003621124.5114$0.4508
ARB<0.01%$0.000001851,848.4097$0.4408
ARB<0.01%$0.001548276.9135$0.4287
ARB<0.01%$0.1337913.1862$0.4262
ARB<0.01%$0.00000492,464.7208$0.4059
ARB<0.01%$0.00526374.9134$0.3942
ARB<0.01%$0.9988650.3845$0.384
ARB<0.01%$78.110.00487498$0.3807
ARB<0.01%<$0.000001808,885.0632$0.3665
ARB<0.01%$0.002996117.323$0.3515
ARB<0.01%$0.00048716.4029$0.3439
ARB<0.01%$0.001436232.116$0.3332
ARB<0.01%$0.02004716.5646$0.332
ARB<0.01%$0.01405522.7211$0.3193
ARB<0.01%$1.240.2574$0.3192
ARB<0.01%$0.02435112.7911$0.3114
ARB<0.01%<$0.0000011,512,792,876.6849$0.3025
ARB<0.01%$1.320.2078$0.2742
ARB<0.01%$0.0538294.8287$0.2599
ARB<0.01%<$0.0000012,551,005,403.0679$0.2551
ARB<0.01%$0.00594641.3171$0.2456
ARB<0.01%$0.0411865.5857$0.23
ARB<0.01%$0.0275278.1837$0.2252
ARB<0.01%$0.00791925.3841$0.201
ARB<0.01%$3.460.0573$0.1983
ARB<0.01%$0.000417466.8607$0.1947
ARB<0.01%$0.9948460.1941$0.1931
ARB<0.01%$0.065042.8453$0.185
ARB<0.01%$2.280.0705$0.1606
ARB<0.01%$0.00834619.1927$0.1601
ARB<0.01%<$0.0000011,478,878,175.0521$0.1478
ARB<0.01%$0.00277150.369$0.1395
ARB<0.01%$0.00925614.4106$0.1333
ARB<0.01%$0.0000284,439.7233$0.1223
POL<0.01%$0.0280961,628,821.3855$45,763.48
POL<0.01%$0.0159192,028,015.7017$32,284.98
POL<0.01%$0.99966423,263.6492$23,255.83
POL<0.01%$6.853,082.7657$21,116.95
POL<0.01%$0.10674538,128.3107$4,070.02
POL<0.01%$0.998295888.2581$886.74
POL<0.01%$0.999921883.4195$883.35
POL<0.01%$0.004571155,544.3841$711.01
POL<0.01%$1,957.950.0949$185.81
POL<0.01%$121.071.3191$159.7
POL<0.01%$0.20311661.2254$134.3
POL<0.01%$0.00112890,376.5041$101.98
POL<0.01%$76,1140.00089062$67.79
POL<0.01%$1.4239.6708$56.33
POL<0.01%$86.180.6044$52.09
POL<0.01%$0.0048577,564.0991$36.74
POL<0.01%$0.0070674,698.0967$33.2
POL<0.01%$0.107586274.9847$29.58
POL<0.01%$0.48743757.7063$28.13
POL<0.01%$0.040989508.0304$20.82
POL<0.01%$0.097724184.2625$18.01
POL<0.01%$3.465.1353$17.77
POL<0.01%$0.086857193.3607$16.79
POL<0.01%$4.713.3058$15.57
POL<0.01%$8.711.4041$12.23
POL<0.01%$0.00000112,301,954.3714$11.95
POL<0.01%$0.0084371,364.0557$11.51
POL<0.01%$0.0000042,342,010.1195$9.63
POL<0.01%$4.81.9123$9.17
POL<0.01%$0.13552967.1598$9.1
POL<0.01%$0.0015365,886.4457$9.04
POL<0.01%$0.0008919,690.0428$8.63
POL<0.01%$0.79205210.5014$8.32
POL<0.01%$0.00046717,479.9141$8.16
POL<0.01%$0.000011737,988.3403$7.86
POL<0.01%$0.0008668,995.7313$7.79
POL<0.01%$5,034.460.00152486$7.68
POL<0.01%$0.8498338.728$7.42
POL<0.01%$0.00039518,185.4149$7.18
POL<0.01%<$0.00000135,325,277,327.2323$7.07
POL<0.01%$0.2500527.4213$6.86
POL<0.01%$0.0057171,177.8845$6.73
POL<0.01%$0.00031921,013.8942$6.7
POL<0.01%$1.763.3403$5.88
POL<0.01%$0.0014043,431.6721$4.82
POL<0.01%$0.07364.7053$4.72
POL<0.01%$0.32148514.3948$4.63
POL<0.01%$0.9999214.6189$4.62
POL<0.01%$0.22505620.2947$4.57
POL<0.01%$0.19118423.7189$4.53
POL<0.01%$0.000012356,414.19$4.2
POL<0.01%$0.0032751,203.4257$3.94
POL<0.01%$1,556.610.0024557$3.82
POL<0.01%$0.0027611,335.33$3.69
POL<0.01%$0.009437387.6333$3.66
POL<0.01%$0.33816610.7484$3.63
POL<0.01%$0.012255292.1733$3.58
POL<0.01%$0.20690617.2748$3.57
POL<0.01%<$0.000001103,317,891.9429$3.49
POL<0.01%$0.11167230.2291$3.38
POL<0.01%$4.550.7285$3.31
POL<0.01%$0.9562033.3523$3.21
POL<0.01%$0.0003368,825.2556$2.96
POL<0.01%$0.000023120,537.6211$2.78
POL<0.01%<$0.0000014,766,786,434.9664$2.38
POL<0.01%$0.0009842,391.8855$2.35
POL<0.01%$0.12315818.7931$2.31
POL<0.01%$0.010443211.8626$2.21
POL<0.01%$124.860.0177$2.21
POL<0.01%$0.00003757,136.7567$2.14
POL<0.01%$1.171.7943$2.1
POL<0.01%$9.240.2267$2.09
POL<0.01%$0.000007310,887.4052$2.03
POL<0.01%$0.02217182.2593$1.82
POL<0.01%$0.000007277,180.2652$1.8
POL<0.01%$0.00935191.442$1.79
POL<0.01%<$0.0000013,590,701.637$1.77
POL<0.01%$0.011107157.3641$1.75
POL<0.01%$1.181.432$1.69
POL<0.01%$0.008324197.7969$1.65
POL<0.01%$0.15252910.6868$1.63
POL<0.01%$0.0011291,434.1705$1.62
POL<0.01%$0.0001798,852.0717$1.58
POL<0.01%$0.10567114.978$1.58
POL<0.01%$17.060.092$1.57
POL<0.01%$0.000004410,725.6399$1.53
POL<0.01%$0.1412510.656$1.51
POL<0.01%$0.564192.3867$1.35
POL<0.01%$192.410.00698189$1.34
POL<0.01%$0.05585823.1649$1.29
POL<0.01%$0.0004652,674.9983$1.24
POL<0.01%$0.0002584,656.7453$1.2
POL<0.01%$0.004851242.9299$1.18
POL<0.01%$0.00004724,092.6159$1.14
POL<0.01%$11.0987$1.1
POL<0.01%$0.0007331,374.069$1.01
POL<0.01%$0.00003330,013.4009$0.9856
POL<0.01%$0.008026122.2399$0.981
POL<0.01%$0.0001357,227.6214$0.9745
POL<0.01%$0.9993420.963$0.9623
POL<0.01%$0.3313362.8742$0.9523
POL<0.01%<$0.000001386,137,804.6535$0.9267
POL<0.01%$0.0007951,160.7347$0.9233
POL<0.01%$0.9974570.9169$0.9145
POL<0.01%$0.0003882,334.188$0.9062
POL<0.01%$0.0001167,700.3398$0.8936
POL<0.01%$68,826.450.00001272$0.8754
POL<0.01%$0.0005491,539.1192$0.8447
POL<0.01%$0.0003632,246.1796$0.8163
POL<0.01%$0.0004881,550.2591$0.7558
POL<0.01%$0.0001794,097.6237$0.7352
POL<0.01%$0.6407961.1171$0.7158
POL<0.01%$11.420.0623$0.7109
POL<0.01%$0.0275224.8027$0.6825
POL<0.01%$0.003808177.4038$0.6755
POL<0.01%$41.770.0158$0.6607
POL<0.01%$0.0000996,524.3047$0.6471
POL<0.01%$0.002413267.4298$0.6453
POL<0.01%<$0.00000168,185,871.5217$0.6273
POL<0.01%$0.1502754.0767$0.6126
POL<0.01%$0.0001943,122.5964$0.6048
POL<0.01%$0.04168813.3393$0.556
POL<0.01%$2,839.150.00019464$0.5526
POL<0.01%$0.000685804.8014$0.5512
POL<0.01%$0.469411.1378$0.5341
POL<0.01%$0.3434851.4829$0.5093
POL<0.01%$0.0003011,667.3879$0.502
POL<0.01%$0.00001338,869.898$0.4994
POL<0.01%<$0.00000164,423,678.7135$0.4896
POL<0.01%$0.00113420.0556$0.4745
POL<0.01%$0.1095114.1773$0.4574
POL<0.01%$0.00002816,141.412$0.4562
POL<0.01%$71,1000.00000636$0.4519
POL<0.01%$0.000454965.1782$0.4379
POL<0.01%$20.790.0208$0.4322
POL<0.01%$0.1994022.1467$0.428
POL<0.01%$1.670.2388$0.3988
POL<0.01%$0.01239931.1287$0.3859
POL<0.01%$0.000461820.0993$0.3777
POL<0.01%$1.140.3191$0.3638
POL<0.01%$0.1022023.5424$0.362
POL<0.01%$0.000431820.2084$0.3537
POL<0.01%<$0.0000019,884,313.004$0.3518
POL<0.01%$0.003047114.9024$0.3501
POL<0.01%$0.0044877.7197$0.3481
POL<0.01%$0.0002291,476.9065$0.3388
POL<0.01%$0.00000653,561.5817$0.3326
POL<0.01%$0.002811111.6654$0.3138
POL<0.01%$0.00175178.5023$0.3123
POL<0.01%<$0.0000015,854,722.7926$0.3108
POL<0.01%$0.02740511.25$0.3083
POL<0.01%$0.2870451.0312$0.2959
POL<0.01%$0.1869731.5489$0.2895
POL<0.01%<$0.00000176,430,347.9519$0.2827
POL<0.01%$0.0505465.4708$0.2765
POL<0.01%$0.00351776.5289$0.2691
POL<0.01%<$0.00000176,598,741.7732$0.268
POL<0.01%$0.0411256.2631$0.2575
POL<0.01%$0.9984170.2499$0.2494
POL<0.01%$0.000728319.6318$0.2326
POL<0.01%$0.0195111.7127$0.2285
POL<0.01%$0.00266684.3869$0.2249
POL<0.01%$0.00252187.0367$0.2194
POL<0.01%$0.1483081.4121$0.2094
POL<0.01%$0.01295415.9215$0.2062
POL<0.01%$0.3348990.6015$0.2014
POL<0.01%$0.01462413.4818$0.1971
POL<0.01%$0.00634730.2626$0.192
POL<0.01%$14,557.890.000013$0.1892
POL<0.01%$0.000479380.5654$0.1821
POL<0.01%$0.01373813.125$0.1803
POL<0.01%$0.0367274.9071$0.1802
POL<0.01%$0.00444137.8156$0.1679
POL<0.01%$0.0191068.7658$0.1674
POL<0.01%$0.00167989.5421$0.1503
POL<0.01%$0.000929160.348$0.149
POL<0.01%$0.00211169.305$0.1462
POL<0.01%$0.00141999.8516$0.1417
POL<0.01%$0.000288465.9374$0.134
POL<0.01%$2,773.10.00004823$0.1337
POL<0.01%$0.00185770.5009$0.1309
POL<0.01%<$0.00000176,947,869.0057$0.1308
POL<0.01%$0.00529524.2396$0.1283
POL<0.01%$0.00000435,135.7225$0.1275
POL<0.01%$0.000548232.9086$0.1275
POL<0.01%$0.000386327.5921$0.1266
POL<0.01%$0.9992510.1253$0.1252
POL<0.01%$0.0000264,774.6059$0.1236
POL<0.01%$0.000231526.7945$0.1217
POL<0.01%$0.00738316.2073$0.1196
POL<0.01%$0.0277884.2182$0.1172
POL<0.01%$6.550.0178$0.1166
POL<0.01%$0.0263534.2014$0.1107
POL<0.01%$0.000144764.181$0.1097
POL<0.01%$0.7574610.1407$0.1065
POL<0.01%$0.000375275.3888$0.1033
POL<0.01%$50.850.002006$0.102
POL<0.01%$0.000447227.6432$0.1018
BASE<0.01%$1,960.811.5582$3,055.24
BASE<0.01%$0.019047145,046.4228$2,762.75
BASE<0.01%$0.9999042,179.4182$2,179.21
BASE<0.01%$0.0000455,374,084.9799$241.67
BASE<0.01%$76,3310.00273846$209.03
BASE<0.01%$0.01184110,227.2125$121.1
BASE<0.01%$0.99833496.8759$96.71
BASE<0.01%$0.0000451,944,599.7035$86.83
BASE<0.01%$0.00073298,055.2171$71.75
BASE<0.01%$0.62928795.6952$60.22
BASE<0.01%$2,263.380.0198$44.87
BASE<0.01%$2,196.480.017$37.29
BASE<0.01%$31.631.0258$32.45
BASE<0.01%$0.000178174,741$31.16
BASE<0.01%$0.0198951,440.894$28.67
BASE<0.01%$0.27034898.0222$26.5
BASE<0.01%$0.000095247,206.2539$23.55
BASE<0.01%$0.123037170.1566$20.94
BASE<0.01%$6.253.3077$20.67
BASE<0.01%$1.7411.4377$19.9
BASE<0.01%$0.0169811,058.7521$17.98
BASE<0.01%$0.0116791,467.8139$17.14
BASE<0.01%$0.00022769,142.5569$15.71
BASE<0.01%$0.31177949.7003$15.5
BASE<0.01%$0.046594329.1736$15.34
BASE<0.01%$0.101311141.1498$14.3
BASE<0.01%$0.0024665,625.4871$13.87
BASE<0.01%$0.00007192,085.583$13.51
BASE<0.01%$0.00023355,606.3509$12.93
BASE<0.01%$0.000106121,583.9471$12.92
BASE<0.01%$0.021233606.7104$12.88
BASE<0.01%$0.020946605.1329$12.68
BASE<0.01%$0.10241122.1834$12.51
BASE<0.01%$0.000620,834.5259$12.5
BASE<0.01%$0.0000025,187,278.4865$12.4
BASE<0.01%$0.000025470,379.6487$11.77
BASE<0.01%$0.13409587.466$11.73
BASE<0.01%$0.20024657.6451$11.54
BASE<0.01%$0.0063181,612.5167$10.19
BASE<0.01%$0.56457717.7064$10
BASE<0.01%$0.026207364.8023$9.56
BASE<0.01%$0.0077851,218.3164$9.48
BASE<0.01%$0.0000042,189,008.2367$9.24
BASE<0.01%$0.00059415,452.2453$9.18
BASE<0.01%$0.013567660.955$8.97
BASE<0.01%$0.028908308.5236$8.92
BASE<0.01%$18.6851$8.69
BASE<0.01%$0.01485567.3276$8.42
BASE<0.01%<$0.00000129,938,254.9082$8.15
BASE<0.01%$0.10521277.0505$8.11
BASE<0.01%$0.0052471,520.883$7.98
BASE<0.01%$0.0023283,376.8307$7.86
BASE<0.01%$0.0012326,365.3125$7.84
BASE<0.01%$0.49512415.6951$7.77
BASE<0.01%<$0.0000017,009,754,150.5506$7.71
BASE<0.01%$0.9939487.6971$7.65
BASE<0.01%$0.0067571,121.3807$7.58
BASE<0.01%$0.0985575.5795$7.45
BASE<0.01%$0.025693286.9899$7.37
BASE<0.01%$0.0032672,228.1279$7.28
BASE<0.01%$0.022921307.871$7.06
BASE<0.01%$0.00001697,094.0706$7.05
BASE<0.01%$0.9999456.9829$6.98
BASE<0.01%$0.0015954,321.4884$6.89
BASE<0.01%$0.51542812.9075$6.65
BASE<0.01%$0.000877,247.1602$6.3
BASE<0.01%$0.00001625,158.4978$6.09
BASE<0.01%$0.0045471,329.7758$6.05
BASE<0.01%$0.00016337,125.4843$6.05
BASE<0.01%$0.0003218,773.8989$6.01
BASE<0.01%$0.00000110,357,890.6067$5.9
BASE<0.01%$0.00016735,205.4105$5.89
BASE<0.01%$1.194.8903$5.82
BASE<0.01%$0.08152170.8237$5.77
BASE<0.01%$0.000044130,149.0162$5.66
BASE<0.01%$0.038457144.7298$5.57
BASE<0.01%$0.005.5365$0.00
BASE<0.01%$0.001613,321.4481$5.35
BASE<0.01%$0.00028418,835.2031$5.35
BASE<0.01%<$0.00000138,249,680.5886$5.26
BASE<0.01%$0.0012114,320.7223$5.23
BASE<0.01%$0.0045251,151.7222$5.21
BASE<0.01%$0.0009985,135.2156$5.13
BASE<0.01%$0.0017712,886.2257$5.11
BASE<0.01%$0.007685652.0813$5.01
BASE<0.01%$0.002362,076.0381$4.9
BASE<0.01%$0.000037131,257.6408$4.82
BASE<0.01%$76,3880.00006181$4.72
BASE<0.01%$0.0000022,170,977.8697$4.71
BASE<0.01%<$0.00000130,885,717.303$4.69
BASE<0.01%$0.000041113,858.4017$4.69
BASE<0.01%$0.00025218,185.2184$4.59
BASE<0.01%$0.012329368.3738$4.54
BASE<0.01%$0.000034129,172.6116$4.38
BASE<0.01%$0.00029314,631.7831$4.28
BASE<0.01%$0.32027413.3108$4.26
BASE<0.01%$0.00013929,887.6013$4.15
BASE<0.01%$0.15502826.685$4.14
BASE<0.01%$0.00035611,523.5677$4.11
BASE<0.01%$0.000009442,729.4281$4.1
BASE<0.01%$0.023981168.1014$4.03
BASE<0.01%$0.10381238.4221$3.99
BASE<0.01%$0.012116319.8813$3.88
BASE<0.01%$0.08513944.6019$3.8
BASE<0.01%<$0.0000014,580,707,623.0389$3.66
BASE<0.01%$0.000026139,172.278$3.63
BASE<0.01%$0.007764461.1261$3.58
BASE<0.01%$0.0014312,380.0781$3.41
BASE<0.01%$0.0006655,113.1201$3.4
BASE<0.01%$0.00019617,179.005$3.37
BASE<0.01%$0.0009073,683.997$3.34
BASE<0.01%$0.00003107,181.0961$3.21
BASE<0.01%$0.000009345,540.4937$3.19
BASE<0.01%$0.000008389,330.4984$3.19
BASE<0.01%$0.009738322.4944$3.14
BASE<0.01%$0.000027113,837.5835$3.04
BASE<0.01%<$0.000001297,751,314.8985$3.04
BASE<0.01%$0.11054827.4261$3.03
BASE<0.01%$0.0004596,580.8116$3.02
BASE<0.01%$0.00012922,964.5883$2.97
BASE<0.01%$0.09560330.9626$2.96
BASE<0.01%$0.011343260.6722$2.96
BASE<0.01%$0.000.00121772$0.00
BASE<0.01%$0.0000012,432,229.1852$2.94
BASE<0.01%$0.0000932,304.8462$2.9
BASE<0.01%$0.5996554.8212$2.89
BASE<0.01%$0.008247349.8442$2.89
BASE<0.01%$0.3910857.3385$2.87
BASE<0.01%$0.0004076,957.4278$2.83
BASE<0.01%$0.3097729.0161$2.79
BASE<0.01%$0.000019148,766.0724$2.76
BASE<0.01%$0.00005946,744.6599$2.74
BASE<0.01%$0.00022312,202.6914$2.72
BASE<0.01%$0.0000012,398,242.4892$2.71
BASE<0.01%$0.0000012,550,009.9834$2.7
BASE<0.01%$0.020094133.3393$2.68
BASE<0.01%$0.000014194,370.4645$2.66
BASE<0.01%$0.0004865,426.5576$2.64
BASE<0.01%<$0.0000014,324,506,764.2335$2.59
BASE<0.01%$0.00019912,894.6264$2.57
BASE<0.01%$0.00005744,587.8669$2.52
BASE<0.01%$0.019202126.4448$2.43
BASE<0.01%$0.0002689,054.967$2.43
BASE<0.01%<$0.000001336,820,247.7661$2.43
BASE<0.01%$0.000007366,590.9664$2.41
BASE<0.01%$0.0014031,675.2599$2.35
BASE<0.01%$0.00015914,776.2999$2.35
BASE<0.01%$0.000016147,148.0496$2.31
BASE<0.01%$0.0019031,191.5703$2.27
BASE<0.01%$0.00018911,976.8973$2.26
BASE<0.01%$0.018931117.2118$2.22
BASE<0.01%$0.0004924,425.9205$2.18
BASE<0.01%$0.000013165,849.3218$2.17
BASE<0.01%$30.7055$2.12
BASE<0.01%$0.0006183,403.1035$2.1
BASE<0.01%$0.0000013,399,649.4025$2.05
BASE<0.01%$0.00002291,494.1819$2.04
BASE<0.01%$0.000009212,655.0937$2.02
BASE<0.01%$0.07605225.6238$1.95
BASE<0.01%$0.00010218,808.6968$1.92
BASE<0.01%$0.000011180,275.8776$1.91
BASE<0.01%$0.00002672,558.5858$1.89
BASE<0.01%$0.00002284,211.924$1.87
BASE<0.01%$0.4069394.5575$1.85
BASE<0.01%$0.00007225,150.4236$1.82
BASE<0.01%$0.00006825,985.6978$1.76
BASE<0.01%<$0.000001367,045,076.6562$1.76
BASE<0.01%$0.17139810.0559$1.72
BASE<0.01%$0.10437316.1574$1.69
BASE<0.01%$0.000005349,321.0988$1.67
BASE<0.01%$0.000002833,245.7973$1.6
BASE<0.01%$0.0010421,529.5229$1.59
BASE<0.01%$0.0007542,084.3634$1.57
BASE<0.01%$0.0003344,692.3864$1.57
BASE<0.01%<$0.0000019,048,228.4088$1.57
BASE<0.01%$0.01862884.0238$1.57
BASE<0.01%$0.0002526,065.3293$1.53
BASE<0.01%$0.00001884,468.8124$1.53
BASE<0.01%$0.02718453.7263$1.46
BASE<0.01%<$0.0000014,930,009.1443$1.45
BASE<0.01%$0.007989180.3383$1.44
BASE<0.01%$0.0001310,906.5845$1.42
BASE<0.01%$0.0002066,776.4292$1.4
BASE<0.01%$0.00013110,670.3864$1.4
BASE<0.01%$0.1574398.8743$1.4
BASE<0.01%$2.980.4467$1.33
BASE<0.01%$0.00001871,804.1123$1.3
BASE<0.01%$0.00001872,490.4098$1.28
BASE<0.01%$0.0005062,527.8803$1.28
BASE<0.01%$0.00003239,286.4066$1.27
BASE<0.01%$0.002236558.2724$1.25
BASE<0.01%$0.001486837.1169$1.24
BASE<0.01%$0.0000011,903,883.699$1.23
BASE<0.01%<$0.000001759,358,177.6351$1.21
BASE<0.01%<$0.00000162,519,875.955$1.19
BASE<0.01%$0.00006617,982.2164$1.18
BASE<0.01%$0.00005919,817.3938$1.17
BASE<0.01%$0.0000338,613.8733$1.16
BASE<0.01%$0.00001114,251.6808$1.15
BASE<0.01%$0.000841,341.9775$1.13
BASE<0.01%$0.000009121,959.799$1.11
BASE<0.01%$0.0157170.6077$1.11
BASE<0.01%$0.0004612,391.0882$1.1
BASE<0.01%$0.006233167.5508$1.04
BASE<0.01%$0.0005341,949.5766$1.04
BASE<0.01%$0.0001745,972.5813$1.04
BASE<0.01%$0.0008551,196$1.02
BASE<0.01%$0.002477405.7313$1
BASE<0.01%$0.0001755,674.6083$0.9911
BASE<0.01%$0.001697581.4366$0.9866
BASE<0.01%$0.03266930.0806$0.9827
BASE<0.01%$0.00001757,739.9493$0.9758
BASE<0.01%$0.00004720,487.0171$0.9606
BASE<0.01%$0.0001178,236.6195$0.9603
BASE<0.01%$0.00009110,482.8193$0.9512
BASE<0.01%$0.00008511,172.4845$0.9492
BASE<0.01%$71,1280.00001332$0.9476
BASE<0.01%$0.0006881,368.5317$0.9412
BASE<0.01%$0.9999480.9405$0.9404
BASE<0.01%$0.000003321,610.9248$0.923
BASE<0.01%$0.01954247.0514$0.9194
BASE<0.01%<$0.0000011,828,138.4591$0.9027
BASE<0.01%$0.00942494.9236$0.8945
BASE<0.01%$0.00004917,909.2681$0.8838
BASE<0.01%$0.00002338,234.4435$0.8803
BASE<0.01%$0.0000011,491,225.882$0.8747
BASE<0.01%$0.00001270,001.4635$0.8673
BASE<0.01%$0.001254683.2262$0.8564
BASE<0.01%$0.01535254.9933$0.8442
BASE<0.01%$0.00001749,777.7141$0.8402
BASE<0.01%$0.00001750,384.8572$0.8318
BASE<0.01%$0.00003225,632.2298$0.8287
BASE<0.01%$0.0001157,152.9199$0.8212
BASE<0.01%$0.008057101.0304$0.814
BASE<0.01%$4.460.1795$0.8007
BASE<0.01%$0.1055257.5772$0.7995
BASE<0.01%$0.0003512,256.4845$0.7913
BASE<0.01%$0.000007109,190.178$0.7566
BASE<0.01%$0.00004715,928.3373$0.7452
BASE<0.01%$0.0278926.643$0.743
BASE<0.01%$0.0001265,791.7623$0.7308
BASE<0.01%$0.000001560,960.1283$0.7292
BASE<0.01%$0.006293110.579$0.6959
BASE<0.01%$0.000007103,826.8203$0.6811
BASE<0.01%$1.030.6468$0.6629
BASE<0.01%$0.000876751.7361$0.6587
BASE<0.01%$0.0003741,733.9921$0.6484
BASE<0.01%$0.107755.8447$0.6297
BASE<0.01%$0.0001893,267.3502$0.6163
BASE<0.01%$0.00001541,310.2415$0.6155
BASE<0.01%$1.590.384$0.6105
BASE<0.01%$144.810.00411678$0.5961
BASE<0.01%$0.0003791,558.1921$0.5907
BASE<0.01%$0.01474440.0151$0.5899
BASE<0.01%$0.03162718.6457$0.5897
BASE<0.01%$0.001383425.373$0.5881
BASE<0.01%$0.0027,168.5515$0.00
BASE<0.01%$0.0001493,913.0313$0.5826
BASE<0.01%$0.000002297,073.5932$0.5763
BASE<0.01%$0.005133112.0784$0.5753
BASE<0.01%$0.0063390.8213$0.5749
BASE<0.01%$0.0002372,413.4681$0.5717
BASE<0.01%$0.00800170.9369$0.5675
BASE<0.01%$0.000867651.678$0.5652
BASE<0.01%$0.0000155,600.699$0.5615
BASE<0.01%$0.0673188.2577$0.5558
BASE<0.01%$0.00667182.3485$0.5493
BASE<0.01%$0.1463513.6988$0.5413
BASE<0.01%$0.0002841,894.0428$0.538
BASE<0.01%$0.00001730,650.8638$0.5298
BASE<0.01%$0.004051128.876$0.522
BASE<0.01%$0.0001942,660.6276$0.5156
BASE<0.01%<$0.0000011,698,158,723.7666$0.5094
BASE<0.01%$0.0002591,914.1868$0.4962
BASE<0.01%$0.000004124,059.3699$0.4907
BASE<0.01%$0.00002816,670.7873$0.4697
BASE<0.01%$0.00002816,887.4632$0.4674
BASE<0.01%$0.6760610.6904$0.4667
BASE<0.01%$0.03118414.8719$0.4637
BASE<0.01%$0.0001283,601.397$0.462
BASE<0.01%<$0.0000011,785,843.2537$0.4559
BASE<0.01%$0.0002361,856.1824$0.4388
BASE<0.01%$0.0000140,138.6786$0.4134
BASE<0.01%$0.0044692.3274$0.4117
BASE<0.01%$20.850.0185$0.3852
BASE<0.01%$0.00000849,032.9801$0.3839
BASE<0.01%$0.0002571,486.2375$0.3815
BASE<0.01%$0.0002131,777.1794$0.378
BASE<0.01%<$0.0000017,993,138.249$0.3772
BASE<0.01%$0.00002713,725.817$0.3759
BASE<0.01%<$0.000001148,619,204.6841$0.3715
BASE<0.01%$0.0000596,201.725$0.3681
BASE<0.01%$0.000049,215.6924$0.3653
BASE<0.01%$0.0002781,308.9921$0.3643
BASE<0.01%$0.0372229.6974$0.3609
BASE<0.01%$0.00001229,892.5311$0.3602
BASE<0.01%$0.9989170.3599$0.3594
BASE<0.01%$0.0000754,712.5799$0.3522
BASE<0.01%$0.001462237.0651$0.3464
BASE<0.01%$0.001297264.2046$0.3425
BASE<0.01%$0.003051111.9448$0.3415
BASE<0.01%$0.0001242,747.2066$0.3409
BASE<0.01%$0.00000491,142.1245$0.3399
BASE<0.01%$0.00001522,656.0094$0.3392
BASE<0.01%<$0.000001257,027,931.8912$0.3341
BASE<0.01%$0.00002811,828.3375$0.334
BASE<0.01%$0.0915983.6196$0.3315
BASE<0.01%$0.00002811,668.1525$0.331
BASE<0.01%$0.000962343.5277$0.3305
BASE<0.01%$0.0000754,332.226$0.3258
BASE<0.01%$0.01428422.8118$0.3258
BASE<0.01%$0.00066489.4288$0.323
BASE<0.01%$0.0000933,382.3785$0.3156
BASE<0.01%$0.995520.3082$0.3068
BASE<0.01%<$0.00000137,321,926.051$0.306
BASE<0.01%$0.01265823.5574$0.2982
BASE<0.01%$0.0002561,159.3379$0.2969
BASE<0.01%$0.0001641,792.1551$0.2938
BASE<0.01%$1.320.2197$0.2899
BASE<0.01%<$0.0000011,288,037.6744$0.2862
BASE<0.01%$0.000271,010.9699$0.2732
BASE<0.01%$0.3700880.735$0.272
BASE<0.01%<$0.000001676,729,268.8007$0.2706
BASE<0.01%$0.000282946.529$0.2672
BASE<0.01%$0.00382768.4781$0.262
BASE<0.01%$0.01723715.1803$0.2616
BASE<0.01%$0.00365670.8174$0.2589
BASE<0.01%$0.02071112.35$0.2557
BASE<0.01%$0.00617541.118$0.2538
BASE<0.01%$0.00001417,658.0856$0.2536
BASE<0.01%$0.000619405.7286$0.2511
BASE<0.01%$0.000001417,586.9267$0.245
BASE<0.01%$0.0001481,516.9805$0.224
BASE<0.01%$0.00789728.0565$0.2215
BASE<0.01%$0.00001514,746.7322$0.2167
BASE<0.01%$0.00000924,215.9268$0.2164
BASE<0.01%$0.0970042.1963$0.213
BASE<0.01%<$0.000001530,750,863.4679$0.2123
BASE<0.01%$0.00000923,424.8409$0.2115
BASE<0.01%$0.9989170.2077$0.2074
BASE<0.01%$0.0000296,895.3865$0.1997
BASE<0.01%$0.0000375,074.5412$0.1883
BASE<0.01%$0.00001116,465.432$0.1855
BASE<0.01%$0.4665830.3951$0.1843
BASE<0.01%$0.0001011,709.1799$0.1734
BASE<0.01%$0.000459372.2405$0.1707
BASE<0.01%$0.000191892.1369$0.1706
BASE<0.01%$2,773.10.0000604$0.1674
BASE<0.01%$0.0000384,333.8464$0.1662
BASE<0.01%$0.001288128.7945$0.1659
BASE<0.01%$0.0000285,857.3826$0.1647
BASE<0.01%$0.0304655.3747$0.1637
BASE<0.01%$0.000384413.4982$0.1587
BASE<0.01%$0.0000483,234.7386$0.156
BASE<0.01%$0.0278565.5646$0.155
BASE<0.01%$0.0000433,548.224$0.1516
BASE<0.01%$0.00401936.9796$0.1486
BASE<0.01%$0.000179815.716$0.1462
BASE<0.01%$0.000197736.3699$0.1451
BASE<0.01%$0.0000662,182.3898$0.1447
BASE<0.01%$0.00966614.961$0.1446
BASE<0.01%$0.00000434,896.6464$0.1395
BASE<0.01%$0.000869160.2817$0.1392
BASE<0.01%$0.00227260.2818$0.1369
BASE<0.01%$0.0000353,798.1365$0.1312
BASE<0.01%$0.000652199.1961$0.1299
BASE<0.01%$0.0804511.6139$0.1298
BASE<0.01%<$0.0000012,467,624.7935$0.1278
BASE<0.01%$0.0000196,393.448$0.1216
BASE<0.01%$124.920.00095285$0.119
BASE<0.01%$0.00457126.0154$0.1189
BASE<0.01%$0.000554213.2034$0.118
BASE<0.01%$0.1009941.1589$0.117
BASE<0.01%$79.310.00146939$0.1165
BASE<0.01%$0.0930211.2448$0.1157
BASE<0.01%$0.00305137.874$0.1155
BASE<0.01%$0.000189600.2388$0.1134
BASE<0.01%$0.00000251,864.9307$0.112
BASE<0.01%$0.001108100.0026$0.1107
BASE<0.01%$0.015976.932$0.1107
BASE<0.01%<$0.000001719,944.7703$0.1092
BASE<0.01%$0.0000721,501.8031$0.1087
BASE<0.01%$0.000216498.0291$0.1077
BASE<0.01%$0.00000618,966.0105$0.1075
BASE<0.01%$0.9953090.1077$0.1072
BASE<0.01%$0.000263405.306$0.1066
BASE<0.01%$0.00151170.1464$0.106
BASE<0.01%$0.00000813,034.2495$0.1058
BASE<0.01%$0.00000191,257.9829$0.104
BASE<0.01%$0.000971107.2154$0.104
BASE<0.01%$4.020.0256$0.1027
BASE<0.01%$0.000102987.4932$0.1002
AVAX<0.01%$0.999486,268.7979$6,265.54
AVAX<0.01%$0.00804250,919.2438$409.49
AVAX<0.01%$9.2538.4178$355.27
AVAX<0.01%$0.999986333.9078$333.9
AVAX<0.01%$0.99948206.289$206.18
AVAX<0.01%$0.120306325.1604$39.12
AVAX<0.01%$0.00097919,879.1855$19.46
AVAX<0.01%$0.0094342,050.7053$19.35
AVAX<0.01%$0.00000112,166,162.0732$8.6
AVAX<0.01%$2,263.380.00333221$7.54
AVAX<0.01%$0.024622305.0274$7.51
AVAX<0.01%$0.00034618,340.8453$6.34
AVAX<0.01%$0.9999864.4726$4.47
AVAX<0.01%$0.01005399.0093$4.01
AVAX<0.01%<$0.00000124,762,668.5048$2.27
AVAX<0.01%$0.01282160.3804$2.06
AVAX<0.01%<$0.0000011,035,403,013.6933$1.76
AVAX<0.01%$0.00005928,530.7794$1.69
AVAX<0.01%$8.710.1643$1.43
AVAX<0.01%$0.004252249.4256$1.06
AVAX<0.01%<$0.000001691,291,833.9301$1.04
AVAX<0.01%$0.000007136,240.4178$0.9259
AVAX<0.01%$0.002143382.4024$0.8196
AVAX<0.01%$120.860.00672696$0.813
AVAX<0.01%$123.740.00626415$0.775
AVAX<0.01%$0.000737994.4961$0.7326
AVAX<0.01%$0.02421830$0.7265
AVAX<0.01%$0.0003182,208.5886$0.7014
AVAX<0.01%$12.510.041$0.5124
AVAX<0.01%$0.0262619.3366$0.5077
AVAX<0.01%$0.00001143,700.8001$0.462
AVAX<0.01%$0.0381589.7832$0.3733
AVAX<0.01%$0.000443815.3169$0.3615
AVAX<0.01%$9.250.0389$0.3597
AVAX<0.01%$1,556.610.00018687$0.2908
AVAX<0.01%$76,2480.00000282$0.215
AVAX<0.01%$0.0021781.0476$0.1758
AVAX<0.01%$0.1002521.4354$0.1438
AVAX<0.01%$6.320.0197$0.1242
BLAST
Ether (ETH)
<0.01%$1,960.741.0245$2,008.71
BLAST<0.01%$0.994464972.464$967.08
BLAST<0.01%$0.00064432,982.8755$277.22
BLAST<0.01%$0.00022512,948.5408$2.92
BLAST<0.01%$0.000012146,249.3442$1.82
BLAST<0.01%<$0.0000011,471,406,311.3983$1.62
BLAST<0.01%$0.00005723,158.8105$1.32
BLAST<0.01%<$0.00000113,145,029,658.7827$1.31
BLAST<0.01%$0.001402772.189$1.08
BLAST<0.01%$2,263.380.00013281$0.3006
BLAST<0.01%$0.0001171,810.3514$0.2116
BLAST<0.01%<$0.0000016,348,138.2698$0.2056
BLAST<0.01%$0.00216468.0513$0.1472
BERA<0.01%$0.9983141,108.6739$1,106.8
BERA<0.01%$0.66782171.4214$114.48
BERA<0.01%$0.596975107.2787$64.04
BERA<0.01%$1.2251.5002$62.83
BERA<0.01%$0.49365713.6789$6.75
BERA<0.01%$1.014.4022$4.43
BERA<0.01%$4,175.510.00072036$3.01
BERA<0.01%$0.9987372.6576$2.65
BERA<0.01%$0.9984030.5415$0.5406
PLASMA<0.01%$0.998295710.9568$709.74
PLASMA<0.01%$0.0965014,894.3995$472.31
PLASMA<0.01%$0.000389172,551.7505$67.15
PLASMA<0.01%$0.09651322.6531$2.19
PLASMA<0.01%$0.9997110.8427$0.8424
LINEA<0.01%$1,960.710.22$431.35
LINEA<0.01%$1388.921$388.92
LINEA<0.01%$0.999582123.0416$122.99
LINEA<0.01%$0.000.00711064$0.00
LINEA<0.01%$0.0036843,612.4179$13.31
LINEA<0.01%$0.99755710.8921$10.87
LINEA<0.01%$0.9995114.7161$4.71
LINEA<0.01%$76,1310.0000454$3.46
LINEA<0.01%$12.9996$3
LINEA<0.01%$2,256.80.00130855$2.95
LINEA<0.01%$0.0003434,576.799$1.57
LINEA<0.01%$2,075.290.00053286$1.11
LINEA<0.01%$0.0000997,998.1439$0.7897
LINEA<0.01%$757.420.00092613$0.7014
LINEA<0.01%$0.00777347.3847$0.3683
LINEA<0.01%$2,766.650.00013274$0.3672
LINEA<0.01%$0.001104221.5333$0.2445
LINEA<0.01%$0.00597124.3313$0.1452
SCROLL<0.01%$1,960.710.1767$346.38
SCROLL<0.01%$0.9999164.5963$164.58
SCROLL<0.01%$0.999524130.9246$130.86
SCROLL<0.01%$2,394.440.00176922$4.24
SCROLL<0.01%$0.04945677.0332$3.81
SCROLL<0.01%$68,636.720.00002657$1.82
SCROLL<0.01%$2,257.960.00013554$0.306
SCROLL<0.01%$0.9998350.1825$0.1825
SCROLL<0.01%$2,459.940.00005164$0.127
SONIC<0.01%$0.999921319.4341$319.41
SONIC<0.01%$0.048248641.7912$30.96
SONIC<0.01%$76,1140.00015292$11.64
SONIC<0.01%$0.72488615.6852$11.37
SONIC<0.01%$0.9995273.6627$3.66
SONIC<0.01%$0.01598248.5579$0.776
SONIC<0.01%$2,263.380.00016478$0.3729
SONIC<0.01%$170.360.00085582$0.1457
SONIC<0.01%$0.001297105.1962$0.1364
SONIC<0.01%$0.00849115.291$0.1298
SONIC<0.01%$1.20.1051$0.1261
OPBNB<0.01%$615.240.4077$250.85
OPBNB<0.01%$0.99801791.5317$91.35
OPBNB<0.01%$2,297.620.00005622$0.1291
MONAD<0.01%$0.0234935,408.1263$127.05
MONAD<0.01%$0.999904125.8048$125.79
MONAD<0.01%$0.9982956.2256$6.22
MONAD<0.01%$0.017673250.3013$4.42
MONAD<0.01%$2,263.380.00057631$1.3
WORLD<0.01%$1,960.460.0443$86.92
WORLD<0.01%$0.40296947.7993$19.26
WORLD<0.01%$110.0028$10
WORLD<0.01%<$0.0000013,454,897.0375$0.4988
WORLD<0.01%$2,263.380.00008453$0.1913
MANTLE<0.01%$0.62938330.0612$18.92
MANTLE<0.01%$0.99404213.6477$13.57
MANTLE<0.01%$17.49$7.49
MANTLE<0.01%$2,263.520.00326771$7.4
MANTLE<0.01%$2,455.30.0023618$5.8
MANTLE<0.01%$0.7163850.1421$0.1018
ETH<0.01%$76,1490.00010942$8.33
ETH<0.01%$0.019895160$3.18
ETH<0.01%<$0.0000011,000,000$0.19
ETH<0.01%$0.000249757.1588$0.1886
ETH<0.01%$1,960.750.00004255$0.083422
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.