[ { "inputs": [], "stateMutability": "payable", "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": "amountAVAX", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "AutoLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "ContractSwapEnabledUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "sniperAddress", "type": "address" } ], "name": "SniperCaught", "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": "_hasLiqBeenAdded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_ratios", "outputs": [ { "internalType": "uint16", "name": "rewards", "type": "uint16" }, { "internalType": "uint16", "name": "liquidity", "type": "uint16" }, { "internalType": "uint16", "name": "marketing", "type": "uint16" }, { "internalType": "uint16", "name": "dev", "type": "uint16" }, { "internalType": "uint16", "name": "total", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxRates", "outputs": [ { "internalType": "uint16", "name": "buyFee", "type": "uint16" }, { "internalType": "uint16", "name": "sellFee", "type": "uint16" }, { "internalType": "uint16", "name": "transferFee", "type": "uint16" } ], "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": [], "name": "approveContractContingency", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractSwapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract IRouter02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getApproximateTotalUnpaidRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaxTX", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTotalReflected", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "shareholder", "type": "address" } ], "name": "getUserInfo", "outputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "shareholder", "type": "address" } ], "name": "getUserRealizedGains", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "shareholder", "type": "address" } ], "name": "getUserUnpaidEarnings", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "giveMeWelfarePlease", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromDividends", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualDepost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "percents", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "divisors", "type": "uint256[]" } ], "name": "multiSendPercents", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "multiSendTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "processReflect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeBlacklisted", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeSniper", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setBlacklistEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setBlacklistEnabledMultiple", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "bool", "name": "processReflectEnabled", "type": "bool" } ], "name": "setContractSwapSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setDividendExcluded", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setExcludedFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setExcludedFromLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "setGasPriceLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "aInitializer", "type": "address" }, { "internalType": "address", "name": "cInitializer", "type": "address" } ], "name": "setInitializers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setLpPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "uint256", "name": "divisor", "type": "uint256" } ], "name": "setMaxTxPercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "uint256", "name": "divisor", "type": "uint256" } ], "name": "setMaxWalletSize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newRouter", "type": "address" } ], "name": "setNewRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_antiSnipe", "type": "bool" }, { "internalType": "bool", "name": "_antiGas", "type": "bool" }, { "internalType": "bool", "name": "_antiBlock", "type": "bool" }, { "internalType": "bool", "name": "_antiSpecial", "type": "bool" } ], "name": "setProtectionSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "rewards", "type": "uint16" }, { "internalType": "uint16", "name": "liquidity", "type": "uint16" }, { "internalType": "uint16", "name": "marketing", "type": "uint16" } ], "name": "setRatios", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "_minReflection", "type": "uint256" }, { "internalType": "uint256", "name": "minReflectionMultiplier", "type": "uint256" } ], "name": "setReflectionCriteria", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "setReflectorSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "thresholdPercent", "type": "uint256" }, { "internalType": "uint256", "name": "thresholdDivisor", "type": "uint256" }, { "internalType": "uint256", "name": "amountPercent", "type": "uint256" }, { "internalType": "uint256", "name": "amountDivisor", "type": "uint256" } ], "name": "setSwapSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "buyFee", "type": "uint16" }, { "internalType": "uint16", "name": "sellFee", "type": "uint16" }, { "internalType": "uint16", "name": "transferFee", "type": "uint16" } ], "name": "setTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "marketing", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "staticVals", "outputs": [ { "internalType": "uint16", "name": "maxBuyTaxes", "type": "uint16" }, { "internalType": "uint16", "name": "maxSellTaxes", "type": "uint16" }, { "internalType": "uint16", "name": "maxTransferTaxes", "type": "uint16" }, { "internalType": "uint16", "name": "masterTaxDivisor", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "transferOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6000600355610546608081905260a081905260c0526009805465ffffffffffff191665054605460546178155602460e052600e610100819052602361012052600f6101408190526064610160819052600a80546001600160501b0319166864000f0023000e00241781556102006040526107d06101808190526101a08190526101c0526127106101e052600b80546001600160401b03191667271007d007d007d0179055835461dead6001600160a01b03199182161790945582548416909255601080547399aad6c050a2c40ffbc49a6e19b58d3432c01a269416939093179092559091620000ee9162000876565b620001019066038d7ea4c680006200088e565b6200010e9060056200088e565b6200011a9190620008b0565b60115560646200012d6009600a62000876565b620001409066038d7ea4c680006200088e565b6200014d9060646200088e565b620001599190620008b0565b601255620493e06014556015805462ffff0019169055612710620001806009600a62000876565b620001939066038d7ea4c680006200088e565b620001a09060056200088e565b620001ac9190620008b0565b601655612710620001c06009600a62000876565b620001d39066038d7ea4c680006200088e565b620001e090600a6200088e565b620001ec9190620008b0565b6017556018805462ffffff19169055620002096009600a62000876565b6200021c9066038d7ea4c680006200088e565b3360008181526001602052604081209290925581546001600160a01b03191617905560384614156200027457600c80546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e17905562000328565b4660611415620002aa57600c80546001600160a01b031916739ac64cc6e4415144c455bd8e4837fea55603e5c317905562000328565b4660011480620002ba5750466004145b15620002ec57600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905562000328565b4661a86a14156200032357600c80546001600160a01b0319167360ae616a2155ee3d9a68541ba4544862310933d417905562000328565b600080fd5b600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200037c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a29190620008d3565b6001600160a01b031663c9c65396600c60009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042a9190620008d3565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000477573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049d9190620008d3565b600d80546001600160a01b0319166001600160a01b039283169081179091556000908152600260205260409020805460ff19166001179055600c54620004e99133911660001962000635565b600c54620005059030906001600160a01b031660001962000635565b600080546001600160a01b0390811682526005602090815260408084208054600160ff19918216811790925530808752838720805483168417905586548616875260079094528286208054821683179055600d548516865282862080548216831790559285528185208054841682179055600e54841685528185208054841682179055600f805485168652919094208054909216909317905590543391167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620005d26009600a62000876565b620005e59066038d7ea4c680006200088e565b60405190815260200160405180910390a3600080546040516001600160a01b0390911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3620008fe565b6001600160a01b0383166200069d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620007005760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000694565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007b85781600019048211156200079c576200079c62000761565b80851615620007aa57918102915b93841c93908002906200077c565b509250929050565b600082620007d15750600162000870565b81620007e05750600062000870565b8160018114620007f95760028114620008045762000824565b600191505062000870565b60ff84111562000818576200081862000761565b50506001821b62000870565b5060208310610133831016604e8410600b841016171562000849575081810a62000870565b62000855838362000777565b80600019048211156200086c576200086c62000761565b0290505b92915050565b60006200088760ff841683620007c0565b9392505050565b6000816000190483118215151615620008ab57620008ab62000761565b500290565b600082620008ce57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620008e657600080fd5b81516001600160a01b03811681146200088757600080fd5b6150f8806200090e6000396000f3fe6080604052600436106103c75760003560e01c80636386c1c7116101f2578063c6a276c21161010d578063eb50e70e116100a0578063f7c245ea1161006f578063f7c245ea14610ce0578063fb78680d14610cf5578063fdb78c0e14610d15578063fe575a8714610d3457600080fd5b8063eb50e70e14610c6b578063eec2744e14610c8b578063efe7dc9014610cab578063f7727e1414610ccb57600080fd5b8063dd62ed3e116100dc578063dd62ed3e14610bc5578063dea528a114610c0b578063e8a0e3f914610c2b578063eafb5a3c14610c4b57600080fd5b8063c6a276c214610aca578063c705c56914610aea578063cf84770614610b23578063d0b1449d14610ba557600080fd5b80638a63bd9b11610185578063a9059cbb11610154578063a9059cbb14610a4b578063aa22b17214610a6b578063ab5cb5a614610a8b578063c26dc4b714610aab57600080fd5b80638a63bd9b146109c65780638a8c523c146109db57806395d89b41146109f05780639dc6761514610a3657600080fd5b8063715018a6116101c1578063715018a61461095357806375f0a8741461096857806380c581d114610988578063893d20e8146109a857600080fd5b80636386c1c7146108b85780636b639a25146108e85780636ebd00781461090857806370a082311461091d57600080fd5b806329dd8798116102e2578063452ed4f11161027557806350a8e0161161024457806350a8e0161461081f578063590ffdce1461083f5780635cce86cd1461085f5780636372c68f1461089857600080fd5b8063452ed4f1146107875780634ada218b146107a75780634fb2e45d146107c65780634fbee193146107e657600080fd5b806332cde664116102b157806332cde6641461070757806333251a0b1461072757806336fddb04146107475780633f3cf56c1461076757600080fd5b806329dd8798146106a05780632b112e49146106c05780632e8fa821146106d5578063313ce567146106eb57600080fd5b806309a8f1791161035a578063218950bc11610329578063218950bc1461062057806323b872dd1461064057806326003957146106605780632610eaca1461068057600080fd5b806309a8f1791461056b5780630fa604e41461058b57806318160ddd146105a05780631b6afa2d146105b557600080fd5b806306fdde031161039657806306fdde03146104ac5780630758d924146104fb578063092316021461051b578063095ea7b31461053b57600080fd5b806303fd2a45146103d35780630445b6671461041057806305bbedb614610434578063069d955f1461045657600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b50600e546103f3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561041c57600080fd5b5061042660165481565b604051908152602001610407565b34801561044057600080fd5b5061045461044f36600461478e565b610d54565b005b34801561046257600080fd5b506009546104879061ffff808216916201000081048216916401000000009091041683565b6040805161ffff94851681529284166020840152921691810191909152606001610407565b3480156104b857600080fd5b5060408051808201909152600c81527f41766178205072696e746572000000000000000000000000000000000000000060208201525b6040516104079190614838565b34801561050757600080fd5b50600c546103f3906001600160a01b031681565b34801561052757600080fd5b5061045461053636600461484b565b610e3a565b34801561054757600080fd5b5061055b610556366004614864565b610f66565b6040519015158152602001610407565b34801561057757600080fd5b50610454610586366004614890565b610fd3565b34801561059757600080fd5b506104266110c6565b3480156105ac57600080fd5b506104266110e6565b3480156105c157600080fd5b50600b546105f29061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff95861681529385166020850152918416918301919091529091166060820152608001610407565b34801561062c57600080fd5b5061045461063b3660046148bc565b611105565b34801561064c57600080fd5b5061055b61065b3660046148ea565b611209565b34801561066c57600080fd5b5061045461067b36600461492b565b611283565b34801561068c57600080fd5b5061045461069b3660046149a8565b6113e7565b3480156106ac57600080fd5b506104546106bb366004614a0c565b611508565b3480156106cc57600080fd5b506104266115fe565b3480156106e157600080fd5b5061042660175481565b3480156106f757600080fd5b5060405160098152602001610407565b34801561071357600080fd5b50610454610722366004614a7f565b61166d565b34801561073357600080fd5b50610454610742366004614ac2565b61178b565b34801561075357600080fd5b50610454610762366004614adf565b611838565b34801561077357600080fd5b5061045461078236600461492b565b6118bd565b34801561079357600080fd5b50600d546103f3906001600160a01b031681565b3480156107b357600080fd5b5060185461055b90610100900460ff1681565b3480156107d257600080fd5b506104546107e1366004614ac2565b611a21565b3480156107f257600080fd5b5061055b610801366004614ac2565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561082b57600080fd5b5060185461055b9062010000900460ff1681565b34801561084b57600080fd5b5061045461085a366004614adf565b611c6e565b34801561086b57600080fd5b5061055b61087a366004614ac2565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156108a457600080fd5b506104266108b3366004614ac2565b611cf3565b3480156108c457600080fd5b506108d86108d3366004614ac2565b611d7c565b6040516104079493929190614b0d565b3480156108f457600080fd5b50610454610903366004614adf565b611e1d565b34801561091457600080fd5b50610426611f8c565b34801561092957600080fd5b50610426610938366004614ac2565b6001600160a01b031660009081526001602052604090205490565b34801561095f57600080fd5b50610454611fa7565b34801561097457600080fd5b506010546103f3906001600160a01b031681565b34801561099457600080fd5b506104546109a3366004614adf565b612085565b3480156109b457600080fd5b506000546001600160a01b03166103f3565b3480156109d257600080fd5b5061055b612239565b3480156109e757600080fd5b506104546122b4565b3480156109fc57600080fd5b5060408051808201909152600681527f415650524e54000000000000000000000000000000000000000000000000000060208201526104ee565b348015610a4257600080fd5b506104546124e3565b348015610a5757600080fd5b5061055b610a66366004614864565b61255b565b348015610a7757600080fd5b50610454610a86366004614a7f565b612568565b348015610a9757600080fd5b50610426610aa6366004614ac2565b6126f9565b348015610ab757600080fd5b506013546001600160a01b031631610426565b348015610ad657600080fd5b50610454610ae5366004614ac2565b612745565b348015610af657600080fd5b5061055b610b05366004614ac2565b6001600160a01b031660009081526007602052604090205460ff1690565b348015610b2f57600080fd5b50600a54610b709061ffff80821691620100008104821691640100000000820481169166010000000000008104821691680100000000000000009091041685565b6040805161ffff968716815294861660208601529285169284019290925283166060830152909116608082015260a001610407565b348015610bb157600080fd5b50610454610bc036600461484b565b6127f2565b348015610bd157600080fd5b50610426610be03660046148bc565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610c1757600080fd5b50610454610c26366004614b65565b612860565b348015610c3757600080fd5b50610454610c46366004614b83565b612904565b348015610c5757600080fd5b50610454610c66366004614ac2565b612a9a565b348015610c7757600080fd5b50610454610c86366004614ac2565b612e55565b348015610c9757600080fd5b50610454610ca6366004614adf565b612ede565b348015610cb757600080fd5b5060155461055b9062010000900460ff1681565b348015610cd757600080fd5b50610454612fca565b348015610cec57600080fd5b50610426613089565b348015610d0157600080fd5b50610454610d10366004614c0b565b613110565b348015610d2157600080fd5b5060155461055b90610100900460ff1681565b348015610d4057600080fd5b5061055b610d4f366004614ac2565b6131dc565b6000546001600160a01b03163314610db35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6018546040517f05bbedb600000000000000000000000000000000000000000000000000000000815263010000009091046001600160a01b0316906305bbedb690610e049085908590600401614c81565b600060405180830381600087803b158015610e1e57600080fd5b505af1158015610e32573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610e945760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b604b811015610ee55760405162461bcd60e51b815260206004820152600860248201527f546f6f206c6f772e0000000000000000000000000000000000000000000000006044820152606401610daa565b6018546040517f092316020000000000000000000000000000000000000000000000000000000081526004810183905263010000009091046001600160a01b0316906309231602906024015b600060405180830381600087803b158015610f4b57600080fd5b505af1158015610f5f573d6000803e3d6000fd5b5050505050565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610fc19086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461102d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b61103881600a614db8565b6110429083614dc4565b6013546040517f8cd7f02e00000000000000000000000000000000000000000000000000000000815260048101869052602481018390529193506001600160a01b031690638cd7f02e90604401600060405180830381600087803b1580156110a957600080fd5b505af11580156110bd573d6000803e3d6000fd5b50505050505050565b60006110d46009600a614de3565b6012546110e19190614df2565b905090565b60006110f46009600a614de3565b6110e19066038d7ea4c68000614dc4565b6000546001600160a01b0316331461115f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6001600160a01b038116301480159061118157506001600160a01b0382163014155b801561119f5750816001600160a01b0316816001600160a01b031614155b6111a857600080fd5b6013805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03928316179055601880547fffffffffffffffffff0000000000000000000000000000000000000000ffffff1663010000009390921692909202179055565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000191461126e576001600160a01b038416600090815260046020908152604080832033845290915281208054849290611268908490614e2d565b90915550505b61127984848461326b565b90505b9392505050565b6000546001600160a01b031633146112dd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b60646112eb6009600a614de3565b6112fc9066038d7ea4c68000614dc4565b6113069190614df2565b81836113146009600a614de3565b6113259066038d7ea4c68000614dc4565b61132f9190614dc4565b6113399190614df2565b10156113ad5760405162461bcd60e51b815260206004820152603060248201527f4d61782057616c6c657420616d74206d7573742062652061626f76652031252060448201527f6f6620746f74616c20737570706c792e000000000000000000000000000000006064820152608401610daa565b80826113bb6009600a614de3565b6113cc9066038d7ea4c68000614dc4565b6113d69190614dc4565b6113e09190614df2565b6012555050565b80518251146114385760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610daa565b60005b82518160ff16101561150357818160ff168151811061145c5761145c614e44565b602002602001015160016000336001600160a01b03166001600160a01b0316815260200190815260200160002054101561149557600080fd5b6114f033848360ff16815181106114ae576114ae614e44565b60200260200101516009600a6114c49190614de3565b858560ff16815181106114d9576114d9614e44565b60200260200101516114eb9190614dc4565b61326b565b50806114fb81614e73565b91505061143b565b505050565b6000546001600160a01b031633146115625760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6018546040517f0109da69000000000000000000000000000000000000000000000000000000008152851515600482015284151560248201528315156044820152821515606482015263010000009091046001600160a01b031690630109da6990608401600060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b5050505050505050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4954600e546001600160a01b031660009081526040812054909161164691614e93565b6116526009600a614de3565b6116639066038d7ea4c68000614dc4565b6110e19190614e2d565b6000546001600160a01b031633146116c75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b600b5461ffff908116908416118015906116f15750600b5461ffff62010000909104811690831611155b801561170f5750600b5461ffff640100000000909104811690821611155b61171857600080fd5b6009805461ffff9485167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909116176201000093851693909302929092177fffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffff166401000000009190931602919091179055565b6000546001600160a01b031633146117e55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6018546040517f33251a0b0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526301000000909204909116906333251a0b90602401610f31565b6000546001600160a01b031633146118925760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146119175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b60646119256009600a614de3565b6119369066038d7ea4c68000614dc4565b6119409190614df2565b818361194e6009600a614de3565b61195f9066038d7ea4c68000614dc4565b6119699190614dc4565b6119739190614df2565b10156119e75760405162461bcd60e51b815260206004820152603560248201527f4d6178205472616e73616374696f6e20616d74206d7573742062652061626f7660448201527f65203125206f6620746f74616c20737570706c792e00000000000000000000006064820152608401610daa565b80826119f56009600a614de3565b611a069066038d7ea4c68000614dc4565b611a109190614dc4565b611a1a9190614df2565b6011555050565b6000546001600160a01b03163314611a7b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6001600160a01b038116611af75760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610daa565b600e546001600160a01b0382811691161415611b7b5760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610daa565b600080546001600160a01b039081168252600560208181526040808520805460ff1990811690915585548516865260078084528287208054831690558786168752938352818620805482166001908117909155938352818620805490911684179055845490931684525290205415611c1657600080546001600160a01b03168082526001602052604090912054611c149190839061326b565b505b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314611cc85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6013546040517fd59b2ffd0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092169063d59b2ffd906024015b602060405180830381865afa158015611d58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcd9190614eab565b6013546040517f5e6056bb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526060928392839283921690635e6056bb90602401600060405180830381865afa158015611de6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e0e9190810190614f28565b93509350935093509193509193565b6000546001600160a01b03163314611e775760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6001600160a01b0382163014801590611e9e5750600d546001600160a01b03838116911614155b611ea757600080fd5b6001600160a01b0382166000908152600760205260409020805460ff19168215801591909117909155611f26576013546040517fdf047e9e0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152600060248301529091169063df047e9e90604401610e04565b6013546001600160a01b03838116600081815260016020526040908190205490517fdf047e9e0000000000000000000000000000000000000000000000000000000081526004810192909252602482015291169063df047e9e90604401610e04565b5050565b6000611f9a6009600a614de3565b6011546110e19190614df2565b6000546001600160a01b031633146120015760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b600080546001600160a01b039081168252600560209081526040808420805460ff199081169091558454909316845260079091528083208054909216909155815473ffffffffffffffffffffffffffffffffffffffff191682555181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b031633146120df5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b80612157576001600160a01b03828116600081815260026020526040808220805460ff1916905560185490517f80c581d10000000000000000000000000000000000000000000000000000000081526004810193909352602483019190915263010000009004909116906380c581d190604401610e04565b600354156121be576203f480600354426121719190614e2d565b116121be5760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f74207365742061206e657720706169722074686973207765656b216044820152606401610daa565b6001600160a01b0382811660008181526002602052604090819020805460ff191660019081179091554260035560185491517f80c581d10000000000000000000000000000000000000000000000000000000081526004810193909352602483015263010000009004909116906380c581d190604401610e04565b600080546001600160a01b031633146122945760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b600c546122ae9030906001600160a01b03166000196136a1565b50600190565b6000546001600160a01b0316331461230e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b601854610100900460ff16156123665760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610daa565b60185462010000900460ff166123be5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610daa565b601854630100000090046001600160a01b031661240657601880547fffffffffffffffffff0000000000000000000000000000000000000000ffffff16306301000000021790555b601854600d546040517f6c115c340000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff421660448201526009606482015263010000009092041690636c115c3490608401600060405180830381600087803b15801561249257600080fd5b505af19250505080156124a3575060015b50601880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790556015805462ff0000191662010000179055565b6013546040517f2e6f0efd0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0390911690632e6f0efd90602401600060405180830381600087803b15801561254157600080fd5b505af1158015612555573d6000803e3d6000fd5b50505050565b600061127c33848461326b565b6000546001600160a01b031633146125c25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b806125cd8385614fd5565b6125d79190614fd5565b6125e290600c614fd5565b61ffff166064146125f257600080fd5b600a805461ffff8581167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909216919091176201000085831602177fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff16640100000000848316027fffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffff1617660f0000000000001791829055660100000000000090910416816126a08486614fd5565b6126aa9190614fd5565b6126b49190614fd5565b600a805461ffff9290921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff909216919091179055505050565b6013546040517ff6ed20170000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092169063f6ed201790602401611d3b565b6000546001600160a01b0316331461279f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6018546040517fc6a276c20000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015263010000009092049091169063c6a276c290602401610f31565b6000546001600160a01b0316331461284c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b620b71b0811061285b57600080fd5b601455565b6000546001600160a01b031633146128ba5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff166101009315159390930262ff00001916929092176201000091151591909102179055565b81518351148015612916575080518251145b6129625760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610daa565b60005b83518160ff16101561255557818160ff168151811061298657612986614e44565b6020026020010151838260ff16815181106129a3576129a3614e44565b60200260200101516009600a6129b99190614de3565b6129ca9066038d7ea4c68000614dc4565b6129d49190614dc4565b6129de9190614df2565b3360009081526001602052604090205410156129f957600080fd5b612a8733858360ff1681518110612a1257612a12614e44565b6020026020010151848460ff1681518110612a2f57612a2f614e44565b6020026020010151868560ff1681518110612a4c57612a4c614e44565b60200260200101516009600a612a629190614de3565b612a739066038d7ea4c68000614dc4565b612a7d9190614dc4565b6114eb9190614df2565b5080612a9281614e73565b915050612965565b6000546001600160a01b03163314612af45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5d9190614ffb565b6001600160a01b031663e6a4390530846001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612baa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bce9190614ffb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015612c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c559190614ffb565b90506001600160a01b038116612df357816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc79190614ffb565b6001600160a01b031663c9c6539630846001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d389190614ffb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015612d9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc19190614ffb565b600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055612e1c565b600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790555b600c805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556115039030906000196136a1565b6000546001600160a01b03163314612eaf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6010805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b03163314612f385760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b6018546040517feec2744e0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152831515602483015263010000009092049091169063eec2744e90604401600060405180830381600087803b158015612fa857600080fd5b505af1158015612fbc573d6000803e3d6000fd5b50505050611f888282611e1d565b6000546001600160a01b031633146130245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b601360009054906101000a90046001600160a01b03166001600160a01b03166386d5c4be476040518263ffffffff1660e01b81526004016000604051808303818588803b15801561307457600080fd5b505af193505050508015613086575060015b50565b601354604080517f5695fa5800000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691635695fa589160048083019260209291908290030181865afa1580156130ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e19190614eab565b6000546001600160a01b0316331461316a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610daa565b82846131786009600a614de3565b6131899066038d7ea4c68000614dc4565b6131939190614dc4565b61319d9190614df2565b60165580826131ae6009600a614de3565b6131bf9066038d7ea4c68000614dc4565b6131c99190614dc4565b6131d39190614df2565b60175550505050565b6018546040517ffe575a870000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015260009263010000009004169063fe575a8790602401602060405180830381865afa158015613247573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcd9190615018565b60006001600160a01b0384166132e95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610daa565b6001600160a01b0383166133655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610daa565b600082116133db5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152608401610daa565b6133e584846137f9565b1561364157601854610100900460ff166134415760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610daa565b6001600160a01b03841660009081526002602052604090205460ff168061348057506001600160a01b03831660009081526002602052604090205460ff165b15613544576001600160a01b03841660009081526006602052604090205460ff161580156134c757506001600160a01b03831660009081526006602052604090205460ff16155b15613544576011548211156135445760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785460448201527f78416d6f756e742e0000000000000000000000000000000000000000000000006064820152608401610daa565b600c546001600160a01b0384811691161480159061357b57506001600160a01b03831660009081526002602052604090205460ff16155b15613641576001600160a01b03831660009081526006602052604090205460ff1661364157601254826135c3856001600160a01b031660009081526001602052604090205490565b6135cd9190614e93565b11156136415760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201527f616c6c657453697a652e000000000000000000000000000000000000000000006064820152608401610daa565b6001600160a01b03841660009081526005602052604090205460019060ff168061368357506001600160a01b03841660009081526005602052604090205460ff165b1561368c575060005b613698858585846138cd565b95945050505050565b6001600160a01b03831661371c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610daa565b6001600160a01b0382166137985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610daa565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080546001600160a01b0384811691161480159061382657506000546001600160a01b03838116911614155b801561383d57506000546001600160a01b03163214155b801561386257506001600160a01b03821660009081526008602052604090205460ff16155b801561388757506001600160a01b03831660009081526008602052604090205460ff16155b80156138a15750600e546001600160a01b03838116911614155b80156138b557506001600160a01b03821615155b801561127c575050506001600160a01b031630141590565b60185460009062010000900460ff1661397b576138ea8585613ba5565b60185462010000900460ff16158015613908575061390885856137f9565b1561397b5760405162461bcd60e51b815260206004820152602560248201527f4f6e6c79206f776e65722063616e207472616e7366657220617420746869732060448201527f74696d652e0000000000000000000000000000000000000000000000000000006064820152608401610daa565b61398585856137f9565b15613a39576018546040517fecd07a530000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015286811660248301526044820186905260009263010000009004169063ecd07a53906064016020604051808303816000875af1925050508015613a22575060408051601f3d908101601f19168201909252613a1f91810190615018565b60015b613a2b57600080fd5b905080613a3757600080fd5b505b6001600160a01b03851660009081526001602052604081208054859290613a61908490614e2d565b909155505060155460ff1615613a8357613a7c858585613db8565b9050613b9d565b306000908152600160205260409020546017548110613aa157506017545b60155460ff16158015613acd57506001600160a01b03861660009081526002602052604090205460ff16155b8015613ae05750601554610100900460ff165b8015613aee57506016548110155b15613afc57613afc81613e40565b838315613b1157613b0e878787614378565b90505b6001600160a01b03861660009081526001602052604081208054839290613b39908490614e93565b90915550613b499050878761448d565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613b8e91815260200190565b60405180910390a36001925050505b949350505050565b60185462010000900460ff1615613c245760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201527f65642e00000000000000000000000000000000000000000000000000000000006064820152608401610daa565b613c2e82826137f9565b158015613c485750600d546001600160a01b038281169116145b15611f88576001600160a01b038083166000908152600860205260409020805460ff191660011790556018805462ff000019166201000017908190556301000000900416613cc157601880547fffffffffffffffffff0000000000000000000000000000000000000000ffffff16306301000000021790555b6013546001600160a01b0316613cf1576013805473ffffffffffffffffffffffffffffffffffffffff1916301790555b601360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613d4157600080fd5b505af1925050508015613d52575060015b50601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff1662010100179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a15050565b6001600160a01b038216600090815260016020526040812080548391908390613de2908490614e93565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613e2e91815260200190565b60405180910390a35060019392505050565b6015805460ff191660011790556040805160a081018252600a5461ffff8082168352620100008204811660208401526401000000008204811693830193909352660100000000000081048316606083015268010000000000000000900490911660808201819052613eb1575061436b565b306000908152600460209081526040808320600c546001600160a01b0316845290915290205460001914613f0a57306000908152600460209081526040808320600c546001600160a01b03168452909152902060001990555b60006002826080015161ffff16836020015161ffff1685613f2b9190614dc4565b613f359190614df2565b613f3f9190614df2565b90506000613f4d8285614e2d565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110613f8757613f87614e44565b6001600160a01b03928316602091820292909201810191909152600c54604080517f73b295c2000000000000000000000000000000000000000000000000000000008152905191909316926373b295c29260048083019391928290030181865afa158015613ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061401d9190614ffb565b8160018151811061403057614030614e44565b6001600160a01b039283166020918202929092010152600c546040517f762b156200000000000000000000000000000000000000000000000000000000815291169063762b15629061408f908590600090869030904290600401615035565b600060405180830381600087803b1580156140a957600080fd5b505af11580156140bd573d6000803e3d6000fd5b50479250600091508490506140d28684614dc4565b6140dc9190614df2565b905084156141cf57600c54600e546040517ff91b3f720000000000000000000000000000000000000000000000000000000081523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290839060c40160606040518083038185885af115801561416d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906141929190615071565b505060408051838152602081018890527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b6141d98183614e2d565b91508560200151866080018181516141f1919061509f565b61ffff908116909152608088015188516000935090821691614214911685614dc4565b61421e9190614df2565b90506000876080015161ffff16886060015161ffff168561423f9190614dc4565b6142499190614df2565b905060006142578284614e93565b6142619086614e2d565b9050601360009054906101000a90046001600160a01b03166001600160a01b03166386d5c4be846040518263ffffffff1660e01b81526004016000604051808303818588803b1580156142b357600080fd5b505af1935050505080156142c5575060015b50606089015161ffff16156143175760405173c4302b2d6d9205acf6350a0c30a781bd6b286bf19083156108fc029084906000818181858888f19350505050158015614315573d6000803e3d6000fd5b505b604089015161ffff1615614361576010546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561435f573d6000803e3d6000fd5b505b5050505050505050505b506015805460ff19169055565b600d5460009081906001600160a01b03868116911614156143a0575060095461ffff166143da565b600d546001600160a01b03858116911614156143c9575060095462010000900461ffff166143da565b50600954640100000000900461ffff165b806143e8578291505061127c565b600b546000906601000000000000900461ffff166144068386614dc4565b6144109190614df2565b30600090815260016020526040812080549293508392909190614434908490614e93565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36144838185614e2d565b9695505050505050565b6001600160a01b03821660009081526007602052604090205460ff16614537576013546001600160a01b03838116600081815260016020526040908190205490517fdf047e9e0000000000000000000000000000000000000000000000000000000081526004810192909252602482015291169063df047e9e90604401600060405180830381600087803b15801561452457600080fd5b505af1925050508015614535575060015b505b6001600160a01b03811660009081526007602052604090205460ff166145e1576013546001600160a01b03828116600081815260016020526040908190205490517fdf047e9e0000000000000000000000000000000000000000000000000000000081526004810192909252602482015291169063df047e9e90604401600060405180830381600087803b1580156145ce57600080fd5b505af19250505080156145df575060015b505b60155462010000900460ff1615611f88576013546014546040517fa9e732bb0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163a9e732bb916146409160040190815260200190565b600060405180830381600087803b15801561465a57600080fd5b505af192505050801561466b575060015b611f88575050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156146cb576146cb614673565b604052919050565b600067ffffffffffffffff8211156146ed576146ed614673565b5060051b60200190565b6001600160a01b038116811461308657600080fd5b600082601f83011261471d57600080fd5b8135602061473261472d836146d3565b6146a2565b82815260059290921b8401810191818101908684111561475157600080fd5b8286015b84811015614775578035614768816146f7565b8352918301918301614755565b509695505050505050565b801515811461308657600080fd5b600080604083850312156147a157600080fd5b823567ffffffffffffffff8111156147b857600080fd5b6147c48582860161470c565b92505060208301356147d581614780565b809150509250929050565b60005b838110156147fb5781810151838201526020016147e3565b838111156125555750506000910152565b600081518084526148248160208601602086016147e0565b601f01601f19169290920160200192915050565b60208152600061127c602083018461480c565b60006020828403121561485d57600080fd5b5035919050565b6000806040838503121561487757600080fd5b8235614882816146f7565b946020939093013593505050565b6000806000606084860312156148a557600080fd5b505081359360208301359350604090920135919050565b600080604083850312156148cf57600080fd5b82356148da816146f7565b915060208301356147d5816146f7565b6000806000606084860312156148ff57600080fd5b833561490a816146f7565b9250602084013561491a816146f7565b929592945050506040919091013590565b6000806040838503121561493e57600080fd5b50508035926020909101359150565b600082601f83011261495e57600080fd5b8135602061496e61472d836146d3565b82815260059290921b8401810191818101908684111561498d57600080fd5b8286015b848110156147755780358352918301918301614991565b600080604083850312156149bb57600080fd5b823567ffffffffffffffff808211156149d357600080fd5b6149df8683870161470c565b935060208501359150808211156149f557600080fd5b50614a028582860161494d565b9150509250929050565b60008060008060808587031215614a2257600080fd5b8435614a2d81614780565b93506020850135614a3d81614780565b92506040850135614a4d81614780565b91506060850135614a5d81614780565b939692955090935050565b803561ffff81168114614a7a57600080fd5b919050565b600080600060608486031215614a9457600080fd5b614a9d84614a68565b9250614aab60208501614a68565b9150614ab960408501614a68565b90509250925092565b600060208284031215614ad457600080fd5b813561127c816146f7565b60008060408385031215614af257600080fd5b8235614afd816146f7565b915060208301356147d581614780565b608081526000614b20608083018761480c565b8281036020840152614b32818761480c565b90508281036040840152614b46818661480c565b90508281036060840152614b5a818561480c565b979650505050505050565b60008060408385031215614b7857600080fd5b8235614afd81614780565b600080600060608486031215614b9857600080fd5b833567ffffffffffffffff80821115614bb057600080fd5b614bbc8783880161470c565b94506020860135915080821115614bd257600080fd5b614bde8783880161494d565b93506040860135915080821115614bf457600080fd5b50614c018682870161494d565b9150509250925092565b60008060008060808587031215614c2157600080fd5b5050823594602084013594506040840135936060013592509050565b600081518084526020808501945080840160005b83811015614c765781516001600160a01b031687529582019590820190600101614c51565b509495945050505050565b604081526000614c946040830185614c3d565b905082151560208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b80851115614d0f578160001904821115614cf557614cf5614ca5565b80851615614d0257918102915b93841c9390800290614cd9565b509250929050565b600082614d2657506001610fcd565b81614d3357506000610fcd565b8160018114614d495760028114614d5357614d6f565b6001915050610fcd565b60ff841115614d6457614d64614ca5565b50506001821b610fcd565b5060208310610133831016604e8410600b8410161715614d92575081810a610fcd565b614d9c8383614cd4565b8060001904821115614db057614db0614ca5565b029392505050565b600061127c8383614d17565b6000816000190483118215151615614dde57614dde614ca5565b500290565b600061127c60ff841683614d17565b600082614e28577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600082821015614e3f57614e3f614ca5565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff821660ff811415614e8a57614e8a614ca5565b60010192915050565b60008219821115614ea657614ea6614ca5565b500190565b600060208284031215614ebd57600080fd5b5051919050565b600082601f830112614ed557600080fd5b815167ffffffffffffffff811115614eef57614eef614673565b614f026020601f19601f840116016146a2565b818152846020838601011115614f1757600080fd5b613b9d8260208301602087016147e0565b60008060008060808587031215614f3e57600080fd5b845167ffffffffffffffff80821115614f5657600080fd5b614f6288838901614ec4565b95506020870151915080821115614f7857600080fd5b614f8488838901614ec4565b94506040870151915080821115614f9a57600080fd5b614fa688838901614ec4565b93506060870151915080821115614fbc57600080fd5b50614fc987828801614ec4565b91505092959194509250565b600061ffff808316818516808303821115614ff257614ff2614ca5565b01949350505050565b60006020828403121561500d57600080fd5b815161127c816146f7565b60006020828403121561502a57600080fd5b815161127c81614780565b85815284602082015260a06040820152600061505460a0830186614c3d565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561508657600080fd5b8351925060208401519150604084015190509250925092565b600061ffff838116908316818110156150ba576150ba614ca5565b03939250505056fea2646970667358221220a8b483b40359ee9e1e95d9547a875620b0271f08e203e2cc094ad63b197abfcb64736f6c634300080b0033