[ { "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": "amountETH", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountTokens", "type": "uint256" } ], "name": "AutoLiquify", "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": 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": "TradingOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "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": [], "name": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountPercentage", "type": "uint256" } ], "name": "clearETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "enable_live", "outputs": [], "stateMutability": "nonpayable", "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": "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": "", "type": "address" } ], "name": "isliveed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liveMode", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "manage_live", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "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": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "tokens", "type": "uint256" } ], "name": "removeStuckToken", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IDEXRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setAbsoluteTXN", "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": "setIsTxLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_buy", "type": "uint256" }, { "internalType": "uint256", "name": "_sell", "type": "uint256" }, { "internalType": "uint256", "name": "_trans", "type": "uint256" } ], "name": "setNewMultiplier", "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": [], "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": "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": [ { "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", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_teamFee", "type": "uint256" }, { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" }, { "internalType": "uint256", "name": "_burnFee", "type": "uint256" }, { "internalType": "uint256", "name": "_feeDenominator", "type": "uint256" } ], "name": "updateFeeAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxTXPercent", "type": "uint256" } ], "name": "updateTransactionAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxWallPercent", "type": "uint256" } ], "name": "updateWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052600380546001600160a01b031990811661dead179091556004805490911690556100306012600a61068d565b61003e906305f5e10061069b565b600581905561005c906103e89061005690601961048e565b9061051a565b600655600554610075906103e89061005690601961048e565b600755600360085560056009556001600a556001600b555f600c55600c54600a54600854600954600b546100a991906106b2565b6100b391906106b2565b6100bd91906106b2565b6100c791906106b2565b600d556064600e8190556005601181905560128290556017805460ff60a01b191690556096601b55601c8290556104b0601d556020805461ffff60a01b1916600160a81b1790555461011a90600161069b565b61012491906106c5565b602155348015610132575f80fd5b505f80546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156101ee573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061021291906106e4565b600280546001600160a01b0319166001600160a01b03928316179055601e546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801561026e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029291906106e4565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af11580156102e0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030491906106e4565b602080546001600160a01b039283166001600160a01b031991821681178355601f8054831690911790556013805482163390811790915560148054831673c803cb19305e86753a5d8d02ad9b72ef716b081a17815560158054841683178155601680548516841790556003546017805490951690871617909355305f818152601086526040808220601e548916835287528082205f19905584825260198752808220805460ff19908116600190811790925587548a168452828420805482168317905585548a1684528284208054821683179055868452601889528284208054821683179055601a8952828420805482168317905588548a168452828420805482168317905596548916835281832080548816821790559354909716815286812080548616841790559081528581208054909416909117909255600554818352600f909352838220839055925190917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9161048191815260200190565b60405180910390a361073f565b5f825f0361049d57505f610514565b5f6104a8838561069b565b9050826104b585836106c5565b146105115760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f61051183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061056160201b60201c565b5f81836105815760405162461bcd60e51b8152600401610508919061070a565b505f61058d84866106c5565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156105e5578085048111156105c9576105c9610596565b60018416156105d757908102905b60019390931c9280026105ae565b935093915050565b5f826105fb57506001610514565b8161060757505f610514565b816001811461061d576002811461062757610643565b6001915050610514565b60ff84111561063857610638610596565b50506001821b610514565b5060208310610133831016604e8410600b8410161715610666575081810a610514565b6106725f1984846105aa565b805f190482111561068557610685610596565b029392505050565b5f61051160ff8416836105ed565b808202811582820484141761051457610514610596565b8082018082111561051457610514610596565b5f826106df57634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156106f4575f80fd5b81516001600160a01b0381168114610511575f80fd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b61217f8061074c5f395ff3fe60806040526004361061024c575f3560e01c806378109e5411610134578063b2bdfa7b116100b3578063df20fd4911610078578063df20fd4914610709578063ead5c02714610728578063effbe9ea14610747578063f2fde38b14610766578063f84ba65d14610785578063f887ea40146107a4575f80fd5b8063b2bdfa7b1461063b578063b7593ad914610659578063ce261d1014610687578063d51ed1c8146106a6578063dd62ed3e146106c5575f80fd5b8063900ba33b116100f9578063900ba33b1461059357806395d89b41146105b35780639dc75768146105de578063a8aa1b31146105fd578063a9059cbb1461061c575f80fd5b806378109e54146105095780637d1db4a51461051e578063893d20e8146105335780638a8c523c146105635780638da5cb5b14610577575f80fd5b806323b872dd116101cb578063571ac8b011610190578063571ac8b0146104445780635e04e4f814610463578063658d4b7f146104825780636ddd1713146104a157806370a08231146104c1578063715018a6146104f5575f80fd5b806323b872dd146103b85780632b112e49146103d7578063313ce567146103eb5780634f85a0c5146104065780635117dbce14610425575f80fd5b80631161ae39116102115780631161ae391461033257806318160ddd146103515780631df4ccfc146103655780631e428cfc1461037a578063201e799114610399575f80fd5b80630445b6671461025757806306fdde031461027f57806308fd3d05146102c2578063095ea7b3146102f25780630f72f8ee14610311575f80fd5b3661025357005b5f80fd5b348015610262575f80fd5b5061026c60215481565b6040519081526020015b60405180910390f35b34801561028a575f80fd5b50604080518082019091526012815271426964656e204c6f766573204d696e6f727360701b60208201525b6040516102769190611d0a565b3480156102cd575f80fd5b506020546102e290600160a01b900460ff1681565b6040519015158152602001610276565b3480156102fd575f80fd5b506102e261030c366004611d5a565b6107c3565b34801561031c575f80fd5b5061033061032b366004611d82565b61082f565b005b34801561033d575f80fd5b506102e261034c366004611d99565b610883565b34801561035c575f80fd5b5060055461026c565b348015610370575f80fd5b5061026c600d5481565b348015610385575f80fd5b50610330610394366004611d82565b610896565b3480156103a4575f80fd5b506103306103b3366004611d99565b6108ed565b3480156103c3575f80fd5b506102e26103d2366004611db9565b610921565b3480156103e2575f80fd5b5061026c6109df565b3480156103f6575f80fd5b5060405160128152602001610276565b348015610411575f80fd5b50610330610420366004611e03565b610a2f565b348015610430575f80fd5b5061033061043f366004611d82565b610ac2565b34801561044f575f80fd5b506102e261045e366004611e85565b610b1a565b34801561046e575f80fd5b5061033061047d366004611e9e565b610b26565b34801561048d575f80fd5b5061033061049c366004611eb9565b610b6d565b3480156104ac575f80fd5b506020546102e290600160a81b900460ff1681565b3480156104cc575f80fd5b5061026c6104db366004611e85565b6001600160a01b03165f908152600f602052604090205490565b348015610500575f80fd5b50610330610bc0565b348015610514575f80fd5b5061026c60075481565b348015610529575f80fd5b5061026c60065481565b34801561053e575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610276565b34801561056e575f80fd5b50610330610c31565b348015610582575f80fd5b505f546001600160a01b031661054b565b34801561059e575f80fd5b506017546102e290600160a01b900460ff1681565b3480156105be575f80fd5b50604080518082019091526003815262424c4d60e81b60208201526102b5565b3480156105e9575f80fd5b506103306105f8366004611eee565b610c6f565b348015610608575f80fd5b5060205461054b906001600160a01b031681565b348015610627575f80fd5b506102e2610636366004611d5a565b610ca9565b348015610646575f80fd5b505f5461054b906001600160a01b031681565b348015610664575f80fd5b506102e2610673366004611e85565b60186020525f908152604090205460ff1681565b348015610692575f80fd5b506102e26106a1366004611d5a565b610cb5565b3480156106b1575f80fd5b5061026c6106c0366004611d82565b610dad565b3480156106d0575f80fd5b5061026c6106df366004611f17565b6001600160a01b039182165f90815260106020908152604080832093909416825291909152205490565b348015610714575f80fd5b50610330610723366004611f48565b610df3565b348015610733575f80fd5b50610330610742366004611d82565b610e3e565b348015610752575f80fd5b50610330610761366004611f64565b610eb8565b348015610771575f80fd5b50610330610780366004611e85565b610f7d565b348015610790575f80fd5b5061033061079f366004611eb9565b611064565b3480156107af575f80fd5b50601e5461054b906001600160a01b031681565b335f8181526010602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061081d9086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146108615760405162461bcd60e51b815260040161085890611fa3565b60405180910390fd5b6103e86005546108719190611fec565b600654101561087e575f80fd5b600655565b5f8261088e83610dad565b119392505050565b335f9081526018602052604090205460ff166108b0575f80fd5b6103e86005546108c09190611fec565b60075410156108cd575f80fd5b6064816005546108dd919061200b565b6108e79190611fec565b60075550565b5f546001600160a01b031633146109165760405162461bcd60e51b815260040161085890611fa3565b601191909155601255565b6001600160a01b0383165f9081526010602090815260408083203384529091528120545f19146109ca576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f9081526010825283812033825290915291909120546109a69184906110b7565b6001600160a01b0385165f9081526010602090815260408083203384529091529020555b6109d58484846110ef565b90505b9392505050565b6004546001600160a01b03165f908152600f6020526040812054610a2a906003546001600160a01b03165f908152600f6020526040902054610a2490600554906114b4565b906114b4565b905090565b5f546001600160a01b03163314610a585760405162461bcd60e51b815260040161085890611fa3565b5f5b82811015610abc578160185f868685818110610a7857610a78612022565b9050602002016020810190610a8d9190611e85565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610a5a565b50505050565b335f9081526018602052604090205460ff16610adc575f80fd5b6103e8600554610aec9190611fec565b6006541015610af9575f80fd5b6103e881600554610b0a919061200b565b610b149190611fec565b60065550565b5f610829825f196107c3565b5f546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161085890611fa3565b60178054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b03163314610b965760405162461bcd60e51b815260040161085890611fa3565b6001600160a01b03919091165f908152601960205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610be95760405162461bcd60e51b815260040161085890611fa3565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610c5a5760405162461bcd60e51b815260040161085890611fa3565b6020805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610c985760405162461bcd60e51b815260040161085890611fa3565b601b91909155601c91909155601d55565b5f6109d83384846110ef565b335f9081526018602052604081205460ff16610ccf575f80fd5b815f03610d3f576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3c9190612036565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303815f875af1158015610d89573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d8919061204d565b5f610829610db96109df565b602080546001600160a01b03165f908152600f9091526040902054610ded90610de6906002905b906114f5565b85906114f5565b90611573565b5f546001600160a01b03163314610e1c5760405162461bcd60e51b815260040161085890611fa3565b60208054921515600160a81b0260ff60a81b1990931692909217909155602155565b5f546001600160a01b03163314610e675760405162461bcd60e51b815260040161085890611fa3565b60145447906001600160a01b03166108fc6064610e84858561200b565b610e8e9190611fec565b6040518115909202915f818181858888f19350505050158015610eb3573d5f803e3d5ffd5b505050565b5f546001600160a01b03163314610ee15760405162461bcd60e51b815260040161085890611fa3565b6008869055600b8590556009849055600a839055600c829055610f1282610f0c858188818c8c6115b4565b906115b4565b600d55600e819055610f25600282611fec565b600d5410610f755760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e20353025000000006044820152606401610858565b505050505050565b5f546001600160a01b03163314610fa65760405162461bcd60e51b815260040161085890611fa3565b6001600160a01b03811661100b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610858565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461108d5760405162461bcd60e51b815260040161085890611fa3565b6001600160a01b03919091165f908152601a60205260409020805460ff1916911515919091179055565b5f81848411156110da5760405162461bcd60e51b81526004016108589190611d0a565b505f6110e68486612068565b95945050505050565b6022545f9060ff161561110e57611107848484611612565b90506109d8565b6001600160a01b0384165f9081526001602052604090205460ff1615801561114e57506001600160a01b0383165f9081526001602052604090205460ff16155b1561120e57602054600160a01b900460ff166111a35760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610858565b601754600160a01b900460ff161561120e576001600160a01b0383165f9081526018602052604090205460ff1661120e5760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b6044820152606401610858565b6001600160a01b0384165f9081526001602052604090205460ff1615801561123f57506001600160a01b0383163014155b801561125957506003546001600160a01b03848116911614155b801561127357506020546001600160a01b03848116911614155b801561128d57506017546001600160a01b03848116911614155b80156112a757506014546001600160a01b03848116911614155b80156112cb57506001600160a01b0383165f908152601a602052604090205460ff16155b1561136b576001600160a01b0383165f908152600f60205260409020546007546112f5848361207b565b11156113695760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610858565b505b61137584836116e2565b61137d61174e565b1561138a5761138a6117a2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f908152600f90915291909120546113db9184906110b7565b6001600160a01b0385165f908152600f6020908152604080832093909355601990529081205460ff168061142657506001600160a01b0384165f9081526019602052604090205460ff165b61143a57611435858486611b6a565b61143c565b825b6001600160a01b0385165f908152600f602052604090205490915061146190826115b4565b6001600160a01b038086165f818152600f602052604090819020939093559151908716905f8051602061212a833981519152906114a19085815260200190565b60405180910390a3506001949350505050565b5f6109d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110b7565b5f825f0361150457505f610829565b5f61150f838561200b565b90508261151c8583611fec565b146109d85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610858565b5f6109d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cde565b5f806115c0838561207b565b9050838110156109d85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610858565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600f909152918220546116629184906110b7565b6001600160a01b038086165f908152600f6020526040808220939093559085168152205461169090836115b4565b6001600160a01b038085165f818152600f602052604090819020939093559151908616905f8051602061212a833981519152906116d09086815260200190565b60405180910390a35060019392505050565b6006548111158061170a57506001600160a01b0382165f908152601a602052604090205460ff165b61174a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610858565b5050565b6020545f906001600160a01b0316331480159061176e575060225460ff16155b80156117835750602054600160a81b900460ff165b8015610a2a575050602154305f908152600f6020526040902054101590565b6022805460ff191660011790556011546012545f916117c091610883565b6117cc576008546117ce565b5f5b90505f6117f16002610ded600d54610ded866021546114f590919063ffffffff16565b90505f611809826021546114b490919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061184157611841612022565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061187257611872612022565b6001600160a01b039283166020918202929092010152601e5460405163791ac94760e01b81524792919091169063791ac947906118bb9086905f9087903090429060040161208e565b5f604051808303815f87803b1580156118d2575f80fd5b505af11580156118e4573d5f803e3d5ffd5b505050505f6118fc82476114b490919063ffffffff16565b90505f61191661190d886002611573565b600d54906114b4565b90505f61192a6002610ded8481878d6114f5565b90505f61194683610ded600954876114f590919063ffffffff16565b90505f61196284610ded600b54886114f590919063ffffffff16565b90505f61197e85610ded600a54896114f590919063ffffffff16565b6014546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146119cd576040519150601f19603f3d011682016040523d82523d5f602084013e6119d2565b606091505b50506015546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611a1f576040519150601f19603f3d011682016040523d82523d5f602084013e611a24565b606091505b50506016546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611a71576040519150601f19603f3d011682016040523d82523d5f602084013e611a76565b606091505b505f9250508b159050611b5257601e5460135460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611af0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b1591906120fe565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506022805460ff1916905550505050505050505050565b601d546020545f91906001600160a01b0390811690841603611b8f5750601b54611baa565b6020546001600160a01b0390811690861603611baa5750601c545b5f611bd6600e546064611bbd919061200b565b610ded84610de0600d548a6114f590919063ffffffff16565b90505f611bf4600d54610ded600c54856114f590919063ffffffff16565b90505f611c0183836114b4565b305f908152600f6020526040902054909150611c1d90826115b4565b305f908152600f6020526040808220929092556017546001600160a01b031681522054611c4a90836115b4565b6017546001600160a01b039081165f908152600f602090815260409182902093909355518381523092918b16915f8051602061212a833981519152910160405180910390a38115611cc8576017546040518381526001600160a01b03918216918a16905f8051602061212a8339815191529060200160405180910390a35b611cd287846114b4565b98975050505050505050565b5f8183611cfe5760405162461bcd60e51b81526004016108589190611d0a565b505f6110e68486611fec565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114611d55575f80fd5b919050565b5f8060408385031215611d6b575f80fd5b611d7483611d3f565b946020939093013593505050565b5f60208284031215611d92575f80fd5b5035919050565b5f8060408385031215611daa575f80fd5b50508035926020909101359150565b5f805f60608486031215611dcb575f80fd5b611dd484611d3f565b9250611de260208501611d3f565b929592945050506040919091013590565b8015158114611e00575f80fd5b50565b5f805f60408486031215611e15575f80fd5b833567ffffffffffffffff811115611e2b575f80fd5b8401601f81018613611e3b575f80fd5b803567ffffffffffffffff811115611e51575f80fd5b8660208260051b8401011115611e65575f80fd5b602091820194509250840135611e7a81611df3565b809150509250925092565b5f60208284031215611e95575f80fd5b6109d882611d3f565b5f60208284031215611eae575f80fd5b81356109d881611df3565b5f8060408385031215611eca575f80fd5b611ed383611d3f565b91506020830135611ee381611df3565b809150509250929050565b5f805f60608486031215611f00575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611f28575f80fd5b611f3183611d3f565b9150611f3f60208401611d3f565b90509250929050565b5f8060408385031215611f59575f80fd5b8235611d7481611df3565b5f805f805f8060c08789031215611f79575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f8261200657634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761082957610829611fd8565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612046575f80fd5b5051919050565b5f6020828403121561205d575f80fd5b81516109d881611df3565b8181038181111561082957610829611fd8565b8082018082111561082957610829611fd8565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156120de5783516001600160a01b03168352602093840193909201916001016120b7565b50506001600160a01b039590951660608401525050608001529392505050565b5f805f60608486031215612110575f80fd5b505081516020830151604090930151909492935091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122055fd2d1f45292c897b8ef14208544f8006daaea3466d0996b3ff17809ccddb6464736f6c634300081a0033