Contract 0x26303d4f293b70529c845a14cc4cdb475bac456a 4

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x03ff3b6ef2dbefed4e1640270e30bc55064774274f6f83c6e44615b62df13c2aApprove147247552022-01-27 7:10:141 day 19 hrs ago0xfaf5145ddc2885a2c9132a4dffb8805169f5cafd IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x73d9cf3a5fb7943bbf3a9352479630d5fa62448b55b20ed4dd1107a5c956a0a5Approve147154202022-01-26 23:23:142 days 2 hrs ago0xb8a6b04837d446ab239768eaa3ef9bab6d0fb6f5 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x1ff8c7ddef5c35a18e77cc9ab547204750d4b1552ac0c2efe3e5f9392fe25c33Approve147093902022-01-26 18:21:382 days 7 hrs ago0xdf5920fd8e4b353710bc42c19023e4e68c0004ad IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.000072435
0x40ff0ad16f36bdc21ef4294f556b6c44d724893509053f6250642bbe29f30448Approve146971802022-01-26 8:06:402 days 18 hrs ago0x5560f612471fb212f171d23958add96c77b0445a IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0xe6842ec822d280a121777433d6ecfa40a8c57b0651cbc7adc3e3254aacf8f88eApprove146957032022-01-26 6:52:492 days 19 hrs ago0xc7d9b940caab1cd7b9e215001baffbb6f3058316 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x6a8af572057bc07d48c05ac9c3c8bb538631ff6f50bf9f2b60ddd108108d2bc8Approve146749122022-01-25 13:31:283 days 12 hrs ago0x2585bc81bc54fb5ea35fb3e45d583b287bb9ac85 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x62504a60546610315e15d8e146c26fa0de794b5905afac24e82c933738c32d59Transfer146748862022-01-25 13:30:103 days 12 hrs ago0xaf86e5eb9c17f416b4ea8747a4d00ff59d435413 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00289257
0x47de8a48ceecf104896ad704dee359ec491ff1c1008cb31b7f7620d98861c582Approve146745312022-01-25 13:12:253 days 12 hrs ago0xaf86e5eb9c17f416b4ea8747a4d00ff59d435413 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x0bfbedeb860260fc5391f260fe254d521e5152cd72be10e045f247eef955623fApprove146578402022-01-24 23:16:354 days 2 hrs ago0x892beecacc22c41eb7be00a14f2817006bd73bc2 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.000072435
0xacefdd1f98af72c36b2cbd6dd6169611daef5d89f85f54a8ecafbc06ba5bd032Approve146456892022-01-24 13:07:134 days 13 hrs ago0x7dfcb385c1a3221d1d8fa1b6c5d9494aadc359e9 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.0000796785
0x52f4614daa14ee0fca54a898c8f2588d55b7f4ab10fa7b9519176de98e730fe2Approve146401402022-01-24 8:29:234 days 17 hrs ago0xeebd42122f42ef8631ae4bdb1a64d5cc50b8d65e IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0xf71d44ba09b0fa3ed7df3ec85153b1cdcc64f9af6e2d856841befb90fad7dadfTransfer146195472022-01-23 15:18:155 days 10 hrs ago0x70ebf6cc17dfe0eef3aeef36d23ba656dac5e286 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00289248
0x5cd966830e415b878696df74f09a04224732edafc3bff56fbc28ed7e571f22ccApprove146156862022-01-23 12:04:415 days 14 hrs ago0x27b6e0819c489ab484e62056794fcd3418b29dd0 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.000072435
0x98c2fac2ac64333f5394a30f49d7fee28fc22309f2f7583ab1b63b51a32cfdc7Approve145881812022-01-22 13:08:186 days 13 hrs ago0xf67091e912f03feff9200a3a14916e7c7ed66a09 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.0000753324
0x4c49dd6219511f9cbf1d68e601b6541719ed757340e71c76ba6ad725e880b72eApprove145809672022-01-22 7:04:586 days 19 hrs ago0xba537bcb4fb183e4071121fc7e6edb494dca4f04 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x8c44bba6796f7d537f4f52abc5d73c3860e28388b1d08eab3aabd65c6edb65ebApprove144999322022-01-19 11:20:499 days 14 hrs ago0x030b3f8be958e5a643e3eb8d17dd571daccc8c11 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0xb661216a2ccff158f3a61d380b798eeec50ec9309388b9bd51bbb369bb763fe4Approve144939592022-01-19 6:21:489 days 19 hrs ago0x1078a785b997c1d6cea2cfdd20b5eff983ecff7e IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x7de25fde4dfe52792692c1da1a224f38c78eb0412c83f172fb117797e27a7fc1Approve144865042022-01-19 0:07:3110 days 2 hrs ago0x308b511e1a13a401793de80afa1aedd1de13eedc IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x321ab8be6759cf15126fe2c2d698d4cb4c2035888b1cea76287c9a535c182dcdApprove144816962022-01-18 20:07:0710 days 6 hrs ago0x44bb1ed5ac275e4158157ce4b9d852c2cb0aeb6c IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.000310506
0xddf34bfd09c54462f12fc93bfba05dff818ee8c0a55b1d1351fc24288660d215Approve144792722022-01-18 18:05:5110 days 8 hrs ago0x89ffc1f8085c48672cbff5e23de6884a493af8f1 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0xa5273905178a154fa0671557e9bc67cce3e2bafd3e7c60df03844bf6fa0c9cc4Approve144768832022-01-18 16:03:5310 days 10 hrs ago0x2c28d0ba97e2837940b6f1ad0fba6f18de0ecff7 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.000072435
0xf418fa919479acb85ecc9975a6cc99211cffeda10c0fe9b45e66e8d15394e920Approve144636852022-01-18 4:48:3110 days 21 hrs ago0x431abe419def010b12a5651dd0c3400f55c9e9ba IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x453da6b4688bd85c7a27d9ee5a229cc34c9a831c9e336df65183d60c9f1fe146Approve144338502022-01-17 3:41:0211 days 22 hrs ago0xc157c87f991eee7c44bf55f4409e47c3e5db2cf5 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.000072435
0xa54bfbdd46047b9232353b9212b704e36b7e2373376352f88808e560a6120d77Approve144266022022-01-16 21:36:1612 days 4 hrs ago0x95a35d462acdd7010f17d01f50685912ffaed893 IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
0x46030e5f2489549acb855d3eb813262ff2709e44962b463378d3b28ca5c71f08Approve144199852022-01-16 16:04:1512 days 10 hrs ago0xac2b46218dd386ab25a62eb009269481fc8de17a IN  0x26303d4f293b70529c845a14cc4cdb475bac456a0 BNB0.00022179
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xca6dfb65ba97ba9ec59c86e83e90a5c33475660f492b600ea3a5bfc8ccd131dd128003252021-11-20 7:46:0469 days 18 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x29fcc53db98ce47cf93ac5575e3b01e86c1436ac0.035422384785863411 BNB
0xca6dfb65ba97ba9ec59c86e83e90a5c33475660f492b600ea3a5bfc8ccd131dd128003252021-11-20 7:46:0469 days 18 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x63947ae3c089c02ca5e0e3e6f3eeb211abbef8e40.177111923929317055 BNB
0xca6dfb65ba97ba9ec59c86e83e90a5c33475660f492b600ea3a5bfc8ccd131dd128003252021-11-20 7:46:0469 days 18 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a 0xedc0e06882723d89c1b160340b2ed1623bab2ee00.177111923929317055 BNB
0xca6dfb65ba97ba9ec59c86e83e90a5c33475660f492b600ea3a5bfc8ccd131dd128003252021-11-20 7:46:0469 days 18 hrs ago PancakeSwap: Router v2 0x26303d4f293b70529c845a14cc4cdb475bac456a0.425068617430360932 BNB
0xb6978f4a6ab1297604cbd11b487fa61c3021c1ae5214d98dd705cfcf6a214375127944802021-11-20 2:39:5469 days 23 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x29fcc53db98ce47cf93ac5575e3b01e86c1436ac0.035653654292895621 BNB
0xb6978f4a6ab1297604cbd11b487fa61c3021c1ae5214d98dd705cfcf6a214375127944802021-11-20 2:39:5469 days 23 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x63947ae3c089c02ca5e0e3e6f3eeb211abbef8e40.178268271464478109 BNB
0xb6978f4a6ab1297604cbd11b487fa61c3021c1ae5214d98dd705cfcf6a214375127944802021-11-20 2:39:5469 days 23 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a 0xedc0e06882723d89c1b160340b2ed1623bab2ee00.178268271464478109 BNB
0xb6978f4a6ab1297604cbd11b487fa61c3021c1ae5214d98dd705cfcf6a214375127944802021-11-20 2:39:5469 days 23 hrs ago PancakeSwap: Router v2 0x26303d4f293b70529c845a14cc4cdb475bac456a0.427843851514747463 BNB
0xd7d739a795bb34bb40912351ba63d3ea4d58d11bcdfe780f7d3c6dfc571cc032127871482021-11-19 20:09:0170 days 6 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x29fcc53db98ce47cf93ac5575e3b01e86c1436ac0.03631693586524958 BNB
0xd7d739a795bb34bb40912351ba63d3ea4d58d11bcdfe780f7d3c6dfc571cc032127871482021-11-19 20:09:0170 days 6 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x63947ae3c089c02ca5e0e3e6f3eeb211abbef8e40.181584679326247904 BNB
0xd7d739a795bb34bb40912351ba63d3ea4d58d11bcdfe780f7d3c6dfc571cc032127871482021-11-19 20:09:0170 days 6 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a 0xedc0e06882723d89c1b160340b2ed1623bab2ee00.181584679326247904 BNB
0xd7d739a795bb34bb40912351ba63d3ea4d58d11bcdfe780f7d3c6dfc571cc032127871482021-11-19 20:09:0170 days 6 hrs ago PancakeSwap: Router v2 0x26303d4f293b70529c845a14cc4cdb475bac456a0.435803230382994971 BNB
0xb0992fe51eed0a23cc4053a36b1ccf4657d7048f1f50d884fe172393e80028c6127777662021-11-19 11:52:3370 days 14 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x29fcc53db98ce47cf93ac5575e3b01e86c1436ac0.036293388590956146 BNB
0xb0992fe51eed0a23cc4053a36b1ccf4657d7048f1f50d884fe172393e80028c6127777662021-11-19 11:52:3370 days 14 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x63947ae3c089c02ca5e0e3e6f3eeb211abbef8e40.181466942954780732 BNB
0xb0992fe51eed0a23cc4053a36b1ccf4657d7048f1f50d884fe172393e80028c6127777662021-11-19 11:52:3370 days 14 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a 0xedc0e06882723d89c1b160340b2ed1623bab2ee00.181466942954780732 BNB
0xb0992fe51eed0a23cc4053a36b1ccf4657d7048f1f50d884fe172393e80028c6127777662021-11-19 11:52:3370 days 14 hrs ago PancakeSwap: Router v2 0x26303d4f293b70529c845a14cc4cdb475bac456a0.435520663091473758 BNB
0xb8bc15a7d4cdeb71407a0cb1d4d054318f4848aba6823f0d345eef5112fa55b8127701622021-11-19 5:19:3070 days 20 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x29fcc53db98ce47cf93ac5575e3b01e86c1436ac0.036007886591022567 BNB
0xb8bc15a7d4cdeb71407a0cb1d4d054318f4848aba6823f0d345eef5112fa55b8127701622021-11-19 5:19:3070 days 20 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x63947ae3c089c02ca5e0e3e6f3eeb211abbef8e40.180039432955112835 BNB
0xb8bc15a7d4cdeb71407a0cb1d4d054318f4848aba6823f0d345eef5112fa55b8127701622021-11-19 5:19:3070 days 20 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a 0xedc0e06882723d89c1b160340b2ed1623bab2ee00.180039432955112835 BNB
0xb8bc15a7d4cdeb71407a0cb1d4d054318f4848aba6823f0d345eef5112fa55b8127701622021-11-19 5:19:3070 days 20 hrs ago PancakeSwap: Router v2 0x26303d4f293b70529c845a14cc4cdb475bac456a0.432094639092270804 BNB
0x477b6909edb43b23030206b10e871a0356753b7b73bb3d635a5f49ba236b7633127621042021-11-18 22:24:1671 days 3 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x29fcc53db98ce47cf93ac5575e3b01e86c1436ac0.036600168245853813 BNB
0x477b6909edb43b23030206b10e871a0356753b7b73bb3d635a5f49ba236b7633127621042021-11-18 22:24:1671 days 3 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x63947ae3c089c02ca5e0e3e6f3eeb211abbef8e40.183000841229269069 BNB
0x477b6909edb43b23030206b10e871a0356753b7b73bb3d635a5f49ba236b7633127621042021-11-18 22:24:1671 days 3 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a 0xedc0e06882723d89c1b160340b2ed1623bab2ee00.183000841229269069 BNB
0x477b6909edb43b23030206b10e871a0356753b7b73bb3d635a5f49ba236b7633127621042021-11-18 22:24:1671 days 3 hrs ago PancakeSwap: Router v2 0x26303d4f293b70529c845a14cc4cdb475bac456a0.439202018950245767 BNB
0x7d6cf54b195fe6183ede7facbaa641579cef9564df0954a14ad5a6408c7829be127591572021-11-18 19:55:0071 days 6 hrs ago 0x26303d4f293b70529c845a14cc4cdb475bac456a0x29fcc53db98ce47cf93ac5575e3b01e86c1436ac0.037548009421609403 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HOTZILLA

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 999 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-11-08
*/

