[ { "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": "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" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "name": "AddressResetSellLock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "BalanceLimitDivider", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BuyLimitDivider", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "InitialSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MaxSellLockTime", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MaxTax", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SecondTeamWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SellLimitDivider", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addressesToAdd", "type": "address[]" } ], "name": "SetupAddArrayToWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addressToAdd", "type": "address" } ], "name": "SetupAddToWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "SetupEnableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "liquidityTokenAddress", "type": "address" } ], "name": "SetupLiquidityTokenAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addressToRemove", "type": "address" } ], "name": "SetupRemoveFromWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "newShare", "type": "uint8" } ], "name": "TeamChangeMarketingShare", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "disabled", "type": "bool" } ], "name": "TeamDisableSellLock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address[]", "name": "addresses", "type": "address[]" } ], "name": "TeamDistributePresale", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "TeamExcludeAccountFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "TeamExcludeAccountFromSellLock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "TeamIncludeAccountToFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "TeamIncludeAccountToSellLock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_qty", "type": "uint256" } ], "name": "TeamManualGenerateTokenSwapBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "isPegged", "type": "bool" } ], "name": "TeamSetPeggedSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sellLockSeconds", "type": "uint256" } ], "name": "TeamSetSellLockTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "burnTaxes", "type": "uint8" }, { "internalType": "uint8", "name": "liquidityTaxes", "type": "uint8" }, { "internalType": "uint8", "name": "marketingTaxes", "type": "uint8" }, { "internalType": "uint8", "name": "buyTax", "type": "uint8" }, { "internalType": "uint8", "name": "sellTax", "type": "uint8" }, { "internalType": "uint8", "name": "transferTax", "type": "uint8" } ], "name": "TeamSetTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addy", "type": "address" }, { "internalType": "bool", "name": "booly", "type": "bool" } ], "name": "TeamSetWhitelistedAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addy", "type": "address" }, { "internalType": "bool", "name": "booly", "type": "bool" } ], "name": "TeamSetWhitelistedAddressAlt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addy", "type": "address[]" }, { "internalType": "bool", "name": "booly", "type": "bool" } ], "name": "TeamSetWhitelistedAddresses", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addy", "type": "address[]" }, { "internalType": "bool", "name": "booly", "type": "bool" } ], "name": "TeamSetWhitelistedAddressesAlt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "manual", "type": "bool" } ], "name": "TeamSwitchManualAVAXConversion", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newBalanceLimit", "type": "uint256" }, { "internalType": "uint256", "name": "newSellLimit", "type": "uint256" } ], "name": "TeamUpdateLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "TeamWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TeamWithdrawMarketingAVAX", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "WhiteListBalanceLimitDivider", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "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": "_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": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "balanceLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "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": [ { "internalType": "address", "name": "AddressToCheck", "type": "address" } ], "name": "getAddressSellLockTimeInSeconds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getBurnedTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLimits", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "sell", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSellLockTimeInSeconds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTaxes", "outputs": [ { "internalType": "uint256", "name": "burnTax", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityTax", "type": "uint256" }, { "internalType": "uint256", "name": "marketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "buyTax", "type": "uint256" }, { "internalType": "uint256", "name": "sellTax", "type": "uint256" }, { "internalType": "uint256", "name": "transferTax", "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": "manualConversion", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingShare", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLockDisabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLockTime", "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": "totalLPAVAX", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalPayouts", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalTokenSwapGenerated", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "triedToDump", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "wListed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "whiteListTrading", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526001600c60006101000a81548160ff0219169083151502179055506009600a6200002f919062000a80565b620186a06200003f919062000bbd565b600d556001600e60006101000a81548160ff0219169083151502179055506200006d6200084060201b60201c565b600e60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000bd919062000a80565b633b9aca00620000ce919062000bbd565b600f55600f54601055600f54601155600f546012556001601460036101000a81548160ff0219169083151502179055506001601460076101000a81548160ff021916908315150217905550600a6018556064601960006101000a81548160ff021916908360ff1602179055503480156200014757600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000600a6009600f54620001fe919062000bbd565b6200020a9190620009ed565b905080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002b09190620009d0565b60405180910390a3600081600f54620002ca919062000c1e565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003709190620009d0565b60405180910390a37360ae616a2155ee3d9a68541ba4544862310933d4601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200043657600080fd5b505afa1580156200044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000471919062000955565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b158015620004f657600080fd5b505afa1580156200050b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000531919062000955565b6040518363ffffffff1660e01b815260040162000550929190620009a3565b602060405180830381600087803b1580156200056b57600080fd5b505af115801562000580573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005a6919062000955565b601460086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603260ff166009600a620005fb919062000a80565b633b9aca006200060c919062000bbd565b620006189190620009ed565b601081905550603261ffff166009600a62000634919062000a80565b633b9aca0062000645919062000bbd565b620006519190620009ed565b601181905550603261ffff166009600a6200066d919062000a80565b633b9aca006200067e919062000bbd565b6200068a9190620009ed565b6012819055506002601e81905550600a601460006101000a81548160ff021916908360ff160217905550600a601460016101000a81548160ff021916908360ff160217905550600a601460026101000a81548160ff021916908360ff1602179055506001601460056101000a81548160ff021916908360ff1602179055506063601460066101000a81548160ff021916908360ff1602179055506200075373d32060db00a731516b9aaa6555f06c569e1ee25660056200086960201b62002a591790919060201c565b506200078373d32060db00a731516b9aaa6555f06c569e1ee25660056200086960201b62002a591790919060201c565b506200079f3360056200086960201b62002a591790919060201c565b50620007dd601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660096200086960201b62002a591790919060201c565b506200081b601460089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660096200086960201b62002a591790919060201c565b50620008373060096200086960201b62002a591790919060201c565b50505062000d29565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600062000899836000018373ffffffffffffffffffffffffffffffffffffffff1660001b620008a160201b60201c565b905092915050565b6000620008b583836200091b60201b60201c565b6200091057826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000915565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000815190506200094f8162000d0f565b92915050565b6000602082840312156200096857600080fd5b600062000978848285016200093e565b91505092915050565b6200098c8162000c59565b82525050565b6200099d8162000c8d565b82525050565b6000604082019050620009ba600083018562000981565b620009c9602083018462000981565b9392505050565b6000602082019050620009e7600083018462000992565b92915050565b6000620009fa8262000c8d565b915062000a078362000c8d565b92508262000a1a5762000a1962000cd3565b5b828204905092915050565b6000808291508390505b600185111562000a775780860481111562000a4f5762000a4e62000ca4565b5b600185161562000a5f5780820291505b808102905062000a6f8562000d02565b945062000a2f565b94509492505050565b600062000a8d8262000c8d565b915062000a9a8362000c97565b925062000ac97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ad1565b905092915050565b60008262000ae3576001905062000bb6565b8162000af3576000905062000bb6565b816001811462000b0c576002811462000b175762000b4d565b600191505062000bb6565b60ff84111562000b2c5762000b2b62000ca4565b5b8360020a91508482111562000b465762000b4562000ca4565b5b5062000bb6565b5060208310610133831016604e8410600b841016171562000b875782820a90508381111562000b815762000b8062000ca4565b5b62000bb6565b62000b96848484600162000a25565b9250905081840481111562000bb05762000baf62000ca4565b5b81810290505b9392505050565b600062000bca8262000c8d565b915062000bd78362000c8d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c135762000c1262000ca4565b5b828202905092915050565b600062000c2b8262000c8d565b915062000c388362000c8d565b92508282101562000c4e5762000c4d62000ca4565b5b828203905092915050565b600062000c668262000c6d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160011c9050919050565b62000d1a8162000c59565b811462000d2657600080fd5b50565b615a6a8062000d396000396000f3fe6080604052600436106103fe5760003560e01c806363b263b3116102135780639728c01911610123578063d51f383b116100ab578063e77bf5f81161007a578063e77bf5f814610f1d578063eb8e886314610f46578063f2fde38b14610f71578063f88b0e4614610f9a578063f9963ca114610fc557610405565b8063d51f383b14610e65578063da1144d614610e8e578063dd62ed3e14610eb7578063dff6bcbf14610ef457610405565b8063a6fc178a116100f2578063a6fc178a14610d82578063a9059cbb14610dab578063a94c284814610de8578063b76289b814610e11578063c3f4f54f14610e3a57610405565b80639728c01914610cb65780639fa62d5f14610cdf578063a20623ce14610d08578063a457c2d714610d4557610405565b80637b9e987a116101a6578063887c60fb11610175578063887c60fb14610bcd578063893d20e814610bf85780638da5cb5b14610c2357806393ab98f214610c4e57806395d89b4114610c8b57610405565b80637b9e987a14610b2357806386d0ada814610b3a5780638724cc7214610b655780638728ecd114610b9057610405565b8063715018a6116101e2578063715018a614610a8d57806371ab1f0914610aa457806373ddf08e14610acf578063762bb28214610af857610405565b806363b263b3146109bc578063677a8870146109f95780636f89e40914610a2457806370a0823114610a5057610405565b8063311a86971161030e57806348e907b7116102a157806357ad67d11161027057806357ad67d1146108e9578063588aeaf214610912578063589210d91461093b57806358e55365146109665780636219e41f1461099157610405565b806348e907b71461083f5780634ada218b1461086a5780634cdaf0ae146108955780634f91e48c146108be57610405565b80633e9be909116102dd5780633e9be909146107ab5780634089b170146107d45780634607e692146107ff57806348e531641461082857610405565b8063311a8697146106ed578063313ce567146107185780633478154b14610743578063395093511461076e57610405565b80631732ed7c116103915780631f8b845e116103605780631f8b845e14610613578063230ffc421461063e57806323b872dd146106695780632973ef2d146106a65780632e2d5eb3146106d657610405565b80631732ed7c1461056b57806318160ddd1461059457806319e88084146105bf5780631eb25d13146105e857610405565b80630fd99e16116103cd5780630fd99e16146104c35780631285073c146104ee57806314e9137714610519578063155ee0201461054257610405565b806306fdde031461040757806309218ee714610432578063095ea7b31461045d5780630b1daa3e1461049a57610405565b3661040557005b005b34801561041357600080fd5b5061041c610fee565b6040516104299190614d8c565b60405180910390f35b34801561043e57600080fd5b5061044761102b565b6040516104549190615128565b60405180910390f35b34801561046957600080fd5b50610484600480360381019061047f9190614658565b61103e565b6040516104919190614d71565b60405180910390f35b3480156104a657600080fd5b506104c160048036038101906104bc919061453f565b611055565b005b3480156104cf57600080fd5b506104d86110b5565b6040516104e5919061500e565b60405180910390f35b3480156104fa57600080fd5b506105036110ba565b6040516105109190615029565b60405180910390f35b34801561052557600080fd5b50610540600480360381019061053b9190614729565b6110c4565b005b34801561054e57600080fd5b506105696004803603810190610564919061477b565b611129565b005b34801561057757600080fd5b50610592600480360381019061058d919061461c565b61136e565b005b3480156105a057600080fd5b506105a9611426565b6040516105b69190615029565b60405180910390f35b3480156105cb57600080fd5b506105e660048036038101906105e1919061461c565b611430565b005b3480156105f457600080fd5b506105fd6114d3565b60405161060a9190615029565b60405180910390f35b34801561061f57600080fd5b506106286114f3565b604051610635919061500e565b60405180910390f35b34801561064a57600080fd5b506106536114f8565b6040516106609190614cf5565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b91906145cd565b611510565b60405161069d9190614d71565b60405180910390f35b3480156106b257600080fd5b506106bb611603565b6040516106cd969594939291906150c7565b60405180910390f35b3480156106e257600080fd5b506106eb6116a4565b005b3480156106f957600080fd5b506107026117bf565b60405161070f9190615128565b60405180910390f35b34801561072457600080fd5b5061072d6117c4565b60405161073a9190615128565b60405180910390f35b34801561074f57600080fd5b506107586117cd565b604051610765919061500e565b60405180910390f35b34801561077a57600080fd5b5061079560048036038101906107909190614658565b6117d2565b6040516107a29190614d71565b60405180910390f35b3480156107b757600080fd5b506107d260048036038101906107cd91906146d5565b611870565b005b3480156107e057600080fd5b506107e9611973565b6040516107f69190615029565b60405180910390f35b34801561080b57600080fd5b5061082660048036038101906108219190614752565b611979565b005b34801561083457600080fd5b5061083d6119dc565b005b34801561084b57600080fd5b50610854611a2f565b6040516108619190615029565b60405180910390f35b34801561087657600080fd5b5061087f611a35565b60405161088c9190614d71565b60405180910390f35b3480156108a157600080fd5b506108bc60048036038101906108b7919061453f565b611a48565b005b3480156108ca57600080fd5b506108d3611ad4565b6040516108e09190615029565b60405180910390f35b3480156108f557600080fd5b50610910600480360381019061090b9190614883565b611ada565b005b34801561091e57600080fd5b506109396004803603810190610934919061453f565b611c9e565b005b34801561094757600080fd5b50610950611cfe565b60405161095d9190615029565b60405180910390f35b34801561097257600080fd5b5061097b611d04565b6040516109889190615029565b60405180910390f35b34801561099d57600080fd5b506109a6611d0a565b6040516109b39190615029565b60405180910390f35b3480156109c857600080fd5b506109e360048036038101906109de919061453f565b611d10565b6040516109f09190614d71565b60405180910390f35b348015610a0557600080fd5b50610a0e611d30565b604051610a1b9190614cf5565b60405180910390f35b348015610a3057600080fd5b50610a39611d48565b604051610a4792919061509e565b60405180910390f35b348015610a5c57600080fd5b50610a776004803603810190610a72919061453f565b611d89565b604051610a849190615029565b60405180910390f35b348015610a9957600080fd5b50610aa2611dd2565b005b348015610ab057600080fd5b50610ab9611f05565b604051610ac69190614d71565b60405180910390f35b348015610adb57600080fd5b50610af66004803603810190610af1919061485a565b611f18565b005b348015610b0457600080fd5b50610b0d611f7e565b604051610b1a9190615029565b60405180910390f35b348015610b2f57600080fd5b50610b38611f84565b005b348015610b4657600080fd5b50610b4f611fe9565b604051610b5c9190614d71565b60405180910390f35b348015610b7157600080fd5b50610b7a611ffc565b604051610b87919061500e565b60405180910390f35b348015610b9c57600080fd5b50610bb76004803603810190610bb2919061453f565b612001565b604051610bc49190615029565b60405180910390f35b348015610bd957600080fd5b50610be261206c565b604051610bef9190614d71565b60405180910390f35b348015610c0457600080fd5b50610c0d61207f565b604051610c1a9190614cf5565b60405180910390f35b348015610c2f57600080fd5b50610c3861208e565b604051610c459190614cf5565b60405180910390f35b348015610c5a57600080fd5b50610c756004803603810190610c709190614752565b6120b7565b604051610c829190614cf5565b60405180910390f35b348015610c9757600080fd5b50610ca06120f6565b604051610cad9190614d8c565b60405180910390f35b348015610cc257600080fd5b50610cdd6004803603810190610cd891906146d5565b612133565b005b348015610ceb57600080fd5b50610d066004803603810190610d0191906147cf565b61228b565b005b348015610d1457600080fd5b50610d2f6004803603810190610d2a919061453f565b61231b565b604051610d3c9190614d71565b60405180910390f35b348015610d5157600080fd5b50610d6c6004803603810190610d679190614658565b61233b565b604051610d799190614d71565b60405180910390f35b348015610d8e57600080fd5b50610da96004803603810190610da49190614729565b612421565b005b348015610db757600080fd5b50610dd26004803603810190610dcd9190614658565b612486565b604051610ddf9190614d71565b60405180910390f35b348015610df457600080fd5b50610e0f6004803603810190610e0a9190614729565b61249d565b005b348015610e1d57600080fd5b50610e386004803603810190610e33919061453f565b612502565b005b348015610e4657600080fd5b50610e4f612562565b604051610e5c9190615029565b60405180910390f35b348015610e7157600080fd5b50610e8c6004803603810190610e879190614752565b6125ab565b005b348015610e9a57600080fd5b50610eb56004803603810190610eb09190614694565b612645565b005b348015610ec357600080fd5b50610ede6004803603810190610ed99190614591565b612705565b604051610eeb9190615029565b60405180910390f35b348015610f0057600080fd5b50610f1b6004803603810190610f16919061453f565b61278c565b005b348015610f2957600080fd5b50610f446004803603810190610f3f919061453f565b6127ec565b005b348015610f5257600080fd5b50610f5b61284c565b604051610f689190615128565b60405180910390f35b348015610f7d57600080fd5b50610f986004803603810190610f93919061453f565b612851565b005b348015610fa657600080fd5b50610faf6129f3565b604051610fbc9190615029565b60405180910390f35b348015610fd157600080fd5b50610fec6004803603810190610fe7919061453f565b6129f9565b005b60606040518060400160405280600b81526020017f4368726973746d41564158000000000000000000000000000000000000000000815250905090565b601960009054906101000a900460ff1681565b600061104b338484612a89565b6001905092915050565b61105e33612c54565b61109d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109490614f0e565b60405180910390fd5b6110b1816009612d2790919063ffffffff16565b5050565b603281565b6000601e54905090565b6110cd33612c54565b61110c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110390614f0e565b60405180910390fd5b80601d60016101000a81548160ff02191690831515021790555050565b61113233612c54565b611171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116890614f0e565b60405180910390fd5b60005b8151811015611369576009600a61118b9190615305565b836111969190615423565b600160008484815181106111d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461122491906151f4565b925050819055506009600a6112399190615305565b836112449190615423565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611292919061547d565b925050819055508181815181106112d2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6113369190615305565b866113419190615423565b60405161134e9190615029565b60405180910390a380806113619061558a565b915050611174565b505050565b61137733612c54565b6113b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ad90614f0e565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611421826005612a5990919063ffffffff16565b505050565b6000600f54905090565b61143933612c54565b611478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146f90614f0e565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6009600a6114e19190615305565b633b9aca006114f09190615423565b81565b603281565b73d32060db00a731516b9aaa6555f06c569e1ee25681565b600061151d848484612d57565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156115e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d890614e4e565b60405180910390fd5b6115f7853385846115f2919061547d565b612a89565b60019150509392505050565b600080600080600080601460049054906101000a900460ff16601460059054906101000a900460ff16601460069054906101000a900460ff16601460009054906101000a900460ff16601460019054906101000a900460ff16601460029054906101000a900460ff168560ff1695508460ff1694508360ff1693508260ff1692508160ff1691508060ff169050955095509550955095509550909192939495565b6116ad33612c54565b6116ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e390614f0e565b60405180910390fd5b6000601a5490506000601a81905550600073d32060db00a731516b9aaa6555f06c569e1ee25673ffffffffffffffffffffffffffffffffffffffff168260405161173590614ce0565b60006040518083038185875af1925050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b50509050806117bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b290614f8e565b60405180910390fd5b5050565b603281565b60006009905090565b600281565b6000611866338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461186191906151f4565b612a89565b6001905092915050565b61187933612c54565b6118b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118af90614f0e565b60405180910390fd5b60005b825181101561196e578160046000858481518110611902577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806119669061558a565b9150506118bb565b505050565b60175481565b61198233612c54565b6119c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b890614f0e565b60405180910390fd5b6119d9633b9aca00826119d49190615423565b6132f9565b50565b601e54426119ea91906151f4565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60165481565b601f60019054906101000a900460ff1681565b611a5133612c54565b611a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8790614f0e565b60405180910390fd5b80601f60036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b611ae333612c54565b611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1990614f0e565b60405180910390fd5b6000848688611b31919061524a565b611b3b919061524a565b905060648160ff1614611b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7a90614e8e565b60405180910390fd5b605f60ff168460ff1611158015611ba15750605f60ff168360ff1611155b8015611bb45750605f60ff168260ff1611155b611bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bea90614f2e565b60405180910390fd5b86601460046101000a81548160ff021916908360ff16021790555085601460056101000a81548160ff021916908360ff16021790555084601460066101000a81548160ff021916908360ff16021790555083601460006101000a81548160ff021916908360ff16021790555082601460016101000a81548160ff021916908360ff16021790555081601460026101000a81548160ff021916908360ff16021790555050505050505050565b611ca733612c54565b611ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdd90614f0e565b60405180910390fd5b611cfa816005612a5990919063ffffffff16565b5050565b60125481565b601a5481565b601c5481565b60046020528060005260406000206000915054906101000a900460ff1681565b73d32060db00a731516b9aaa6555f06c569e1ee25681565b6000806009600a611d599190615305565b601054611d669190615281565b6009600a611d749190615305565b601154611d819190615281565b915091509091565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16611df161208e565b73ffffffffffffffffffffffffffffffffffffffff1614611e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3e90614ece565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601f60029054906101000a900460ff1681565b611f2133612c54565b611f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5790614f0e565b60405180910390fd5b80601960006101000a81548160ff021916908360ff16021790555050565b60105481565b611f8d33612c54565b611fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc390614f0e565b60405180910390fd5b6001601f60016101000a81548160ff021916908315150217905550565b601f60009054906101000a900460ff1681565b603281565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050428111612057576000915050612067565b4281612063919061547d565b9150505b919050565b601d60019054906101000a900460ff1681565b600061208961208e565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601381815481106120c757600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600b81526020017f4368726973746d41564158000000000000000000000000000000000000000000815250905090565b61213c33612c54565b61217b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217290614f0e565b60405180910390fd5b60005b82518110156122865781600460008584815181106121c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061227283828151811061225a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516005612a5990919063ffffffff16565b50808061227e9061558a565b91505061217e565b505050565b61229433612c54565b6122d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ca90614f0e565b60405180910390fd5b6009600a6122e19190615305565b826122ec9190615423565b91506009600a6122fc9190615305565b816123079190615423565b905081601081905550806011819055505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015612400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f790614fce565b60405180910390fd5b61241633858584612411919061547d565b612a89565b600191505092915050565b61242a33612c54565b612469576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246090614f0e565b60405180910390fd5b80600e60006101000a81548160ff02191690831515021790555050565b6000612493338484612d57565b6001905092915050565b6124a633612c54565b6124e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124dc90614f0e565b60405180910390fd5b80601f60006101000a81548160ff02191690831515021790555050565b61250b33612c54565b61254a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254190614f0e565b60405180910390fd5b61255e816007612a5990919063ffffffff16565b5050565b60006009600a6125729190615305565b600f546009600a6125839190615305565b633b9aca006125929190615423565b61259c919061547d565b6125a69190615281565b905090565b6125b433612c54565b6125f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ea90614f0e565b60405180910390fd5b600261ffff1681111561263b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263290614fae565b60405180910390fd5b80601e8190555050565b61264e33612c54565b61268d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268490614f0e565b60405180910390fd5b60005b8151811015612701576126ed8282815181106126d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516007612a5990919063ffffffff16565b5080806126f99061558a565b915050612690565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61279533612c54565b6127d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127cb90614f0e565b60405180910390fd5b6127e8816005612d2790919063ffffffff16565b5050565b6127f533612c54565b612834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282b90614f0e565b60405180910390fd5b612848816007612d2790919063ffffffff16565b5050565b605f81565b3373ffffffffffffffffffffffffffffffffffffffff1661287061208e565b73ffffffffffffffffffffffffffffffffffffffff16146128c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128bd90614ece565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292d90614dee565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601e5481565b612a0233612c54565b612a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3890614f0e565b60405180910390fd5b612a55816009612a5990919063ffffffff16565b5050565b6000612a81836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6134ca565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af090614e0e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6090614eae565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612c479190615029565b60405180910390a3505050565b6000612c5e61208e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480612cd6575073d32060db00a731516b9aaa6555f06c569e1ee25673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80612d20575073d32060db00a731516b9aaa6555f06c569e1ee25673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000612d4f836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61353a565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dbe90614dae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2e90614e2e565b60405180910390fd5b6000612e4d8460056136b890919063ffffffff16565b80612e685750612e678360056136b890919063ffffffff16565b5b905060003073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480612ed157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b90506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000601460089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16148015612f8457508173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b806130135750601460089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614801561301257508173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b5b90506000601460089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16148061309e57508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16145b90506000601460089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16148061312957508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16145b905084806131345750825b8061313c5750855b156131515761314c8989896136e8565b6132ee565b601f60019054906101000a900460ff166132df5761316d61208e565b73ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141580156131db57506131ab61208e565b73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b156132da57600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156132845750600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156132d957601f60019054906101000a900460ff166132d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132cf90614eee565b60405180910390fd5b5b5b6132ed565b6132ec89898985856137ee565b5b5b505050505050505050565b6001601d60006101000a81548160ff0219169083151502179055506000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000601460069054906101000a900460ff16601460059054906101000a900460ff16613384919061524a565b60ff1690506000600d549050838111156133b257600e60009054906101000a900460ff16156133b1578390505b5b808310806133c4575060008261ffff16145b156133d1575050506134ac565b60008261ffff16601460059054906101000a900460ff1660ff16836133f69190615423565b6134009190615281565b905060008183613410919061547d565b905060006002836134219190615281565b905060008184613431919061547d565b90506000838261344191906151f4565b9050600047905061345182613e8e565b6000814761345f919061547d565b905060008385836134709190615423565b61347a9190615281565b90506134868682614152565b60008347613494919061547d565b905061349f81614258565b5050505050505050505050505b6000601d60006101000a81548160ff02191690831515021790555050565b60006134d683836142a3565b61352f578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050613534565b600090505b92915050565b600080836001016000848152602001908152602001600020549050600081146136ac57600060018261356c919061547d565b9050600060018660000180549050613584919061547d565b905060008660000182815481106135c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020015490508087600001848154811061360e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200181905550838760010160008381526020019081526020016000208190555086600001805480613670577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506136b2565b60009150505b92915050565b60006136e0836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6142a3565b905092915050565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561376f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161376690614dce565b60405180910390fd5b61377984836142c6565b613783838361435e565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516137e09190615029565b60405180910390a350505050565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050848110156138b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138b090614dce565b60405180910390fd5b60026011546138c89190615281565b600d8190555060008315613b1057600c60009054906101000a900460ff161561394357600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561394257600080fd5b5b6139578860096136b890919063ffffffff16565b613a465742600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115806139b55750601d60019054906101000a900460ff165b6139f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139eb90614fee565b60405180910390fd5b601e5442613a0291906151f4565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601154861115613ab4576013889080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601154861115613af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613af090614e6e565b60405180910390fd5b601460019054906101000a900460ff169050613cd8565b8415613bc2576010548684613b2591906151f4565b1115613b66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b5d90614f4e565b60405180910390fd5b601254861115613bab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ba290614f4e565b60405180910390fd5b601460009054906101000a900460ff169050613cd7565b6010548684613bd191906151f4565b1115613c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c0990614f4e565b60405180910390fd5b613c268860096136b890919063ffffffff16565b613cc45742600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111580613c845750601d60019054906101000a900460ff165b613cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613cba90614f6e565b60405180910390fd5b5b601460029054906101000a900460ff1690505b5b601460089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158015613d435750601f60009054906101000a900460ff16155b8015613d5c5750601d60009054906101000a900460ff16155b15613d6b57613d6a866132f9565b5b6000613da18783601460059054906101000a900460ff16601460069054906101000a900460ff16613d9c919061524a565b6143f6565b905060008188613db1919061547d565b9050613dbd8a896142c6565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613e0c91906151f4565b92505081905550613e1d898261435e565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613e7a9190615029565b60405180910390a350505050505050505050565b613ebb30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612a89565b6000600267ffffffffffffffff811115613efe577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015613f2c5781602001602082028036833780820191505090505b5090503081600081518110613f6a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561400c57600080fd5b505afa158015614020573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140449190614568565b8160018151811061407e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663762b15628360008430426040518663ffffffff1660e01b815260040161411c959493929190615044565b600060405180830381600087803b15801561413657600080fd5b505af115801561414a573d6000803e3d6000fd5b505050505050565b80601c600082825461416491906151f4565b9250508190555061419830601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612a89565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f91b3f7282308560008030426040518863ffffffff1660e01b81526004016141ff96959493929190614d10565b6060604051808303818588803b15801561421857600080fd5b505af115801561422c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190614251919061480b565b5050505050565b60006064601960009054906101000a900460ff1660ff168361427a9190615423565b6142849190615281565b905080601a600082825461429891906151f4565b925050819055505050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614313919061547d565b905080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546143ab91906151f4565b905080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60006127108260ff168460ff168661440e9190615423565b6144189190615423565b6144229190615281565b90509392505050565b600061443e61443984615168565b615143565b9050808382526020820190508285602086028201111561445d57600080fd5b60005b8581101561448d57816144738882614497565b845260208401935060208301925050600181019050614460565b5050509392505050565b6000813590506144a6816159d8565b92915050565b6000815190506144bb816159d8565b92915050565b600082601f8301126144d257600080fd5b81356144e284826020860161442b565b91505092915050565b6000813590506144fa816159ef565b92915050565b60008135905061450f81615a06565b92915050565b60008151905061452481615a06565b92915050565b60008135905061453981615a1d565b92915050565b60006020828403121561455157600080fd5b600061455f84828501614497565b91505092915050565b60006020828403121561457a57600080fd5b6000614588848285016144ac565b91505092915050565b600080604083850312156145a457600080fd5b60006145b285828601614497565b92505060206145c385828601614497565b9150509250929050565b6000806000606084860312156145e257600080fd5b60006145f086828701614497565b935050602061460186828701614497565b925050604061461286828701614500565b9150509250925092565b6000806040838503121561462f57600080fd5b600061463d85828601614497565b925050602061464e858286016144eb565b9150509250929050565b6000806040838503121561466b57600080fd5b600061467985828601614497565b925050602061468a85828601614500565b9150509250929050565b6000602082840312156146a657600080fd5b600082013567ffffffffffffffff8111156146c057600080fd5b6146cc848285016144c1565b91505092915050565b600080604083850312156146e857600080fd5b600083013567ffffffffffffffff81111561470257600080fd5b61470e858286016144c1565b925050602061471f858286016144eb565b9150509250929050565b60006020828403121561473b57600080fd5b6000614749848285016144eb565b91505092915050565b60006020828403121561476457600080fd5b600061477284828501614500565b91505092915050565b6000806040838503121561478e57600080fd5b600061479c85828601614500565b925050602083013567ffffffffffffffff8111156147b957600080fd5b6147c5858286016144c1565b9150509250929050565b600080604083850312156147e257600080fd5b60006147f085828601614500565b925050602061480185828601614500565b9150509250929050565b60008060006060848603121561482057600080fd5b600061482e86828701614515565b935050602061483f86828701614515565b925050604061485086828701614515565b9150509250925092565b60006020828403121561486c57600080fd5b600061487a8482850161452a565b91505092915050565b60008060008060008060c0878903121561489c57600080fd5b60006148aa89828a0161452a565b96505060206148bb89828a0161452a565b95505060406148cc89828a0161452a565b94505060606148dd89828a0161452a565b93505060806148ee89828a0161452a565b92505060a06148ff89828a0161452a565b9150509295509295509295565b60006149188383614924565b60208301905092915050565b61492d816154b1565b82525050565b61493c816154b1565b82525050565b600061494d826151a4565b61495781856151c7565b935061496283615194565b8060005b8381101561499357815161497a888261490c565b9750614985836151ba565b925050600181019050614966565b5085935050505092915050565b6149a9816154c3565b82525050565b6149b881615514565b82525050565b60006149c9826151af565b6149d381856151e3565b93506149e3818560208601615526565b6149ec81615660565b840191505092915050565b6000614a046012836151e3565b9150614a0f8261567e565b602082019050919050565b6000614a276018836151e3565b9150614a32826156a7565b602082019050919050565b6000614a4a6026836151e3565b9150614a55826156d0565b604082019050919050565b6000614a6d6011836151e3565b9150614a788261571f565b602082019050919050565b6000614a906010836151e3565b9150614a9b82615748565b602082019050919050565b6000614ab36014836151e3565b9150614abe82615771565b602082019050919050565b6000614ad6600f836151e3565b9150614ae18261579a565b602082019050919050565b6000614af96026836151e3565b9150614b04826157c3565b604082019050919050565b6000614b1c600f836151e3565b9150614b2782615812565b602082019050919050565b6000614b3f6020836151e3565b9150614b4a8261583b565b602082019050919050565b6000614b626017836151e3565b9150614b6d82615864565b602082019050919050565b6000614b856012836151e3565b9150614b908261588d565b602082019050919050565b6000614ba86019836151e3565b9150614bb3826158b6565b602082019050919050565b6000614bcb6010836151e3565b9150614bd6826158df565b602082019050919050565b6000614bee600e836151e3565b9150614bf982615908565b602082019050919050565b6000614c116000836151d8565b9150614c1c82615931565b600082019050919050565b6000614c34600f836151e3565b9150614c3f82615934565b602082019050919050565b6000614c576017836151e3565b9150614c628261595d565b602082019050919050565b6000614c7a600c836151e3565b9150614c8582615986565b602082019050919050565b6000614c9d6012836151e3565b9150614ca8826159af565b602082019050919050565b614cbc816154cf565b82525050565b614ccb816154fd565b82525050565b614cda81615507565b82525050565b6000614ceb82614c04565b9150819050919050565b6000602082019050614d0a6000830184614933565b92915050565b600060c082019050614d256000830189614933565b614d326020830188614cc2565b614d3f60408301876149af565b614d4c60608301866149af565b614d596080830185614933565b614d6660a0830184614cc2565b979650505050505050565b6000602082019050614d8660008301846149a0565b92915050565b60006020820190508181036000830152614da681846149be565b905092915050565b60006020820190508181036000830152614dc7816149f7565b9050919050565b60006020820190508181036000830152614de781614a1a565b9050919050565b60006020820190508181036000830152614e0781614a3d565b9050919050565b60006020820190508181036000830152614e2781614a60565b9050919050565b60006020820190508181036000830152614e4781614a83565b9050919050565b60006020820190508181036000830152614e6781614aa6565b9050919050565b60006020820190508181036000830152614e8781614ac9565b9050919050565b60006020820190508181036000830152614ea781614aec565b9050919050565b60006020820190508181036000830152614ec781614b0f565b9050919050565b60006020820190508181036000830152614ee781614b32565b9050919050565b60006020820190508181036000830152614f0781614b55565b9050919050565b60006020820190508181036000830152614f2781614b78565b9050919050565b60006020820190508181036000830152614f4781614b9b565b9050919050565b60006020820190508181036000830152614f6781614bbe565b9050919050565b60006020820190508181036000830152614f8781614be1565b9050919050565b60006020820190508181036000830152614fa781614c27565b9050919050565b60006020820190508181036000830152614fc781614c4a565b9050919050565b60006020820190508181036000830152614fe781614c6d565b9050919050565b6000602082019050818103600083015261500781614c90565b9050919050565b60006020820190506150236000830184614cb3565b92915050565b600060208201905061503e6000830184614cc2565b92915050565b600060a0820190506150596000830188614cc2565b61506660208301876149af565b81810360408301526150788186614942565b90506150876060830185614933565b6150946080830184614cc2565b9695505050505050565b60006040820190506150b36000830185614cc2565b6150c06020830184614cc2565b9392505050565b600060c0820190506150dc6000830189614cc2565b6150e96020830188614cc2565b6150f66040830187614cc2565b6151036060830186614cc2565b6151106080830185614cc2565b61511d60a0830184614cc2565b979650505050505050565b600060208201905061513d6000830184614cd1565b92915050565b600061514d61515e565b90506151598282615559565b919050565b6000604051905090565b600067ffffffffffffffff82111561518357615182615631565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006151ff826154fd565b915061520a836154fd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561523f5761523e6155d3565b5b828201905092915050565b600061525582615507565b915061526083615507565b92508260ff03821115615276576152756155d3565b5b828201905092915050565b600061528c826154fd565b9150615297836154fd565b9250826152a7576152a6615602565b5b828204905092915050565b6000808291508390505b60018511156152fc578086048111156152d8576152d76155d3565b5b60018516156152e75780820291505b80810290506152f585615671565b94506152bc565b94509492505050565b6000615310826154fd565b915061531b83615507565b92506153487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484615350565b905092915050565b600082615360576001905061541c565b8161536e576000905061541c565b8160018114615384576002811461538e576153bd565b600191505061541c565b60ff8411156153a05761539f6155d3565b5b8360020a9150848211156153b7576153b66155d3565b5b5061541c565b5060208310610133831016604e8410600b84101617156153f25782820a9050838111156153ed576153ec6155d3565b5b61541c565b6153ff84848460016152b2565b92509050818404811115615416576154156155d3565b5b81810290505b9392505050565b600061542e826154fd565b9150615439836154fd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615472576154716155d3565b5b828202905092915050565b6000615488826154fd565b9150615493836154fd565b9250828210156154a6576154a56155d3565b5b828203905092915050565b60006154bc826154dd565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061551f826154fd565b9050919050565b60005b83811015615544578082015181840152602081019050615529565b83811115615553576000848401525b50505050565b61556282615660565b810181811067ffffffffffffffff8211171561558157615580615631565b5b80604052505050565b6000615595826154fd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156155c8576155c76155d3565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5472616e736665722066726f6d207a65726f0000000000000000000000000000600082015250565b7f5472616e7366657220657863656564732062616c616e63650000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f417070726f76652066726f6d207a65726f000000000000000000000000000000600082015250565b7f5472616e7366657220746f207a65726f00000000000000000000000000000000600082015250565b7f5472616e73666572203e20616c6c6f77616e6365000000000000000000000000600082015250565b7f44756d702070726f74656374696f6e0000000000000000000000000000000000600082015250565b7f6275726e2b6c69712b6d61726b6574696e67206e6565647320746f206571756160008201527f6c20313030250000000000000000000000000000000000000000000000000000602082015250565b7f417070726f766520746f207a65726f0000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f74726164696e67206e6f742079657420656e61626c6564000000000000000000600082015250565b7f43616c6c6572206e6f7420696e205465616d0000000000000000000000000000600082015250565b7f746178657320686967686572207468616e206d61782074617800000000000000600082015250565b7f7768616c652070726f74656374696f6e00000000000000000000000000000000600082015250565b7f53656e64657220696e204c6f636b000000000000000000000000000000000000600082015250565b50565b7f7769746864726177206661696c65640000000000000000000000000000000000600082015250565b7f53656c6c204c6f636b2074696d6520746f6f2068696768000000000000000000600082015250565b7f3c3020616c6c6f77616e63650000000000000000000000000000000000000000600082015250565b7f53656c6c657220696e2073656c6c4c6f636b0000000000000000000000000000600082015250565b6159e1816154b1565b81146159ec57600080fd5b50565b6159f8816154c3565b8114615a0357600080fd5b50565b615a0f816154fd565b8114615a1a57600080fd5b50565b615a2681615507565b8114615a3157600080fd5b5056fea2646970667358221220b84cdec6d362bc2f8f20ecf805c77b9c29c5689979abb42a25b0987caab3821a64736f6c63430008040033