[ { "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": true, "internalType": "uint256", "name": "epoch", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "totalSupply", "type": "uint256" } ], "name": "LogRebase", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" } ], "name": "OwnershipRenounced", "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": "DEAD", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DECIMALS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "INDEX", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_UINT256", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "RATE_DECIMALS", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SafutitanoRiskFreeFund", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SafutitanoRiskFreeFundFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ZERO", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_autoAddLiquidity", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_autoRebase", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_initRebaseStartTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_lastAddLiquidityTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_lastRebasedTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_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": "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": [], "name": "autoLiquidityFund", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gons", "type": "uint256" } ], "name": "balanceForGons", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "blacklist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "checkFeeExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "feeDenominator", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "getLiquidityBacking", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "gonsForBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "index", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isNotInSwap", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualSync", "outputs": [], "stateMutability": "nonpayable", "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": "pairAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pairContract", "outputs": [ { "internalType": "contract IJoeSwapPair", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "remWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addrs", "type": "address[]" } ], "name": "remWhitelists", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IJoeSwapRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_flag", "type": "bool" } ], "name": "setAutoAddLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_flag", "type": "bool" } ], "name": "setAutoRebase", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_botAddress", "type": "address" }, { "internalType": "bool", "name": "_flag", "type": "bool" } ], "name": "setBotBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_autoLiquidityFund", "type": "address" }, { "internalType": "address", "name": "_treasuryFund", "type": "address" }, { "internalType": "address", "name": "_SafutitanoRiskFreeFund", "type": "address" }, { "internalType": "address", "name": "_supplyControl", "type": "address" } ], "name": "setFeeReceivers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "setLP", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pairAddress", "type": "address" } ], "name": "setPairAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "setWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addrs", "type": "address[]" } ], "name": "setWhitelists", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "supplyControl", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "supplyControlFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "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": "treasuryFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "treasuryFund", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawAllToTreasury", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawFund", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526004608081905263151154d560e21b60a090815262000027916003919062000672565b5060408051808201909152600480825263151154d560e21b602090920191825262000053918162000672565b506005805460ff1916811790556028600781905560196008819055603260098190556014600a55600b829055620000b3926200009f9190829084620004a1602090811b62001c5d17901c565b620004a160201b62001c5d1790919060201c565b600c556103e8600d556012805460ff60a01b19908116600160a01b17909155601480549091169055348015620000e857600080fd5b50604080518082018252600480825263151154d560e21b6020808401828152855180870190965292855284015281519192916005916200012c916000919062000672565b5081516200014290600190602085019062000672565b506002805460ff191660ff9290921691909117610100600160a81b03191661010033021790555050601380547360ae616a2155ee3d9a68541ba4544862310933d46001600160a01b031990911617908190556040805163c45a015560e01b815290516001600160a01b039092169163c45a015591600480820192602092909190829003018186803b158015620001d757600080fd5b505afa158015620001ec573d6000803e3d6000fd5b505050506040513d60208110156200020357600080fd5b5051601354604080516339d94ae160e11b815290516001600160a01b039384169363c9c653969316916373b295c2916004808301926020929190829003018186803b1580156200025257600080fd5b505afa15801562000267573d6000803e3d6000fd5b505050506040513d60208110156200027e57600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301523060248301525160448083019260209291908290030181600087803b158015620002ce57600080fd5b505af1158015620002e3573d6000803e3d6000fd5b505050506040513d6020811015620002fa57600080fd5b5051601480546001600160a01b03199081166001600160a01b03938416178255600e805473f719974bd2b98662463da10ee10ebbaff665cc569083168117909155600f805483168217815560108054841683179055601180548416909217909155306000908152601d60209081526040808320601354881684528252808320600019905594546012805491881691909516811790945560058054610100600160a81b0319166101009095029490941790935564174876e800601a90815591549094168452601c82529190922064030e9667ff19908190559054620003e79262000505811b62001cb717901c565b601b5542601781905560185560168054610100600160ff19928316811761ff00191691909117909255600f546001600160a01b0316600090815260066020526040808220805484168517905530825290208054909116909117905562000450620186a06200054f565b601555600f54601a5460408051918252516001600160a01b03909216916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a36200071e565b600082820183811015620004fc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000620004fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200056d60201b60201c565b6000620004ff601b54836200061460201b62001cf91790919060201c565b60008183620005fd5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620005c1578181015183820152602001620005a7565b50505050905090810190601f168015620005ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200060a57fe5b0495945050505050565b6000826200062557506000620004ff565b828202828482816200063357fe5b0414620004fc5760405162461bcd60e51b81526004018080602001828103825260218152602001806200349e6021913960400191505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620006aa5760008555620006f5565b82601f10620006c557805160ff1916838001178555620006f5565b82800160010185558215620006f5579182015b82811115620006f5578251825591602001919060010190620006d8565b506200070392915062000707565b5090565b5b8082111562000703576000815560010162000708565b612d70806200072e6000396000f3fe6080604052600436106103e85760003560e01c8063753d02a111610208578063b549da8811610118578063e07fa3c1116100ab578063e9be77e81161007a578063e9be77e814610d52578063f205bf4d14610d67578063f2fde38b14610d9a578063f887ea4014610dcd578063f9f92be414610de2576103ef565b8063e07fa3c114610ce7578063e0c4f12d14610cfc578063e15beb8014610d11578063e33c0e6e14610d3d576103ef565b8063d28d8852116100e7578063d28d885214610c3a578063d439979014610c4f578063d51ed1c814610c82578063dd62ed3e14610cac576103ef565b8063b549da8814610bcf578063bd59558114610be4578063cc32d17614610bf9578063cfbac92f14610c0e576103ef565b80639b2912cc1161019b578063a8aa1b311161016a578063a8aa1b3114610b42578063a8b0898214610b57578063a9059cbb14610b6c578063afb9cf6d14610ba5578063b09f126614610bba576103ef565b80639b2912cc14610aac5780639b87676c14610ac1578063a22d483214610ad6578063a457c2d714610b09576103ef565b80638da5cb5b116101d75780638da5cb5b14610a585780638f32d59b14610a6d57806395d89b4114610a8257806398118cb414610a97576103ef565b8063753d02a1146109d15780637965d56d146109e657806383b4ac6814610a10578063854cff2f14610a25576103ef565b806332b75683116103035780634d709adf116102965780635ddb4ae2116102655780635ddb4ae21461094a5780636912652c1461095f5780636ddd17131461097457806370a0823114610989578063715018a6146109bc576103ef565b80634d709adf1461085b57806356ba67671461087057806358fa63ca146109205780635a604c5214610935576103ef565b806339509351116102d257806339509351146107ad5780633c8e556d146107e65780633eaaf86b146108315780634a254dfe14610846576103ef565b806332b756831461069857806333a581d2146106ad57806335b3f609146106c257806337c9be8714610772576103ef565b80632986c0e51161037b5780632e0f26251161034a5780632e0f26251461060e5780632f34d28214610623578063313ce5671461065857806332424aa314610683576103ef565b80632986c0e5146105ba5780632b112e49146105cf5780632b14ca56146105e45780632df75cb1146105f9576103ef565b806318160ddd116103b757806318160ddd146105235780631bd39674146105385780631df4ccfc1461056257806323b872dd14610577576103ef565b806303fd2a45146103f457806306fdde0314610425578063095ea7b3146104af578063180b0d7e146104fc576103ef565b366103ef57005b600080fd5b34801561040057600080fd5b50610409610e15565b604080516001600160a01b039092168252519081900360200190f35b34801561043157600080fd5b5061043a610e1b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047457818101518382015260200161045c565b50505050905090810190601f1680156104a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bb57600080fd5b506104e8600480360360408110156104d257600080fd5b506001600160a01b038135169060200135610eb1565b604080519115158252519081900360200190f35b34801561050857600080fd5b50610511610f18565b60408051918252519081900360200190f35b34801561052f57600080fd5b50610511610f1e565b34801561054457600080fd5b506105116004803603602081101561055b57600080fd5b5035610f24565b34801561056e57600080fd5b50610511610f3b565b34801561058357600080fd5b506104e86004803603606081101561059a57600080fd5b506001600160a01b03813581169160208101359091169060400135610f41565b3480156105c657600080fd5b5061051161101b565b3480156105db57600080fd5b5061051161102d565b3480156105f057600080fd5b506105116110ab565b34801561060557600080fd5b506105116110b1565b34801561061a57600080fd5b506105116110b7565b34801561062f57600080fd5b506106566004803603602081101561064657600080fd5b50356001600160a01b03166110bc565b005b34801561066457600080fd5b5061066d6110f5565b6040805160ff9092168252519081900360200190f35b34801561068f57600080fd5b5061066d6110fe565b3480156106a457600080fd5b50610511611107565b3480156106b957600080fd5b5061051161110d565b3480156106ce57600080fd5b50610656600480360360208110156106e557600080fd5b81019060208101813564010000000081111561070057600080fd5b82018360208201111561071257600080fd5b8035906020019184602083028401116401000000008311171561073457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611113945050505050565b34801561077e57600080fd5b506106566004803603604081101561079557600080fd5b506001600160a01b038135169060200135151561117e565b3480156107b957600080fd5b506104e8600480360360408110156107d057600080fd5b506001600160a01b0381351690602001356111fe565b3480156107f257600080fd5b506106566004803603608081101561080957600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516611291565b34801561083d57600080fd5b506105116112f2565b34801561085257600080fd5b506104096112f8565b34801561086757600080fd5b50610409611307565b34801561087c57600080fd5b506106566004803603602081101561089357600080fd5b8101906020810181356401000000008111156108ae57600080fd5b8201836020820111156108c057600080fd5b803590602001918460208302840111640100000000831117156108e257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061131b945050505050565b34801561092c57600080fd5b5061040961137a565b34801561094157600080fd5b5061066d61137f565b34801561095657600080fd5b50610409611384565b34801561096b57600080fd5b506104e8611393565b34801561098057600080fd5b506104e86113a1565b34801561099557600080fd5b50610511600480360360208110156109ac57600080fd5b50356001600160a01b03166113b1565b3480156109c857600080fd5b506106566113d9565b3480156109dd57600080fd5b50610656611439565b3480156109f257600080fd5b5061051160048036036020811015610a0957600080fd5b50356114a3565b348015610a1c57600080fd5b506104e86114ba565b348015610a3157600080fd5b5061065660048036036020811015610a4857600080fd5b50356001600160a01b03166114cb565b348015610a6457600080fd5b50610409611500565b348015610a7957600080fd5b506104e8611514565b348015610a8e57600080fd5b5061043a61152a565b348015610aa357600080fd5b5061051161158a565b348015610ab857600080fd5b50610511611590565b348015610acd57600080fd5b50610511611596565b348015610ae257600080fd5b5061065660048036036020811015610af957600080fd5b50356001600160a01b031661159c565b348015610b1557600080fd5b506104e860048036036040811015610b2c57600080fd5b506001600160a01b0381351690602001356115cf565b348015610b4e57600080fd5b506104096116b8565b348015610b6357600080fd5b506104096116c7565b348015610b7857600080fd5b506104e860048036036040811015610b8f57600080fd5b506001600160a01b0381351690602001356116d6565b348015610bb157600080fd5b506104e8611702565b348015610bc657600080fd5b5061043a61170b565b348015610bdb57600080fd5b50610511611799565b348015610bf057600080fd5b5061065661179f565b348015610c0557600080fd5b506105116119cd565b348015610c1a57600080fd5b5061065660048036036020811015610c3157600080fd5b503515156119d3565b348015610c4657600080fd5b5061043a611a1d565b348015610c5b57600080fd5b506104e860048036036020811015610c7257600080fd5b50356001600160a01b0316611a78565b348015610c8e57600080fd5b5061051160048036036020811015610ca557600080fd5b5035611a96565b348015610cb857600080fd5b5061051160048036036040811015610ccf57600080fd5b506001600160a01b0381358116916020013516611aea565b348015610cf357600080fd5b506104e8611b15565b348015610d0857600080fd5b50610409611b88565b348015610d1d57600080fd5b5061065660048036036020811015610d3457600080fd5b50351515611b97565b348015610d4957600080fd5b50610409611bd8565b348015610d5e57600080fd5b50610511611be7565b348015610d7357600080fd5b5061065660048036036020811015610d8a57600080fd5b50356001600160a01b0316611bed565b348015610da657600080fd5b5061065660048036036020811015610dbd57600080fd5b50356001600160a01b0316611c1f565b348015610dd957600080fd5b50610409611c39565b348015610dee57600080fd5b506104e860048036036020811015610e0557600080fd5b50356001600160a01b0316611c48565b61dead81565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610ea75780601f10610e7c57610100808354040283529160200191610ea7565b820191906000526020600020905b815481529060010190602001808311610e8a57829003601f168201915b5050505050905090565b336000818152601d602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600d5481565b601a5490565b6000610f12601b5483611cf990919063ffffffff16565b600c5481565b6000826001600160a01b038116610f5757600080fd5b6001600160a01b0385166000908152601d6020908152604080832033845290915290205460001914611004576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0388166000908152601d82528381203382529091529190912054610fdf918590611d52565b6001600160a01b0386166000908152601d602090815260408083203384529091529020555b61100f858585611de9565b50600195945050505050565b60006110286015546114a3565b905090565b601b54601c6020527fb9c6de81004e18dedadca3e5eabaab449ca91dff6f58efc9461da635fe77f8495461dead60009081527fa48bd8e7b1565515cde2859b6cc48308ba05b5325bcf90fb096b9ac0b8087dfc5490926110289290916110a5919061109f9064030e9667ff1990611fda565b90611fda565b90611cb7565b600a5481565b60155481565b600581565b6110c4611514565b6110cd57600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60025460ff1690565b60055460ff1681565b60185481565b60001981565b61111b611514565b61112457600080fd5b60005b815181101561117a57600082828151811061113e57fe5b6020908102919091018101516001600160a01b03166000908152600690915260409020805460ff19166001908117909155919091019050611127565b5050565b611186611514565b61118f57600080fd5b6111988261201c565b6111d35760405162461bcd60e51b815260040180806020018281038252603b815260200180612ccd603b913960400191505060405180910390fd5b6001600160a01b03919091166000908152601e60205260409020805460ff1916911515919091179055565b336000908152601d602090815260408083206001600160a01b038616845290915281205461122c9083611c5d565b336000818152601d602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b611299611514565b6112a257600080fd5b600e80546001600160a01b039586166001600160a01b031991821617909155600f805494861694821694909417909355601080549285169284169290921790915560118054919093169116179055565b601a5481565b6011546001600160a01b031681565b60055461010090046001600160a01b031681565b611323611514565b61132c57600080fd5b60005b815181101561117a57600082828151811061134657fe5b6020908102919091018101516001600160a01b03166000908152600690915260409020805460ff191690555060010161132f565b600081565b600781565b600e546001600160a01b031681565b601654610100900460ff1681565b601254600160a01b900460ff1681565b601b546001600160a01b0382166000908152601c60205260408120549091610f129190611cb7565b6113e1611514565b6113ea57600080fd5b6002546040516101009091046001600160a01b0316907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a260028054610100600160a81b0319169055565b601460009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561148957600080fd5b505af115801561149d573d6000803e3d6000fd5b50505050565b6000610f12601b5483611cb790919063ffffffff16565b601454600160a01b900460ff161590565b6114d3611514565b6114dc57600080fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b60025461010090046001600160a01b031690565b60025461010090046001600160a01b0316331490565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610ea75780601f10610e7c57610100808354040283529160200191610ea7565b60075481565b60195481565b60175481565b6115a4611514565b6115ad57600080fd5b601280546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152601d602090815260408083206001600160a01b038616845290915281205480831061162357336000908152601d602090815260408083206001600160a01b0388168452909152812055611652565b61162d8184611fda565b336000908152601d602090815260408083206001600160a01b03891684529091529020555b336000818152601d602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6014546001600160a01b031681565b6012546001600160a01b031681565b6000826001600160a01b0381166116ec57600080fd5b6116f7338585611de9565b506001949350505050565b60165460ff1681565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156117915780601f1061176657610100808354040283529160200191611791565b820191906000526020600020905b81548152906001019060200180831161177457829003601f168201915b505050505081565b60095481565b6014805460ff60a01b1916600160a01b1790556117ba611514565b6117c357600080fd5b601b54306000908152601c602052604081205490916117e29190611cb7565b9050600081116118235760405162461bcd60e51b8152600401808060200182810382526033815260200180612d086033913960400191505060405180910390fd5b604080516002808252606082018352600092602083019080368337019050509050308160008151811061185257fe5b6001600160a01b03928316602091820292909201810191909152601354604080516339d94ae160e11b8152905191909316926373b295c2926004808301939192829003018186803b1580156118a657600080fd5b505afa1580156118ba573d6000803e3d6000fd5b505050506040513d60208110156118d057600080fd5b50518151829060019081106118e157fe5b6001600160a01b03928316602091820292909201810191909152601354600f54604051633b158ab160e11b81526004810187815260006024830181905292861660648301819052426084840181905260a060448501908152895160a48601528951969098169763762b1562978b978b969495939460c4019187810191028083838b5b8381101561197b578181015183820152602001611963565b505050509050019650505050505050600060405180830381600087803b1580156119a457600080fd5b505af11580156119b8573d6000803e3d6000fd5b50506014805460ff60a01b1916905550505050565b60085481565b6119db611514565b6119e457600080fd5b8015611a06576016805461ff0019166101008315150217905542601955611a1a565b6016805461ff001916610100831515021790555b50565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156117915780601f1061176657610100808354040283529160200191611791565b6001600160a01b031660009081526006602052604090205460ff1690565b601b546014546001600160a01b03166000908152601c602052604081205490918291611ac191611cb7565b9050611ae3611ace61102d565b6110a5611adc846002611cf9565b8690611cf9565b9392505050565b6001600160a01b039182166000908152601d6020908152604080832093909416825291909152205490565b6000611b1f611514565b611b2857600080fd5b60105460405147916000916001600160a01b039091169083908381818185875af1925050503d8060008114611b79576040519150601f19603f3d011682016040523d82523d6000602084013e611b7e565b606091505b5090935050505090565b600f546001600160a01b031681565b611b9f611514565b611ba857600080fd5b8015611bc5576016805460ff191682151517905542601855611a1a565b6016805482151560ff1990911617905550565b6010546001600160a01b031681565b600b5481565b611bf5611514565b611bfe57600080fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b611c27611514565b611c3057600080fd5b611a1a81612022565b6013546001600160a01b031681565b601e6020526000908152604090205460ff1681565b600082820183811015611ae3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611ae383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061209c565b600082611d0857506000610f12565b82820282848281611d1557fe5b0414611ae35760405162461bcd60e51b8152600401808060200182810382526021815260200180612cac6021913960400191505060405180910390fd5b60008184841115611de15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611da6578181015183820152602001611d8e565b50505050905090810190601f168015611dd35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0383166000908152601e602052604081205460ff16158015611e2b57506001600160a01b0383166000908152601e602052604090205460ff16155b611e6b576040805162461bcd60e51b815260206004820152600c60248201526b1a5b97d89b1858dadb1a5cdd60a21b604482015290519081900360640190fd5b601454600160a01b900460ff1615611e8f57611e88848484612101565b9050611ae3565b611e97612193565b15611ea457611ea46121f2565b611eac6123b2565b15611eb957611eb9612403565b611ec1612741565b15611ece57611ece61276c565b6000611ee5601b5484611cf990919063ffffffff16565b6001600160a01b0386166000908152601c6020526040902054909150611f0b9082611fda565b6001600160a01b0386166000908152601c6020526040812091909155611f318686612a8f565b611f3b5781611f46565b611f46868684612ae3565b6001600160a01b0386166000908152601c6020526040902054909150611f6c9082611c5d565b6001600160a01b038087166000818152601c6020526040902092909255601b54908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611fbd908590611cb7565b60408051918252519081900360200190a350600195945050505050565b6000611ae383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d52565b3b151590565b6001600160a01b03811661203557600080fd5b6002546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600081836120eb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611da6578181015183820152602001611d8e565b5060008385816120f757fe5b0495945050505050565b600080612119601b5484611cf990919063ffffffff16565b6001600160a01b0386166000908152601c602052604090205490915061213f9082611fda565b6001600160a01b038087166000908152601c6020526040808220939093559086168152205461216e9082611c5d565b6001600160a01b0385166000908152601c602052604090205550600190509392505050565b60165460009060ff1680156121b05750601a5466038d7ea4c68000115b80156121c757506014546001600160a01b03163314155b80156121dd5750601454600160a01b900460ff16155b80156110285750506018546103840142101590565b601454600160a01b900460ff1615612209576123b0565b601754601854600091429081039190038261222682610384611cb7565b9050600061223582600f611cf9565b9050630f099c00841061224b57600894506122a1565b6309660180841061225f57602194506122a1565b6305a39a80841061227357603e94506122a1565b6303c26700841061228757607d94506122a1565b6301e13380841061229b5760e094506122a1565b61093a94505b60005b828110156122d4576122c9629896806110a56122c0828a611c5d565b601a5490611cf9565b601a556001016122a4565b50601a546122e99064030e9667ff1990611cb7565b601b556123046122fb83610384611cf9565b60185490611c5d565b601881905550600560019054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561235a57600080fd5b505af115801561236e573d6000803e3d6000fd5b5050601a5460408051918252518493507f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f292509081900360200190a250505050505b565b601654600090610100900460ff1680156123d65750601454600160a01b900460ff16155b80156123ed57506014546001600160a01b03163314155b8015611028575050601954620151800142101590565b6014805460ff60a01b1916600160a01b179055601b54600e546001600160a01b03166000908152601c602052604081205490916124409190611cb7565b600e546001600160a01b03166000908152601c60205260408082205430835291205491925061246f9190611c5d565b306000908152601c602052604080822092909255600e546001600160a01b031681529081208190556124a2826002611cb7565b905060006124b08383611fda565b9050806124bf57505050612732565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106124ee57fe5b6001600160a01b03928316602091820292909201810191909152601354604080516339d94ae160e11b8152905191909316926373b295c2926004808301939192829003018186803b15801561254257600080fd5b505afa158015612556573d6000803e3d6000fd5b505050506040513d602081101561256c57600080fd5b505181518290600190811061257d57fe5b6001600160a01b03928316602091820292909201810191909152601354604051633b158ab160e11b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763762b1562978c9795968c9690939260c49091019187820191028083838b5b838110156126175781810151838201526020016125ff565b505050509050019650505050505050600060405180830381600087803b15801561264057600080fd5b505af1158015612654573d6000803e3d6000fd5b50505050600061266d8247611fda90919063ffffffff16565b905060008511801561267f5750600081115b1561272757601354600e5460408051637c8d9fb960e11b81523060048201526024810189905260006044820181905260648201526001600160a01b0392831660848201524260a48201529051919092169163f91b3f7291849160c48082019260609290919082900301818588803b1580156126f957600080fd5b505af115801561270d573d6000803e3d6000fd5b50505050506040513d606081101561272457600080fd5b50505b505042601955505050505b6014805460ff60a01b19169055565b601454600090600160a01b900460ff161580156110285750506014546001600160a01b031633141590565b6014805460ff60a01b1916600160a01b179055601b54306000908152601c6020526040812054909161279e9190611cb7565b9050806127ab5750612732565b6040805160028082526060820183524792600092919060208301908036833701905050905030816000815181106127de57fe5b6001600160a01b03928316602091820292909201810191909152601354604080516339d94ae160e11b8152905191909316926373b295c2926004808301939192829003018186803b15801561283257600080fd5b505afa158015612846573d6000803e3d6000fd5b505050506040513d602081101561285c57600080fd5b505181518290600190811061286d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050601360009054906101000a90046001600160a01b03166001600160a01b031663762b15628460008430426040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561292757818101518382015260200161290f565b505050509050019650505050505050600060405180830381600087803b15801561295057600080fd5b505af1158015612964573d6000803e3d6000fd5b50505050600061297d8347611fda90919063ffffffff16565b600f546009546008549293506000926001600160a01b03909216916129b4916129a69190611c5d565b6008546110a5908690611cf9565b60405161753091906000818181858888f193505050503d80600081146129f6576040519150601f19603f3d011682016040523d82523d6000602084013e6129fb565b606091505b50506010546009546008549293506001600160a01b0390911691612a3191612a239190611c5d565b6009546110a5908690611cf9565b60405161753091906000818181858888f193505050503d8060008114612a73576040519150601f19603f3d011682016040523d82523d6000602084013e612a78565b606091505b50505050505050506014805460ff60a01b19169055565b6014546000906001600160a01b0384811691161480612abb57506014546001600160a01b038381169116145b8015611ae3575050506001600160a01b031660009081526006602052604090205460ff161590565b600c5460085460145460009291906001600160a01b0386811691161415612b2f57600a54600c54612b1391611c5d565b9150612b2c600a54600854611c5d90919063ffffffff16565b90505b6000612b5083612b4a600d5488611cb790919063ffffffff16565b90611cf9565b9050612b91612b70600b54612b4a600d5489611cb790919063ffffffff16565b6011546001600160a01b03166000908152601c602052604090205490611c5d565b6011546001600160a01b03166000908152601c6020526040902055600954612be690612bd090612bc2908590611c5d565b600d54612b4a908990611cb7565b306000908152601c602052604090205490611c5d565b306000908152601c6020526040902055600754600d54612c3091612c0f91612b4a908990611cb7565b600e546001600160a01b03166000908152601c602052604090205490611c5d565b600e546001600160a01b039081166000908152601c6020526040902091909155601b5430918916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612c85908590611cb7565b60408051918252519081900360200190a3612ca08582611fda565b97965050505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c7920636f6e747261637420616464726573732c206e6f7420616c6c6f7765642065787465726e616c6c79206f776e6564206163636f756e745468657265206973206e6f20534146544920746f6b656e206465706f736974656420696e20746f6b656e20636f6e7472616374a26469706673582212204d306991c6562ae4b676616d273874ffd928b66beb1fd3c1273a8a07226caae664736f6c63430007060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77