[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "status", "type": "bool" } ], "name": "AccountExcludeFromFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "AutomatedMarketMakerPairUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "SwapTokensAmountUpdated", "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": [ { "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "disableReflections", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "distributionEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "distributorAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "distributorGas", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isAutomatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "joePair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "joeRouter", "outputs": [ { "internalType": "contract IJoeRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "reflectionFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reflectionToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reflectionsEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeMaxTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "minPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "minDistribution", "type": "uint256" } ], "name": "setDistributionCriteria", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setDistributionStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "setDistributorGas", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setIsDividendExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setSwapTokensAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "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" }, { "stateMutability": "payable", "type": "receive" } ]
60806040523480156200001157600080fd5b50336040518060400160405280600e81526020017f44657673446f696e6753747566660000000000000000000000000000000000008152506040518060400160405280600481526020017f4445565300000000000000000000000000000000000000000000000000000000815250816003908162000090919062000c78565b508060049081620000a2919062000c78565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200011a5760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000111919062000da4565b60405180910390fd5b6200012b81620007a860201b60201c565b50735ac04b69bde6f67c0bd5d6ba6fd5d816548b066a600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507360ae616a2155ee3d9a68541ba4544862310933d4600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026a919062000df7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031a919062000df7565b6040518363ffffffff1660e01b81526004016200033992919062000e29565b6020604051808303816000875af115801562000359573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037f919062000df7565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620003cd90620009f0565b604051809103906000f080158015620003ea573d6000803e3d6000fd5b50601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060086101f4908060018154018082558091505060019003906000526020600020016000909190919091505560086101f4908060018154018082558091505060019003906000526020600020016000909190919091505560086101f490806001815401808255809150506001900390600052602060002001600090919091909150556001601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506a52b7d2dcc80cd2e4000000600981905550620493e0600a819055506b033b2e3c9fd0803ce80000006006819055506b033b2e3c9fd0803ce80000006007819055506001601060156101000a81548160ff0219169083151502179055506001601060166101000a81548160ff021916908315150217905550620007a2336c01431e0fae6d7217caa00000006200086e60201b60201c565b62000f71565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008d79062000eb7565b60405180910390fd5b620008f460008383620009e660201b60201c565b806002600082825462000908919062000f08565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200095f919062000f08565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009c6919062000f54565b60405180910390a3620009e260008383620009eb60201b60201c565b5050565b505050565b505050565b61180080620048d283390190565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a8057607f821691505b60208210810362000a965762000a9562000a38565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ac1565b62000b0c868362000ac1565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000b5962000b5362000b4d8462000b24565b62000b2e565b62000b24565b9050919050565b6000819050919050565b62000b758362000b38565b62000b8d62000b848262000b60565b84845462000ace565b825550505050565b600090565b62000ba462000b95565b62000bb181848462000b6a565b505050565b5b8181101562000bd95762000bcd60008262000b9a565b60018101905062000bb7565b5050565b601f82111562000c285762000bf28162000a9c565b62000bfd8462000ab1565b8101602085101562000c0d578190505b62000c2562000c1c8562000ab1565b83018262000bb6565b50505b505050565b600082821c905092915050565b600062000c4d6000198460080262000c2d565b1980831691505092915050565b600062000c68838362000c3a565b9150826002028217905092915050565b62000c8382620009fe565b67ffffffffffffffff81111562000c9f5762000c9e62000a09565b5b62000cab825462000a67565b62000cb882828562000bdd565b600060209050601f83116001811462000cf0576000841562000cdb578287015190505b62000ce7858262000c5a565b86555062000d57565b601f19841662000d008662000a9c565b60005b8281101562000d2a5784890151825560018201915060208501945060208101905062000d03565b8683101562000d4a578489015162000d46601f89168262000c3a565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d8c8262000d5f565b9050919050565b62000d9e8162000d7f565b82525050565b600060208201905062000dbb600083018462000d93565b92915050565b600080fd5b62000dd18162000d7f565b811462000ddd57600080fd5b50565b60008151905062000df18162000dc6565b92915050565b60006020828403121562000e105762000e0f62000dc1565b5b600062000e208482850162000de0565b91505092915050565b600060408201905062000e40600083018562000d93565b62000e4f602083018462000d93565b9392505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000e9f601f8362000e56565b915062000eac8262000e67565b602082019050919050565b6000602082019050818103600083015262000ed28162000e90565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000f158262000b24565b915062000f228362000b24565b925082820190508082111562000f3d5762000f3c62000ed9565b5b92915050565b62000f4e8162000b24565b82525050565b600060208201905062000f6b600083018462000f43565b92915050565b6139518062000f816000396000f3fe60806040526004361061021e5760003560e01c80638660832611610123578063dbb108b7116100ab578063eb41ed581161006f578063eb41ed58146107e4578063f2fde38b146107fb578063f708a64f14610824578063f8b45b051461084d578063fcef88671461087857610225565b8063dbb108b714610711578063dc07b6171461073c578063dd62ed3e14610753578063df8408fe14610790578063e2f45605146107b957610225565b8063a457c2d7116100f2578063a457c2d714610618578063a51af4c514610655578063a9059cbb14610680578063afa4f3b2146106bd578063bc6a9e01146106e657610225565b8063866083261461056e5780638da5cb5b1461059957806395d89b41146105c45780639a7a23d6146105ef57610225565b8063313ce567116101a657806360e719621161017557806360e71962146104995780636bca89cb146104c457806370a08231146104ef578063715018a61461052c5780637437681e1461054357610225565b8063313ce567146103c957806339509351146103f45780635342acb41461043157806359f571e81461046e57610225565b806323b872dd116101ed57806323b872dd146102e6578063244ce7db14610323578063255fe8471461034c5780632be1dee7146103895780632d48e896146103a057610225565b806306fdde031461022a578063095ea7b3146102555780630a2d140c1461029257806318160ddd146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f6108b5565b60405161024c91906128bb565b60405180910390f35b34801561026157600080fd5b5061027c60048036038101906102779190612976565b610947565b60405161028991906129d1565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190612a18565b61096a565b005b3480156102c757600080fd5b506102d061098f565b6040516102dd9190612a54565b60405180910390f35b3480156102f257600080fd5b5061030d60048036038101906103089190612a6f565b610999565b60405161031a91906129d1565b60405180910390f35b34801561032f57600080fd5b5061034a60048036038101906103459190612ac2565b6109c8565b005b34801561035857600080fd5b50610373600480360381019061036e9190612aef565b610a1f565b60405161038091906129d1565b60405180910390f35b34801561039557600080fd5b5061039e610a3f565b005b3480156103ac57600080fd5b506103c760048036038101906103c29190612b1c565b610a5d565b005b3480156103d557600080fd5b506103de610af8565b6040516103eb9190612b78565b60405180910390f35b34801561040057600080fd5b5061041b60048036038101906104169190612976565b610b01565b60405161042891906129d1565b60405180910390f35b34801561043d57600080fd5b5061045860048036038101906104539190612aef565b610b38565b60405161046591906129d1565b60405180910390f35b34801561047a57600080fd5b50610483610b58565b6040516104909190612bf2565b60405180910390f35b3480156104a557600080fd5b506104ae610b7e565b6040516104bb9190612a54565b60405180910390f35b3480156104d057600080fd5b506104d9610b84565b6040516104e69190612c1c565b60405180910390f35b3480156104fb57600080fd5b5061051660048036038101906105119190612aef565b610baa565b6040516105239190612a54565b60405180910390f35b34801561053857600080fd5b50610541610bf2565b005b34801561054f57600080fd5b50610558610c06565b6040516105659190612a54565b60405180910390f35b34801561057a57600080fd5b50610583610c0c565b60405161059091906129d1565b60405180910390f35b3480156105a557600080fd5b506105ae610c1f565b6040516105bb9190612c1c565b60405180910390f35b3480156105d057600080fd5b506105d9610c49565b6040516105e691906128bb565b60405180910390f35b3480156105fb57600080fd5b5061061660048036038101906106119190612c37565b610cdb565b005b34801561062457600080fd5b5061063f600480360381019061063a9190612976565b610de6565b60405161064c91906129d1565b60405180910390f35b34801561066157600080fd5b5061066a610e5d565b6040516106779190612c1c565b60405180910390f35b34801561068c57600080fd5b506106a760048036038101906106a29190612976565b610e83565b6040516106b491906129d1565b60405180910390f35b3480156106c957600080fd5b506106e460048036038101906106df9190612ac2565b610ea6565b005b3480156106f257600080fd5b506106fb610f84565b6040516107089190612c1c565b60405180910390f35b34801561071d57600080fd5b50610726610faa565b60405161073391906129d1565b60405180910390f35b34801561074857600080fd5b50610751610fbd565b005b34801561075f57600080fd5b5061077a60048036038101906107759190612c77565b610fdb565b6040516107879190612a54565b60405180910390f35b34801561079c57600080fd5b506107b760048036038101906107b29190612c37565b611062565b005b3480156107c557600080fd5b506107ce611190565b6040516107db9190612a54565b60405180910390f35b3480156107f057600080fd5b506107f9611196565b005b34801561080757600080fd5b50610822600480360381019061081d9190612aef565b6111f7565b005b34801561083057600080fd5b5061084b60048036038101906108469190612c37565b61127d565b005b34801561085957600080fd5b50610862611413565b60405161086f9190612a54565b60405180910390f35b34801561088457600080fd5b5061089f600480360381019061089a9190612ac2565b611419565b6040516108ac9190612a54565b60405180910390f35b6060600380546108c490612ce6565b80601f01602080910402602001604051908101604052809291908181526020018280546108f090612ce6565b801561093d5780601f106109125761010080835404028352916020019161093d565b820191906000526020600020905b81548152906001019060200180831161092057829003601f168201915b5050505050905090565b60008061095261143d565b905061095f818585611445565b600191505092915050565b61097261160e565b80601060156101000a81548160ff02191690831515021790555050565b6000600254905090565b6000806109a461143d565b90506109b1858285611695565b6109bc858585611721565b60019150509392505050565b6109d061160e565b620b71b08110610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90612d63565b60405180910390fd5b80600a8190555050565b60136020528060005260406000206000915054906101000a900460ff1681565b610a4761160e565b6c01431e0fae6d7217caa0000000600681905550565b610a6561160e565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632d48e89683836040518363ffffffff1660e01b8152600401610ac2929190612d83565b600060405180830381600087803b158015610adc57600080fd5b505af1158015610af0573d6000803e3d6000fd5b505050505050565b60006012905090565b600080610b0c61143d565b9050610b2d818585610b1e8589610fdb565b610b289190612ddb565b611445565b600191505092915050565b60126020528060005260406000206000915054906101000a900460ff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bfa61160e565b610c046000611fab565b565b60065481565b601060159054906101000a900460ff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c5890612ce6565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8490612ce6565b8015610cd15780601f10610ca657610100808354040283529160200191610cd1565b820191906000526020600020905b815481529060010190602001808311610cb457829003601f168201915b5050505050905090565b610ce361160e565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4990612e5b565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fef0b71f3a695ce5a89064cc2745d0c503cf766ed985e781607660be6010b8e908282604051610dda929190612e7b565b60405180910390a15050565b600080610df161143d565b90506000610dff8286610fdb565b905083811015610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b90612f16565b60405180910390fd5b610e518286868403611445565b60019250505092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610e8e61143d565b9050610e9b818585611721565b600191505092915050565b610eae61160e565b610eb661098f565b811115610ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eef90612fa8565b60405180910390fd5b670de0b6b3a7640000811015610f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3a9061303a565b60405180910390fd5b806009819055507f28ea3a80049e637c2f1bf658d47a07f688bea6e931f3c1930cf4a4daf97b186081604051610f799190612a54565b60405180910390a150565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060169054906101000a900460ff1681565b610fc561160e565b6c01431e0fae6d7217caa0000000600781905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61106a61160e565b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036110fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f3906130cc565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff1bf6e8d74573725f529c5a07fb53656b9c97a10602a75631f57c1be07769e2b8282604051611184929190612e7b565b60405180910390a15050565b60095481565b61119e61160e565b60011515601060169054906101000a900460ff161515036111d9576000601060166101000a81548160ff0219169083151502179055506111f5565b6001601060166101000a81548160ff0219169083151502179055505b565b6111ff61160e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112715760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016112689190612c1c565b60405180910390fd5b61127a81611fab565b50565b61128561160e565b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550801561137757601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca968360006040518363ffffffff1660e01b8152600401611340929190613127565b600060405180830381600087803b15801561135a57600080fd5b505af115801561136e573d6000803e3d6000fd5b5050505061140f565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca96836113bf85610baa565b6040518363ffffffff1660e01b81526004016113dc929190613150565b600060405180830381600087803b1580156113f657600080fd5b505af115801561140a573d6000803e3d6000fd5b505050505b5050565b60075481565b6008818154811061142957600080fd5b906000526020600020016000915090505481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab906131eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151a9061327d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116019190612a54565b60405180910390a3505050565b61161661143d565b73ffffffffffffffffffffffffffffffffffffffff16611634610c1f565b73ffffffffffffffffffffffffffffffffffffffff16146116935761165761143d565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161168a9190612c1c565b60405180910390fd5b565b60006116a18484610fdb565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461171b578181101561170d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611704906132e9565b60405180910390fd5b61171a8484848403611445565b5b50505050565b601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611810576006548111156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae9061337b565b60405180910390fd5b600754816117c484610baa565b6117ce9190612ddb565b111561180f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611806906133e7565b60405180910390fd5b5b600061181b30610baa565b905060006009548210159050600115158115151480156118485750601060149054906101000a900460ff16155b80156118a4575060011515601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b80156118c3575060011515601060169054906101000a900460ff161515145b15611b5e576000600b54905060008190506009548110611b5b576001601060146101000a81548160ff021916908315150217905550611903600954612071565b600047905060008190506000811115611b3d5761191f816122b4565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161197c9190612c1c565b602060405180830381865afa158015611999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bd919061341c565b9050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611a3e929190613150565b6020604051808303816000875af1158015611a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a81919061345e565b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25826040518263ffffffff1660e01b8152600401611add9190612a54565b600060405180830381600087803b158015611af757600080fd5b505af1158015611b0b573d6000803e3d6000fd5b505050508385600954611b1e919061348b565b611b2891906134fc565b600b54611b35919061352d565b600b81905550505b6000601060146101000a81548160ff02191690831515021790555050505b50505b601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bff5750601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611c1457611c0f8585856124eb565b611d3f565b6000611d1084601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16601360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d0b5750601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61276a565b90506000811115611d2757611d268630836124eb565b5b611d3d86868387611d38919061352d565b6124eb565b505b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e2257601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9686611dd888610baa565b6040518363ffffffff1660e01b8152600401611df5929190613150565b600060405180830381600087803b158015611e0f57600080fd5b505af1925050508015611e20575060015b505b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f0557601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9685611ebb87610baa565b6040518363ffffffff1660e01b8152600401611ed8929190613150565b600060405180830381600087803b158015611ef257600080fd5b505af1925050508015611f03575060015b505b601060159054906101000a900460ff1615611fa457601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479600a546040518263ffffffff1660e01b8152600401611f779190612a54565b600060405180830381600087803b158015611f9157600080fd5b505af1925050508015611fa2575060015b505b5050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff81111561208e5761208d613561565b5b6040519080825280602002602001820160405280156120bc5781602001602082028036833780820191505090505b50905030816000815181106120d4576120d3613590565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561217b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061219f91906135d4565b816001815181106121b3576121b2613590565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061221a30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611445565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663762b15628360008430426040518663ffffffff1660e01b815260040161227e9594939291906136bf565b600060405180830381600087803b15801561229857600080fd5b505af11580156122ac573d6000803e3d6000fd5b505050505050565b6000600267ffffffffffffffff8111156122d1576122d0613561565b5b6040519080825280602002602001820160405280156122ff5781602001602082028036833780820191505090505b509050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561236f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239391906135d4565b816000815181106123a7576123a6613590565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061241857612417613590565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a2a1623d8360008430426040518663ffffffff1660e01b81526004016124b59493929190613719565b6000604051808303818588803b1580156124ce57600080fd5b505af11580156124e2573d6000803e3d6000fd5b50505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361255a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612551906137d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c090613869565b60405180910390fd5b6125d4838383612821565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561265a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612651906138fb565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126ed9190612ddb565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127519190612a54565b60405180910390a3612764848484612826565b50505050565b600080612710836127c5578461279f57600860008154811061278f5761278e613590565b5b90600052602060002001546127c0565b60086001815481106127b4576127b3613590565b5b90600052602060002001545b6127e6565b60086002815481106127da576127d9613590565b5b90600052602060002001545b866127f1919061348b565b6127fb91906134fc565b905080600b600082825461280f9190612ddb565b92505081905550809150509392505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561286557808201518184015260208101905061284a565b60008484015250505050565b6000601f19601f8301169050919050565b600061288d8261282b565b6128978185612836565b93506128a7818560208601612847565b6128b081612871565b840191505092915050565b600060208201905081810360008301526128d58184612882565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061290d826128e2565b9050919050565b61291d81612902565b811461292857600080fd5b50565b60008135905061293a81612914565b92915050565b6000819050919050565b61295381612940565b811461295e57600080fd5b50565b6000813590506129708161294a565b92915050565b6000806040838503121561298d5761298c6128dd565b5b600061299b8582860161292b565b92505060206129ac85828601612961565b9150509250929050565b60008115159050919050565b6129cb816129b6565b82525050565b60006020820190506129e660008301846129c2565b92915050565b6129f5816129b6565b8114612a0057600080fd5b50565b600081359050612a12816129ec565b92915050565b600060208284031215612a2e57612a2d6128dd565b5b6000612a3c84828501612a03565b91505092915050565b612a4e81612940565b82525050565b6000602082019050612a696000830184612a45565b92915050565b600080600060608486031215612a8857612a876128dd565b5b6000612a968682870161292b565b9350506020612aa78682870161292b565b9250506040612ab886828701612961565b9150509250925092565b600060208284031215612ad857612ad76128dd565b5b6000612ae684828501612961565b91505092915050565b600060208284031215612b0557612b046128dd565b5b6000612b138482850161292b565b91505092915050565b60008060408385031215612b3357612b326128dd565b5b6000612b4185828601612961565b9250506020612b5285828601612961565b9150509250929050565b600060ff82169050919050565b612b7281612b5c565b82525050565b6000602082019050612b8d6000830184612b69565b92915050565b6000819050919050565b6000612bb8612bb3612bae846128e2565b612b93565b6128e2565b9050919050565b6000612bca82612b9d565b9050919050565b6000612bdc82612bbf565b9050919050565b612bec81612bd1565b82525050565b6000602082019050612c076000830184612be3565b92915050565b612c1681612902565b82525050565b6000602082019050612c316000830184612c0d565b92915050565b60008060408385031215612c4e57612c4d6128dd565b5b6000612c5c8582860161292b565b9250506020612c6d85828601612a03565b9150509250929050565b60008060408385031215612c8e57612c8d6128dd565b5b6000612c9c8582860161292b565b9250506020612cad8582860161292b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612cfe57607f821691505b602082108103612d1157612d10612cb7565b5b50919050565b7f4761732069732067726561746572207468616e206c696d697400000000000000600082015250565b6000612d4d601983612836565b9150612d5882612d17565b602082019050919050565b60006020820190508181036000830152612d7c81612d40565b9050919050565b6000604082019050612d986000830185612a45565b612da56020830184612a45565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612de682612940565b9150612df183612940565b9250828201905080821115612e0957612e08612dac565b5b92915050565b7f5a65726f20616464726573730000000000000000000000000000000000000000600082015250565b6000612e45600c83612836565b9150612e5082612e0f565b602082019050919050565b60006020820190508181036000830152612e7481612e38565b9050919050565b6000604082019050612e906000830185612c0d565b612e9d60208301846129c2565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612f00602583612836565b9150612f0b82612ea4565b604082019050919050565b60006020820190508181036000830152612f2f81612ef3565b9050919050565b7f416d6f756e742063616e6e6f74206265206f7665722074686520746f74616c2060008201527f737570706c792e00000000000000000000000000000000000000000000000000602082015250565b6000612f92602783612836565b9150612f9d82612f36565b604082019050919050565b60006020820190508181036000830152612fc181612f85565b9050919050565b7f4d696e696d756d20603530306020746f6b656e2070657220737761702072657160008201527f7569726564000000000000000000000000000000000000000000000000000000602082015250565b6000613024602583612836565b915061302f82612fc8565b604082019050919050565b6000602082019050818103600083015261305381613017565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f2773746174757327000000000000000000000000000000000000000000000000602082015250565b60006130b6602883612836565b91506130c18261305a565b604082019050919050565b600060208201905081810360008301526130e5816130a9565b9050919050565b6000819050919050565b600061311161310c613107846130ec565b612b93565b612940565b9050919050565b613121816130f6565b82525050565b600060408201905061313c6000830185612c0d565b6131496020830184613118565b9392505050565b60006040820190506131656000830185612c0d565b6131726020830184612a45565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131d5602483612836565b91506131e082613179565b604082019050919050565b60006020820190508181036000830152613204816131c8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613267602283612836565b91506132728261320b565b604082019050919050565b600060208201905081810360008301526132968161325a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006132d3601d83612836565b91506132de8261329d565b602082019050919050565b60006020820190508181036000830152613302816132c6565b9050919050565b7f416d6f756e74206f766572206d6178207472616e73616374696f6e20616c6c6f60008201527f7765640000000000000000000000000000000000000000000000000000000000602082015250565b6000613365602383612836565b915061337082613309565b604082019050919050565b6000602082019050818103600083015261339481613358565b9050919050565b7f4d61782077616c6c657420726561636865640000000000000000000000000000600082015250565b60006133d1601283612836565b91506133dc8261339b565b602082019050919050565b60006020820190508181036000830152613400816133c4565b9050919050565b6000815190506134168161294a565b92915050565b600060208284031215613432576134316128dd565b5b600061344084828501613407565b91505092915050565b600081519050613458816129ec565b92915050565b600060208284031215613474576134736128dd565b5b600061348284828501613449565b91505092915050565b600061349682612940565b91506134a183612940565b92508282026134af81612940565b915082820484148315176134c6576134c5612dac565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061350782612940565b915061351283612940565b925082613522576135216134cd565b5b828204905092915050565b600061353882612940565b915061354383612940565b925082820390508181111561355b5761355a612dac565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506135ce81612914565b92915050565b6000602082840312156135ea576135e96128dd565b5b60006135f8848285016135bf565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61363681612902565b82525050565b6000613648838361362d565b60208301905092915050565b6000602082019050919050565b600061366c82613601565b613676818561360c565b93506136818361361d565b8060005b838110156136b2578151613699888261363c565b97506136a483613654565b925050600181019050613685565b5085935050505092915050565b600060a0820190506136d46000830188612a45565b6136e16020830187613118565b81810360408301526136f38186613661565b90506137026060830185612c0d565b61370f6080830184612a45565b9695505050505050565b600060808201905061372e6000830187613118565b81810360208301526137408186613661565b905061374f6040830185612c0d565b61375c6060830184612a45565b95945050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006137c1602583612836565b91506137cc82613765565b604082019050919050565b600060208201905081810360008301526137f0816137b4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613853602383612836565b915061385e826137f7565b604082019050919050565b6000602082019050818103600083015261388281613846565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006138e5602683612836565b91506138f082613889565b604082019050919050565b60006020820190508181036000830152613914816138d8565b905091905056fea2646970667358221220eec55d0bc3d27837aad4ccb0402d04050494616e03903f6b86487224ab7dc45864736f6c634300081300336080604052735ac04b69bde6f67c0bd5d6ba6fd5d816548b066a600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e10600a55670de0b6b3a7640000600b5534801561007757600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611739806100c76000396000f3fe6080604052600436106100f75760003560e01c8063997664d71161008a578063e2d2e21911610059578063e2d2e21914610337578063efca2eed14610362578063ffb2c4791461038d578063ffd49c84146103b6576100fe565b8063997664d714610267578063b6b55f2514610292578063ce7c2ac2146102bb578063d4fda1f2146102fa576100fe565b806337563293116100c657806337563293146101bd5780633a98ef39146101d45780634fab0ae8146101ff57806366817df51461022a576100fe565b806311ce023d1461010357806314b6ca961461012e57806328fd3198146101575780632d48e89614610194576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103e1565b6040516101259190611226565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906112d0565b6103f4565b005b34801561016357600080fd5b5061017e60048036038101906101799190611310565b6106db565b60405161018b9190611226565b60405180910390f35b3480156101a057600080fd5b506101bb60048036038101906101b6919061133d565b6107ed565b005b3480156101c957600080fd5b506101d26108ca565b005b3480156101e057600080fd5b506101e96108e4565b6040516101f69190611226565b60405180910390f35b34801561020b57600080fd5b506102146108ea565b6040516102219190611226565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611310565b6108f0565b60405161025e9190611226565b60405180910390f35b34801561027357600080fd5b5061027c610908565b6040516102899190611226565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b4919061137d565b61090e565b005b3480156102c757600080fd5b506102e260048036038101906102dd9190611310565b610a25565b6040516102f1939291906113aa565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c9190611310565b610a4f565b60405161032e9190611226565b60405180910390f35b34801561034357600080fd5b5061034c610a67565b6040516103599190611226565b60405180910390f35b34801561036e57600080fd5b50610377610a6d565b6040516103849190611226565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af919061137d565b610a73565b005b3480156103c257600080fd5b506103cb610c2e565b6040516103d89190611226565b60405180910390f35b6ec097ce7bc90715b34b9f100000000081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104799061143e565b60405180910390fd5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015411156104d7576104d682610c34565b5b60008111801561052957506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154145b1561053c5761053782610eb9565b61059e565b60008114801561058e57506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154115b1561059d5761059c82610f68565b5b5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546006546105ef919061148d565b6105f991906114c1565b60068190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550610691600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461116f565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540361072f57600090506107e8565b600061077c600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461116f565b90506000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490508082116107d7576000925050506107e8565b80826107e3919061148d565b925050505b919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461087b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108729061143e565b60405180910390fd5b81600a8190555080600b819055507f7d38de579bb682aa05ace7e32d15f88df69a3a53f6f89fcd0236f93fcc7e6362600a54600b546040516108be9291906114f5565b60405180910390a15050565b6108d3336111a0565b156108e2576108e133610c34565b5b565b60065481565b600b5481565b60046020528060005260406000206000915090505481565b60075481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461099c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109939061143e565b60405180910390fd5b806007546109aa91906114c1565b600781905550600654816ec097ce7bc90715b34b9f10000000006109ce919061151e565b6109d8919061158f565b6009546109e591906114c1565b6009819055507f6a464fbfd2428ef7edab93930e64042148498d37c64c5122c4ab37843d6a3d1181604051610a1a9190611226565b60405180910390a150565b60056020528060005260406000206000915090508060000154908060010154908060020154905083565b60036020528060005260406000206000915090505481565b60095481565b60085481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af89061143e565b60405180910390fd5b6000600280549050905060008103610b195750610c2b565b6000805a905060005b8483108015610b3057508381105b15610c265783600c5410610b47576000600c819055505b610b906002600c5481548110610b6057610b5f6115c0565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166111a0565b15610bdf57610bde6002600c5481548110610bae57610bad6115c0565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c34565b5b5a8284610bec91906114c1565b610bf6919061148d565b92505a9150600c6000815480929190610c0e906115ef565b91905055508080610c1e906115ef565b915050610b22565b505050505b50565b600a5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540315610eb6576000610c8a826106db565b90506000811115610eb457600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610cf2929190611646565b6020604051808303816000875af1158015610d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3591906116a7565b5080600854610d4491906114c1565b60088190555042600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154610ddc91906114c1565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550610e6d600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461116f565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b505b50565b600280549050600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506002819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026001600280549050610f7c919061148d565b81548110610f8d57610f8c6115c0565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548154811061100b5761100a6115c0565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460036000600260016002805490506110ab919061148d565b815481106110bc576110bb6115c0565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506002805480611137576111366116d4565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905550565b60006ec097ce7bc90715b34b9f10000000006009548361118f919061151e565b611199919061158f565b9050919050565b600042600a54600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111f091906114c1565b1080156112065750600b54611204836106db565b115b9050919050565b6000819050919050565b6112208161120d565b82525050565b600060208201905061123b6000830184611217565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061127182611246565b9050919050565b61128181611266565b811461128c57600080fd5b50565b60008135905061129e81611278565b92915050565b6112ad8161120d565b81146112b857600080fd5b50565b6000813590506112ca816112a4565b92915050565b600080604083850312156112e7576112e6611241565b5b60006112f58582860161128f565b9250506020611306858286016112bb565b9150509250929050565b60006020828403121561132657611325611241565b5b60006113348482850161128f565b91505092915050565b6000806040838503121561135457611353611241565b5b6000611362858286016112bb565b9250506020611373858286016112bb565b9150509250929050565b60006020828403121561139357611392611241565b5b60006113a1848285016112bb565b91505092915050565b60006060820190506113bf6000830186611217565b6113cc6020830185611217565b6113d96040830184611217565b949350505050565b600082825260208201905092915050565b7f21546f6b656e0000000000000000000000000000000000000000000000000000600082015250565b60006114286006836113e1565b9150611433826113f2565b602082019050919050565b600060208201905081810360008301526114578161141b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006114988261120d565b91506114a38361120d565b92508282039050818111156114bb576114ba61145e565b5b92915050565b60006114cc8261120d565b91506114d78361120d565b92508282019050808211156114ef576114ee61145e565b5b92915050565b600060408201905061150a6000830185611217565b6115176020830184611217565b9392505050565b60006115298261120d565b91506115348361120d565b92508282026115428161120d565b915082820484148315176115595761155861145e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061159a8261120d565b91506115a58361120d565b9250826115b5576115b4611560565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006115fa8261120d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361162c5761162b61145e565b5b600182019050919050565b61164081611266565b82525050565b600060408201905061165b6000830185611637565b6116686020830184611217565b9392505050565b60008115159050919050565b6116848161166f565b811461168f57600080fd5b50565b6000815190506116a18161167b565b92915050565b6000602082840312156116bd576116bc611241565b5b60006116cb84828501611692565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212208ae4e825a860cdea2cad30ddbb43d73589690d578219e67df4840b5bff4922b664736f6c63430008130033