// SPDX-License-Identifier: UNLICENSED
/*

░░░░░░░░░██╗░░██╗░█████╗░████████╗███████╗██╗██╗░░░░░██╗░░░░░░█████╗░░░░░░░░░░
░░░░░░░░░██║░░██║██╔══██╗╚══██╔══╝╚════██║██║██║░░░░░██║░░░░░██╔══██╗░░░░░░░░░
░░░░░░░░░███████║██║░░██║░░░██║░░░░░███╔═╝██║██║░░░░░██║░░░░░███████║░░░░░░░░░
░░░░░░░░░██╔══██║██║░░██║░░░██║░░░██╔══╝░░██║██║░░░░░██║░░░░░██╔══██║░░░░░░░░░
░░░░░░░░░██║░░██║╚█████╔╝░░░██║░░░███████╗██║███████╗███████╗██║░░██║░░░░░░░░░
░░░░░░░░░╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░╚══════╝╚═╝╚══════╝╚══════╝╚═╝░░╚═╝░░░░░░░░░

https://hotzillabsc.com

Welcome to HotZilla! HotZilla is a best token that rewards its holders with reflections every transaction. Which means, just by holding, believing, and supporting the coin, you automatically earn more $SHIB tokens.

Our goals is to change people lifes to the best, it’s a new opportunity for investors..

Want to be a part of the HotZilla family? Join our Telegram!


https://t.me/HotZillaChat

*/
pragma solidity ^0.7.4;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

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

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IDividendDistributor {
    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
    function process(uint256 gas) external;
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address _token;

    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalRealised;
    }

    IBEP20 RWRD = IBEP20(0x2859e4544C4bB03966803b044A93563Bd2D0DD4D);
    address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    IDEXRouter router;

    address[] shareholders;
    mapping (address => uint256) shareholderIndexes;
    mapping (address => uint256) shareholderClaims;

    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed;
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;

    uint256 public minPeriod = 45 * 60;
    uint256 public minDistribution = 1 * (10 ** 21);

    uint256 currentIndex;

    bool initialized;
    modifier initialization() {
        require(!initialized);
        _;
        initialized = true;
    }

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }

    constructor (address _router) {
        router = _router != address(0)
            ? IDEXRouter(_router)
            : IDEXRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _token = msg.sender;
    }

    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external override onlyToken {
        minPeriod = _minPeriod;
        minDistribution = _minDistribution;
    }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit() external payable override onlyToken {
        uint256 balanceBefore = RWRD.balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = WBNB;
        path[1] = address(RWRD);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}(
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amount = RWRD.balanceOf(address(this)).sub(balanceBefore);

        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
    }

    function process(uint256 gas) external override onlyToken {
        uint256 shareholderCount = shareholders.length;

        if(shareholderCount == 0) { return; }

        uint256 gasUsed = 0;
        uint256 gasLeft = gasleft();

        uint256 iterations = 0;

        while(gasUsed < gas && iterations < shareholderCount) {
            if(currentIndex >= shareholderCount){
                currentIndex = 0;
            }

            if(shouldDistribute(shareholders[currentIndex])){
                distributeDividend(shareholders[currentIndex]);
            }

            gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }
    }
    
    function shouldDistribute(address shareholder) internal view returns (bool) {
        return shareholderClaims[shareholder] + minPeriod < block.timestamp
                && getUnpaidEarnings(shareholder) > minDistribution;
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getUnpaidEarnings(shareholder);
        if(amount > 0){
            totalDistributed = totalDistributed.add(amount);
            RWRD.transfer(shareholder, amount);
            shareholderClaims[shareholder] = block.timestamp;
            shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
        }
    }
    
    function claimDividend() external {
        distributeDividend(msg.sender);
    }

    function getUnpaidEarnings(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
}

