Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
1,000,000,000.00 BLOOP

Holders:
22
Profile Summary
Blockchain:
Ethereum (1)


Decimals:
18
Contract Source Code Verified (Exact Match)
Contract Name:
MemeCoin

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Created At:
Fri, 13 Sep 2024 02:08:23 GMT
Memecoin.sol
Memecoin.sol
Context.sol
ERC20.sol
IERC20.sol
IERC20Metadata.sol
IUniswapV2Factory.sol
IUniswapV2Router.sol
Memecoin.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_bullaDeployer",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_router",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_taxWallet",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_maxWalletAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_buyTax",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_sellTax",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "_name",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "_ticker",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "_picture",
        "type": "string"
      },
      {
        "internalType": "bool",
        "name": "_degen",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "BUY_PRICE_DIFFERENCE_PERCENT",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "FEE_PERCENTAGE",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "LIQUIDITY_TOKENS",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "REVENUE_ACCOUNT",
    "outputs": [
      {
        "internalType": "address payable",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "TARGET_LIQUIDITY",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "TOTAL_BUY_TOKENS",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "TOTAL_SUPPLY",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "allowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "bullaDeployer",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyTax",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "buyer",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "slippageAmount",
        "type": "uint256"
      }
    ],
    "name": "buyTokens",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenAmount",
        "type": "uint256"
      }
    ],
    "name": "calculateEthAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "ethAmount",
        "type": "uint256"
      }
    ],
    "name": "calculateTokenAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "contributions",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "subtractedValue",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "degen",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "devTaxTokens",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getRemainingAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "addedValue",
        "type": "uint256"
      }
    ],
    "name": "increaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "listed",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lpAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxWalletAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "picture",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeTaxFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sanityTokenAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellTax",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "seller",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenAmount",
        "type": "uint256"
      }
    ],
    "name": "sellTokens",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "setSanityTokenAmount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "ethAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "slippageAllowance",
        "type": "uint256"
      }
    ],
    "name": "slippage",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "taxWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "tokens",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalETHBought",
    "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": "totalTokensBought",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uniswapRouter",
    "outputs": [
      {
        "internalType": "contract IUniswapV2Router",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]


Contract Creation Code
608060405268056bc75e2d6310000060055534801561001c575f80fd5b5060405161311a38038061311a83398101604081905261003b91610632565b8383600361004983826107a5565b50600461005682826107a5565b5050600a80546001600160a01b0319166001600160a01b038d8116919091179091556006805462010000600160b01b03191662010000928d1692909202919091179055505f8790036100ac575f19600d5561010f565b866001036100e0576103e86100ce6b033b2e3c9fd0803ce80000006005610873565b6100d89190610890565b600d5561010f565b8660020361010f5760646101016b033b2e3c9fd0803ce80000006001610873565b61010b9190610890565b600d555b86158061011c5750866001145b806101275750866002145b6101785760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964204d61782057616c6c657420416d6f756e740000000000000060448201526064015b60405180910390fd5b600861018483826107a5565b50600980546001600160a01b0319166001600160a01b038a811691909117909155600e879055600f869055600a805461ffff60a01b1916600160a81b8415150260ff60a01b19161790555f600b556006546040805163c45a015560e01b81529051620100009092049092169163c45a01559160048281019260209291908290030181865afa158015610218573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023c91906108af565b6001600160a01b031663c9c6539630600660029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561029c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c091906108af565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561030a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061032e91906108af565b600780546001600160a01b0319166001600160a01b03928316179055600654610361913091620100009004165f19610386565b610377306b033b2e3c9fd0803ce80000006104a9565b505050505050505050506108e2565b6001600160a01b0383166103e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161016f565b6001600160a01b0382166104495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161016f565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166104ff5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161016f565b8060025f82825461051091906108cf565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b80516001600160a01b0381168114610581575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126105a9575f80fd5b81516001600160401b038111156105c2576105c2610586565b604051601f8201601f19908116603f011681016001600160401b03811182821017156105f0576105f0610586565b604052818152838201602001851015610607575f80fd5b8160208501602083015e5f918101602001919091529392505050565b80518015158114610581575f80fd5b5f805f805f805f805f806101408b8d03121561064c575f80fd5b6106558b61056b565b995061066360208c0161056b565b985061067160408c0161056b565b60608c015160808d015160a08e015160c08f0151939b50919950975095506001600160401b038111156106a2575f80fd5b6106ae8d828e0161059a565b60e08d015190955090506001600160401b038111156106cb575f80fd5b6106d78d828e0161059a565b6101008d015190945090506001600160401b038111156106f5575f80fd5b6107018d828e0161059a565b9250506107116101208c01610623565b90509295989b9194979a5092959850565b600181811c9082168061073657607f821691505b60208210810361075457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561056657805f5260205f20601f840160051c8101602085101561077f5750805b601f840160051c820191505b8181101561079e575f815560010161078b565b5050505050565b81516001600160401b038111156107be576107be610586565b6107d2816107cc8454610722565b8461075a565b6020601f821160018114610804575f83156107ed5750848201515b5f19600385901b1c1916600184901b17845561079e565b5f84815260208120601f198516915b828110156108335787850151825560209485019460019092019101610813565b508482101561085057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761088a5761088a61085f565b92915050565b5f826108aa57634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156108bf575f80fd5b6108c88261056b565b9392505050565b8082018082111561088a5761088a61085f565b61282b806108ef5f395ff3fe608060405260043610610248575f3560e01c8063735de9f711610134578063b198155d116100b3578063cf602ebc11610078578063cf602ebc1461068d578063d89738c1146106ac578063dabaae11146106c1578063dd62ed3e146106d5578063e4860339146106f4578063ee6629221461071f575f80fd5b8063b198155d14610606578063baa9e53114610625578063be7ed9471461063a578063c464fe6514610659578063cc1776d314610678575f80fd5b80639b4dc8cc116100f95780639b4dc8cc14610575578063a24bcf4614610594578063a457c2d7146105b3578063a9059cbb146105d2578063aa4bde28146105f1575f80fd5b8063735de9f7146104f55780637900692a1461051a5780637b1e9cf81461052e578063902d55a51461054257806395d89b4114610561575f80fd5b8063313ce567116101cb5780634ed49269116101905780634ed49269146104525780634f7041a5146104675780635c95eb521461047c5780636fc505261461049757806370a08231146104ac57806372e1a09a146104e0575f80fd5b8063313ce567146103b757806339509351146103ca5780633fccbdff146103e957806342e94c90146104085780634826091214610433575f80fd5b80631747a57b116102115780631747a57b1461031b57806318160ddd1461033b5780631ae947f71461035957806323b872dd146103795780632dc0562d14610398575f80fd5b80620b46f81461024c57806306fdde03146102775780630752881a1461029857806308f59fbc146102ad578063095ea7b3146102ec575b5f80fd5b348015610257575f80fd5b50610260600281565b60405160ff90911681526020015b60405180910390f35b348015610282575f80fd5b5061028b61073d565b60405161026e919061241a565b6102ab6102a6366004612463565b6107cd565b005b3480156102b8575f80fd5b506102d473cde357abbdf15da7cce4b51ce70a1d0f08dfb78281565b6040516001600160a01b03909116815260200161026e565b3480156102f7575f80fd5b5061030b610306366004612463565b610b47565b604051901515815260200161026e565b348015610326575f80fd5b50600a5461030b90600160a01b900460ff1681565b348015610346575f80fd5b506002545b60405190815260200161026e565b348015610364575f80fd5b50600a5461030b90600160a81b900460ff1681565b348015610384575f80fd5b5061030b61039336600461248d565b610b60565b3480156103a3575f80fd5b506009546102d4906001600160a01b031681565b3480156103c2575f80fd5b506012610260565b3480156103d5575f80fd5b5061030b6103e4366004612463565b610b83565b3480156103f4575f80fd5b5061034b610403366004612463565b610ba4565b348015610413575f80fd5b5061034b6104223660046124cb565b60116020525f908152604090205481565b34801561043e575f80fd5b50600a546102d4906001600160a01b031681565b34801561045d575f80fd5b5061034b60105481565b348015610472575f80fd5b5061034b600e5481565b348015610487575f80fd5b5061034b673782dace9d90000081565b3480156104a2575f80fd5b5061034b6103e881565b3480156104b7575f80fd5b5061034b6104c63660046124cb565b6001600160a01b03165f9081526020819052604090205490565b3480156104eb575f80fd5b5061034b600b5481565b348015610500575f80fd5b506006546102d4906201000090046001600160a01b031681565b348015610525575f80fd5b506102ab610ce6565b348015610539575f80fd5b5061028b610d75565b34801561054d575f80fd5b5061034b6b033b2e3c9fd0803ce800000081565b34801561056c575f80fd5b5061028b610e01565b348015610580575f80fd5b506007546102d4906001600160a01b031681565b34801561059f575f80fd5b5061034b6105ae3660046124ed565b610e10565b3480156105be575f80fd5b5061030b6105cd366004612463565b610efc565b3480156105dd575f80fd5b5061030b6105ec366004612463565b610f76565b3480156105fc575f80fd5b5061034b600d5481565b348015610611575f80fd5b5061034b6b0295be96e64066972000000081565b348015610630575f80fd5b5061034b600c5481565b348015610645575f80fd5b506102ab6106543660046124ed565b610f83565b348015610664575f80fd5b506102ab610673366004612463565b61101f565b348015610683575f80fd5b5061034b600f5481565b348015610698575f80fd5b5061034b6106a7366004612504565b611683565b3480156106b7575f80fd5b5061034b60055481565b3480156106cc575f80fd5b5061034b611715565b3480156106e0575f80fd5b5061034b6106ef366004612524565b611776565b3480156106ff575f80fd5b5061034b61070e3660046124cb565b60126020525f908152604090205481565b34801561072a575f80fd5b5061034b6aa56fa5b99019a5c800000081565b60606003805461074c9061255b565b80601f01602080910402602001604051908101604052809291908181526020018280546107789061255b565b80156107c35780601f1061079a576101008083540402835291602001916107c3565b820191905f5260205f20905b8154815290600101906020018083116107a657829003601f168201915b5050505050905090565b600a546001600160a01b031633146108005760405162461bcd60e51b81526004016107f790612593565b60405180910390fd5b600a54600160a01b900460ff161561082a5760405162461bcd60e51b81526004016107f7906125ca565b5f34116108725760405162461bcd60e51b815260206004820152601660248201527553656e642045544820746f2062757920746f6b656e7360501b60448201526064016107f7565b6006805460ff191660011790555f606461088d600234612623565b610897919061263a565b90505f6108a48234612659565b90505f6108b082610e10565b90505f6108bd838361263a565b90505f346108c96117a0565b0361090d5750600c5481906108ea906b0295be96e640669720000000612659565b83111561090d57600c5461090a906b0295be96e640669720000000612659565b92505b82600c5f82825461091e919061266c565b90915550506001600160a01b0387165f908152601160205260408120805486929061094a90849061266c565b90915550505f8190036109a757858310156109a75760405162461bcd60e51b815260206004820152601b60248201527f536c69707061676520416d6f756e74205265737472696374696f6e000000000060448201526064016107f7565b5f600e541180156109c657506009546001600160a01b03888116911614155b15610a3c575f6064600e54856109dc9190612623565b6109e6919061263a565b90505f6109f38286612659565b905081601054610a03919061266c565b6010556001600160a01b0389165f9081526012602052604081208054839290610a2d90849061266c565b90915550909450610a69915050565b6001600160a01b0387165f9081526012602052604081208054859290610a6390849061266c565b90915550505b83600b5f828254610a7a919061266c565b90915550610a8b90503088856117d7565b6040515f9073cde357abbdf15da7cce4b51ce70a1d0f08dfb7829087908381818185875af1925050503d805f8114610ade576040519150601f19603f3d011682016040523d82523d5f602084013e610ae3565b606091505b50508091505080610b065760405162461bcd60e51b81526004016107f79061267f565b673782dace9d9000004710158015610b285750600a54600160a01b900460ff16155b15610b3d57610b35611ba1565b610b3d611d44565b5050505050505050565b5f33610b54818585611e8c565b60019150505b92915050565b5f33610b6d858285611faf565b610b788585856117d7565b506001949350505050565b5f33610b54818585610b958383611776565b610b9f919061266c565b611e8c565b6001600160a01b0382165f9081526012602052604081205482811015610c0c5760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e74207573657220746f6b656e2062616c616e63650060448201526064016107f7565b600a545f90600160a81b900460ff16610c57576001600160a01b0385165f908152601160205260409020548290610c44908690612623565b610c4e919061263a565b92505050610b5a565b600b546001600160a01b0386165f908152601160205260409020541015610cd6576001600160a01b0385165f90815260116020526040902054600b54610c9d9190612659565b9050610caa60058261263a565b6001600160a01b0386165f90815260116020526040902054909150610ccf908261266c565b9050610cdb565b50600b545b81610c448583612623565b600a546001600160a01b03163314610d105760405162461bcd60e51b81526004016107f790612593565b6009546001600160a01b03163214610d6a5760405162461bcd60e51b815260206004820152601a60248201527f556e617574686f72697a656420526573657420417474656d707400000000000060448201526064016107f7565b5f600e819055600f55565b60088054610d829061255b565b80601f0160208091040260200160405190810160405280929190818152602001828054610dae9061255b565b8015610df95780601f10610dd057610100808354040283529160200191610df9565b820191905f5260205f20905b815481529060010190602001808311610ddc57829003601f168201915b505050505081565b60606004805461074c9061255b565b5f673782dace9d90000082600b54610e28919061266c565b1115610e725760405162461bcd60e51b8152602060048201526019602482015278131a5c5d5a591a5d1e481d185c99d95d08195e18d959591959603a1b60448201526064016107f7565b5f610e7b612027565b90505f673782dace9d900000610e9260068661263a565b600b54610e9f919061266c565b6064610ead6103e886612623565b610eb7919061263a565b610ec19190612623565b610ecb919061263a565b610ed5908361266c565b905080610eea85670de0b6b3a7640000612623565b610ef4919061263a565b949350505050565b5f3381610f098286611776565b905083811015610f695760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107f7565b610b788286868403611e8c565b5f33610b548185856117d7565b600a546001600160a01b03163314610fad5760405162461bcd60e51b81526004016107f790612593565b6009546001600160a01b031632146110075760405162461bcd60e51b815260206004820152601a60248201527f556e617574686f72697a656420526573657420417474656d707400000000000060448201526064016107f7565b61101981670de0b6b3a7640000612623565b60055550565b600a546001600160a01b031633146110495760405162461bcd60e51b81526004016107f790612593565b600a54600160a01b900460ff16156110735760405162461bcd60e51b81526004016107f7906125ca565b5f81116110c25760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e203000000060448201526064016107f7565b6006805461ff0019166101001790555f6110dc8383610ba4565b90506b033b2e3c9fd0803ce80000008261110a306001600160a01b03165f9081526020819052604090205490565b611114919061266c565b0361114f5750600a544790600160a81b900460ff16611146576001600160a01b0383165f908152601160205260408120555b5f600b5561148d565b600a54600160a81b900460ff166111aa576001600160a01b0383165f9081526011602052604081208054839290611187908490612659565b9250508190555080600b5f82825461119f9190612659565b9091555061148d9050565b6001600160a01b0383165f90815260116020526040902054811115611476575f808311801561120857506001600160a01b0384165f908152601260205260409020546064906111fa906019612623565b611204919061263a565b8311155b15611244576001600160a01b0384165f90815260116020526040902054606490611233906019612623565b61123d919061263a565b905061141a565b6001600160a01b0384165f9081526012602052604090205460649061126a906019612623565b611274919061263a565b83101580156112b257506001600160a01b0384165f908152601260205260409020546064906112a4906032612623565b6112ae919061263a565b8311155b156112dd576001600160a01b0384165f90815260116020526040902054606490611233906032612623565b6001600160a01b0384165f90815260126020526040902054606490611303906032612623565b61130d919061263a565b831015801561134b57506001600160a01b0384165f9081526012602052604090205460649061133d90604b612623565b611347919061263a565b8311155b15611376576001600160a01b0384165f9081526011602052604090205460649061123390604b612623565b6001600160a01b0384165f9081526012602052604090205460649061139c90604b612623565b6113a6919061263a565b83101580156113e357506001600160a01b0384165f908152601260205260409020546064906113d59082612623565b6113df919061263a565b8311155b1561141a576001600160a01b0384165f9081526011602052604090205460649061140d9082612623565b611417919061263a565b90505b6001600160a01b0384165f9081526011602052604090205461143d908290612659565b6001600160a01b0385165f90815260116020526040812091909155600b805484929061146a908490612659565b9091555061148d915050565b80600b5f8282546114879190612659565b90915550505b5f606461149b600284612623565b6114a5919061263a565b90505f600f541180156114c657506009546001600160a01b03858116911614155b1561153e575f6064600f54856114dc9190612623565b6114e6919061263a565b90505f6114f38286612659565b6001600160a01b0387165f9081526012602052604081208054929350879290919061151f908490612659565b909155505060105461153290839061266c565b601055935061156b9050565b6001600160a01b0384165f9081526012602052604081208054859290611565908490612659565b90915550505b82600c5f82825461157c9190612659565b9091555061158d90508430856117d7565b5f6001600160a01b0385166115a28385612659565b6040515f81818185875af1925050503d805f81146115db576040519150601f19603f3d011682016040523d82523d5f602084013e6115e0565b606091505b505080915050806116035760405162461bcd60e51b81526004016107f79061267f565b60405173cde357abbdf15da7cce4b51ce70a1d0f08dfb7829083905f81818185875af1925050503d805f8114611654576040519150601f19603f3d011682016040523d82523d5f602084013e611659565b606091505b5050809150508061167c5760405162461bcd60e51b81526004016107f79061267f565b5050505050565b5f806064611692600286612623565b61169c919061263a565b90506116a88185612659565b93505f6116b485610e10565b600e54909150156116ea575f6064600e54836116d09190612623565b6116da919061263a565b90506116e68183612659565b9150505b60646116f68583612623565b611700919061263a565b935061170c8482612659565b95945050505050565b5f47673782dace9d900000116117695760405162461bcd60e51b8152602060048201526019602482015278131a5c5d5a591a5d1e481d185c99d95d08195e18d959591959603a1b60448201526064016107f7565b6117716117a0565b905090565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b5f6117ad60026064612659565b600b546117c290673782dace9d900000612659565b6117cd906064612623565b611771919061263a565b5f80600660029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561182a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184e91906126a8565b600a54909150600160a01b900460ff1615611a6257600754611879906001600160a01b031682612067565b5f600e5411801561189757506007546001600160a01b038681169116145b80156118b157506009546001600160a01b03858116911614155b15611900576064600e54846118c69190612623565b6118d0919061263a565b91505f6118dd8385612659565b9050826010546118ed919061266c565b6010559250826118fe8630856120fc565b505b5f600f5411801561191e57506007546001600160a01b038581169116145b801561193857506009546001600160a01b03868116911614155b15611987576064600f548461194d9190612623565b611957919061263a565b91505f6119648385612659565b905082601054611974919061266c565b6010559250826119858630856120fc565b505b6009546001600160a01b038581169116148015906119b357506007546001600160a01b03858116911614155b80156119ca57506001600160a01b03841661dead14155b15611a1957600d54836119f1866001600160a01b03165f9081526020819052604090205490565b6119fb919061266c565b1115611a195760405162461bcd60e51b81526004016107f7906126c3565b611a248585856120fc565b6007546001600160a01b03868116911614801590611a5057506007546001600160a01b03858116911614155b15611a5d57611a5d61229e565b61167c565b6001600160a01b03841630141580611a8357506001600160a01b0385163014155b15611b065760065460ff16151580611aa45750600654610100900460ff1615155b611afa5760405162461bcd60e51b815260206004820152602160248201527f5072652d6c697374696e67207472616e7366657273204e6f7420416c6c6f77656044820152601960fa1b60648201526084016107f7565b6006805461ffff191690555b6009546001600160a01b03858116911614801590611b2d57506001600160a01b0384163014155b8015611b4757506007546001600160a01b03858116911614155b15611b9657600d5483611b6e866001600160a01b03165f9081526020819052604090205490565b611b78919061266c565b1115611b965760405162461bcd60e51b81526004016107f7906126c3565b61167c8585856120fc565b600a8054600160a01b60ff60a01b1990911617905560065460405163f305d71960e01b815230600482018190526aa56fa5b99019a5c800000060248301525f60448301819052606483015260848201524260a4820152620100009091046001600160a01b03169063f305d71990479060c40160606040518083038185885af1158015611c2f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611c549190612710565b50506007546040516370a0823160e01b81523060048201525f92506001600160a01b03909116906370a0823190602401602060405180830381865afa158015611c9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cc3919061273b565b60075460405163a9059cbb60e01b815261dead6004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303815f875af1158015611d14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d389190612752565b50611d4161229e565b50565b6010545f9015611dc0576010546040516370a0823160e01b81523060048201819052906370a0823190602401602060405180830381865afa158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf919061273b565b611db99190612659565b9050611e21565b6040516370a0823160e01b81523060048201819052906370a0823190602401602060405180830381865afa158015611dfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1e919061273b565b90505b60405163a9059cbb60e01b815261dead600482015260248101829052309063a9059cbb906044016020604051808303815f875af1158015611e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e889190612752565b5050565b6001600160a01b038316611eee5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107f7565b6001600160a01b038216611f4f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107f7565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f611fba8484611776565b90505f19811461202157818110156120145760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107f7565b6120218484848403611e8c565b50505050565b5f6101776120436103e86b0295be96e640669720000000612623565b61204d919061263a565b6117cd673782dace9d900000670de0b6b3a7640000612623565b5f19600d5403612075575050565b6040516370a0823160e01b81526001600160a01b0383811660048301525f91908316906370a0823190602401602060405180830381865afa1580156120bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e0919061273b565b90506753444835ec58000081106120f7575f19600d555b505050565b6001600160a01b0383166121605760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107f7565b6001600160a01b0382166121c25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107f7565b6001600160a01b0383165f90815260208190526040902054818110156122395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107f7565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3612021565b60055460105410156122ac57565b6122b76010546122bd565b5f601055565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106122f0576122f0612771565b60200260200101906001600160a01b031690816001600160a01b031681525050600660029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612361573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061238591906126a8565b8160018151811061239857612398612771565b6001600160a01b03928316602091820292909201015260065460095460405163791ac94760e01b81526201000090920483169263791ac947926123e99287925f928892909116904290600401612785565b5f604051808303815f87803b158015612400575f80fd5b505af1158015612412573d5f803e3d5ffd5b505050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611d41575f80fd5b5f8060408385031215612474575f80fd5b823561247f8161244f565b946020939093013593505050565b5f805f6060848603121561249f575f80fd5b83356124aa8161244f565b925060208401356124ba8161244f565b929592945050506040919091013590565b5f602082840312156124db575f80fd5b81356124e68161244f565b9392505050565b5f602082840312156124fd575f80fd5b5035919050565b5f8060408385031215612515575f80fd5b50508035926020909101359150565b5f8060408385031215612535575f80fd5b82356125408161244f565b915060208301356125508161244f565b809150509250929050565b600181811c9082168061256f57607f821691505b60208210810361258d57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526018908201527f556e617574686f72697a656420496e746572616374696f6e0000000000000000604082015260600190565b60208082526025908201527f4c697175696469747920697320616c726561647920616464656420746f20556e604082015264069737761760dc1b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610b5a57610b5a61260f565b5f8261265457634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610b5a57610b5a61260f565b80820180821115610b5a57610b5a61260f565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b604082015260600190565b5f602082840312156126b8575f80fd5b81516124e68161244f565b6020808252602d908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61782060408201526c1dd85b1b195d08185b5bdd5b9d609a1b606082015260800190565b5f805f60608486031215612722575f80fd5b5050815160208301516040909301519094929350919050565b5f6020828403121561274b575f80fd5b5051919050565b5f60208284031215612762575f80fd5b815180151581146124e6575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156127d55783516001600160a01b03168352602093840193909201916001016127ae565b50506001600160a01b03959095166060840152505060800152939250505056fea264697066735822122013f65ab7898602339d9cc4d631be7fd348dfed71a58403f6fb42dfc97a869f2064736f6c634300081a00330000000000000000000000007322662ab50400b672c97821f999cbdb4c904a8b0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000d79b78b8714d52e1f320ed07f1a6d2b5fdfda3f20000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005426c6f6f700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005424c4f4f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b68747470733a2f2f62632d626574612e62756c6c612e66756e2f75706c6f6164732f313732363139333238313331352d626c6f6f702d322e6a70670000000000