3.1k txs
162.7k calls
constructor
constructor(address newRouter)
functions
allowance
viewfunction allowance(address holder, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
contractSwapEnabled
viewfunction contractSwapEnabled() view returns (bool)
DEAD
viewfunction DEAD() view returns (address)
decimals
purefunction decimals() pure returns (uint8)
dexRouter
viewfunction dexRouter() view returns (address)
getCirculatingSupply
viewfunction getCirculatingSupply() view returns (uint256)
getOwner
viewfunction getOwner() view returns (address)
getTokenAmountAtPriceImpact
viewfunction getTokenAmountAtPriceImpact(uint256 priceImpactInHundreds) view returns (uint256)
hasLiqBeenAdded
viewfunction hasLiqBeenAdded() view returns (bool)
isExcludedFromFees
viewfunction isExcludedFromFees(address account) view returns (bool)
isExcludedFromProtection
viewfunction isExcludedFromProtection(address account) view returns (bool)
launchTime
viewfunction launchTime() view returns (uint256)
lpPair
viewfunction lpPair() view returns (address)
lpPairs
viewfunction lpPairs(address) view returns (bool)
MASTER_TAX_DIVISOR
viewfunction MASTER_TAX_DIVISOR() view returns (uint256)
MAX_BUY_TAXES
viewfunction MAX_BUY_TAXES() view returns (uint256)
MAX_SELL_TAXES
viewfunction MAX_SELL_TAXES() view returns (uint256)
MAX_TRANSFER_TAXES
viewfunction MAX_TRANSFER_TAXES() view returns (uint256)
maxSwapPercentage
viewfunction maxSwapPercentage() view returns (uint256)
name
purefunction name() pure returns (string)
piContractSwapsEnabled
viewfunction piContractSwapsEnabled() view returns (bool)
piSwapPercent
viewfunction piSwapPercent() view returns (uint256)
presale
viewfunction presale() view returns (address)
ratios
viewfunction ratios() view returns (uint16 nftHolder, uint16 liquidity, uint16 staking, uint16 team, uint16 totalSwap)
ratiosLocked
viewfunction ratiosLocked() view returns (bool)
swapAmount
viewfunction swapAmount() view returns (uint256)
swapThreshold
viewfunction swapThreshold() view returns (uint256)
symbol
purefunction symbol() pure returns (string)
taxesAreLocked
viewfunction taxesAreLocked() view returns (bool)
taxRates
viewfunction taxRates() view returns (uint16 buyFee, uint16 sellFee, uint16 transferFee)
taxWallets
viewfunction taxWallets() view returns (address nftHolder, address team, address staking)
totalSupply
purefunction totalSupply() pure returns (uint256)
addSwapLimits
nonpayablefunction addSwapLimits(uint256 initThreshold, uint256 initSwapAmount)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
approveContractContingency
nonpayablefunction approveContractContingency() returns (bool)
lockTaxes
nonpayablefunction lockTaxes()
multiSendTokens
nonpayablefunction multiSendTokens(address[] accounts, uint256[] amounts)
renounceOwnership
nonpayablefunction renounceOwnership()
setContractSwapEnabled
nonpayablefunction setContractSwapEnabled(bool swapEnabled, bool priceImpactSwapEnabled)
setDexLaunchTime
nonpayablefunction setDexLaunchTime(uint256 newLaunchTime)
setExcludedFromFees
nonpayablefunction setExcludedFromFees(address account, bool enabled)
setExcludedFromProtection
nonpayablefunction setExcludedFromProtection(address account, bool enabled)
setMaxSwapPercentage
nonpayablefunction setMaxSwapPercentage(uint256 newMaxSwapPercentage)
setPresaleAddress
nonpayablefunction setPresaleAddress(address newPresale)
setPriceImpactSwapAmount
nonpayablefunction setPriceImpactSwapAmount(uint256 priceImpactSwapPercent)
setRatios
nonpayablefunction setRatios(uint16 nftHolder, uint16 liquidity, uint16 team, uint16 staking)
setRouter
nonpayablefunction setRouter(address router)
setSwapSettings
nonpayablefunction setSwapSettings(uint256 thresholdPercent, uint256 thresholdDivisor, uint256 amountPercent, uint256 amountDivisor)
setTaxes
nonpayablefunction setTaxes(uint16 buyFee, uint16 sellFee, uint16 transferFee)
setWallets
nonpayablefunction setWallets(address nftHolder, address staking, address team)
sweepContingency
nonpayablefunction sweepContingency()
sweepExternalTokens
nonpayablefunction sweepExternalTokens(address token)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
transferOwner
nonpayablefunction transferOwner(address newOwner)
unlockRatios
nonpayablefunction unlockRatios()
events
AddSwapLimits
event AddSwapLimits(uint256 initThreshold, uint256 initSwapAmount)
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
AutoLiquify
event AutoLiquify(uint256 amountCurrency, uint256 amountTokens)
ContractSwapEnabledUpdated
event ContractSwapEnabledUpdated(bool enabled)
ExclusionUpdated
event ExclusionUpdated(address account, bool isExcluded)
MaxSwapPercentUpdated
event MaxSwapPercentUpdated(uint256 newPercent)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ProtectionExclusionUpdated
event ProtectionExclusionUpdated(address account, bool isExcluded)
SetDexLaunchTime
event SetDexLaunchTime(uint256 newLaunchTime)
SetMaxSwapPercentage
event SetMaxSwapPercentage(uint256 maxSwapPercentage)
SetPresaleAddress
event SetPresaleAddress(address newPresale)
SetPriceImpactSwapAmount
event SetPriceImpactSwapAmount(uint256 priceImpactSwapPercent)
SetRatios
event SetRatios(uint16 nftHolder, uint16 liquidity, uint16 team, uint16 staking)
SetRouter
event SetRouter(address router)
SetSwapSettings
event SetSwapSettings(uint256 thresholdPercent, uint256 thresholdDivisor, uint256 amountPercent, uint256 amountDivisor)
SetTaxes
event SetTaxes(uint16 buyFee, uint16 sellFee, uint16 transferFee)
SetWallets
event SetWallets(address nftHolder, address staking, address team)
SweepContingency
event SweepContingency(uint256 balance)
SweepExternalTokens
event SweepExternalTokens(address token, uint256 balance)
TaxesAreLocked
event TaxesAreLocked(bool locked)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
UnlockRatios
event UnlockRatios()
errors
No errors.
creation bytecode
0x6005805460ff1990811690915561012c60805261019060a0819052600060c0526007805465ffffffffffff1916630190012c179055606460e081905261010081905261012081905261014052610160526008805469019000640064006400646001600160501b03199091161790556101e060405261dead6101808190526101a08190526101c0819052600b80546001600160a01b03199081168317909155600c8054821683179055600d80549091169091179055600e805461ff0019169055600a6012556013805490911690556002601455348015620000de57600080fd5b50604051620044d7380380620044d7833981016040819052620001019162000849565b6001600160a01b0381166200015d5760405162461bcd60e51b815260206004820152601560248201527f726f757465722063616e6e6f74206265207a65726f000000000000000000000060448201526064015b60405180910390fd5b601580546001600160a01b031916331790556200017d6012600a62000990565b6200018d90633b9aca00620009a1565b601580546001600160a01b03908116600090815260208190526040812093909355905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001e16012600a62000990565b620001f190633b9aca00620009a1565b60405190815260200160405180910390a36015546001600160a01b03166000908152600460205260408082208054600160ff199182168117909255308452918320805483168217905561dead9092527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd8054909116909117905562000276816200027d565b50620009c3565b6015546001600160a01b03163314620002cd5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640162000154565b620002d88162000338565b600954620002f990309061010090046001600160a01b03166000196200074c565b6040516001600160a01b03821681527f6de4326a8b9054d72d9dbab97d27bc4edffadee7d966f5af9cc4eafdaf8e54559060200160405180910390a150565b60135460ff1615620003985760405162461bcd60e51b815260206004820152602260248201527f6c697175696469747920616c726561647920616464656420616e64206d61726b604482015261195960f21b606482015260840162000154565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003d957600080fd5b505afa158015620003ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000414919062000849565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200045d57600080fd5b505afa15801562000472573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000498919062000849565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015620004df57600080fd5b505afa158015620004f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200051a919062000849565b600a546001600160a01b039081166000908152600160205260409020805460ff191690559091508116620006eb57816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200058257600080fd5b505afa15801562000597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005bd919062000849565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200060657600080fd5b505afa1580156200061b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000641919062000849565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200068a57600080fd5b505af11580156200069f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006c5919062000849565b600a80546001600160a01b0319166001600160a01b039290921691909117905562000707565b600a80546001600160a01b0319166001600160a01b0383161790555b5060098054610100600160a81b0319166101006001600160a01b0393841602179055600a54166000908152600160208190526040909120805460ff1916909117905550565b6001600160a01b0383166200079a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000154565b6001600160a01b038216620007e85760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000154565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000602082840312156200085c57600080fd5b81516001600160a01b03811681146200087457600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008d2578160001904821115620008b657620008b66200087b565b80851615620008c457918102915b93841c939080029062000896565b509250929050565b600082620008eb575060016200098a565b81620008fa575060006200098a565b81600181146200091357600281146200091e576200093e565b60019150506200098a565b60ff8411156200093257620009326200087b565b50506001821b6200098a565b5060208310610133831016604e8410600b841016171562000963575081810a6200098a565b6200096f838362000891565b80600019048211156200098657620009866200087b565b0290505b92915050565b60006200087460ff841683620008da565b6000816000190483118215151615620009be57620009be6200087b565b500290565b613b0480620009d36000396000f3fe60806040526004361061037a5760003560e01c80634fb2e45d116101d1578063a9059cbb11610102578063d2a9dbca116100a0578063fb78680d1161006f578063fb78680d14610ac4578063fdb78c0e14610ae4578063fdea8e0b14610b03578063feadde9c14610b2857600080fd5b8063d2a9dbca14610a2f578063d2c07ce214610a49578063dd62ed3e14610a69578063ee5d9c2d14610aaf57600080fd5b8063bdb9f28d116100dc578063bdb9f28d14610952578063bfc2fc3514610972578063c0d7865514610992578063cf6d625e146109b257600080fd5b8063a9059cbb146108f8578063ab558e4d14610918578063b7df8b361461093857600080fd5b8063715018a61161016f578063790ca41311610149578063790ca41314610882578063893d20e8146108985780638a63bd9b146108b657806395d89b41146108cb57600080fd5b8063715018a61461083857806375cb1bd11461084d57806378648edf1461086d57600080fd5b8063590ffdce116101ab578063590ffdce14610781578063610ec823146107a15780636a64b6b1146107f857806370a082311461081857600080fd5b80634fb2e45d146107125780634fbee1931461073257806354f816521461076b57600080fd5b806328577751116102ab578063363c354f1161024957806343cc8c2a1161022357806343cc8c2a14610682578063452ed4f1146106b25780634bbb93eb146106d25780634e718e48146106f257600080fd5b8063363c354f1461065757806339451a5e1461066c5780633ef266941461051957600080fd5b80632e8fa821116102855780632e8fa821146105af578063313ce567146105c557806332cde664146105e1578063333f4b3d1461060157600080fd5b806328577751146105845780632b112e491461059a5780632b4861d01461051957600080fd5b806307dd79e01161031857806312569247116102f2578063125692471461051957806318160ddd1461052f57806323b872dd146105445780632610eaca1461056457600080fd5b806307dd79e0146104a6578063095ea7b3146104c05780630dcbcf1c146104e057600080fd5b806306fdde031161035457806306fdde03146104075780630712d1651461043f5780630758d9241461046157806307dba96f1461048657600080fd5b8063020372e21461038657806303fd2a45146103b55780630445b667146103e357600080fd5b3661038157005b600080fd5b34801561039257600080fd5b506013546103a09060ff1681565b60405190151581526020015b60405180910390f35b3480156103c157600080fd5b506103cb61dead81565b6040516001600160a01b0390911681526020016103ac565b3480156103ef57600080fd5b506103f9600f5481565b6040519081526020016103ac565b34801561041357600080fd5b50604080518082019091526006815265444144414d4f60d01b60208201525b6040516103ac919061328d565b34801561044b57600080fd5b5061045f61045a3660046132d7565b610b48565b005b34801561046d57600080fd5b506009546103cb9061010090046001600160a01b031681565b34801561049257600080fd5b5061045f6104a136600461332b565b610cc7565b3480156104b257600080fd5b506009546103a09060ff1681565b3480156104cc57600080fd5b506103a06104db366004613365565b610d8b565b3480156104ec57600080fd5b506103a06104fb366004613391565b6001600160a01b031660009081526003602052604090205460ff1690565b34801561052557600080fd5b506103f96103e881565b34801561053b57600080fd5b506103f9610da2565b34801561055057600080fd5b506103a061055f3660046133ae565b610dc3565b34801561057057600080fd5b5061045f61057f3660046134c5565b610e3b565b34801561059057600080fd5b506103f960125481565b3480156105a657600080fd5b506103f9610fb8565b3480156105bb57600080fd5b506103f960105481565b3480156105d157600080fd5b50604051601281526020016103ac565b3480156105ed57600080fd5b5061045f6105fc366004613587565b610ffd565b34801561060d57600080fd5b506007546106329061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016103ac565b34801561066357600080fd5b5061045f611179565b34801561067857600080fd5b506103f961271081565b34801561068e57600080fd5b506103a061069d366004613391565b60016020526000908152604090205460ff1681565b3480156106be57600080fd5b50600a546103cb906001600160a01b031681565b3480156106de57600080fd5b506103f96106ed3660046135ca565b6111d8565b3480156106fe57600080fd5b5061045f61070d3660046135ca565b61120a565b34801561071e57600080fd5b5061045f61072d366004613391565b6112ba565b34801561073e57600080fd5b506103a061074d366004613391565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561077757600080fd5b506103f960145481565b34801561078d57600080fd5b5061045f61079c3660046135f1565b6113e3565b3480156107ad57600080fd5b50600b54600c54600d546107ce926001600160a01b03908116928116911683565b604080516001600160a01b03948516815292841660208401529216918101919091526060016103ac565b34801561080457600080fd5b5061045f6108133660046135ca565b611469565b34801561082457600080fd5b506103f9610833366004613391565b6114f8565b34801561084457600080fd5b5061045f611513565b34801561085957600080fd5b5061045f61086836600461362a565b6115a2565b34801561087957600080fd5b5061045f6116c8565b34801561088e57600080fd5b506103f960065481565b3480156108a457600080fd5b506015546001600160a01b03166103cb565b3480156108c257600080fd5b506103a0611738565b3480156108d757600080fd5b506040805180820190915260048152634441444160e01b6020820152610432565b34801561090457600080fd5b506103a0610913366004613365565b61178a565b34801561092457600080fd5b5061045f610933366004613391565b6117a1565b34801561094457600080fd5b506011546103a09060ff1681565b34801561095e57600080fd5b5061045f61096d366004613391565b611973565b34801561097e57600080fd5b5061045f61098d366004613675565b611a51565b34801561099e57600080fd5b5061045f6109ad366004613391565b611ad2565b3480156109be57600080fd5b506008546109fa9061ffff80821691620100008104821691640100000000820481169166010000000000008104821691600160401b9091041685565b6040805161ffff968716815294861660208601529285169284019290925283166060830152909116608082015260a0016103ac565b348015610a3b57600080fd5b506005546103a09060ff1681565b348015610a5557600080fd5b5061045f610a643660046135ca565b611b5d565b348015610a7557600080fd5b506103f9610a84366004613693565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610abb57600080fd5b5061045f611c06565b348015610ad057600080fd5b5061045f610adf3660046136c1565b611ced565b348015610af057600080fd5b50600e546103a090610100900460ff1681565b348015610b0f57600080fd5b506005546103cb9061010090046001600160a01b031681565b348015610b3457600080fd5b5061045f610b433660046135f1565b611f3c565b6015546001600160a01b03163314610b7b5760405162461bcd60e51b8152600401610b72906136f3565b60405180910390fd5b60055460ff1615610bdf5760405162461bcd60e51b815260206004820152602860248201527f526174696f73206d7573742062652072657365742061667465722074617865736044820152671031b430b733b29760c11b6064820152608401610b72565b6008805461ffff86811663ffffffff199092169190911762010000868316021767ffffffff00000000191666010000000000008583160265ffff00000000191617640100000000918416919091021790558183610c3c8387613734565b610c469190613734565b610c509190613734565b6008805469ffff00000000000000001916600160401b61ffff9384160217905560408051868316815285831660208201528483169181019190915290821660608201527f1696988a7f5b8defab00b0fb75313c54fb7738c527d7ebbd32838f9f474d1223906080015b60405180910390a150505050565b6015546001600160a01b03163314610cf15760405162461bcd60e51b8152600401610b72906136f3565b60135460ff16610d435760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610b72565b600f829055601081905560408051838152602081018390527f959cf26213162c5bc939a7b3ee94ef011fdfc9ef4f2aa8bda2147e8a2971e32e91015b60405180910390a15050565b6000610d98338484611fc2565b5060015b92915050565b6000610db06012600a61383e565b610dbe90633b9aca0061384d565b905090565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610e28576001600160a01b038416600090815260026020908152604080832033845290915281208054849290610e2290849061386c565b90915550505b610e338484846120bb565b949350505050565b6015546001600160a01b03163314610e655760405162461bcd60e51b8152600401610b72906136f3565b8051825114610eae5760405162461bcd60e51b81526020600482015260156024820152742632b733ba3439903237903737ba1036b0ba31b41760591b6044820152606401610b72565b60005b82518161ffff161015610fb357610eca6012600a61383e565b828261ffff1681518110610ee057610ee0613883565b6020026020010151610ef2919061384d565b610efb336114f8565b1015610f3e5760405162461bcd60e51b81526020600482015260126024820152712737ba1032b737bab3b4103a37b5b2b7399760711b6044820152606401610b72565b610fa033848361ffff1681518110610f5857610f58613883565b60200260200101516012600a610f6e919061383e565b858561ffff1681518110610f8457610f84613883565b6020026020010151610f96919061384d565b6000806001612288565b5080610fab81613899565b915050610eb1565b505050565b6000610fc460006114f8565b610fcf61dead6114f8565b610fd991906138bb565b610fe56012600a61383e565b610ff390633b9aca0061384d565b610dbe919061386c565b6015546001600160a01b031633146110275760405162461bcd60e51b8152600401610b72906136f3565b60095460ff161561106e5760405162461bcd60e51b81526020600482015260116024820152702a30bc32b99030b932903637b1b5b2b21760791b6044820152606401610b72565b6103e88361ffff161115801561108a57506103e88261ffff1611155b801561109c57506103e88161ffff1611155b6110e85760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420657863656564206d6178696d756d732e0000000000000000006044820152606401610b72565b6007805461ffff838116640100000000810265ffff000000001987841662010000810263ffffffff19909616948a169485179590951716179093556005805460ff19166001179055604080519182526020820192909252908101919091527f5c70d527e1fc32eaae77f4bf5face748b1c79cdfe28c584b6a56cec235e58c30906060015b60405180910390a1505050565b6015546001600160a01b031633146111a35760405162461bcd60e51b8152600401610b72906136f3565b6005805460ff191690556040517f680d2657966ee0bf74c3ffdb550b17156cef3592cffb4230366a7fdd3cbfa5a990600090a1565b600a546000906127109083906111f6906001600160a01b03166114f8565b611200919061384d565b610d9c91906138d3565b6015546001600160a01b031633146112345760405162461bcd60e51b8152600401610b72906136f3565b609681111561127e5760405162461bcd60e51b815260206004820152601660248201527521b0b73737ba1039b2ba1030b137bb329018971a929760511b6044820152606401610b72565b60128190556040518181527ffb3a882a7016a9a356549e2f767eea9b253cdbd0330c5eeacd2f33e4cf9750a0906020015b60405180910390a150565b6015546001600160a01b031633146112e45760405162461bcd60e51b8152600401610b72906136f3565b6001600160a01b03811661130a5760405162461bcd60e51b8152600401610b72906138f5565b6001600160a01b03811661dead14156113355760405162461bcd60e51b8152600401610b72906138f5565b60155461134c906001600160a01b031660006113e3565b6113578160016113e3565b60155460009061136f906001600160a01b03166114f8565b11156113915760155461138f906001600160a01b031682610f96826114f8565b505b601580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6015546001600160a01b0316331461140d5760405162461bcd60e51b8152600401610b72906136f3565b6001600160a01b038216600081815260046020908152604091829020805460ff19168515159081179091558251938452908301527f83f2b279b6151af5a15cdbe8471d34fe8b34aed9bd9514ffeadb57c9ea366e619101610d7f565b60055461010090046001600160a01b0316331480156114885750600654155b6114c35760405162461bcd60e51b815260206004820152600c60248201526b6f6e6c792070726573616c6560a01b6044820152606401610b72565b60068190556040518181527f39508d97602b186d455015adf452880d292e7e45c0d5b0a6c2a92d14fd6addf9906020016112af565b6001600160a01b031660009081526020819052604090205490565b6015546001600160a01b0316331461153d5760405162461bcd60e51b8152600401610b72906136f3565b601554611554906001600160a01b031660006113e3565b601580546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6015546001600160a01b031633146115cc5760405162461bcd60e51b8152600401610b72906136f3565b6001600160a01b038316158015906115ec57506001600160a01b03821615155b801561160057506001600160a01b03811615155b61164c5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610b72565b600b80546001600160a01b038581166001600160a01b03199283168117909355600d80548683169084168117909155600c8054928616929093168217909255604080519384526020840192909252908201527f6c9b6e3a92273aeb1a4cfa42ca1c6fef112a499490b8e3557c986aab97d21e909060600161116c565b6015546001600160a01b031633146116f25760405162461bcd60e51b8152600401610b72906136f3565b6009805460ff191660019081179091556040519081527f533dd13332c67d5c9f64192f3032174021dc4af7d9700a7678761ceef30db6e2906020015b60405180910390a1565b6015546000906001600160a01b031633146117655760405162461bcd60e51b8152600401610b72906136f3565b60095461178490309061010090046001600160a01b0316600019611fc2565b50600190565b60006117973384846120bb565b5060019392505050565b6015546001600160a01b031633146117cb5760405162461bcd60e51b8152600401610b72906136f3565b6001600160a01b0381163014156118245760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207377656570206e617469766520746f6b656e732e00000000006044820152606401610b72565b6015546040516370a0823160e01b815230600482015282916118b9916001600160a01b03918216918416906370a082319060240160206040518083038186803b15801561187057600080fd5b505afa158015611884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a89190613952565b6001600160a01b03841691906124ce565b6040516370a0823160e01b81523060048201527f3f2401b7990d2a4a9f68f6dadb4680df92ca6a6b7f5151ed2a96dfe988ce49649083906001600160a01b038416906370a082319060240160206040518083038186803b15801561191c57600080fd5b505afa158015611930573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119549190613952565b604080516001600160a01b039093168352602083019190915201610d7f565b6015546001600160a01b0316331461199d5760405162461bcd60e51b8152600401610b72906136f3565b6001600160a01b038116158015906119c3575060055461010090046001600160a01b0316155b6119fb5760405162461bcd60e51b81526020600482015260096024820152681b9bdd081d985b1a5960ba1b6044820152606401610b72565b60058054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527fecb74fa935e0011a827a1f11fea488b75d0d5e48d5a91ce7e6fc3ff8048e0f72906020016112af565b6015546001600160a01b03163314611a7b5760405162461bcd60e51b8152600401610b72906136f3565b600e805461ff001916610100841515908102919091179091556011805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f914105325790602001610d7f565b6015546001600160a01b03163314611afc5760405162461bcd60e51b8152600401610b72906136f3565b611b0581612520565b600954611b2490309061010090046001600160a01b0316600019611fc2565b6040516001600160a01b03821681527f6de4326a8b9054d72d9dbab97d27bc4edffadee7d966f5af9cc4eafdaf8e5455906020016112af565b6015546001600160a01b03163314611b875760405162461bcd60e51b8152600401610b72906136f3565b60028110158015611b995750600a8111155b611bd15760405162461bcd60e51b81526020600482015260096024820152681b9bdd081d985b1a5960ba1b6044820152606401610b72565b60148190556040518181527fea89d0331822a57e7383d4d8607fce44f41379af127815610327f29232f6f405906020016112af565b6015546001600160a01b03163314611c305760405162461bcd60e51b8152600401610b72906136f3565b60135460ff1615611c835760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610b72565b6015546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611cbc573d6000803e3d6000fd5b506040514781527fecdb7fd03d3deb159257c9b24ae8ec57c070b6afd1b6f2ea0579e2e0f36ef39d9060200161172e565b6015546001600160a01b03163314611d175760405162461bcd60e51b8152600401610b72906136f3565b8284611d256012600a61383e565b611d3390633b9aca0061384d565b611d3d919061384d565b611d4791906138d3565b600f558082611d586012600a61383e565b611d6690633b9aca0061384d565b611d70919061384d565b611d7a91906138d3565b6010819055600f541115611dda5760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610b72565b600a5461271090611df3906001600160a01b03166114f8565b611dfe90609661384d565b611e0891906138d3565b6010541115611e655760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742062652061626f766520312e3525206f662063757272656e742060448201526228249760e91b6064820152608401610b72565b620f4240611e756012600a61383e565b611e8390633b9aca0061384d565b611e8d91906138d3565b6010541015611eae5760405162461bcd60e51b8152600401610b729061396b565b620f4240611ebe6012600a61383e565b611ecc90633b9aca0061384d565b611ed691906138d3565b600f541015611ef75760405162461bcd60e51b8152600401610b729061396b565b6040805185815260208101859052908101839052606081018290527f4609c6380cc623522faa5246b173afe5dc8ce59b819fe58bd31d9c83025b0fa790608001610cb9565b6015546001600160a01b03163314611f665760405162461bcd60e51b8152600401610b72906136f3565b6001600160a01b038216600081815260036020908152604091829020805460ff19168515159081179091558251938452908301527f9121fcda390ffa4596f6f15238e0c4d7fceca21ffc25b2cc2a27f71142f9adc79101610d7f565b6001600160a01b03831661200e5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610b72565b6001600160a01b03821661205a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610b72565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166121215760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b72565b6001600160a01b0383166121835760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b72565b6001600160a01b0384166000908152600160205260408120548190819060ff16156121b157600192506121df565b6001600160a01b03861660009081526001602052604090205460ff16156121db57600191506121df565b5060015b811561226f57600e5460ff1661226f57600e54610100900460ff161561226f57600061220a306114f8565b9050600f54811061226d5760105460115460ff161561225757601254600a546127109190612240906001600160a01b03166114f8565b61224a919061384d565b61225491906138d3565b90505b808210612262578091505b61226b82612918565b505b505b61227d878787868686612288565b979650505050505050565b6001600160a01b03861660009081526004602052604081205460019060ff16806122ca57506001600160a01b03871660009081526004602052604090205460ff165b156122d3575060005b84806122dc5750835b156123285760065442116123285760405162461bcd60e51b81526020600482015260136024820152721d1c98591a5b99c81a5cc8191a5cd8589b1959606a1b6044820152606401610b72565b6001600160a01b0388166000908152602081905260408120805488929061235090849061386c565b909155506000905081612363578661236f565b61236f89888888612c4a565b9050806000808a6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546123a591906138bb565b92505081905550876001600160a01b0316896001600160a01b0316600080516020613aaf833981519152836040516123df91815260200190565b60405180910390a360135460ff166124bf576123fb8989612f19565b60135460ff1615801561241357506124138989613018565b801561243857506001600160a01b03891660009081526003602052604090205460ff16155b801561245d57506001600160a01b03881660009081526003602052604090205460ff16155b8015612467575083155b156124bf5760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610b72565b50600198975050505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610fb3908490613078565b60135460ff161561257e5760405162461bcd60e51b815260206004820152602260248201527f6c697175696469747920616c726561647920616464656420616e64206d61726b604482015261195960f21b6064820152608401610b72565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156125be57600080fd5b505afa1580156125d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f691906139b9565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561263e57600080fd5b505afa158015612652573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061267691906139b9565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b1580156126bc57600080fd5b505afa1580156126d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f491906139b9565b600a546001600160a01b039081166000908152600160205260409020805460ff1916905590915081166128b757816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561275a57600080fd5b505afa15801561276e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279291906139b9565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156127da57600080fd5b505afa1580156127ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061281291906139b9565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561285a57600080fd5b505af115801561286e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289291906139b9565b600a80546001600160a01b0319166001600160a01b03929092169190911790556128d3565b600a80546001600160a01b0319166001600160a01b0383161790555b5060098054610100600160a81b0319166101006001600160a01b0393841602179055600a54166000908152600160208190526040909120805460ff1916909117905550565b600e805460ff1916600117905560085461ffff600160401b9091041661293d57612c3d565b30600090815260026020908152604080832060095461010090046001600160a01b03168452909152902054600019146129a05730600090815260026020908152604080832060095461010090046001600160a01b03168452909152902060001990555b600a546000906129b8906001600160a01b03166114f8565b905060006064601454836129cc919061384d565b6129d691906138d3565b9050808311156129e4578092505b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612a1957612a19613883565b60200260200101906001600160a01b031690816001600160a01b031681525050600960019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612a8757600080fd5b505afa158015612a9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612abf91906139b9565b81600181518110612ad257612ad2613883565b6001600160a01b03928316602091820292909201015260095461010090041663791ac947612b016002876138d3565b60008430426040518663ffffffff1660e01b8152600401612b269594939291906139d6565b600060405180830381600087803b158015612b4057600080fd5b505af1925050508015612b51575060015b612b5d57505050612c3d565b600954479061010090046001600160a01b031663f305d7198230612b8260028a6138d3565b60018061dead612b94426103846138bb565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c4016060604051808303818588803b158015612bfc57600080fd5b505af1158015612c10573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612c359190613a47565b505050505050505b50600e805460ff19169055565b6000808315612c60575060075461ffff16612c8a565b8215612c79575060075462010000900461ffff16612c8a565b50600754640100000000900461ffff165b80612c985784915050610e33565b6000612710612ca7838861384d565b612cb191906138d3565b90508015612f0f576008546000908190612ccf9061ffff168461384d565b600854909150612cea90600160401b900461ffff16826138d3565b600b546001600160a01b0316600090815260208190526040812080549293508392909190612d199084906138bb565b9091555050600b546040518281526001600160a01b03918216918b1690600080516020613aaf8339815191529060200160405180910390a3612d5b81836138bb565b600854909250612d7790640100000000900461ffff168461384d565b600854909150612d9290600160401b900461ffff16826138d3565b600d546001600160a01b0316600090815260208190526040812080549293508392909190612dc19084906138bb565b9091555050600d546040518281526001600160a01b03918216918b1690600080516020613aaf8339815191529060200160405180910390a3612e0381836138bb565b600854909250612e1d9062010000900461ffff168461384d565b600854909150612e3890600160401b900461ffff16826138d3565b30600090815260208190526040812080549293508392909190612e5c9084906138bb565b909155505060405181815230906001600160a01b038b1690600080516020613aaf8339815191529060200160405180910390a3612e9981836138bb565b9150612ea5828461386c565b600c546001600160a01b0316600090815260208190526040812080549293508392909190612ed49084906138bb565b9091555050600c546040518281526001600160a01b03918216918b1690600080516020613aaf8339815191529060200160405180910390a350505b61227d818761386c565b60135460ff1615612f785760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610b72565b612f828282613018565b158015612f9c5750600a546001600160a01b038281169116145b15613014576001600160a01b038216600090815260046020908152604091829020805460ff1990811660019081179092556013805490911682179055600e805461ff00191661010017905591519182527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579101610d7f565b5050565b60006001600160a01b03821661dead1480159061303d57506001600160a01b03821615155b801561305257506001600160a01b0383163014155b801561307157506005546001600160a01b038481166101009092041614155b9392505050565b60006130cd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661314d9092919063ffffffff16565b90508051600014806130ee5750808060200190518101906130ee9190613a75565b610fb35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b72565b6060610e33848460008585600080866001600160a01b031685876040516131749190613a92565b60006040518083038185875af1925050503d80600081146131b1576040519150601f19603f3d011682016040523d82523d6000602084013e6131b6565b606091505b509150915061227d878383876060831561322e578251613227576001600160a01b0385163b6132275760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b72565b5081610e33565b610e3383838151156132435781518083602001fd5b8060405162461bcd60e51b8152600401610b72919061328d565b60005b83811015613278578181015183820152602001613260565b83811115613287576000848401525b50505050565b60208152600082518060208401526132ac81604085016020870161325d565b601f01601f19169190910160400192915050565b803561ffff811681146132d257600080fd5b919050565b600080600080608085870312156132ed57600080fd5b6132f6856132c0565b9350613304602086016132c0565b9250613312604086016132c0565b9150613320606086016132c0565b905092959194509250565b6000806040838503121561333e57600080fd5b50508035926020909101359150565b6001600160a01b038116811461336257600080fd5b50565b6000806040838503121561337857600080fd5b82356133838161334d565b946020939093013593505050565b6000602082840312156133a357600080fd5b81356130718161334d565b6000806000606084860312156133c357600080fd5b83356133ce8161334d565b925060208401356133de8161334d565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561342e5761342e6133ef565b604052919050565b600067ffffffffffffffff821115613450576134506133ef565b5060051b60200190565b600082601f83011261346b57600080fd5b8135602061348061347b83613436565b613405565b82815260059290921b8401810191818101908684111561349f57600080fd5b8286015b848110156134ba57803583529183019183016134a3565b509695505050505050565b600080604083850312156134d857600080fd5b823567ffffffffffffffff808211156134f057600080fd5b818501915085601f83011261350457600080fd5b8135602061351461347b83613436565b82815260059290921b8401810191818101908984111561353357600080fd5b948201945b8386101561355a57853561354b8161334d565b82529482019490820190613538565b9650508601359250508082111561357057600080fd5b5061357d8582860161345a565b9150509250929050565b60008060006060848603121561359c57600080fd5b6135a5846132c0565b92506135b3602085016132c0565b91506135c1604085016132c0565b90509250925092565b6000602082840312156135dc57600080fd5b5035919050565b801515811461336257600080fd5b6000806040838503121561360457600080fd5b823561360f8161334d565b9150602083013561361f816135e3565b809150509250929050565b60008060006060848603121561363f57600080fd5b833561364a8161334d565b9250602084013561365a8161334d565b9150604084013561366a8161334d565b809150509250925092565b6000806040838503121561368857600080fd5b823561360f816135e3565b600080604083850312156136a657600080fd5b82356136b18161334d565b9150602083013561361f8161334d565b600080600080608085870312156136d757600080fd5b5050823594602084013594506040840135936060013592509050565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600061ffff8083168185168083038211156137515761375161371e565b01949350505050565b600181815b8085111561379557816000190482111561377b5761377b61371e565b8085161561378857918102915b93841c939080029061375f565b509250929050565b6000826137ac57506001610d9c565b816137b957506000610d9c565b81600181146137cf57600281146137d9576137f5565b6001915050610d9c565b60ff8411156137ea576137ea61371e565b50506001821b610d9c565b5060208310610133831016604e8410600b8410161715613818575081810a610d9c565b613822838361375a565b80600019048211156138365761383661371e565b029392505050565b600061307160ff84168361379d565b60008160001904831182151516156138675761386761371e565b500290565b60008282101561387e5761387e61371e565b500390565b634e487b7160e01b600052603260045260246000fd5b600061ffff808316818114156138b1576138b161371e565b6001019392505050565b600082198211156138ce576138ce61371e565b500190565b6000826138f057634e487b7160e01b600052601260045260246000fd5b500490565b6020808252603d908201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660408201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606082015260800190565b60006020828403121561396457600080fd5b5051919050565b6020808252602e908201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660408201526d103a37ba30b61039bab838363c9760911b606082015260800190565b6000602082840312156139cb57600080fd5b81516130718161334d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015613a265784516001600160a01b031683529383019391830191600101613a01565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215613a5c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215613a8757600080fd5b8151613071816135e3565b60008251613aa481846020870161325d565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204a1c32bcecd3227a8fde6df1d603b16a8787e4926f9a44e40a7f8f7b5ea391b664736f6c634300080800330000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad24