[ { "inputs": [ { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" }, { "internalType": "address", "name": "deployer", "type": "address" }, { "internalType": "uint256", "name": "_tokenAllowFeeAmount", "type": "uint256" }, { "internalType": "bool", "name": "transferToDeployer", "type": "bool" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "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" }, { "inputs": [], "name": "ARB_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "AVAX_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BASE_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BLAST_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ETH_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "addCheckUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amountTokenDesired", "type": "uint256" }, { "internalType": "uint256", "name": "amountTokenMin", "type": "uint256" }, { "internalType": "uint256", "name": "amountETHMin", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "addLiquidityETH", "outputs": [ { "internalType": "uint256", "name": "amountToken", "type": "uint256" }, { "internalType": "uint256", "name": "amountETH", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "list", "type": "address[]" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "airdropTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "blockNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newName", "type": "string" }, { "internalType": "string", "name": "newSymbol", "type": "string" } ], "name": "chageNameAndSymbol", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "changeMe", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "changeTokenAllowFeeAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "checkUser", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "currentAllow", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getChainID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOpenedTrade", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPairAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lauch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "listRouter", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "openedTrade", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "amountTokenMin", "type": "uint256" }, { "internalType": "uint256", "name": "amountETHMin", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "removeLiquidityETH", "outputs": [ { "internalType": "uint256", "name": "amountToken", "type": "uint256" }, { "internalType": "uint256", "name": "amountETH", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_router", "type": "address" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" } ], "name": "setRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenAllowFeeAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenName", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenSymbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "userAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "list", "type": "address[]" } ], "name": "whitelistUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "withdrawStuckToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526040518060400160405280600681526020017f4348415441490000000000000000000000000000000000000000000000000000815250600890816200004a9190620014f8565b506040518060400160405280600481526020017f434841540000000000000000000000000000000000000000000000000000000081525060099081620000919190620014f8565b506001600f5f6101000a81548160ff0219169083151502179055506445d964b8006014556005601555348015620000c6575f80fd5b5060405162004e6138038062004e618339818101604052810190620000ec9190620016aa565b3360088054620000fc90620012f8565b80601f01602080910402602001604051908101604052809291908181526020018280546200012a90620012f8565b8015620001795780601f106200014f5761010080835404028352916020019162000179565b820191905f5260205f20905b8154815290600101906020018083116200015b57829003601f168201915b5050505050600980546200018d90620012f8565b80601f0160208091040260200160405190810160405280929190818152602001828054620001bb90620012f8565b80156200020a5780601f10620001e0576101008083540402835291602001916200020a565b820191905f5260205f20905b815481529060010190602001808311620001ec57829003601f168201915b505050505033868360039081620002229190620014f8565b508260049081620002349190620014f8565b508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200032c575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200032391906200173f565b60405180910390fd5b6200033d816200054660201b60201c565b50600160135f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015620003b257620003ac33856200060960201b60201c565b620003c5565b620003c430856200060960201b60201c565b5b620003e4338587620003d8919062001787565b6200060960201b60201c565b81600d81905550620003fb6200069360201b60201c565b5f6200040c6200088e60201b60201c565b90505f8060115f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061a86a8303620004c5578073ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000497573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004bd9190620017c1565b915062000538565b8073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200050f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005359190620017c1565b91505b50505050505050506200193b565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200067c575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200067391906200173f565b60405180910390fd5b6200068f5f83836200089a60201b60201c565b5050565b73f164fc0ec4e93095b804a4795bbe1e041497b92a60115f600181526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734752ba5dbc23f44d87826276bf6fd6b1c372ad2460115f61210581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507360ae616a2155ee3d9a68541ba4544862310933d460115f61a86a81526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507398994a9a7a2570367554589189dc9772241650f660115f62013e3181526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734752ba5dbc23f44d87826276bf6fd6b1c372ad2460115f61a4b181526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f804690508091505090565b60135f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156200090357620008fd83838362000b6b60201b60201c565b62000b66565b600f5f9054906101000a900460ff1662000954576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200094b906200184f565b60405180910390fd5b5f6200096562000f5760201b60201c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620009b557620009ae84848462000b6b60201b60201c565b5062000b66565b8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801562000a3c5750600d548260125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205462000a3a91906200186f565b115b1562000a6d5762000a5384620011e160201b60201c565b62000a6684848462000b6b60201b60201c565b5062000b66565b8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801562000af55750600d548260125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205462000af291906200186f565b11155b1562000b51578160125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000b4991906200186f565b925050819055505b62000b6484848462000b6b60201b60201c565b505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000bbf578060025f82825462000bb291906200186f565b9250508190555062000c90565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101562000c4b578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040162000c4293929190620018ba565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000cd9578060025f828254039250508190555062000d23565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000e065760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000df89190620018f5565b60405180910390a362000f52565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000ee9578173ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000edb9190620018f5565b60405180910390a362000f51565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000f489190620018f5565b60405180910390a35b5b505050565b5f805f62000f6a6200088e60201b60201c565b90505f60115f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061a86a820362001022578073ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000ff4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200101a9190620017c1565b925062001095565b8073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200106c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620010929190620017c1565b92505b5f3090505f808273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1610620010d7578286620010da565b85835b915091505f8473ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001129573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200114f9190620017c1565b90505f8173ffffffffffffffffffffffffffffffffffffffff1663e6a4390585856040518363ffffffff1660e01b81526004016200118f92919062001910565b602060405180830381865afa158015620011ab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620011d19190620017c1565b9050809850505050505050505090565b5f620011f3826200123f60201b60201c565b11156200123c57600f5f9054906101000a900460ff166200122757620012216014546200128460201b60201c565b6200123b565b6200123a6015546200128460201b60201c565b5b5b50565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b803a111562001291575f80fd5b50565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200131057607f821691505b602082108103620013265762001325620012cb565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200138a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200134d565b6200139686836200134d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620013e0620013da620013d484620013ae565b620013b7565b620013ae565b9050919050565b5f819050919050565b620013fb83620013c0565b620014136200140a82620013e7565b84845462001359565b825550505050565b5f90565b620014296200141b565b62001436818484620013f0565b505050565b5b818110156200145d57620014515f826200141f565b6001810190506200143c565b5050565b601f821115620014ac5762001476816200132c565b62001481846200133e565b8101602085101562001491578190505b620014a9620014a0856200133e565b8301826200143b565b50505b505050565b5f82821c905092915050565b5f620014ce5f1984600802620014b1565b1980831691505092915050565b5f620014e88383620014bd565b9150826002028217905092915050565b620015038262001294565b67ffffffffffffffff8111156200151f576200151e6200129e565b5b6200152b8254620012f8565b6200153882828562001461565b5f60209050601f8311600181146200156e575f841562001559578287015190505b620015658582620014db565b865550620015d4565b601f1984166200157e866200132c565b5f5b82811015620015a75784890151825560018201915060208501945060208101905062001580565b86831015620015c75784890151620015c3601f891682620014bd565b8355505b6001600288020188555050505b505050505050565b5f80fd5b620015eb81620013ae565b8114620015f6575f80fd5b50565b5f815190506200160981620015e0565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200163a826200160f565b9050919050565b6200164c816200162e565b811462001657575f80fd5b50565b5f815190506200166a8162001641565b92915050565b5f8115159050919050565b620016868162001670565b811462001691575f80fd5b50565b5f81519050620016a4816200167b565b92915050565b5f805f805f60a08688031215620016c657620016c5620015dc565b5b5f620016d588828901620015f9565b9550506020620016e888828901620015f9565b9450506040620016fb888289016200165a565b93505060606200170e88828901620015f9565b9250506080620017218882890162001694565b9150509295509295909350565b62001739816200162e565b82525050565b5f602082019050620017545f8301846200172e565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200179382620013ae565b9150620017a083620013ae565b9250828203905081811115620017bb57620017ba6200175a565b5b92915050565b5f60208284031215620017d957620017d8620015dc565b5b5f620017e8848285016200165a565b91505092915050565b5f82825260208201905092915050565b7f547261646520686173206e6f74206265656e206f70656e6564207965740000005f82015250565b5f62001837601d83620017f1565b9150620018448262001801565b602082019050919050565b5f6020820190508181035f830152620018688162001829565b9050919050565b5f6200187b82620013ae565b91506200188883620013ae565b9250828201905080821115620018a357620018a26200175a565b5b92915050565b620018b481620013ae565b82525050565b5f606082019050620018cf5f8301866200172e565b620018de6020830185620018a9565b620018ed6040830184620018a9565b949350505050565b5f6020820190506200190a5f830184620018a9565b92915050565b5f604082019050620019255f8301856200172e565b6200193460208301846200172e565b9392505050565b61351880620019495f395ff3fe608060405260043610610266575f3560e01c806370a0823111610143578063a9059cbb116100b5578063e086e5ec11610079578063e086e5ec14610915578063e0e2b08b1461092b578063e1ad418e14610953578063efc21e3f1461098f578063f2fde38b146109b9578063f305d719146109e157610266565b8063a9059cbb14610821578063b95999cd1461085d578063cc1776d314610885578063cc2b7858146108af578063dd62ed3e146108d957610266565b80638da5cb5b116101075780638da5cb5b1461071757806395d89b41146107415780639b19251a1461076b5780639b6fbf8a146107a75780639f5fa028146107cf578063a11223da146107f957610266565b806370a0823114610649578063715018a6146106855780637b61c3201461069b5780638b339069146106c55780638d5f81e2146106ed57610266565b80633c9f5ed6116101dc578063564b81ef116101a0578063564b81ef1461054f57806357e871e714610579578063593ed58c146105a3578063594ef0d9146105df5780636b05abd6146106095780636c02a9311461061f57610266565b80633c9f5ed61461047f5780633de4b85c146104a95780634c97f472146104d35780634f7041a5146104fb5780635408d42d1461052557610266565b806315aac2271161022e57806315aac2271461035f57806318160ddd146103895780631e9d48cf146103b357806323b872dd146103ef5780632711b8a51461042b578063313ce5671461045557610266565b806302751cec1461026a578063068acf6c146102a757806306fdde03146102cf578063095ea7b3146102f95780631189478014610335575b5f80fd5b348015610275575f80fd5b50610290600480360381019061028b919061276b565b610a13565b60405161029e929190612803565b60405180910390f35b3480156102b2575f80fd5b506102cd60048036038101906102c8919061282a565b610d2c565b005b3480156102da575f80fd5b506102e3610e2f565b6040516102f091906128df565b60405180910390f35b348015610304575f80fd5b5061031f600480360381019061031a91906128ff565b610ebf565b60405161032c9190612957565b60405180910390f35b348015610340575f80fd5b50610349610ee1565b6040516103569190612970565b60405180910390f35b34801561036a575f80fd5b50610373610ee8565b6040516103809190612970565b60405180910390f35b348015610394575f80fd5b5061039d610eee565b6040516103aa9190612970565b60405180910390f35b3480156103be575f80fd5b506103d960048036038101906103d4919061282a565b610ef7565b6040516103e69190612957565b60405180910390f35b3480156103fa575f80fd5b5061041560048036038101906104109190612989565b610f14565b6040516104229190612957565b60405180910390f35b348015610436575f80fd5b5061043f610f42565b60405161044c9190612970565b60405180910390f35b348015610460575f80fd5b50610469610f4a565b60405161047691906129f4565b60405180910390f35b34801561048a575f80fd5b50610493610f52565b6040516104a09190612957565b60405180910390f35b3480156104b4575f80fd5b506104bd610f67565b6040516104ca9190612970565b60405180910390f35b3480156104de575f80fd5b506104f960048036038101906104f49190612b39565b610f6d565b005b348015610506575f80fd5b5061050f610f99565b60405161051c9190612970565b60405180910390f35b348015610530575f80fd5b50610539610f9f565b6040516105469190612957565b60405180910390f35b34801561055a575f80fd5b50610563610fb1565b6040516105709190612970565b60405180910390f35b348015610584575f80fd5b5061058d610fbd565b60405161059a9190612970565b60405180910390f35b3480156105ae575f80fd5b506105c960048036038101906105c49190612baf565b610fc3565b6040516105d69190612be9565b60405180910390f35b3480156105ea575f80fd5b506105f3610ff3565b6040516106009190612970565b60405180910390f35b348015610614575f80fd5b5061061d610ff9565b005b34801561062a575f80fd5b5061063361102b565b60405161064091906128df565b60405180910390f35b348015610654575f80fd5b5061066f600480360381019061066a919061282a565b6110b7565b60405161067c9190612970565b60405180910390f35b348015610690575f80fd5b506106996110fc565b005b3480156106a6575f80fd5b506106af61110f565b6040516106bc91906128df565b60405180910390f35b3480156106d0575f80fd5b506106eb60048036038101906106e69190612baf565b61119b565b005b3480156106f8575f80fd5b506107016111ad565b60405161070e9190612be9565b60405180910390f35b348015610722575f80fd5b5061072b61141d565b6040516107389190612be9565b60405180910390f35b34801561074c575f80fd5b50610755611445565b60405161076291906128df565b60405180910390f35b348015610776575f80fd5b50610791600480360381019061078c919061282a565b6114d5565b60405161079e9190612957565b60405180910390f35b3480156107b2575f80fd5b506107cd60048036038101906107c89190612cc6565b6114f2565b005b3480156107da575f80fd5b506107e361158b565b6040516107f09190612970565b60405180910390f35b348015610804575f80fd5b5061081f600480360381019061081a9190612d0d565b611590565b005b34801561082c575f80fd5b50610847600480360381019061084291906128ff565b611641565b6040516108549190612957565b60405180910390f35b348015610868575f80fd5b50610883600480360381019061087e91906128ff565b611663565b005b348015610890575f80fd5b506108996116be565b6040516108a69190612970565b60405180910390f35b3480156108ba575f80fd5b506108c36116c4565b6040516108d09190612970565b60405180910390f35b3480156108e4575f80fd5b506108ff60048036038101906108fa9190612d67565b6116ca565b60405161090c9190612970565b60405180910390f35b348015610920575f80fd5b5061092961174c565b005b348015610936575f80fd5b50610951600480360381019061094c9190612dcf565b61179a565b005b34801561095e575f80fd5b506109796004803603810190610974919061282a565b6117fa565b6040516109869190612970565b60405180910390f35b34801561099a575f80fd5b506109a361180f565b6040516109b09190612970565b60405180910390f35b3480156109c4575f80fd5b506109df60048036038101906109da919061282a565b611815565b005b6109fb60048036038101906109f6919061276b565b611899565b604051610a0a93929190612e0d565b60405180910390f35b5f80610a1d6119fb565b5f610a266111ad565b90505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610a629190612be9565b602060405180830381865afa158015610a7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa19190612e56565b90508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610ae093929190612e81565b6020604051808303815f875af1158015610afc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b209190612eca565b505f610b2a610fb1565b90505f60115f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508373ffffffffffffffffffffffffffffffffffffffff1663095ea7b382856040518363ffffffff1660e01b8152600401610b9b929190612ef5565b6020604051808303815f875af1158015610bb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdb9190612eca565b5061a86a8203610c83578073ffffffffffffffffffffffffffffffffffffffff166333c6b72530855f803369d3c21bcecceda0ffffff43610c1c9190612f49565b6040518763ffffffff1660e01b8152600401610c3d96959493929190612fbe565b60408051808303815f875af1158015610c58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7c919061301d565b5050610d1d565b8073ffffffffffffffffffffffffffffffffffffffff166302751cec30855f803369d3c21bcecceda0ffffff43610cba9190612f49565b6040518763ffffffff1660e01b8152600401610cdb96959493929190612fbe565b60408051808303815f875af1158015610cf6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1a919061301d565b50505b50505050965096945050505050565b610d346119fb565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d6e9190612be9565b602060405180830381865afa158015610d89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dad9190612e56565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610dea929190612ef5565b6020604051808303815f875af1158015610e06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2a9190612eca565b505050565b606060088054610e3e90613088565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6a90613088565b8015610eb55780601f10610e8c57610100808354040283529160200191610eb5565b820191905f5260205f20905b815481529060010190602001808311610e9857829003601f168201915b5050505050905090565b5f80610ec9611a82565b9050610ed6818585611a89565b600191505092915050565b62013e3181565b600e5481565b5f600254905090565b6010602052805f5260405f205f915054906101000a900460ff1681565b5f80610f1e611a82565b9050610f2b858285611a9b565b610f36858585611b2d565b60019150509392505050565b5f6001905090565b5f6012905090565b5f600f5f9054906101000a900460ff16905090565b61a86a81565b610f756119fb565b8160089081610f84919061324c565b508060099081610f94919061324c565b505050565b600b5481565b600f5f9054906101000a900460ff1681565b5f804690508091505090565b600a5481565b6011602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b6110016119fb565b600f5f9054906101000a900460ff1615600f5f6101000a81548160ff021916908315150217905550565b6008805461103890613088565b80601f016020809104026020016040519081016040528092919081815260200182805461106490613088565b80156110af5780601f10611086576101008083540402835291602001916110af565b820191905f5260205f20905b81548152906001019060200180831161109257829003601f168201915b505050505081565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6111046119fb565b61110d5f611c1d565b565b6009805461111c90613088565b80601f016020809104026020016040519081016040528092919081815260200182805461114890613088565b80156111935780601f1061116a57610100808354040283529160200191611193565b820191905f5260205f20905b81548152906001019060200180831161117657829003601f168201915b505050505081565b6111a36119fb565b80600d8190555050565b5f805f6111b8610fb1565b90505f60115f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061a86a820361126b578073ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611240573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611264919061332f565b92506112db565b8073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d8919061332f565b92505b5f3090505f808273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161061131b57828661131e565b85835b915091505f8473ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611390919061332f565b90505f8173ffffffffffffffffffffffffffffffffffffffff1663e6a4390585856040518363ffffffff1660e01b81526004016113ce92919061335a565b602060405180830381865afa1580156113e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140d919061332f565b9050809850505050505050505090565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606009805461145490613088565b80601f016020809104026020016040519081016040528092919081815260200182805461148090613088565b80156114cb5780601f106114a2576101008083540402835291602001916114cb565b820191905f5260205f20905b8154815290600101906020018083116114ae57829003601f168201915b5050505050905090565b6013602052805f5260405f205f915054906101000a900460ff1681565b6114fa6119fb565b5f5b815181101561158757600160135f84848151811061151d5761151c613381565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061157f906133ae565b9150506114fc565b5050565b600181565b6115986119fb565b5f5b825181101561163c578281815181106115b6576115b5613381565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166115dc61141d565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116219190612970565b60405180910390a38080611634906133ae565b91505061159a565b505050565b5f8061164b611a82565b9050611658818585611b2d565b600191505092915050565b61166b6119fb565b8160115f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600c5481565b61a4b181565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6117546119fb565b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611797573d5f803e3d5ffd5b50565b6117a26119fb565b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6012602052805f5260405f205f915090505481565b61210581565b61181d6119fb565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361188d575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016118849190612be9565b60405180910390fd5b61189681611c1d565b50565b5f805f6118a46119fb565b5f3490505f6118b1610fb1565b90505f8060115f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061a86a8303611970576118fc818d86611ce0565b8073ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611969919061332f565b91506119eb565b61197b818d86611d92565b8073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e8919061332f565b91505b5050505096509650969350505050565b611a03611a82565b73ffffffffffffffffffffffffffffffffffffffff16611a2161141d565b73ffffffffffffffffffffffffffffffffffffffff1614611a8057611a44611a82565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611a779190612be9565b60405180910390fd5b565b5f33905090565b611a968383836001611e44565b505050565b5f611aa684846116ca565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b275781811015611b18578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401611b0f939291906133f5565b60405180910390fd5b611b2684848484035f611e44565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b9d575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611b949190612be9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c0d575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611c049190612be9565b60405180910390fd5b611c18838383612013565b505050565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f69d3c21bcecceda100000043611cf79190612f49565b9050611d04308585611a89565b8373ffffffffffffffffffffffffffffffffffffffff1663f91b3f728330865f8033886040518863ffffffff1660e01b8152600401611d4896959493929190612fbe565b60606040518083038185885af1158015611d64573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611d89919061342a565b50505050505050565b5f69d3c21bcecceda100000043611da99190612f49565b9050611db6308585611a89565b8373ffffffffffffffffffffffffffffffffffffffff1663f305d7198330865f8033886040518863ffffffff1660e01b8152600401611dfa96959493929190612fbe565b60606040518083038185885af1158015611e16573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611e3b919061342a565b50505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611eb4575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611eab9190612be9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f24575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611f1b9190612be9565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561200d578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516120049190612970565b60405180910390a35b50505050565b60135f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120725761206d8383836122a2565b61229d565b600f5f9054906101000a900460ff166120c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b7906134c4565b60405180910390fd5b5f6120c96111ad565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361210f576121098484846122a2565b5061229d565b8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121935750600d548260125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121919190612f49565b115b156121b2576121a18461267b565b6121ac8484846122a2565b5061229d565b8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122375750600d548260125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122349190612f49565b11155b15612290578160125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546122889190612f49565b925050819055505b61229b8484846122a2565b505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122f2578060025f8282546122e69190612f49565b925050819055506123c0565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561237b578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401612372939291906133f5565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612407578060025f8282540392505081905550612451565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125305760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125239190612970565b60405180910390a3612676565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361260f578173ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126029190612970565b60405180910390a3612675565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161266c9190612970565b60405180910390a35b5b505050565b5f612685826110b7565b11156126bb57600f5f9054906101000a900460ff166126ae576126a96014546126be565b6126ba565b6126b96015546126be565b5b5b50565b803a11156126ca575f80fd5b50565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612707826126de565b9050919050565b612717816126fd565b8114612721575f80fd5b50565b5f813590506127328161270e565b92915050565b5f819050919050565b61274a81612738565b8114612754575f80fd5b50565b5f8135905061276581612741565b92915050565b5f805f805f8060c08789031215612785576127846126d6565b5b5f61279289828a01612724565b96505060206127a389828a01612757565b95505060406127b489828a01612757565b94505060606127c589828a01612757565b93505060806127d689828a01612724565b92505060a06127e789828a01612757565b9150509295509295509295565b6127fd81612738565b82525050565b5f6040820190506128165f8301856127f4565b61282360208301846127f4565b9392505050565b5f6020828403121561283f5761283e6126d6565b5b5f61284c84828501612724565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561288c578082015181840152602081019050612871565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6128b182612855565b6128bb818561285f565b93506128cb81856020860161286f565b6128d481612897565b840191505092915050565b5f6020820190508181035f8301526128f781846128a7565b905092915050565b5f8060408385031215612915576129146126d6565b5b5f61292285828601612724565b925050602061293385828601612757565b9150509250929050565b5f8115159050919050565b6129518161293d565b82525050565b5f60208201905061296a5f830184612948565b92915050565b5f6020820190506129835f8301846127f4565b92915050565b5f805f606084860312156129a05761299f6126d6565b5b5f6129ad86828701612724565b93505060206129be86828701612724565b92505060406129cf86828701612757565b9150509250925092565b5f60ff82169050919050565b6129ee816129d9565b82525050565b5f602082019050612a075f8301846129e5565b92915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612a4b82612897565b810181811067ffffffffffffffff82111715612a6a57612a69612a15565b5b80604052505050565b5f612a7c6126cd565b9050612a888282612a42565b919050565b5f67ffffffffffffffff821115612aa757612aa6612a15565b5b612ab082612897565b9050602081019050919050565b828183375f83830152505050565b5f612add612ad884612a8d565b612a73565b905082815260208101848484011115612af957612af8612a11565b5b612b04848285612abd565b509392505050565b5f82601f830112612b2057612b1f612a0d565b5b8135612b30848260208601612acb565b91505092915050565b5f8060408385031215612b4f57612b4e6126d6565b5b5f83013567ffffffffffffffff811115612b6c57612b6b6126da565b5b612b7885828601612b0c565b925050602083013567ffffffffffffffff811115612b9957612b986126da565b5b612ba585828601612b0c565b9150509250929050565b5f60208284031215612bc457612bc36126d6565b5b5f612bd184828501612757565b91505092915050565b612be3816126fd565b82525050565b5f602082019050612bfc5f830184612bda565b92915050565b5f67ffffffffffffffff821115612c1c57612c1b612a15565b5b602082029050602081019050919050565b5f80fd5b5f612c43612c3e84612c02565b612a73565b90508083825260208201905060208402830185811115612c6657612c65612c2d565b5b835b81811015612c8f5780612c7b8882612724565b845260208401935050602081019050612c68565b5050509392505050565b5f82601f830112612cad57612cac612a0d565b5b8135612cbd848260208601612c31565b91505092915050565b5f60208284031215612cdb57612cda6126d6565b5b5f82013567ffffffffffffffff811115612cf857612cf76126da565b5b612d0484828501612c99565b91505092915050565b5f8060408385031215612d2357612d226126d6565b5b5f83013567ffffffffffffffff811115612d4057612d3f6126da565b5b612d4c85828601612c99565b9250506020612d5d85828601612757565b9150509250929050565b5f8060408385031215612d7d57612d7c6126d6565b5b5f612d8a85828601612724565b9250506020612d9b85828601612724565b9150509250929050565b612dae8161293d565b8114612db8575f80fd5b50565b5f81359050612dc981612da5565b92915050565b5f8060408385031215612de557612de46126d6565b5b5f612df285828601612724565b9250506020612e0385828601612dbb565b9150509250929050565b5f606082019050612e205f8301866127f4565b612e2d60208301856127f4565b612e3a60408301846127f4565b949350505050565b5f81519050612e5081612741565b92915050565b5f60208284031215612e6b57612e6a6126d6565b5b5f612e7884828501612e42565b91505092915050565b5f606082019050612e945f830186612bda565b612ea16020830185612bda565b612eae60408301846127f4565b949350505050565b5f81519050612ec481612da5565b92915050565b5f60208284031215612edf57612ede6126d6565b5b5f612eec84828501612eb6565b91505092915050565b5f604082019050612f085f830185612bda565b612f1560208301846127f4565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612f5382612738565b9150612f5e83612738565b9250828201905080821115612f7657612f75612f1c565b5b92915050565b5f819050919050565b5f819050919050565b5f612fa8612fa3612f9e84612f7c565b612f85565b612738565b9050919050565b612fb881612f8e565b82525050565b5f60c082019050612fd15f830189612bda565b612fde60208301886127f4565b612feb6040830187612faf565b612ff86060830186612faf565b6130056080830185612bda565b61301260a08301846127f4565b979650505050505050565b5f8060408385031215613033576130326126d6565b5b5f61304085828601612e42565b925050602061305185828601612e42565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061309f57607f821691505b6020821081036130b2576130b161305b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026131147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826130d9565b61311e86836130d9565b95508019841693508086168417925050509392505050565b5f61315061314b61314684612738565b612f85565b612738565b9050919050565b5f819050919050565b61316983613136565b61317d61317582613157565b8484546130e5565b825550505050565b5f90565b613191613185565b61319c818484613160565b505050565b5b818110156131bf576131b45f82613189565b6001810190506131a2565b5050565b601f821115613204576131d5816130b8565b6131de846130ca565b810160208510156131ed578190505b6132016131f9856130ca565b8301826131a1565b50505b505050565b5f82821c905092915050565b5f6132245f1984600802613209565b1980831691505092915050565b5f61323c8383613215565b9150826002028217905092915050565b61325582612855565b67ffffffffffffffff81111561326e5761326d612a15565b5b6132788254613088565b6132838282856131c3565b5f60209050601f8311600181146132b4575f84156132a2578287015190505b6132ac8582613231565b865550613313565b601f1984166132c2866130b8565b5f5b828110156132e9578489015182556001820191506020850194506020810190506132c4565b868310156133065784890151613302601f891682613215565b8355505b6001600288020188555050505b505050505050565b5f815190506133298161270e565b92915050565b5f60208284031215613344576133436126d6565b5b5f6133518482850161331b565b91505092915050565b5f60408201905061336d5f830185612bda565b61337a6020830184612bda565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6133b882612738565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133ea576133e9612f1c565b5b600182019050919050565b5f6060820190506134085f830186612bda565b61341560208301856127f4565b61342260408301846127f4565b949350505050565b5f805f60608486031215613441576134406126d6565b5b5f61344e86828701612e42565b935050602061345f86828701612e42565b925050604061347086828701612e42565b9150509250925092565b7f547261646520686173206e6f74206265656e206f70656e6564207965740000005f82015250565b5f6134ae601d8361285f565b91506134b98261347a565b602082019050919050565b5f6020820190508181035f8301526134db816134a2565b905091905056fea2646970667358221220488c54ed10ca287926bf30f116c0911d86eaa32b5c21cc7d276475c87bb50d8164736f6c6343000814003300000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000000c186d2cf858b65eb7e498c4ccfa9ff43b93494a0000000000000000000000000000000000000000000000787471cb56e5f800000000000000000000000000000000000000000000000000000000000000000001
0xa2646970667358221220488c54ed10ca287926bf30f116c0911d86eaa32b5c21cc7d276475c87bb50d8164736f6c6343000814003300000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000000c186d2cf858b65eb7e498c4ccfa9ff43b93494a0000000000000000000000000000000000000000000000787471cb56e5f800000000000000000000000000000000000000000000000000000000000000000001