[ { "inputs": [ { "internalType": "contract IDataStore", "name": "dataStore", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [], "name": "ExceedsMaxTxAmount", "type": "error" }, { "inputs": [], "name": "ExceedsMaxWalletAmount", "type": "error" }, { "inputs": [], "name": "InvalidConfiguration", "type": "error" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [], "name": "NotWhitelisted", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "TradingNotEnabled", "type": "error" }, { "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": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensAutoLiq", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethAutoLiq", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "SwapAndLiquifyEnabledUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DATA_STORE", "outputs": [ { "internalType": "contract IDataStore", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "addresses", "outputs": [ { "internalType": "address", "name": "locker", "type": "address" }, { "internalType": "address payable", "name": "proofWallet", "type": "address" }, { "internalType": "address payable", "name": "proofStaking", "type": "address" }, { "internalType": "address", "name": "proofPassNFT", "type": "address" }, { "internalType": "address", "name": "router", "type": "address" } ], "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": "value", "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": "buyFees", "outputs": [ { "internalType": "uint256", "name": "main", "type": "uint256" }, { "internalType": "uint256", "name": "secondary", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "proof", "type": "uint256" }, { "internalType": "uint256", "name": "total", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTaxesSettled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cancel", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "liquidityBuy", "type": "uint256" }, { "internalType": "uint256", "name": "mainBuy", "type": "uint256" }, { "internalType": "uint256", "name": "secondaryBuy", "type": "uint256" }, { "internalType": "uint256", "name": "liquiditySell", "type": "uint256" }, { "internalType": "uint256", "name": "mainSell", "type": "uint256" }, { "internalType": "uint256", "name": "secondarySell", "type": "uint256" } ], "name": "changeFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeTokens", "outputs": [ { "internalType": "uint256", "name": "main", "type": "uint256" }, { "internalType": "uint256", "name": "secondary", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "proof", "type": "uint256" }, { "internalType": "uint256", "name": "total", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "initMaxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "params", "type": "bytes" } ], "name": "initialize", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "isTradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isWhitelistActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launch", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "launchedAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limits", "outputs": [ { "internalType": "uint256", "name": "initMaxTx", "type": "uint256" }, { "internalType": "uint256", "name": "swapTokensAtAmount", "type": "uint256" }, { "internalType": "uint256", "name": "maxTxUpper", "type": "uint256" }, { "internalType": "uint256", "name": "maxTxLower", "type": "uint256" }, { "internalType": "uint256", "name": "maxWalletUpper", "type": "uint256" }, { "internalType": "uint256", "name": "maxWalletLower", "type": "uint256" }, { "internalType": "uint256", "name": "maxBuyFee", "type": "uint256" }, { "internalType": "uint256", "name": "maxSellFee", "type": "uint256" }, { "internalType": "uint256", "name": "denominator", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpLockDuration", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mainWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletChanged", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proofFeeReduced", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proofFeeRemoved", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proofPassNFT", "outputs": [ { "internalType": "contract IERC721A", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "restingBuyTotal", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "restingSellTotal", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "restrictWhales", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "secondaryWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellFees", "outputs": [ { "internalType": "uint256", "name": "main", "type": "uint256" }, { "internalType": "uint256", "name": "secondary", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "proof", "type": "uint256" }, { "internalType": "uint256", "name": "total", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTaxesSettled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" } ], "name": "setFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "setMainWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxTxAmt", "type": "uint256" } ], "name": "setMaxTxAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxWalletSize", "type": "uint256" } ], "name": "setMaxWalletSize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setRestrictWhalesEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "setSecondaryWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setSwapAndLiquifyEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setSwapAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" } ], "name": "setTxLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setTxLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" } ], "name": "setWhitelisted", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapping", "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": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "userInfo", "outputs": [ { "internalType": "bool", "name": "isFeeExempt", "type": "bool" }, { "internalType": "bool", "name": "isTxLimitExempt", "type": "bool" }, { "internalType": "bool", "name": "isWhitelisted", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "whitelistDuration", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "whitelistEndTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawStuckTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a03462000114576001600160401b0390601f62003b8438819003918201601f19168301918483118484101762000119578084926020946040528339810103126200011457516001600160a01b038116810362000114576080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1662000102578080831603620000bc575b604051613a5490816200013082396080518181816109450152818161135901526115670152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808062000095565b60405163f92ee8a960e01b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806301339c2114612153578063064a59d01461212d57806306fdde0314612089578063095ea7b3146120085780631694505e14611fdf5780631732cded14611fc157806318160ddd14611f965780631959a00214611f3d57806323b62b7514611f1457806323b872dd14611e2f5780632b112e4914611dde5780632ffe729a14611dc0578063313ce56714611da457806332a8db8714611d86578063439fab9114610fec57806344de2e4c14610fc95780634a829e7914610fa35780634b78286a14610f60578063524513d614610f3a5780635302750114610f1857806354fd4d5014610efc5780635ace112214610e7e5780636402511e14610e5d5780636ddd171314610e3a57806370a0823114610df3578063715018a614610d895780638183b3c814610d3e5780638384201314610d1957806383ebc78d14610cfb578063860aefcf14610c9757806388cda87314610c72578063893fea8b14610c495780638c0b5e2214610c2b5780638d7a8ba714610bce5780638da5cb5b14610b985780638ebfc79614610b4557806395d89b4114610a67578063a8aa1b3114610a3e578063a9059cbb14610a0d578063baae0666146109d7578063bee0d6ad14610992578063bf56b37114610974578063c1d07cc21461092f578063c4080506146108e7578063c49b9a8014610889578063cb29813c1461079c578063d0a5eb4e14610759578063da0321cd14610708578063dd62ed3e146106bf578063de35eb24146106a1578063e0f3ccf51461065c578063e2f456051461063e578063e4748b9e146105f5578063ea1644d514610561578063ea8a1af0146104ef578063ebdfd722146104d1578063ec28438a14610431578063ec3a1d4b14610413578063f2fde38b146103ea578063f66a79a0146103c1578063f8b45b05146103a3578063f8f9892814610328578063f95466211461030a5763f9f4bfdd0361000e573461030557600036600319011261030557602060ff815460081c166040519015158152f35b600080fd5b34610305576000366003190112610305576020602154604051908152f35b3461030557602080600319360112610305576004356001600160401b03811161030557610359903690600401612619565b6103616128e1565b80519060005b82811061037057005b6001906001600160a01b0361038582856127e8565b51166000526023855260406000208260ff1982541617905501610367565b34610305576000366003190112610305576020600954604051908152f35b34610305576000366003190112610305576003546040516001600160a01b039091168152602090f35b3461030557602036600319011261030557610019610406612564565b61040e6128e1565b61286d565b34610305576000366003190112610305576020600654604051908152f35b346103055760203660031901126103055760043561044d6128e1565b6007541580156104aa575b801561047a575b61046857600855005b60405163c52a9bd360e01b8152600490fd5b506104a361049a6000805160206139bf83398151915254602b54906127b5565b603154906127c8565b811161045f565b506104ca61049a6000805160206139bf83398151915254602c54906127b5565b8110610458565b34610305576000366003190112610305576020600554604051908152f35b34610305576000366003190112610305576105086128e1565b60075461046857600080808060018060a01b0360008051602061399f8339815191526105528282541630855260008051602061395f83398151915260205260408520549030612aaf565b541647905af15061001961283d565b346103055760203660031901126103055760043561057d6128e1565b6007541580156105ce575b80156105a7575b61046857600955600b805461ff001916610100179055005b506105c761049a6000805160206139bf83398151915254602d54906127b5565b811161058f565b506105ee61049a6000805160206139bf83398151915254602e54906127b5565b8110610588565b3461030557600036600319011261030557601454601554601654601754601854604080519586526020860194909452928401919091526060830152608082015260a090f35b0390f35b34610305576000366003190112610305576020600e54604051908152f35b3461030557600036600319011261030557601954601a54601b54601c54601d54604080519586526020860194909452928401919091526060830152608082015260a090f35b34610305576000366003190112610305576020602254604051908152f35b34610305576040366003190112610305576106d8612564565b6106e96106e361257a565b916125a4565b9060018060a01b03166000526020526020604060002054604051908152f35b346103055760003660031901126103055760a0600180821b03806024541690806025541690806026541681602754169160285416926040519485526020850152604084015260608301526080820152f35b3461030557602036600319011261030557610772612564565b61077a6128e1565b600280546001600160a01b0319166001600160a01b0392909216919091179055005b346103055760c0366003190112610305576107b56128e1565b60205460ff81161590811561087a575b506104685760806107d4612812565b604081019060043582526024358152602081019060443582526107f5612812565b9284604085019260643584526084358652602086019260a4358452600754151560001461086f57610824612c2f565b919091965b606084019260608a0198895283526108418985612970565b83516014555160155551601655516017550151601855835160195551601a5551601b5551601c550151601d55005b600290600296610829565b60ff915060081c1615816107c5565b34610305576020366003190112610305577f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15960206108c5612696565b6108cd6128e1565b151560ff19600d541660ff821617600d55604051908152a1005b34610305576020366003190112610305576004356001600160401b03811161030557610917903690600401612619565b61091f6128e1565b6007546104685761001990612be2565b34610305576000366003190112610305576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610305576000366003190112610305576020600754604051908152f35b3461030557600036600319011261030557600f54601054601154601254601354604080519586526020860194909452928401919091526060830152608082015260a090f35b34610305576020366003190112610305576109f0612696565b6109f86128e1565b60ff8019600b54169115151617600b55600080f35b3461030557604036600319011261030557610a33610a29612564565b602435903361291a565b602060405160018152f35b34610305576000366003190112610305576001546040516001600160a01b039091168152602090f35b3461030557600036600319011261030557604051600060008051602061397f833981519152805490610a98826126d3565b80855291602091600191828116908115610b185750600114610ad1575b61063a86610ac5818803826125f8565b6040519182918261251b565b600090815293506000805160206139df8339815191525b838510610b0557505050508101602001610ac58261063a85610ab5565b8054868601840152938201938101610ae8565b905086955061063a96935060209250610ac594915060ff191682840152151560051b820101929385610ab5565b3461030557604036600319011261030557610019610b61612564565b610b69612687565b90610b726128e1565b60018060a01b0316600052602360205260406000209060ff801983541691151516179055565b346103055760003660031901126103055760008051602061399f833981519152546040516001600160a01b039091168152602090f35b3461030557604036600319011261030557610019610bea612564565b610bf2612687565b90610bfb6128e1565b6001600160a01b03166000908152602360205260409020805461ff00191691151560081b61ff0016919091179055565b34610305576000366003190112610305576020600854604051908152f35b34610305576000366003190112610305576004546040516001600160a01b039091168152602090f35b3461030557600036600319011261030557602060ff815460101c166040519015158152f35b3461030557600036600319011261030557610120602954602a54602b54602c54602d54602e5490602f54926030549460315496604051988952602089015260408801526060870152608086015260a085015260c084015260e0830152610100820152f35b34610305576000366003190112610305576020601e54604051908152f35b3461030557600036600319011261030557602060ff815460181c166040519015158152f35b3461030557600036600319011261030557610d576128e1565b3060005260008051602061395f833981519152602052610019610d82604060002054601354906126c6565b3330612aaf565b3461030557600036600319011261030557610da26128e1565b60008051602061399f83398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610305576020366003190112610305576001600160a01b03610e14612564565b1660005260008051602061395f8339815191526020526020604060002054604051908152f35b3461030557600036600319011261030557602060ff600d54166040519015158152f35b3461030557602036600319011261030557610e766128e1565b600435600e55005b3461030557602080600319360112610305576004356001600160401b03811161030557610eaf903690600401612619565b610eb76128e1565b80519060005b828110610ec657005b6001906001600160a01b03610edb82856127e8565b511660005260238552604060002061010061ff001982541617905501610ebd565b3461030557600036600319011261030557602060405160018152f35b3461030557600036600319011261030557602060ff8154166040519015158152f35b3461030557600036600319011261030557602060ff60045460a81c166040519015158152f35b3461030557602036600319011261030557610f79612564565b610f816128e1565b600380546001600160a01b0319166001600160a01b0392909216919091179055005b3461030557600036600319011261030557602060ff600b5460081c166040519015158152f35b3461030557600036600319011261030557602060ff600b54166040519015158152f35b6020366003190112610305576004356001600160401b03811161030557366023820112156103055780600401356001600160401b03811161030557810190366024830111610305576000805160206139ff83398151915254906001600160401b03821680159081611d76575b6001149081611d6c575b159081611d63575b50611d515760016001600160401b03198316176000805160206139ff8339815191525560ff8260401c1615611d24575b602081840312610305576024810135926001600160401b038411610305576102c084830182031261030557604051936101c085018581106001600160401b038211176118d057604052602481840101356001600160401b0381116103055761110c906024808501918487010101612728565b8552604481840101356001600160401b03811161030557611137906024808501918487010101612728565b602086015261114a606482850101612590565b604086015261115d608482850101612590565b606086015261117060a482850101612590565b608086015282810160c481013560a087015260e481013560c087015261010481013560e08701526101248101356101008701526111b59060248401906101440161276f565b6101208601526111ce602483016101e48386010161276f565b6101408601526001600160401b03610284828501013511610305576112249261120b60246102c49401602461028485850101358585010101612619565b610160870152016102a481013561018086015201612590565b6101a083015281519160208101519161123b613827565b611243613827565b83516001600160401b0381116118d05761126b60008051602061393f833981519152546126d3565b601f8111611cae575b506020601f8211600114611c1f578192939495600092611c14575b50508160011b916000199060031b1c19161760008051602061393f833981519152555b82516001600160401b0381116118d0576112da60008051602061397f833981519152546126d3565b601f8111611b9e575b506020601f8211600114611b105781929394600092611b05575b50508160011b916000199060031b1c19161760008051602061397f833981519152555b6040820151611342906001600160a01b031661133a613827565b61040e613827565b604051636f89e40960e01b815291610120836004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa92831561192057600093611a53575b5082516029556020830151602a556040830151602b556060830151602c556080830151602d5560a0830151602e5560c0830151602f5560e0830151603055610100830151603155600260606101208301510181606061014085015101525261140561012082015161014083015190612970565b60606101208201516080810151601e5560806101408401510151601f550151600f03600f8111611a3d576114466114569160206101208501510151906126c6565b60406101208401510151906126c6565b61012082015152600f608061012083015101526060610140820151015160140360148111611a3d576114956114a59160206101408501510151906126c6565b60406101408401510151906126c6565b61014082015152601460806101408301510152608061012082015180516014556020810151601555604081015160165560608101516017550151601855608061014082015180516019556020810151601a556040810151601b556060810151601c550151601d5560018060a01b036060820151166001600160601b0360a01b600254161760025560018060a01b036080820151166001600160601b0360a01b600354161760035560405163cca3e97f60e01b815260a081600481600180851b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115611920576000916119b1575b508051602480546001600160a01b03199081166001600160a01b039384161790915560208084015160258054841691851691909117905560408085015160268054851691861691909117905560608501516027805485169186169182179055608090950151602880548516919095169081179094556004805484169095178555600080549093168417909255905163c45a015560e01b815292839081845afa91821561192057600092611970575b506020600491604051928380926315ab88c960e31b82525afa9081156119205760009161192c575b506040516364e329cb60e11b81523060048201526001600160a01b0391821660248201529160209183916044918391600091165af1908115611920576000916118e6575b5060018060a01b03166001600160601b0360a01b600154161760015561173b60646116e660a084015160c0850151906127b5565b04936116f28530612a25565b60e083015160225561171c61171060a08501516020840151906127b5565b610100830151906127c8565b600e5561010061173260a08501518351906127b5565b910151906127c8565b6008556103e861175861010083015180600a5560a08401516127b5565b046009556040519060608201918083106001600160401b038411176118d05760ff9462ff00006118669261186c956040526001815260208101600181526117df6040830191600183523060005260236020526117c8604060002094511515859060ff801983541691151516179055565b51835461ff00191690151560081b61ff0016178355565b518154831990811691151560101b909316179055600180546001600160a01b0390811660009081526040808220805461ff001916610100179055925490911681522080549091166201000017905561018083015160065561016083015161184590612be2565b60a0600180821b0360008051602061399f83398151915254169301516126c6565b90612a25565b60401c161561187757005b68ff0000000000000000196000805160206139ff83398151915254166000805160206139ff833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b634e487b7160e01b600052604160045260246000fd5b90506020813d602011611918575b81611901602093836125f8565b8101031261030557611912906126b2565b846116b2565b3d91506118f4565b6040513d6000823e3d90fd5b90506020813d602011611968575b81611947602093836125f8565b8101031261030557600091604461195f6020936126b2565b9250509161166e565b3d915061193a565b9091506020813d6020116119a9575b8161198c602093836125f8565b810103126103055760206119a16004926126b2565b929150611646565b3d915061197f565b905060a0813d60a011611a35575b816119cc60a093836125f8565b8101031261030557611a2a6080604051926119e6846125dd565b6119ef816126b2565b84526119fd602082016126b2565b6020850152611a0e604082016126b2565b6040850152611a1f606082016126b2565b6060850152016126b2565b608082015284611598565b3d91506119bf565b634e487b7160e01b600052601160045260246000fd5b909250610120813d61012011611afd575b81611a7261012093836125f8565b810103126103055760405190816101208101106001600160401b03610120840111176118d057610100906101208301604052805183526020810151602084015260408101516040840152606081015160608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e084015201516101008201529183611392565b3d9150611a64565b0151905084806112fd565b60008051602061397f8339815191526000526000805160206139df8339815191529060005b601f1984168110611b865750600193949583601f19811610611b6d575b505050811b0160008051602061397f83398151915255611320565b015160001960f88460031b161c19169055848080611b52565b9091602060018192858a015181550193019101611b35565b60008051602061397f833981519152600052601f820160051c6000805160206139df8339815191520160208310611bff575b601f820160051c6000805160206139df833981519152018110611bf357506112e3565b60008155600101611bd0565b506000805160206139df833981519152611bd0565b01519050858061128f565b60008051602061393f83398151915260005260008051602061391f8339815191529060005b601f1984168110611c96575060019394959683601f19811610611c7d575b505050811b0160008051602061393f833981519152556112b2565b015160001960f88460031b161c19169055858080611c62565b9091602060018192858b015181550193019101611c44565b60008051602061393f833981519152600052601f820160051c60008051602061391f8339815191520160208310611d0f575b601f820160051c60008051602061391f833981519152018110611d035750611274565b60008155600101611ce0565b5060008051602061391f833981519152611ce0565b68ffffffffffffffffff19821668010000000000000001176000805160206139ff8339815191525561109a565b60405163f92ee8a960e01b8152600490fd5b9050158461106a565b303b159150611062565b604084901c60ff16159150611058565b34610305576000366003190112610305576020601f54604051908152f35b3461030557600036600319011261030557602060405160098152f35b34610305576000366003190112610305576020600a54604051908152f35b34610305576000366003190112610305576020611e276000805160206139bf8339815191525461dead60005260008051602061395f8339815191528352604060002054906126c6565b604051908152f35b3461030557606036600319011261030557611e48612564565b611e5061257a565b60443590611e5d836125a4565b33600052602052604060002054926000198403611e7f575b610a33935061291a565b828410611eee576001600160a01b03811615611ed5573315611ebc5782610a3394611ea9836125a4565b3360005260205203604060002055611e75565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610305576000366003190112610305576002546040516001600160a01b039091168152602090f35b34610305576020366003190112610305576001600160a01b03611f5e612564565b166000526023602052606060406000205460ff6040519181811615158352818160081c161515602084015260101c1615156040820152f35b346103055760003660031901126103055760206000805160206139bf83398151915254604051908152f35b34610305576000366003190112610305576020600c54604051908152f35b34610305576000366003190112610305576000546040516001600160a01b039091168152602090f35b3461030557604036600319011261030557612021612564565b602435903315611ed5576001600160a01b0316908115611ebc57612044336125a4565b82600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461030557600036600319011261030557604051600060008051602061393f8339815191528054906120ba826126d3565b80855291602091600191828116908115610b1857506001146120e65761063a86610ac5818803826125f8565b6000908152935060008051602061391f8339815191525b83851061211a57505050508101602001610ac58261063a85610ab5565b80548686018401529382019381016120fd565b3461030557600036600319011261030557602060ff60045460a01c166040519015158152f35b6000366003190112610305576121676128e1565b6002600c556007546104685760018060ff198181600b541617600b55600d541617600d55612197600654426126a5565b600555600480544260075561ffff60a01b19811661010160a01b1782556040516318160ddd60e01b81526020926001600160a01b039284918391829060009087165af1908115611920576000916124ee575b50838101809111611a3d57835b81811061245b57505080600054163015611ed5578015611ebc57612219306125a4565b816000528352600019806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843092a33060005260008051602061395f83398151915282526040600020549061227b4734906126c6565b6060826000541660c46040518094819363f305d71960e01b83523060048401526024988984015260006044840152600060648401523060848401524260a48401525af1801561192057612430575b508084541691604051916370a0823160e01b835230600484015284838381875afa928315611920578590600094612400575b5060009394604483855416604051968793849263095ea7b360e01b8452600484015289888401525af19283156119205785936123ca575b508060c491835416908754169061234b602254426126a5565b6040519687958694635af06fed60e01b8652600486015233908501526044840152606483015260006084830152600060a483015234905af19182156119205760009261239c575b5050602155600c55005b90809250813d83116123c3575b6123b381836125f8565b8101031261030557518280612392565b503d6123a9565b909281813d83116123f9575b6123e081836125f8565b8101031261030557518015150361030557839186612332565b503d6123d6565b809450813d8311612429575b61241681836125f8565b81010312610305578460009351936122fb565b503d61240c565b606090813d8311612454575b61244681836125f8565b8101031261030557846122c9565b503d61243c565b6000908484600454166024604051809581936331a9108f60e11b83528660048401525af191821561192057869285916000916124b5575b50166000526023855260406000206201000062ff000019825416179055016121f6565b935050508482813d83116124e7575b6124ce81836125f8565b8101031261030557836124e187936126b2565b88612492565b503d6124c4565b90508281813d8311612514575b61250581836125f8565b810103126103055751846121e9565b503d6124fb565b6020808252825181830181905290939260005b82811061255057505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161252e565b600435906001600160a01b038216820361030557565b602435906001600160a01b038216820361030557565b35906001600160a01b038216820361030557565b6001600160a01b031660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b60a081019081106001600160401b038211176118d057604052565b90601f801991011681019081106001600160401b038211176118d057604052565b81601f82011215610305578035916020916001600160401b0384116118d0578360051b906040519461264d858401876125f8565b85528380860192820101928311610305578301905b828210612670575050505090565b83809161267c84612590565b815201910190612662565b60243590811515820361030557565b60043590811515820361030557565b91908201809211611a3d57565b51906001600160a01b038216820361030557565b91908203918211611a3d57565b90600182811c92168015612703575b60208310146126ed57565b634e487b7160e01b600052602260045260246000fd5b91607f16916126e2565b6001600160401b0381116118d057601f01601f191660200190565b81601f820112156103055780359061273f8261270d565b9261274d60405194856125f8565b8284526020838301011161030557816000926020809301838601378301015290565b91908260a091031261030557604051612787816125dd565b6080808294803584526020810135602085015260408101356040850152606081013560608501520135910152565b81810292918115918404141715611a3d57565b81156127d2570490565b634e487b7160e01b600052601260045260246000fd5b80518210156127fc5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b6040519061281f826125dd565b60006080838281528260208201528260408201528260608201520152565b3d15612868573d9061284e8261270d565b9161285c60405193846125f8565b82523d6000602084013e565b606090565b6001600160a01b039081169081156128c85760008051602061399f83398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b604051631e4fbdf760e01b815260006004820152602490fd5b60008051602061399f833981519152546001600160a01b0316330361290257565b60405163118cdaa760e01b8152336004820152602490fd5b91906001600160a01b03808416156129575781161561293e5761293c92612c8d565b565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b61298e61298360408301518351906126a5565b6020830151906126a5565b60808201818152919080612a105750606060009101525b6129c36129b860408401518451906126a5565b6020840151906126a5565b608083018181529290806129fb5750606060009101525b51602f54109081156129ee575b5061046857565b90505160305410386129e7565b6060612a09920151906126a5565b82526129da565b6060612a1e920151906126a5565b81526129a5565b907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206000926000805160206139bf83398151915294612a678287546126a5565b86556001600160a01b03169485158514612a8b578181540390555b604051908152a3565b5084845260008051602061395f833981519152825260408420818154019055612a82565b6001600160a01b0380821692909183612b4f57507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916020916000805160206139bf833981519152612b028782546126a5565b90555b169384612b2a576000805160206139bf833981519152818154039055604051908152a3565b8460005260008051602061395f83398151915282526040600020818154019055612a82565b8360005260008051602061395f8339815191528060205260406000205491868310612baf575091857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef949260209487600052855203604060002055612b05565b60405163391434e360e21b81526001600160a01b0391909116600482015260248101929092525060448101859052606490fd5b80519060009060005b838110612bf85750505050565b6001906001600160a01b03612c0d82856127e8565b51168452602360205260408420805462ff000019166201000017905501612beb565b612c3b600754426126c6565b6228de80811115612c625750630100000063ff000000196020541617602055600090600090565b620151801015612c85576201000062ff0000196020541617602055600190600190565b600290600290565b9291906004549360ff60009560a01c1615613815576002600c541480156137f1575b80156137cd575b80156137c5575b612d41576001600160a01b038181168652602360205260408087209184168752862060045490919060a881901c60ff1661376f575b50600b5460ff8160081c1615613703575b5060ff600b5416613659575b60135490600e5491828110158061364d575b80613635575b6130ff575b5060ff915054161590816130f2575b50612d4c575b61293c939450612aaf565b60205460189060ff81831c1615612e40575b50600154949561293c95909185916001600160a01b039081169086168103612de8575050612dbd9150604051612d93816125dd565b6019548152601a546020820152601b546040820152601c546060820152601d546080820152613856565b80612dcc575b50849350612d41565b92612dda84612de2926126c6565b933083612aaf565b38612dc3565b6001600160a01b03851614612dff575b5050612dbd565b612e39925060405190612e11826125dd565b6014548252601554602083015260165460408301526017546060830152546080820152613856565b8338612df8565b612e4c600754426126c6565b9060ff8160101c1615806130e6575b15612f06575050612e708154601754906126c6565b80612eef5750858155856017555b612e8d601d54601c54906126c6565b80612ebc5750838661293c9697601d5580601c555b6201000062ff00001960205416176020555b969550612d5e565b60018101809111612edb5761293c95968591601d556001601c55612ea2565b634e487b7160e01b87526011600452602487fd5b60018101809111612edb5781556001601755612e7e565b6228de80821115612f595750508361293c9596612f2660175484546126c6565b8355612f36601c54601d546126c6565b601d558060175580601c55630100000063ff000000196020541617602055612eb4565b60ff161561303e575b60ff60205460081c1615612f7d575b508361293c9596612eb4565b601f5480916109618110613014575b50959661293c96869290818111612fe25750612fbe612fb582612fc793601d55601b54906126c6565b601a54906126c6565b601c54906126c6565b60195561010061ff001960205416176020555b969550612f71565b9050601d548103612ff4575b50612fda565b612fbe612fb58261300b93601d55601b54906126c6565b60195538612fee565b60789150046014036014811161302a5785612f8c565b634e487b7160e01b88526011600452602488fd5b601e548061070983106130c1575b818111613091575061307361306a8261307c938655601654906126c6565b601554906126c6565b601754906126c6565b601455600160ff196020541617602055612f62565b9050825481036130a2575b50612f62565b61307361306a826130b8938655601654906126c6565b6014553861309c565b5060788204600f03600f81111561304c57634e487b7160e01b89526011600452602489fd5b50620151808211612e5b565b60ff915054161538612d3b565b6002600c5561315d61310f612812565b9161312581613120600f54886127b5565b6127c8565b835261313781613120601054886127b5565b602084015261314c81613120601154886127b5565b6040840152613120601254866127b5565b60608201526131756040820151938460011c906126c6565b80608083015247906040518060608101106001600160401b03606083011117613621576060810160405260028152604036602083013780511561360d5730602082015260018060a01b038c5416908c6040516315ab88c960e31b8152602081600481875afa91821561360157916135c3575b508151600110156135af576001600160a01b03166040820152813b156135ab57918c9160405193849263791ac94760e01b845260a4840190600485015284602485015260a060448501528151809152602060c48501920190855b818110613581575050508383809230606483015242608483015203925af1801561357657613545575b5061327590476126c6565b92896132df6132d4613285612812565b96836132a06132958851846127b5565b6080890151906127c8565b808a528061351f575b506132bb6132956020890151846127b5565b8060208b0152806134f9575b50506060860151906127b5565b6080850151906127c8565b60608601818152816134aa575b505050899347908160408201528260011c1515806134a1575b6133b0575b50508161339561333461339a9361332e60ff9860406133a29801519260011c6126c6565b906126c6565b916133428151600f546126c6565b600f5561335560208201516010546126c6565b601055613364836011546126c6565b60115561337760608201516012546126c6565b601255606061338c82516020840151906126a5565b910151906126a5565b6126a5565b6013546126c6565b6013556001600c5538612d2c565b909450606060018060a01b036000541660c46040518098819363f305d71960e01b83523060048401528760011c6024840152600060448401526000606484015261dead60848401524260a48401525af194851561192057600095613469575b509161339561333461339a9361332e6133a2967f28fc98272ce761178794ad6768050fea1648e07f1e2ffe15afd3a290f838148660408060ff9c9301518151908660011c82526020820152a198505093505081935061330a565b9450916060853d606011613499575b81613485606093836125f8565b81010312610305579351939161339561340f565b3d9150613478565b50811515613305565b828092916134e4829360011c838080808460018060a01b03602654165af1506134d161283d565b5060018060a01b036025541692516126c6565b905af1506134f061283d565b508938806132ec565b600354829182918291906001600160a01b03165af15061351761283d565b5083386132c7565b600254829182918291906001600160a01b03165af15061353d61283d565b5083386132a9565b6001600160401b03819b929b11613562576040529861327561326a565b634e487b7160e01b82526041600452602482fd5b6040513d8d823e3d90fd5b9260209194965060019295508190838060a01b0387511681520194019101908f9492869492613241565b8c80fd5b634e487b7160e01b8e52603260045260248efd5b90506020813d6020116135f9575b816135de602093836125f8565b810103126135f5576135ef906126b2565b386131e7565b8d80fd5b3d91506135d1565b604051903d90823e3d90fd5b634e487b7160e01b8c52603260045260248cfd5b634e487b7160e01b8c52604160045260248cfd5b506001546001600160a01b0386811691161415612d27565b5060ff600d5416612d21565b6001546001600160a01b03858116911614806136f4575b806136e9575b6136d75760ff825460081c1615806136a0575b15612d0f5760405163fd42866160e01b8152600490fd5b506001600160a01b038416875260008051602061395f83398151915260205260408720546136ce90866126a5565b60095410613689565b6040516329412db560e21b8152600490fd5b506008548511613676565b5060ff815460081c1615613670565b6137466103e891613726613719600754426126c6565b6078600a549104906126a5565b906009821161375a575b506000805160206139bf833981519152546127b5565b04600954810315612d035760095538612d03565b61ff00191661010017600b5550600a38613730565b6005544210156137b6575060ff815460101c161580156137a7575b613795575b38612cf2565b604051630b094f2760e31b8152600490fd5b5060ff825460101c161561378a565b60ff60a81b191660045561378f565b508215612cbd565b5060008051602061399f833981519152546001600160a01b03838116911614612cb6565b5060008051602061399f833981519152546001600160a01b03828116911614612caf565b6040516312f1f92360e01b8152600490fd5b60ff6000805160206139ff8339815191525460401c161561384457565b604051631afcd79f60e31b8152600490fd5b608081018051600094938161386c575b50505050565b613903939550606060646138876138fb95946138f3946127b5565b04966138aa6138a261389a83518b6127b5565b8651906127c8565b600f546126a5565b600f556138c96138c161389a60208401518b6127b5565b6010546126a5565b6010556138e86138e061389a60408401518b6127b5565b6011546126a5565b6011550151866127b5565b9051906127c8565b6012546126a5565b601255613912826013546126a5565b6013553880808061386656fe2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace049016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0246a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aaf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220887de8293cd596d373c9f15944ce7df423fb381de946073498e61baa8bdded9e64736f6c634300081800330000000000000000000000008a85eb1fff988a1b01136279174c969d681a0151