contract HOTZILLA is IBEP20, Auth {
    using SafeMath for uint256;

    address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "HotZilla";
    string constant _symbol = "HOTZILLA";
    uint8 constant _decimals = 4;

    uint256 _totalSupply = 100 * 10**9 * 10**_decimals;

    uint256 public _maxTxAmount = _totalSupply;
    uint256 public _maxWalletToken = _totalSupply;

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

    bool public blacklistMode = true;
    mapping (address => bool) public isBlacklisted;


    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isTimelockExempt;
    mapping (address => bool) isDividendExempt;

    uint256 public liquidityFee    = 5;
    uint256 public reflectionFee   = 5;
    uint256 public marketingFee    = 6;
    uint256 public teamFee         = 1;
    uint256 public burnFee         = 0;
    uint256 public totalFee        = marketingFee + reflectionFee + liquidityFee + teamFee + burnFee;
    uint256 public feeDenominator  = 100;

    uint256 public sellMultiplier  = 120;

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver;
    address public teamFeeReceiver;
    address public burnFeeReceiver;

    uint256 targetLiquidity = 20;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    address public pair;

    bool public tradingOpen = false;

    DividendDistributor public distributor;
    uint256 distributorGas = 500000;

    bool public buyCooldownEnabled = false;
    uint8 public cooldownTimerInterval = 60;
    mapping (address => uint) private cooldownTimer;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 10 / 10000;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        pair = IDEXFactory(router.factory()).createPair(WBNB, address(this));
        _allowances[address(this)][address(router)] = uint256(-1);

        distributor = new DividendDistributor(address(router));

        isFeeExempt[msg.sender] = true;
        isTxLimitExempt[msg.sender] = true;

        isTimelockExempt[msg.sender] = true;
        isTimelockExempt[DEAD] = true;
        isTimelockExempt[address(this)] = true;

        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;

        autoLiquidityReceiver = DEAD;
        marketingFeeReceiver = msg.sender;
        teamFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, uint256(-1));
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != uint256(-1)){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner() {
        _maxWalletToken = (_totalSupply * maxWallPercent_base1000 ) / 1000;
    }
    function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner() {
        _maxTxAmount = (_totalSupply * maxTXPercentage_base1000 ) / 1000;
    }

    function setTxLimit(uint256 amount) external authorized {
        _maxTxAmount = amount;
    }


    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen,"Trading not open yet");
        }

        // Blacklist
        if(blacklistMode){
            require(!isBlacklisted[sender] && !isBlacklisted[recipient],"Blacklisted");    
        }


        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != marketingFeeReceiver && recipient != teamFeeReceiver  && recipient != autoLiquidityReceiver && recipient != burnFeeReceiver){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}
        
        if (sender == pair &&
            buyCooldownEnabled &&
            !isTimelockExempt[recipient]) {
            require(cooldownTimer[recipient] < block.timestamp,"Please wait for 1min between two buys");
            cooldownTimer[recipient] = block.timestamp + cooldownTimerInterval;
        }

        // Checks max transaction limit
        checkTxLimit(sender, amount);

        if(shouldSwapBack()){ swapBack(); }

        //Exchange tokens
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (!shouldTakeFee(sender) || !shouldTakeFee(recipient)) ? amount : takeFee(sender, amount,(recipient == pair));
        _balances[recipient] = _balances[recipient].add(amountReceived);

        // Dividend tracker
        if(!isDividendExempt[sender]) {
            try distributor.setShare(sender, _balances[sender]) {} catch {}
        }

        if(!isDividendExempt[recipient]) {
            try distributor.setShare(recipient, _balances[recipient]) {} catch {} 
        }

        try distributor.process(distributorGas) {} catch {}

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount, bool isSell) internal returns (uint256) {
        
        uint256 multiplier = isSell ? sellMultiplier : 100;
        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);

        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        if(burnTokens > 0){
            emit Transfer(sender, burnFeeReceiver, burnTokens);    
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external authorized {
        uint256 amountBNB = address(this).balance;
        payable(msg.sender).transfer(amountBNB * amountPercentage / 100);
    }

    function set_sell_multiplier(uint256 Multiplier) external onlyOwner{
        sellMultiplier = Multiplier;        
    }

    // switch Trading
    function tradingStatus(bool _status) public onlyOwner {
        tradingOpen = _status;
    }

    // enable cooldown between trades
    function cooldownEnabled(bool _status, uint8 _interval) public onlyOwner {
        buyCooldownEnabled = _status;
        cooldownTimerInterval = _interval;
    }

    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WBNB;

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountBNB = address(this).balance.sub(balanceBefore);

        uint256 totalBNBFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountBNBLiquidity = amountBNB.mul(dynamicLiquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBReflection = amountBNB.mul(reflectionFee).div(totalBNBFee);
        uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);
        uint256 amountBNBTeam = amountBNB.mul(teamFee).div(totalBNBFee);

        try distributor.deposit{value: amountBNBReflection}() {} catch {}
        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}("");
        (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountBNBTeam, gas: 30000}("");
        
        // only to supress warning msg
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountBNBLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountBNBLiquidity, amountToLiquify);
        }
    }


    function setIsDividendExempt(address holder, bool exempt) external authorized {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            distributor.setShare(holder, 0);
        }else{
            distributor.setShare(holder, _balances[holder]);
        }
    }

    function enable_blacklist(bool _status) public onlyOwner {
        blacklistMode = _status;
    }

    function manage_blacklist(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            isBlacklisted[addresses[i]] = status;
        }
    }


    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external authorized {
        isTxLimitExempt[holder] = exempt;
    }

    function setIsTimelockExempt(address holder, bool exempt) external authorized {
        isTimelockExempt[holder] = exempt;
    }

    function setFees(uint256 _liquidityFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _teamFee, uint256 _burnFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        reflectionFee = _reflectionFee;
        marketingFee = _marketingFee;
        teamFee = _teamFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_reflectionFee).add(_marketingFee).add(_teamFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/2, "Fees cannot be more than 50%");
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _teamFeeReceiver, address _burnFeeReceiver ) external authorized {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function setTargetLiquidity(uint256 _target, uint256 _denominator) external authorized {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }

    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external authorized {
        distributor.setDistributionCriteria(_minPeriod, _minDistribution);
    }

    function setDistributorSettings(uint256 gas) external authorized {
        require(gas < 750000);
        distributorGas = gas;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }



/* Airdrop Begins */
function multiTransfer(address from, address[] calldata addresses, uint256[] calldata tokens) external onlyOwner {

    require(addresses.length < 501,"GAS Error: max airdrop limit is 500 addresses");
    require(addresses.length == tokens.length,"Mismatch between Address and token count");

    uint256 SCCC = 0;

    for(uint i=0; i < addresses.length; i++){
        SCCC = SCCC + tokens[i];
    }

    require(balanceOf(from) >= SCCC, "Not enough tokens in wallet");

    for(uint i=0; i < addresses.length; i++){
        _basicTransfer(from,addresses[i],tokens[i]);
        if(!isDividendExempt[addresses[i]]) {
            try distributor.setShare(addresses[i], _balances[addresses[i]]) {} catch {} 
        }
    }

    // Dividend tracker
    if(!isDividendExempt[from]) {
        try distributor.setShare(from, _balances[from]) {} catch {}
    }
}

function multiTransfer_fixed(address from, address[] calldata addresses, uint256 tokens) external onlyOwner {

    require(addresses.length < 801,"GAS Error: max airdrop limit is 800 addresses");

    uint256 SCCC = tokens * addresses.length;

    require(balanceOf(from) >= SCCC, "Not enough tokens in wallet");

    for(uint i=0; i < addresses.length; i++){
        _basicTransfer(from,addresses[i],tokens);
        if(!isDividendExempt[addresses[i]]) {
            try distributor.setShare(addresses[i], _balances[addresses[i]]) {} catch {} 
        }
    }

    // Dividend tracker
    if(!isDividendExempt[from]) {
        try distributor.setShare(from, _balances[from]) {} catch {}
    }
}

event AutoLiquify(uint256 amountBNB, uint256 amountBOG);

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distributor","outputs":[{"internalType":"contract DividendDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"multiTransfer_fixed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reflectionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTimelockExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Multiplier","type":"uint256"}],"name":"set_sell_multiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526002805473bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c6001600160a01b0319918216179091556003805461dead90831617905560048054909116905566038d7ea4c6800060058181556006828155600792909255600a805460ff19908116600190811790925560108390556011928355601293909355601381905560006014908155601592909255606460168190556078601755601c92909255601d91909155601f805460ff60a01b191690556207a1206021556022805461ffff1916613c001790556024805490921617905564e8d4a51000602555348015620000ea57600080fd5b50600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601e80549092167310ed43c718714eb63d5aa57b78b54704e256024e1791829055825163c45a015560e01b815292516001600160a01b03929092169263c45a01559260048083019392829003018186803b1580156200017a57600080fd5b505afa1580156200018f573d6000803e3d6000fd5b505050506040513d6020811015620001a657600080fd5b5051600254604080516364e329cb60e11b81526001600160a01b0392831660048201523060248201529051919092169163c9c653969160448083019260209291908290030181600087803b158015620001fe57600080fd5b505af115801562000213573d6000803e3d6000fd5b505050506040513d60208110156200022a57600080fd5b5051601f80546001600160a01b0319166001600160a01b03928316179055306000908152600960209081526040808320601e80548616855292529182902060001990555490519116906200027e90620003db565b6001600160a01b03909116815260405190819003602001906000f080158015620002ac573d6000803e3d6000fd5b50602080546001600160a01b039283166001600160a01b0319918216178255336000818152600c84526040808220805460ff199081166001908117909255600d87528284208054821683179055600e8752828420805482168317905560038054891685528385208054831684179055308086528486208054841685179055601f548a168652600f895284862080548416851790558552838520805483168417905580548916855283852080549092169092179055546018805486169190971690811790965560198054851684179055601a8054851684179055601b80549094169095179092556005548183526008845284832081905584519081529351909391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a3620003e9565b610f1c8062003a1883390190565b61361f80620003f96000396000f3fe6080604052600436106103c75760003560e01c80637d1db4a5116101f2578063d7c94efd1161010d578063f708a64f116100a0578063fe575a871161006f578063fe575a8714610eda578063fe9fbb8014610f0d578063fed0d2a114610f40578063ffb54a9914610f55576103ce565b8063f708a64f14610e3a578063f84ba65d14610e75578063f887ea4014610eb0578063fce589d814610ec5576103ce565b8063e96fada2116100dc578063e96fada214610d95578063ec72d65f14610daa578063f0b37c0414610dd4578063f2fde38b14610e07576103ce565b8063d7c94efd14610cfe578063dd62ed3e14610d13578063df20fd4914610d4e578063e3763ded14610d80576103ce565b80639d1944f511610185578063bd9ab53711610154578063bd9ab53714610c80578063bfe1092814610caa578063ca33e64c14610cbf578063d51ed1c814610cd4576103ce565b80639d1944f514610bd5578063a8aa1b3114610bff578063a9059cbb14610c14578063b6a5d7de14610c4d576103ce565b8063896648c1116101c1578063896648c114610b175780638e2eee8414610b2c57806395d89b4114610bab57806398118cb414610bc0576103ce565b80637d1db4a514610a9057806383ad799414610aa557806386f6c3c114610aba578063893d20e814610b02576103ce565b80632f54bf6e116102e25780635e562f3b116102755780636ddd1713116102445780636ddd171314610a1e57806370a0823114610a33578063722b62ad14610a6657806378109e5414610a7b576103ce565b80635e562f3b1461098d578063617fe0ed146109b9578063658d4b7f146109ce5780636b67c4df14610a09576103ce565b806340291143116102b157806340291143146108c457806350db71fb146108f5578063571ac8b0146109305780635c85974f14610963576103ce565b80632f54bf6e1461078e578063313ce567146107c1578063335f6a43146107ec5780633c8e556d14610879576103ce565b80631ca0a28d1161035a57806323b872dd1161032957806323b872dd146106d15780632b112e49146107145780632d48e896146107295780632d59456714610759576103ce565b80631ca0a28d146105835780631da1db5e146106625780631df4ccfc1461068c578063201e7991146106a1576103ce565b80630d295980116103965780630d295980146104fd5780631161ae3914610529578063180b0d7e1461055957806318160ddd1461056e576103ce565b80630445b667146103d357806306fdde03146103fa57806309302dc614610484578063095ea7b3146104b0576103ce565b366103ce57005b600080fd5b3480156103df57600080fd5b506103e8610f6a565b60408051918252519081900360200190f35b34801561040657600080fd5b5061040f610f70565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610449578181015183820152602001610431565b50505050905090810190601f1680156104765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561049057600080fd5b506104ae600480360360208110156104a757600080fd5b5035610fa7565b005b3480156104bc57600080fd5b506104e9600480360360408110156104d357600080fd5b506001600160a01b038135169060200135611000565b604080519115158252519081900360200190f35b34801561050957600080fd5b506104ae6004803603602081101561052057600080fd5b50351515611067565b34801561053557600080fd5b506104e96004803603604081101561054c57600080fd5b50803590602001356110e3565b34801561056557600080fd5b506103e86110f7565b34801561057a57600080fd5b506103e86110fd565b34801561058f57600080fd5b506104ae600480360360608110156105a657600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105d157600080fd5b8201836020820111156105e357600080fd5b8035906020019184602083028401116401000000008311171561060557600080fd5b91939092909160208101903564010000000081111561062357600080fd5b82018360208201111561063557600080fd5b8035906020019184602083028401116401000000008311171561065757600080fd5b509092509050611103565b34801561066e57600080fd5b506104ae6004803603602081101561068557600080fd5b5035611439565b34801561069857600080fd5b506103e86114b9565b3480156106ad57600080fd5b506104ae600480360360408110156106c457600080fd5b50803590602001356114bf565b3480156106dd57600080fd5b506104e9600480360360608110156106f457600080fd5b506001600160a01b03813581169160208101359091169060400135611512565b34801561072057600080fd5b506103e86115db565b34801561073557600080fd5b506104ae6004803603604081101561074c57600080fd5b5080359060200135611624565b34801561076557600080fd5b506104ae6004803603604081101561077c57600080fd5b5080351515906020013560ff166116ed565b34801561079a57600080fd5b506104e9600480360360208110156107b157600080fd5b50356001600160a01b0316611756565b3480156107cd57600080fd5b506107d661176a565b6040805160ff9092168252519081900360200190f35b3480156107f857600080fd5b506104ae6004803603606081101561080f57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561083a57600080fd5b82018360208201111561084c57600080fd5b8035906020019184602083028401116401000000008311171561086e57600080fd5b91935091503561176f565b34801561088557600080fd5b506104ae6004803603608081101561089c57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516611a24565b3480156108d057600080fd5b506108d9611ac9565b604080516001600160a01b039092168252519081900360200190f35b34801561090157600080fd5b506104ae6004803603604081101561091857600080fd5b506001600160a01b0381351690602001351515611ad8565b34801561093c57600080fd5b506104e96004803603602081101561095357600080fd5b50356001600160a01b0316611b4b565b34801561096f57600080fd5b506104ae6004803603602081101561098657600080fd5b5035611b59565b34801561099957600080fd5b506104ae600480360360208110156109b057600080fd5b50351515611ba6565b3480156109c557600080fd5b506104e9611bfc565b3480156109da57600080fd5b506104ae600480360360408110156109f157600080fd5b506001600160a01b0381351690602001351515611c05565b348015610a1557600080fd5b506103e8611c78565b348015610a2a57600080fd5b506104e9611c7e565b348015610a3f57600080fd5b506103e860048036036020811015610a5657600080fd5b50356001600160a01b0316611c87565b348015610a7257600080fd5b506107d6611ca2565b348015610a8757600080fd5b506103e8611cb0565b348015610a9c57600080fd5b506103e8611cb6565b348015610ab157600080fd5b506103e8611cbc565b348015610ac657600080fd5b506104ae600480360360c0811015610add57600080fd5b5080359060208101359060408101359060608101359060808101359060a00135611cc2565b348015610b0e57600080fd5b506108d9611d9c565b348015610b2357600080fd5b506104e9611dab565b348015610b3857600080fd5b506104ae60048036036040811015610b4f57600080fd5b810190602081018135640100000000811115610b6a57600080fd5b820183602082011115610b7c57600080fd5b80359060200191846020830284011164010000000083111715610b9e57600080fd5b9193509150351515611db4565b348015610bb757600080fd5b5061040f611e52565b348015610bcc57600080fd5b506103e8611e89565b348015610be157600080fd5b506104ae60048036036020811015610bf857600080fd5b5035611e8f565b348015610c0b57600080fd5b506108d9611eeb565b348015610c2057600080fd5b506104e960048036036040811015610c3757600080fd5b506001600160a01b038135169060200135611efa565b348015610c5957600080fd5b506104ae60048036036020811015610c7057600080fd5b50356001600160a01b0316611f07565b348015610c8c57600080fd5b506104ae60048036036020811015610ca357600080fd5b5035611f71565b348015610cb657600080fd5b506108d9611fca565b348015610ccb57600080fd5b506108d9611fd9565b348015610ce057600080fd5b506103e860048036036020811015610cf757600080fd5b5035611fe8565b348015610d0a57600080fd5b506103e8612028565b348015610d1f57600080fd5b506103e860048036036040811015610d3657600080fd5b506001600160a01b038135811691602001351661202e565b348015610d5a57600080fd5b506104ae60048036036040811015610d7157600080fd5b50803515159060200135612059565b348015610d8c57600080fd5b506108d96120b8565b348015610da157600080fd5b506108d96120c7565b348015610db657600080fd5b506104ae60048036036020811015610dcd57600080fd5b50356120d6565b348015610de057600080fd5b506104ae60048036036020811015610df757600080fd5b50356001600160a01b031661211e565b348015610e1357600080fd5b506104ae60048036036020811015610e2a57600080fd5b50356001600160a01b0316612182565b348015610e4657600080fd5b506104ae60048036036040811015610e5d57600080fd5b506001600160a01b0381351690602001351515612240565b348015610e8157600080fd5b506104ae60048036036040811015610e9857600080fd5b506001600160a01b03813516906020013515156123b9565b348015610ebc57600080fd5b506108d961242c565b348015610ed157600080fd5b506103e861243b565b348015610ee657600080fd5b506104e960048036036020811015610efd57600080fd5b50356001600160a01b0316612441565b348015610f1957600080fd5b506104e960048036036020811015610f3057600080fd5b50356001600160a01b0316612456565b348015610f4c57600080fd5b506103e8612474565b348015610f6157600080fd5b506104e961247a565b60255481565b60408051808201909152600881527f486f745a696c6c61000000000000000000000000000000000000000000000000602082015290565b610fb033611756565b610fea576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6103e8816005540281610ff957fe5b0460075550565b3360008181526009602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b61107033611756565b6110aa576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601f8054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000826110ef83611fe8565b119392505050565b60165481565b60055490565b61110c33611756565b611146576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6101f583106111865760405162461bcd60e51b815260040180806020018281038252602d815260200180613590602d913960400191505060405180910390fd5b8281146111c45760405162461bcd60e51b81526004018080602001828103825260288152602001806134e46028913960400191505060405180910390fd5b6000805b848110156111f2578383828181106111dc57fe5b60200291909101359290920191506001016111c8565b50806111fd87611c87565b1015611250576040805162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c65740000000000604482015290519081900360640190fd5b60005b8481101561139d576112938787878481811061126b57fe5b905060200201356001600160a01b031686868581811061128757fe5b9050602002013561248a565b50600f60008787848181106112a457fe5b602090810292909201356001600160a01b03168352508101919091526040016000205460ff16611395576020546001600160a01b03166314b6ca968787848181106112eb57fe5b905060200201356001600160a01b0316600860008a8a8781811061130b57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020546040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561138257600080fd5b505af1925050508015611393575060015b505b600101611253565b506001600160a01b0386166000908152600f602052604090205460ff1661143157602080546001600160a01b03888116600081815260089094526040808520548151630a5b654b60e11b8152600481019390935260248301525191909216926314b6ca96926044808201939182900301818387803b15801561141e57600080fd5b505af192505050801561142f575060015b505b505050505050565b61144233612456565b611481576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6040514790339060648484020480156108fc02916000818181858888f193505050501580156114b4573d6000803e3d6000fd5b505050565b60155481565b6114c833612456565b611507576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601c91909155601d55565b6001600160a01b0383166000908152600960209081526040808320338452909152812054600019146115c657604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b03871660009081526009825283812033825290915291909120546115a1918490612574565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b6115d184848461260b565b90505b9392505050565b60045460009061161f906115f7906001600160a01b0316611c87565b60035461161990611610906001600160a01b0316611c87565b60055490612c65565b90612c65565b905090565b61162d33612456565b61166c576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602054604080517f2d48e896000000000000000000000000000000000000000000000000000000008152600481018590526024810184905290516001600160a01b0390921691632d48e8969160448082019260009290919082900301818387803b1580156116d957600080fd5b505af1158015611431573d6000803e3d6000fd5b6116f633611756565b611730576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6022805460ff19169215159290921761ff00191661010060ff9290921691909102179055565b6000546001600160a01b0390811691161490565b600490565b61177833611756565b6117b2576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b61032182106117f25760405162461bcd60e51b815260040180806020018281038252602d8152602001806135bd602d913960400191505060405180910390fd5b808202806117ff86611c87565b1015611852576040805162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c65740000000000604482015290519081900360640190fd5b60005b8381101561198d576118838686868481811061186d57fe5b905060200201356001600160a01b03168561248a565b50600f600086868481811061189457fe5b602090810292909201356001600160a01b03168352508101919091526040016000205460ff16611985576020546001600160a01b03166314b6ca968686848181106118db57fe5b905060200201356001600160a01b0316600860008989878181106118fb57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020546040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561197257600080fd5b505af1925050508015611983575060015b505b600101611855565b506001600160a01b0385166000908152600f602052604090205460ff16611a1d57602080546001600160a01b03878116600081815260089094526040808520548151630a5b654b60e11b8152600481019390935260248301525191909216926314b6ca96926044808201939182900301818387803b158015611a0e57600080fd5b505af192505050801561143157505b5050505050565b611a2d33612456565b611a6c576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601880546001600160a01b0395861673ffffffffffffffffffffffffffffffffffffffff19918216179091556019805494861694821694909417909355601a805492851692841692909217909155601b8054919093169116179055565b601a546001600160a01b031681565b611ae133612456565b611b20576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b600061106182600019611000565b611b6233612456565b611ba1576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600655565b611baf33611756565b611be9576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600a805460ff1916911515919091179055565b60225460ff1681565b611c0e33612456565b611c4d576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b60125481565b60245460ff1681565b6001600160a01b031660009081526008602052604090205490565b602254610100900460ff1681565b60075481565b60065481565b60115481565b611ccb33612456565b611d0a576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b60108690556011859055601284905560138390556014829055611d3b82611d35858188818c8c612ca7565b90612ca7565b60155560168190556002810460155410611431576040805162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e2035302500000000604482015290519081900360640190fd5b6000546001600160a01b031690565b600a5460ff1681565b611dbd33611756565b611df7576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b60005b82811015611e4c5781600b6000868685818110611e1357fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805460ff1916911515919091179055600101611dfa565b50505050565b60408051808201909152600881527f484f545a494c4c41000000000000000000000000000000000000000000000000602082015290565b60105481565b611e9833612456565b611ed7576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b620b71b08110611ee657600080fd5b602155565b601f546001600160a01b031681565b60006115d433848461260b565b611f1033611756565b611f4a576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b611f7a33611756565b611fb4576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6103e8816005540281611fc357fe5b0460065550565b6020546001600160a01b031681565b6018546001600160a01b031681565b6000611061611ff56115db565b601f546120229061201b90600290612015906001600160a01b0316611c87565b90612d01565b8590612d01565b90612d5a565b60135481565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b61206233612456565b6120a1576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6024805460ff191692151592909217909155602555565b601b546001600160a01b031681565b6019546001600160a01b031681565b6120df33611756565b612119576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601755565b61212733611756565b612161576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160205260409020805460ff19169055565b61218b33611756565b6121c5576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117825580825260016020818152604093849020805460ff1916909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b61224933612456565b612288576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03821630148015906122af5750601f546001600160a01b03838116911614155b6122b857600080fd5b6001600160a01b0382166000908152600f60205260409020805460ff191682158015919091179091556123555760205460408051630a5b654b60e11b81526001600160a01b03858116600483015260006024830181905292519316926314b6ca969260448084019391929182900301818387803b15801561233857600080fd5b505af115801561234c573d6000803e3d6000fd5b505050506123b5565b602080546001600160a01b03848116600081815260089094526040808520548151630a5b654b60e11b8152600481019390935260248301525191909216926314b6ca96926044808201939182900301818387803b1580156116d957600080fd5b5050565b6123c233612456565b612401576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b601e546001600160a01b031681565b60145481565b600b6020526000908152604090205460ff1681565b6001600160a01b031660009081526001602052604090205460ff1690565b60175481565b601f54600160a01b900460ff1681565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b03861660009081526008909152918220546124e4918490612574565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546125139083612ca7565b6001600160a01b0380851660008181526008602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b600081848411156126035760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125c85781810151838201526020016125b0565b50505050905090810190601f1680156125f55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60265460009060ff161561262b5761262484848461248a565b90506115d4565b6001600160a01b03841660009081526001602052604090205460ff1615801561266d57506001600160a01b03831660009081526001602052604090205460ff16155b156126d057601f54600160a01b900460ff166126d0576040805162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e20796574000000000000000000000000604482015290519081900360640190fd5b600a5460ff161561276e576001600160a01b0384166000908152600b602052604090205460ff1615801561271d57506001600160a01b0383166000908152600b602052604090205460ff16155b61276e576040805162461bcd60e51b815260206004820152600b60248201527f426c61636b6c6973746564000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03841660009081526001602052604090205460ff161580156127a057506001600160a01b0383163014155b80156127ba57506003546001600160a01b03848116911614155b80156127d45750601f546001600160a01b03848116911614155b80156127ee57506019546001600160a01b03848116911614155b80156128085750601a546001600160a01b03848116911614155b801561282257506018546001600160a01b03848116911614155b801561283c5750601b546001600160a01b03848116911614155b1561289357600061284c84611c87565b905060075483820111156128915760405162461bcd60e51b815260040180806020018281038252603e815260200180613552603e913960400191505060405180910390fd5b505b601f546001600160a01b0385811691161480156128b2575060225460ff165b80156128d757506001600160a01b0383166000908152600e602052604090205460ff16155b1561295b576001600160a01b03831660009081526023602052604090205442116129325760405162461bcd60e51b815260040180806020018281038252602581526020018061350c6025913960400191505060405180910390fd5b6022546001600160a01b038416600090815260236020526040902061010090910460ff16420190555b6129658483612d9c565b61296d612e16565b1561297a5761297a612e65565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0387166000908152600890915291909120546129d5918490612574565b6001600160a01b0385166000908152600860205260408120919091556129fa856132f2565b1580612a0c5750612a0a846132f2565b155b612a3357601f54612a2e90869085906001600160a01b03888116911614613311565b612a35565b825b6001600160a01b038516600090815260086020526040902054909150612a5b9082612ca7565b6001600160a01b038086166000908152600860209081526040808320949094559188168152600f909152205460ff16612b0157602080546001600160a01b03878116600081815260089094526040808520548151630a5b654b60e11b8152600481019390935260248301525191909216926314b6ca96926044808201939182900301818387803b158015612aee57600080fd5b505af1925050508015612aff575060015b505b6001600160a01b0384166000908152600f602052604090205460ff16612b9457602080546001600160a01b03868116600081815260089094526040808520548151630a5b654b60e11b8152600481019390935260248301525191909216926314b6ca96926044808201939182900301818387803b158015612b8157600080fd5b505af1925050508015612b92575060015b505b602054602154604080517fffb2c4790000000000000000000000000000000000000000000000000000000081526004810192909252516001600160a01b039092169163ffb2c4799160248082019260009290919082900301818387803b158015612bfd57600080fd5b505af1925050508015612c0e575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3506001949350505050565b60006115d483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612574565b6000828201838110156115d4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082612d1057506000611061565b82820282848281612d1d57fe5b04146115d45760405162461bcd60e51b81526004018080602001828103825260218152602001806135316021913960400191505060405180910390fd5b60006115d483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061347e565b60065481111580612dc557506001600160a01b0382166000908152600d602052604090205460ff165b6123b5576040805162461bcd60e51b815260206004820152601160248201527f5458204c696d6974204578636565646564000000000000000000000000000000604482015290519081900360640190fd5b601f546000906001600160a01b03163314801590612e37575060265460ff16155b8015612e45575060245460ff165b801561161f57505060255430600090815260086020526040902054101590565b6026805460ff19166001179055601c54601d54600091612e84916110e3565b612e9057601054612e93565b60005b90506000612eb7600261202260155461202286602554612d0190919063ffffffff16565b90506000612ed082602554612c6590919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110612f0457fe5b6001600160a01b039283166020918202929092010152600254825191169082906001908110612f2f57fe5b6001600160a01b03928316602091820292909201810191909152601e546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b83811015612fe2578181015183820152602001612fca565b505050509050019650505050505050600060405180830381600087803b15801561300b57600080fd5b505af115801561301f573d6000803e3d6000fd5b5050505060006130388247612c6590919063ffffffff16565b9050600061305361304a886002612d5a565b60155490612c65565b9050600061306860026120228481878d612d01565b905060006130858361202260115487612d0190919063ffffffff16565b905060006130a28461202260125488612d0190919063ffffffff16565b905060006130bf8561202260135489612d0190919063ffffffff16565b9050602060009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561311157600080fd5b505af193505050508015613123575060015b506019546040516000916001600160a01b03169061753090859084818181858888f193505050503d8060008114613176576040519150601f19603f3d011682016040523d82523d6000602084013e61317b565b606091505b5050601a546040519192506001600160a01b0316906175309084906000818181858888f193505050503d80600081146131d0576040519150601f19603f3d011682016040523d82523d6000602084013e6131d5565b606091505b5060009250508b1590506132da57601e54601854604080517ff305d719000000000000000000000000000000000000000000000000000000008152306004820152602481018f905260006044820181905260648201526001600160a01b0392831660848201524260a48201529051919092169163f305d71991889160c48082019260609290919082900301818588803b15801561327157600080fd5b505af1158015613285573d6000803e3d6000fd5b50505050506040513d606081101561329c57600080fd5b505060408051868152602081018d905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b50506026805460ff1916905550505050505050505050565b6001600160a01b03166000908152600c602052604090205460ff161590565b60008082613320576064613324565b6017545b9050600061334a601654606402612022846120156015548a612d0190919063ffffffff16565b9050600061336960155461202260145485612d0190919063ffffffff16565b905060006133778383612c65565b306000908152600860205260409020549091506133949082612ca7565b3060009081526008602052604080822092909255601b546001600160a01b0316815220546133c29083612ca7565b601b546001600160a01b0390811660009081526008602090815260409182902093909355805184815290513093928c16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a3811561346857601b546040805184815290516001600160a01b03928316928b16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35b6134728784612c65565b98975050505050505050565b600081836134cd5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156125c85781810151838201526020016125b0565b5060008385816134d957fe5b049594505050505056fe4d69736d61746368206265747765656e204164647265737320616e6420746f6b656e20636f756e74506c65617365207761697420666f7220316d696e206265747765656e2074776f2062757973536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f74616c20486f6c64696e672069732063757272656e746c79206c696d697465642c20796f752063616e206e6f74206275792074686174206d7563682e474153204572726f723a206d61782061697264726f70206c696d69742069732035303020616464726573736573474153204572726f723a206d61782061697264726f70206c696d69742069732038303020616464726573736573a26469706673582212205e07d03fac4f02ad5cc467d23b5cd8a42d146e0a1984d3af0506e26e4b4c3bd764736f6c634300070600336080604052600180546001600160a01b0319908116732859e4544c4bb03966803b044a93563bd2d0dd4d179091556002805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556ec097ce7bc90715b34b9f1000000000600c55610a8c600d55683635c9adc5dea00000600e5534801561007e57600080fd5b50604051610f1c380380610f1c833981810160405260208110156100a157600080fd5b50516001600160a01b0381166100cb577310ed43c718714eb63d5aa57b78b54704e256024e6100cd565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610e15806101076000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610254578063f0fc6bca14610269578063ffb2c4791461027e578063ffd49c84146102a8576100dd565b8063ce7c2ac2146101e6578063d0e30db014610237578063e2d2e2191461023f576100dd565b80632d48e896116100bb5780632d48e896146101775780633a98ef39146101a75780634fab0ae8146101bc578063997664d7146101d1576100dd565b806311ce023d146100e257806314b6ca961461010957806328fd319814610144575b600080fd5b3480156100ee57600080fd5b506100f76102bd565b60408051918252519081900360200190f35b34801561011557600080fd5b506101426004803603604081101561012c57600080fd5b506001600160a01b0381351690602001356102c3565b005b34801561015057600080fd5b506100f76004803603602081101561016757600080fd5b50356001600160a01b03166103e8565b34801561018357600080fd5b506101426004803603604081101561019a57600080fd5b5080359060200135610474565b3480156101b357600080fd5b506100f7610496565b3480156101c857600080fd5b506100f761049c565b3480156101dd57600080fd5b506100f76104a2565b3480156101f257600080fd5b506102196004803603602081101561020957600080fd5b50356001600160a01b03166104a8565b60408051938452602084019290925282820152519081900360600190f35b6101426104c9565b34801561024b57600080fd5b506100f7610774565b34801561026057600080fd5b506100f761077a565b34801561027557600080fd5b50610142610780565b34801561028a57600080fd5b50610142600480360360208110156102a157600080fd5b503561078b565b3480156102b457600080fd5b506100f761086d565b600c5481565b6000546001600160a01b031633146102da57600080fd5b6001600160a01b038216600090815260076020526040902054156103015761030182610873565b60008111801561032757506001600160a01b038216600090815260076020526040902054155b1561033a57610335826109b4565b61036d565b8015801561035f57506001600160a01b03821660009081526007602052604090205415155b1561036d5761036d82610a22565b6001600160a01b03821660009081526007602052604090205460085461039e91839161039891610b29565b90610b74565b6008556001600160a01b03821660009081526007602052604090208190556103c581610bce565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461040d5750600061046f565b6001600160a01b03821660009081526007602052604081205461042f90610bce565b6001600160a01b0384166000908152600760205260409020600101549091508082116104605760009250505061046f565b61046a8282610b29565b925050505b919050565b6000546001600160a01b0316331461048b57600080fd5b600d91909155600e55565b60085481565b600e5481565b60095481565b60076020526000908152604090208054600182015460029092015490919083565b6000546001600160a01b031633146104e057600080fd5b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d602081101561055557600080fd5b50516040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b03169183915060009061059757fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106105c157fe5b6001600160a01b039283166020918202929092018101919091526003546040517fb6f9de9500000000000000000000000000000000000000000000000000000000815260006004820181815230604484018190524260648501819052608060248601908152895160848701528951969098169763b6f9de9597349795968b969495939460a49091019187810191028083838b5b8381101561066c578181015183820152602001610654565b50505050905001955050505050506000604051808303818588803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b5050600154604080516370a0823160e01b815230600482015290516000955061073294508793506001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561070057600080fd5b505afa158015610714573d6000803e3d6000fd5b505050506040513d602081101561072a57600080fd5b505190610b29565b6009549091506107429082610b74565b600955600854600c5461076c916107639161075d9085610beb565b90610c44565b600b5490610b74565b600b55505050565b600b5481565b600a5481565b61078933610873565b565b6000546001600160a01b031633146107a257600080fd5b600454806107b0575061086a565b6000805a905060005b84831080156107c757508381105b156108655783600f54106107db576000600f555b6108076004600f54815481106107ed57fe5b6000918252602090912001546001600160a01b0316610c86565b15610838576108386004600f548154811061081e57fe5b6000918252602090912001546001600160a01b0316610873565b61084d6108465a8490610b29565b8490610b74565b92505a600f80546001908101909155909250016107b9565b505050505b50565b600d5481565b6001600160a01b0381166000908152600760205260409020546108955761086a565b60006108a0826103e8565b905080156109b057600a546108b59082610b74565b600a55600154604080517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b505050506040513d602081101561095157600080fd5b50506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546109869082610b74565b6001600160a01b03831660009081526007602052604090206002810191909155546103c590610bce565b5050565b600480546001600160a01b039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600480546000198101908110610a3457fe5b60009182526020808320909101546001600160a01b0384811684526005909252604090922054600480549290931692918110610a6c57fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039485161790559183168152600591829052604081205460048054919392916000198101908110610ac757fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610af757fe5b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff1916905501905550565b6000610b6b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cc2565b90505b92915050565b600082820183811015610b6b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b6e600c5461075d600b5485610beb90919063ffffffff16565b600082610bfa57506000610b6e565b82820282848281610c0757fe5b0414610b6b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610dbf6021913960400191505060405180910390fd5b6000610b6b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d59565b600d546001600160a01b0382166000908152600660205260408120549091429101108015610b6e5750600e54610cbb836103e8565b1192915050565b60008184841115610d515760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d16578181015183820152602001610cfe565b50505050905090810190601f168015610d435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610da85760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d16578181015183820152602001610cfe565b506000838581610db457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212208f42947584f300ca838ffe474b67b00a84ef0e95ba98399ad39d541028daf1f364736f6c63430007060033

Deployed ByteCode Sourcemap

12599:16484:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14566:56;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;15980:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17286:177;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17286:177:0;;:::i;:::-;;16402:216;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16402:216:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;21916:94;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21916:94:0;;;;:::i;27240:150::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27240:150:0;;;;;;;:::i;13863:36::-;;;;;;;;;;;;;:::i;15710:88::-;;;;;;;;;;;;;:::i;27420:880::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27420:880:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27420:880:0;;-1:-1:-1;27420:880:0;-1:-1:-1;27420:880:0;:::i;21548:208::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21548:208:0;;:::i;13760:96::-;;;;;;;;;;;;;:::i;26385:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26385:183:0;;;;;;;:::i;16914:364::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16914:364:0;;;;;;;;;;;;;;;;;:::i;26915:142::-;;;;;;;;;;;;;:::i;26576:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26576:183:0;;;;;;;:::i;22057:164::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22057:164:0;;;;;;;;;;;:::i;4645:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4645:103:0;-1:-1:-1;;;;;4645:103:0;;:::i;15804:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;28304:714;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;28304:714:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;28304:714:0;-1:-1:-1;28304:714:0;;:::i;25842:371::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;25842:371:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;14038:30::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;14038:30:0;;;;;;;;;;;;;;25119:130;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;25119:130:0;;;;;;;;;;:::i;16626:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16626:116:0;-1:-1:-1;;;;;16626:116:0;;:::i;17649:96::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17649:96:0;;:::i;24528:99::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24528:99:0;;;;:::i;14382:38::-;;;;;;;;;;;;;:::i;24855:120::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24855:120:0;;;;;;;;;;:::i;13637:34::-;;;;;;;;;;;;;:::i;14529:30::-;;;;;;;;;;;;;:::i;16150:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16150:105:0;-1:-1:-1;;;;;16150:105:0;;:::i;14427:39::-;;;;;;;;;;;;;:::i;13098:45::-;;;;;;;;;;;;;:::i;13049:42::-;;;;;;;;;;;;;:::i;13596:34::-;;;;;;;;;;;;;:::i;25257:577::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25257:577:0;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16066:78::-;;;;;;;;;;;;;:::i;13267:32::-;;;;;;;;;;;;;:::i;24635:210::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24635:210:0;-1:-1:-1;24635:210:0;;;;:::i;15890:84::-;;;;;;;;;;;;;:::i;13555:34::-;;;;;;;;;;;;;:::i;26767:136::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26767:136:0;;:::i;14229:19::-;;;;;;;;;;;;;:::i;16750:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16750:156:0;;;;;;;;:::i;4438:94::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4438:94:0;-1:-1:-1;;;;;4438:94:0;;:::i;17469:172::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17469:172:0;;:::i;14297:38::-;;;;;;;;;;;;;:::i;13953:36::-;;;;;;;;;;;;;:::i;27065:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27065:167:0;;:::i;13678:34::-;;;;;;;;;;;;;:::i;16261:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16261:133:0;;;;;;;;;;:::i;26221:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26221:156:0;;;;;;;;;:::i;14075:30::-;;;;;;;;;;;;;:::i;13996:35::-;;;;;;;;;;;;;:::i;21764:121::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21764:121:0;;:::i;4540:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4540:97:0;-1:-1:-1;;;;;4540:97:0;;:::i;4871:173::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4871:173:0;-1:-1:-1;;;;;4871:173:0;;:::i;24173:347::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24173:347:0;;;;;;;;;;:::i;24983:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24983:128:0;;;;;;;;;;:::i;14198:24::-;;;;;;;;;;;;;:::i;13719:34::-;;;;;;;;;;;;;:::i;13306:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13306:46:0;-1:-1:-1;;;;;13306:46:0;;:::i;4756:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4756:107:0;-1:-1:-1;;;;;4756:107:0;;:::i;13908:36::-;;;;;;;;;;;;;:::i;14257:31::-;;;;;;;;;;;;;:::i;14566:56::-;;;;:::o;15980:80::-;16052:5;;;;;;;;;;;;;;;;;15980:80;:::o;17286:177::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;17451:4:::1;17423:23;17408:12;;:38;17407:48;;;;;;17389:15;:66:::0;-1:-1:-1;17286:177:0:o;16402:216::-;16506:10;16477:4;16494:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;16494:32:0;;;;;;;;;;;:41;;;16551:37;;;;;;;16477:4;;16494:32;;16506:10;;16551:37;;;;;;;;-1:-1:-1;16606:4:0;16402:216;;;;;:::o;21916:94::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;21981:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;21981:21:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;21916:94::o;27240:150::-;27320:4;27376:6;27344:29;27364:8;27344:19;:29::i;:::-;:38;;27240:150;-1:-1:-1;;;27240:150:0:o;13863:36::-;;;;:::o;15710:88::-;15783:12;;15710:88;:::o;27420:880::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;27569:3:::1;27550:22:::0;::::1;27542:79;;;;-1:-1:-1::0;;;27542:79:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27636:33:::0;;::::1;27628:85;;;;-1:-1:-1::0;;;27628:85:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27722:12;27751:6:::0;27747:82:::1;27761:20:::0;;::::1;27747:82;;;27812:6;;27819:1;27812:9;;;;;;;;;::::0;;;::::1;;27805:16:::0;;;::::1;::::0;-1:-1:-1;27783:3:0::1;;27747:82;;;;27864:4;27845:15;27855:4;27845:9;:15::i;:::-;:23;;27837:63;;;::::0;;-1:-1:-1;;;27837:63:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;27913:6;27909:250;27923:20:::0;;::::1;27909:250;;;27960:43;27975:4;27980:9;;27990:1;27980:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;27980:12:0::1;27993:6;;28000:1;27993:9;;;;;;;;;;;;;27960:14;:43::i;:::-;;28018:16;:30;28035:9;;28045:1;28035:12;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;28035:12:0::1;28018:30:::0;;-1:-1:-1;28018:30:0;::::1;::::0;;;;;;-1:-1:-1;28018:30:0;;::::1;;28014:138;;28069:11;::::0;-1:-1:-1;;;;;28069:11:0::1;:20;28090:9:::0;;28100:1;28090:12;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;28090:12:0::1;28104:9;:23;28114:9;;28124:1;28114:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;28114:12:0::1;-1:-1:-1::0;;;;;28104:23:0::1;-1:-1:-1::0;;;;;28104:23:0::1;;;;;;;;;;;;;28069:59;;;;;;;;;;;;;-1:-1:-1::0;;;;;28069:59:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;28065:75:::0;::::1;27945:3;;27909:250;;;-1:-1:-1::0;;;;;;28196:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;::::1;;28192:105;;28235:11;::::0;;-1:-1:-1;;;;;28262:15:0;;::::1;28235:11;28262:15:::0;;;:9:::1;:15:::0;;;;;;;;28235:43;;-1:-1:-1;;;28235:43:0;;::::1;::::0;::::1;::::0;;;;;;;;;:11;;;::::1;::::0;:20:::1;::::0;:43;;;;;;;;;;;:11;;:43;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;;;;;28231:59:::0;::::1;4321:1;27420:880:::0;;;;;:::o;21548:208::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;21684:64:::1;::::0;21652:21:::1;::::0;21692:10:::1;::::0;21744:3:::1;21713:28:::0;;::::1;:34;21684:64:::0;::::1;;;::::0;::::1;::::0;;;21713:34;21692:10;21684:64;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;4421:1;21548:208:::0;:::o;13760:96::-;;;;:::o;26385:183::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;26483:15:::1;:25:::0;;;;26519:26:::1;:41:::0;26385:183::o;16914:364::-;-1:-1:-1;;;;;17034:19:0;;17014:4;17034:19;;;:11;:19;;;;;;;;17054:10;17034:31;;;;;;;;-1:-1:-1;;17034:46:0;17031:180;;17130:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17130:19:0;;-1:-1:-1;17130:19:0;;;:11;:19;;;;;17150:10;17130:31;;;;;;;;;;:69;;17166:6;;17130:35;:69::i;:::-;-1:-1:-1;;;;;17096:19:0;;;;;;:11;:19;;;;;;;;17116:10;17096:31;;;;;;;:103;17031:180;17230:40;17244:6;17252:9;17263:6;17230:13;:40::i;:::-;17223:47;;16914:364;;;;;;:::o;26915:142::-;27043:4;;26968:7;;26995:54;;27033:15;;-1:-1:-1;;;;;27043:4:0;27033:9;:15::i;:::-;27022:4;;26995:33;;27012:15;;-1:-1:-1;;;;;27022:4:0;27012:9;:15::i;:::-;26995:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;26988:61;;26915:142;:::o;26576:183::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;26686:11:::1;::::0;:65:::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;;;;;26686:11:0;;::::1;::::0;:35:::1;::::0;:65;;;;;:11:::1;::::0;:65;;;;;;;;:11;;:65;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;22057:164:::0;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;22141:18:::1;:28:::0;;-1:-1:-1;;22141:28:0::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;22180:33:0::1;22141:28;;22180:33:::0;;;::::1;::::0;;;::::1;;::::0;;22057:164::o;4645:103::-;4700:4;4735:5;-1:-1:-1;;;;;4735:5:0;;;4724:16;;;;4645:103::o;15804:80::-;12980:1;15804:80;:::o;28304:714::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;28448:3:::1;28429:22:::0;::::1;28421:79;;;;-1:-1:-1::0;;;28421:79:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28524:25:::0;;::::1;::::0;28566:15:::1;28576:4:::0;28566:9:::1;:15::i;:::-;:23;;28558:63;;;::::0;;-1:-1:-1;;;28558:63:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;28634:6;28630:247;28644:20:::0;;::::1;28630:247;;;28681:40;28696:4;28701:9;;28711:1;28701:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;28701:12:0::1;28714:6;28681:14;:40::i;:::-;;28736:16;:30;28753:9;;28763:1;28753:12;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;28753:12:0::1;28736:30:::0;;-1:-1:-1;28736:30:0;::::1;::::0;;;;;;-1:-1:-1;28736:30:0;;::::1;;28732:138;;28787:11;::::0;-1:-1:-1;;;;;28787:11:0::1;:20;28808:9:::0;;28818:1;28808:12;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;28808:12:0::1;28822:9;:23;28832:9;;28842:1;28832:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;28832:12:0::1;-1:-1:-1::0;;;;;28822:23:0::1;-1:-1:-1::0;;;;;28822:23:0::1;;;;;;;;;;;;;28787:59;;;;;;;;;;;;;-1:-1:-1::0;;;;;28787:59:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;28783:75:::0;::::1;28666:3;;28630:247;;;-1:-1:-1::0;;;;;;28914:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;::::1;;28910:105;;28953:11;::::0;;-1:-1:-1;;;;;28980:15:0;;::::1;28953:11;28980:15:::0;;;:9:::1;:15:::0;;;;;;;;28953:43;;-1:-1:-1;;;28953:43:0;;::::1;::::0;::::1;::::0;;;;;;;;;:11;;;::::1;::::0;:20:::1;::::0;:43;;;;;;;;;;;:11;;:43;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;;;28949:59;4321:1;28304:714:::0;;;;:::o;25842:371::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;26014:21:::1;:46:::0;;-1:-1:-1;;;;;26014:46:0;;::::1;-1:-1:-1::0;;26014:46:0;;::::1;;::::0;;;26071:20:::1;:44:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;26126:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;26171:15:::1;:34:::0;;;;;::::1;::::0;::::1;;::::0;;25842:371::o;14038:30::-;;;-1:-1:-1;;;;;14038:30:0;;:::o;25119:130::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;25208:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;25208:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25119:130::o;16626:116::-;16681:4;16705:29;16713:7;-1:-1:-1;;16705:7:0;:29::i;17649:96::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;17716:12:::1;:21:::0;17649:96::o;24528:99::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;24596:13:::1;:23:::0;;-1:-1:-1;;24596:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24528:99::o;14382:38::-;;;;;;:::o;24855:120::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;24939:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;24939:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24855:120::o;13637:34::-;;;;:::o;14529:30::-;;;;;;:::o;16150:105::-;-1:-1:-1;;;;;16234:18:0;16216:7;16234:18;;;:9;:18;;;;;;;16150:105::o;14427:39::-;;;;;;;;;:::o;13098:45::-;;;;:::o;13049:42::-;;;;:::o;13596:34::-;;;;:::o;25257:577::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;25436:12:::1;:28:::0;;;25475:13:::1;:30:::0;;;25516:12:::1;:28:::0;;;25555:7:::1;:18:::0;;;25584:7:::1;:18:::0;;;25624:80:::1;25594:8:::0;25624:66:::1;25565:8:::0;25624:66;25531:13;25624:66;25451:13;25491:14;25624:17:::1;:33::i;:::-;:37:::0;::::1;:52::i;:80::-;25613:8;:91:::0;25715:14:::1;:32:::0;;;25792:1:::1;25732:15:::0;25777:16:::1;25766:8;;:27;25758:68;;;::::0;;-1:-1:-1;;;25758:68:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;16066:78:::0;16118:7;16136:5;-1:-1:-1;;;;;16136:5:0;16066:78;:::o;13267:32::-;;;;;;:::o;24635:210::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;24737:9:::1;24732:106;24748:20:::0;;::::1;24732:106;;;24820:6;24790:13;:27;24804:9;;24814:1;24804:12;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;24804:12:0::1;24790:27:::0;;-1:-1:-1;24790:27:0;::::1;::::0;;;;;;-1:-1:-1;24790:27:0;:36;;-1:-1:-1;;24790:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;24770:3:0::1;24732:106;;;;24635:210:::0;;;:::o;15890:84::-;15964:7;;;;;;;;;;;;;;;;;15890:84;:::o;13555:34::-;;;;:::o;26767:136::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;26857:6:::1;26851:3;:12;26843:21;;;::::0;::::1;;26875:14;:20:::0;26767:136::o;14229:19::-;;;-1:-1:-1;;;;;14229:19:0;;:::o;16750:156::-;16830:4;16854:44;16868:10;16880:9;16891:6;16854:13;:44::i;4438:94::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4498:19:0::1;;::::0;;;4520:4:::1;4498:19;::::0;;;;;;;:26;;-1:-1:-1;;4498:26:0::1;::::0;;::::1;::::0;;4438:94::o;17469:172::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;17629:4:::1;17600:24;17585:12;;:39;17584:49;;;;;;17569:12;:64:::0;-1:-1:-1;17469:172:0:o;14297:38::-;;;-1:-1:-1;;;;;14297:38:0;;:::o;13953:36::-;;;-1:-1:-1;;;;;13953:36:0;;:::o;27065:167::-;27133:7;27160:64;27201:22;:20;:22::i;:::-;27183:4;;27160:36;;27173:22;;27193:1;;27173:15;;-1:-1:-1;;;;;27183:4:0;27173:9;:15::i;:::-;:19;;:22::i;:::-;27160:8;;:12;:36::i;:::-;:40;;:64::i;13678:34::-;;;;:::o;16261:133::-;-1:-1:-1;;;;;16363:19:0;;;16345:7;16363:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;16261:133::o;26221:156::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;26313:11:::1;:22:::0;;-1:-1:-1;;26313:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;26346:13:::1;:23:::0;26221:156::o;14075:30::-;;;-1:-1:-1;;;;;14075:30:0;;:::o;13996:35::-;;;-1:-1:-1;;;;;13996:35:0;;:::o;21764:121::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;21842:14:::1;:27:::0;21764:121::o;4540:97::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4602:19:0::1;4624:5;4602:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;4602:27:0::1;::::0;;4540:97::o;4871:173::-;4289:19;4297:10;4289:7;:19::i;:::-;4281:38;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;-1:-1:-1;;;4281:38:0;;;;;;;;;;;;;;;4947:5:::1;:11:::0;;-1:-1:-1;;4947:11:0::1;-1:-1:-1::0;;;;;4947:11:0;::::1;::::0;;::::1;::::0;;4969:19;;;-1:-1:-1;4969:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;4969:26:0::1;::::0;;::::1;::::0;;;5011:25;;;;;;;::::1;::::0;;;;;;;;;::::1;4871:173:::0;:::o;24173:347::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;24270:23:0;::::1;24288:4;24270:23;::::0;::::1;::::0;:41:::1;;-1:-1:-1::0;24307:4:0::1;::::0;-1:-1:-1;;;;;24297:14:0;;::::1;24307:4:::0;::::1;24297:14;;24270:41;24262:50;;;::::0;::::1;;-1:-1:-1::0;;;;;24323:24:0;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;24323:33:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;24367:146:::1;;24392:11;::::0;:31:::1;::::0;;-1:-1:-1;;;24392:31:0;;-1:-1:-1;;;;;24392:31:0;;::::1;;::::0;::::1;::::0;:11:::1;:31:::0;;;;;;;;:11;::::1;::::0;:20:::1;::::0;:31;;;;;:11;;:31;;;;;;:11;;:31;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;24367:146;;;24454:11;::::0;;-1:-1:-1;;;;;24483:17:0;;::::1;24454:11;24483:17:::0;;;:9:::1;:17:::0;;;;;;;;24454:47;;-1:-1:-1;;;24454:47:0;;::::1;::::0;::::1;::::0;;;;;;;;;:11;;;::::1;::::0;:20:::1;::::0;:47;;;;;;;;;;;:11;;:47;::::1;;::::0;::::1;;;;::::0;::::1;24367:146;24173:347:::0;;:::o;24983:128::-;4379:24;4392:10;4379:12;:24::i;:::-;4371:48;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;-1:-1:-1;;;4371:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;25071:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;25071:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24983:128::o;14198:24::-;;;-1:-1:-1;;;;;14198:24:0;;:::o;13719:34::-;;;;:::o;13306:46::-;;;;;;;;;;;;;;;:::o;4756:107::-;-1:-1:-1;;;;;4836:19:0;4812:4;4836:19;;;:14;:19;;;;;;;;;4756:107::o;13908:36::-;;;;:::o;14257:31::-;;;-1:-1:-1;;;14257:31:0;;;;;:::o;19920:330::-;20050:53;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20050:17:0;;20013:4;20050:17;;;:9;:17;;;;;;;:53;;20072:6;;20050:21;:53::i;:::-;-1:-1:-1;;;;;20030:17:0;;;;;;;:9;:17;;;;;;:73;;;;20137:20;;;;;;;:32;;20162:6;20137:24;:32::i;:::-;-1:-1:-1;;;;;20114:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;20185:35;;;;;;;20114:20;;20185:35;;;;;;;;;;;;;-1:-1:-1;20238:4:0;19920:330;;;;;:::o;2281:192::-;2367:7;2403:12;2395:6;;;;2387:29;;;;-1:-1:-1;;;2387:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2439:5:0;;;2281:192::o;17755:2153::-;17867:6;;17847:4;;17867:6;;17864:63;;;17883:41;17898:6;17906:9;17917:6;17883:14;:41::i;:::-;17876:48;;;;17864:63;-1:-1:-1;;;;;17943:22:0;;;;;;:14;:22;;;;;;;;17942:23;:53;;;;-1:-1:-1;;;;;;17970:25:0;;;;;;:14;:25;;;;;;;;17969:26;17942:53;17939:127;;;18019:11;;-1:-1:-1;;;18019:11:0;;;;18011:43;;;;;-1:-1:-1;;;18011:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18103:13;;;;18100:122;;;-1:-1:-1;;;;;18141:21:0;;;;;;:13;:21;;;;;;;;18140:22;:51;;;;-1:-1:-1;;;;;;18167:24:0;;;;;;:13;:24;;;;;;;;18166:25;18140:51;18132:74;;;;;-1:-1:-1;;;18132:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18241:22:0;;;;;;:14;:22;;;;;;;;18240:23;:53;;;;-1:-1:-1;;;;;;18267:26:0;;18288:4;18267:26;;18240:53;:84;;;;-1:-1:-1;18319:4:0;;-1:-1:-1;;;;;18298:26:0;;;18319:4;;18298:26;;18240:84;:105;;;;-1:-1:-1;18341:4:0;;-1:-1:-1;;;;;18328:17:0;;;18341:4;;18328:17;;18240:105;:142;;;;-1:-1:-1;18362:20:0;;-1:-1:-1;;;;;18349:33:0;;;18362:20;;18349:33;;18240:142;:174;;;;-1:-1:-1;18399:15:0;;-1:-1:-1;;;;;18386:28:0;;;18399:15;;18386:28;;18240:174;:213;;;;-1:-1:-1;18432:21:0;;-1:-1:-1;;;;;18419:34:0;;;18432:21;;18419:34;;18240:213;:245;;;;-1:-1:-1;18470:15:0;;-1:-1:-1;;;;;18457:28:0;;;18470:15;;18457:28;;18240:245;18236:437;;;18501:18;18522:20;18532:9;18522;:20::i;:::-;18501:41;;18590:15;;18579:6;18566:10;:19;18565:40;;18557:114;;;;-1:-1:-1;;;18557:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18236:437;;18707:4;;-1:-1:-1;;;;;18697:14:0;;;18707:4;;18697:14;:49;;;;-1:-1:-1;18728:18:0;;;;18697:49;:94;;;;-1:-1:-1;;;;;;18764:27:0;;;;;;:16;:27;;;;;;;;18763:28;18697:94;18693:299;;;-1:-1:-1;;;;;18816:24:0;;;;;;:13;:24;;;;;;18843:15;-1:-1:-1;18808:91:0;;;;-1:-1:-1;;;18808:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18959:21;;-1:-1:-1;;;;;18914:24:0;;;;;;:13;:24;;;;;18959:21;;;;;;18941:15;:39;18914:66;;18693:299;19045:28;19058:6;19066;19045:12;:28::i;:::-;19089:16;:14;:16::i;:::-;19086:35;;;19108:10;:8;:10::i;:::-;19180:53;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19180:17:0;;-1:-1:-1;19180:17:0;;;:9;:17;;;;;;;;:53;;19202:6;;19180:21;:53::i;:::-;-1:-1:-1;;;;;19160:17:0;;;;;;:9;:17;;;;;:73;;;;19273:21;19170:6;19273:13;:21::i;:::-;19272:22;:51;;;;19299:24;19313:9;19299:13;:24::i;:::-;19298:25;19272:51;19271:108;;19373:4;;19336:43;;19344:6;;19352;;-1:-1:-1;;;;;19360:17:0;;;19373:4;;19360:17;19336:7;:43::i;:::-;19271:108;;;19327:6;19271:108;-1:-1:-1;;;;;19413:20:0;;;;;;:9;:20;;;;;;19246:133;;-1:-1:-1;19413:40:0;;19246:133;19413:24;:40::i;:::-;-1:-1:-1;;;;;19390:20:0;;;;;;;:9;:20;;;;;;;;:63;;;;19499:24;;;;;:16;:24;;;;;;;19495:119;;19544:11;;;-1:-1:-1;;;;;19573:17:0;;;19544:11;19573:17;;;:9;:17;;;;;;;;19544:47;;-1:-1:-1;;;19544:47:0;;;;;;;;;;;;;;:11;;;;;:20;;:47;;;;;;;;;;;:11;;:47;;;;;;;;;;;;;;;;;;;;;;;;;19540:63;;-1:-1:-1;;;;;19630:27:0;;;;;;:16;:27;;;;;;;;19626:129;;19678:11;;;-1:-1:-1;;;;;19710:20:0;;;19678:11;19710:20;;;:9;:20;;;;;;;;19678:53;;-1:-1:-1;;;19678:53:0;;;;;;;;;;;;;;:11;;;;;:20;;:53;;;;;;;;;;;:11;;:53;;;;;;;;;;;;;;;;;;;;;;;;;19674:69;;19771:11;;19791:14;;19771:35;;;;;;;;;;;;;;-1:-1:-1;;;;;19771:11:0;;;;:19;;:35;;;;;:11;;:35;;;;;;;;:11;;:35;;;;;;;;;;;;;;;;;;;;;;;;;19767:51;19852:9;-1:-1:-1;;;;;19835:43:0;19844:6;-1:-1:-1;;;;;19835:43:0;;19863:14;19835:43;;;;;;;;;;;;;;;;;;-1:-1:-1;19896:4:0;;17755:2153;-1:-1:-1;;;;17755:2153:0:o;2139:136::-;2197:7;2224:43;2228:1;2231;2224:43;;;;;;;;;;;;;;;;;:3;:43::i;1952:181::-;2010:7;2042:5;;;2066:6;;;;2058:46;;;;;-1:-1:-1;;;2058:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2479:250;2537:7;2561:6;2557:47;;-1:-1:-1;2591:1:0;2584:8;;2557:47;2628:5;;;2632:1;2628;:5;:1;2652:5;;;;;:10;2644:56;;;;-1:-1:-1;;;2644:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:132;2793:7;2820:39;2824:1;2827;2820:39;;;;;;;;;;;;;;;;;:3;:39::i;20258:166::-;20355:12;;20345:6;:22;;:49;;;-1:-1:-1;;;;;;20371:23:0;;;;;;:15;:23;;;;;;;;20345:49;20337:79;;;;;-1:-1:-1;;;20337:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21343:197;21430:4;;21392;;-1:-1:-1;;;;;21430:4:0;21416:10;:18;;;;:38;;-1:-1:-1;21448:6:0;;;;21447:7;21416:38;:62;;;;-1:-1:-1;21467:11:0;;;;21416:62;:116;;;;-1:-1:-1;;21519:13:0;;21509:4;21491:24;;;;:9;:24;;;;;;:41;;;21343:197::o;22229:1934::-;14669:6;:13;;-1:-1:-1;;14669:13:0;14678:4;14669:13;;;22324:15:::1;::::0;22341:26:::1;::::0;14669:6;;22308:60:::1;::::0;:15:::1;:60::i;:::-;:79;;22375:12;;22308:79;;;22371:1;22308:79;22278:109;;22398:23;22424:59;22481:1;22424:52;22467:8;;22424:38;22442:19;22424:13;;:17;;:38;;;;:::i;:59::-;22398:85;;22494:20;22517:34;22535:15;22517:13;;:17;;:34;;;;:::i;:::-;22588:16;::::0;;22602:1:::1;22588:16:::0;;;;;::::1;::::0;;22494:57;;-1:-1:-1;22564:21:0::1;::::0;22588:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;22588:16:0::1;22564:40;;22633:4;22615;22620:1;22615:7;;;;;;;;-1:-1:-1::0;;;;;22615:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;22659:4:::1;::::0;22649:7;;22659:4;::::1;::::0;22649;;22659;;22649:7;::::1;;;;;-1:-1:-1::0;;;;;22649:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;22734:6:::1;::::0;:188:::1;::::0;;;;::::1;::::0;::::1;::::0;;;22676:21:::1;22734:188:::0;;;;;;22876:4:::1;22734:188:::0;;;;;;22896:15:::1;22734:188:::0;;;;;;;;;;;;;;;;;;;;;22700:21:::1;::::0;22734:6;;;::::1;::::0;:57:::1;::::0;22806:12;;22676:21;;22849:4;;22734:188;;;;;;;;;;::::1;::::0;::::1;::::0;;;22676:21;22734:188:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22935:17;22955:40;22981:13;22955:21;:25;;:40;;;;:::i;:::-;22935:60:::0;-1:-1:-1;23008:19:0::1;23030:40;23043:26;:19:::0;23067:1:::1;23043:23;:26::i;:::-;23030:8;::::0;;:12:::1;:40::i;:::-;23008:62:::0;-1:-1:-1;23091:26:0::1;23120:58;23176:1;23120:51;23008:62:::0;23120:51;:9;23134:19;23120:13:::1;:34::i;:58::-;23091:87;;23189:27;23219:45;23252:11;23219:28;23233:13;;23219:9;:13;;:28;;;;:::i;:45::-;23189:75;;23275:26;23304:44;23336:11;23304:27;23318:12;;23304:9;:13;;:27;;;;:::i;:44::-;23275:73;;23359:21;23383:39;23410:11;23383:22;23397:7;;23383:9;:13;;:22;;;;:::i;:39::-;23359:63;;23439:11;;;;;;;;;-1:-1:-1::0;;;;;23439:11:0::1;-1:-1:-1::0;;;;;23439:19:0::1;;23466;23439:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;23435:65:::0;23539:20:::1;::::0;23531:77:::1;::::0;23511:15:::1;::::0;-1:-1:-1;;;;;23539:20:0::1;::::0;23598:5:::1;::::0;23573:18;;23511:15;23531:77;23511:15;23531:77;23573:18;23539:20;23598:5;23531:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;23643:15:0::1;::::0;23635:67:::1;::::0;23510:98;;-1:-1:-1;;;;;;23643:15:0::1;::::0;23692:5:::1;::::0;23672:13;;23643:15:::1;23635:67:::0;23643:15;23635:67;23672:13;23643:15;23692:5;23635:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;23776:5:0::1;::::0;-1:-1:-1;;23797:19:0;;;-1:-1:-1;23794:362:0::1;;23832:6;::::0;24006:21:::1;::::0;23832:244:::1;::::0;;;;;23908:4:::1;23832:244;::::0;::::1;::::0;;;;;;;:6:::1;:244:::0;;;;;;;;;;-1:-1:-1;;;;;24006:21:0;;::::1;23832:244:::0;;;;24046:15:::1;23832:244:::0;;;;;;:6;;;::::1;::::0;:22:::1;::::0;23862:18;;23832:244;;;;;::::1;::::0;;;;;;;;;23862:18;23832:6;:244;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;23832:244:0;24096:48;;;;;23832:244:::1;24096:48:::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;23794:362;-1:-1:-1::0;;14687:6:0;:14;;-1:-1:-1;;14687:14:0;;;-1:-1:-1;;;;;;;;;;22229:1934:0:o;20432:114::-;-1:-1:-1;;;;;20519:19:0;20494:4;20519:19;;;:11;:19;;;;;;;;20518:20;;20432:114::o;20554:781::-;20634:7;20664:18;20685:6;:29;;20711:3;20685:29;;;20694:14;;20685:29;20664:50;;20725:17;20745:62;20786:14;;20803:3;20786:20;20745:36;20770:10;20745:20;20756:8;;20745:6;:10;;:20;;;;:::i;:62::-;20725:82;;20820:18;20841:36;20868:8;;20841:22;20855:7;;20841:9;:13;;:22;;;;:::i;:36::-;20820:57;-1:-1:-1;20888:22:0;20913:25;:9;20820:57;20913:13;:25::i;:::-;20996:4;20978:24;;;;:9;:24;;;;;;20888:50;;-1:-1:-1;20978:44:0;;20888:50;20978:28;:44::i;:::-;20969:4;20951:24;;;;:9;:24;;;;;;:71;;;;21072:15;;-1:-1:-1;;;;;21072:15:0;21062:26;;;;:42;;21093:10;21062:30;:42::i;:::-;21043:15;;-1:-1:-1;;;;;21043:15:0;;;21033:26;;;;:9;:26;;;;;;;;;:71;;;;21120:47;;;;;;;21145:4;;21120:47;;;;;;;;;;;;21191:14;;21188:99;;21243:15;;21226:45;;;;;;;;-1:-1:-1;;;;;21243:15:0;;;;21226:45;;;;;;;;;;;;;21188:99;21306:21;:6;21317:9;21306:10;:21::i;:::-;21299:28;20554:781;-1:-1:-1;;;;;;;;20554:781:0:o;2873:189::-;2959:7;2994:12;2987:5;2979:28;;;;-1:-1:-1;;;2979:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:9;3034:1;3030;:5;;;;;;;2873:189;-1:-1:-1;;;;;2873:189:0:o

Swarm Source

ipfs://8f42947584f300ca838ffe474b67b00a84ef0e95ba98399ad39d541028daf1f3
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.