[ { "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": 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": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isBlacklisted", "type": "bool" } ], "name": "BlacklistUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "excludedSupply", "type": "uint256" } ], "name": "ExcludedUpdated", "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": [ { "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "blacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "totalReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "unBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801561000f575f80fd5b5061001e61024f60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361008e575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610085919061053c565b60405180910390fd5b61009d8161025660201b60201c565b506c086a1dbde025b824cf1068000060015f6100bd61024f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061010861024f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6c086a1dbde025b824cf10680000604051610171919061056d565b60405180910390a361019e61018a61024f60201b60201c565b600454600761031760201b9092919060201c565b600160055f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610586565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b826003015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156103b15780836001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506104f8565b6001836003015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080836001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550825f0180549050836002015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550825f0182908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610526826104fd565b9050919050565b6105368161051c565b82525050565b5f60208201905061054f5f83018461052d565b92915050565b5f819050919050565b61056781610555565b82525050565b5f6020820190506105805f83018461055e565b92915050565b612c1b806105935f395ff3fe608060405234801561000f575f80fd5b50600436106100fe575f3560e01c8063715018a611610095578063dd62ed3e11610064578063dd62ed3e1461029c578063f2fde38b146102cc578063f9f92be4146102e8578063fe575a8714610304576100fe565b8063715018a6146102265780638da5cb5b1461023057806395d89b411461024e578063a9059cbb1461026c576100fe565b806322849720116100d1578063228497201461018a57806323b872dd146101a8578063313ce567146101d857806370a08231146101f6576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd146101505780631a8952661461016e575b5f80fd5b61010a610334565b6040516101179190612086565b60405180910390f35b61013a60048036038101906101359190612137565b610371565b604051610147919061218f565b60405180910390f35b61015861038e565b60405161016591906121b7565b60405180910390f35b610188600480360381019061018391906121d0565b6103a2565b005b6101926104d0565b60405161019f91906121b7565b60405180910390f35b6101c260048036038101906101bd91906121fb565b6104d9565b6040516101cf919061218f565b60405180910390f35b6101e061058c565b6040516101ed9190612266565b60405180910390f35b610210600480360381019061020b91906121d0565b610594565b60405161021d91906121b7565b60405180910390f35b61022e6105df565b005b6102386105f2565b604051610245919061228e565b60405180910390f35b610256610619565b6040516102639190612086565b60405180910390f35b61028660048036038101906102819190612137565b610656565b604051610293919061218f565b60405180910390f35b6102b660048036038101906102b191906122a7565b610673565b6040516102c391906121b7565b60405180910390f35b6102e660048036038101906102e191906121d0565b6106f5565b005b61030260048036038101906102fd91906121d0565b610779565b005b61031e600480360381019061031991906121d0565b6108b2565b60405161032b919061218f565b60405180910390f35b60606040518060400160405280600a81526020017f4672656e6c616e64696100000000000000000000000000000000000000000000815250905090565b5f61038461037d610904565b848461090b565b6001905092915050565b5f6c086a1dbde025b824cf10680000905090565b6103aa610beb565b60035f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042a9061232f565b60405180910390fd5b60035f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81549060ff02191690558073ffffffffffffffffffffffffffffffffffffffff167f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac5f6040516104c5919061218f565b60405180910390a250565b5f600454905090565b5f6104e5848484610c72565b610581846104f1610904565b8460025f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610538610904565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461057c919061237a565b61090b565b600190509392505050565b5f6012905090565b5f8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905080915050919050565b6105e7610beb565b6105f05f6113cf565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4672656e00000000000000000000000000000000000000000000000000000000815250905090565b5f610669610662610904565b8484610c72565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6106fd610beb565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361076d575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610764919061228e565b60405180910390fd5b610776816113cf565b50565b610781610beb565b60035f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561080b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610802906123f7565b60405180910390fd5b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac60016040516108a7919061218f565b60405180910390a250565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097090612485565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de90612513565b60405180910390fd5b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a689061257b565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af2906125e3565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610bd591906121b7565b60405180910390a3610be682611490565b505050565b610bf3610904565b73ffffffffffffffffffffffffffffffffffffffff16610c116105f2565b73ffffffffffffffffffffffffffffffffffffffff1614610c7057610c34610904565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610c67919061228e565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd790612671565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126ff565b60405180910390fd5b5f8111610d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d879061278d565b60405180910390fd5b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e11906127f5565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b9061285d565b60405180910390fd5b5f6064600183610eb4919061287b565b610ebe91906128e9565b90505f8183610ecd919061237a565b90505f610ed86105f2565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614610f1757610f168661161d565b5b8073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610f5457610f538561161d565b5b8073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480610fb957508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8061105c575060055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561105b575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b5b15611068575f92508391505b5f831115611174578260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110b99190612919565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161115791906121b7565b60405180910390a38260045461116d9190612919565b6004819055505b61117e8686611687565b8360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111c7919061237a565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611270578360065f828254611268919061237a565b925050819055505b8160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546112b99190612919565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611362578160065f82825461135a9190612919565b925050819055505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113bf91906121b7565b60405180910390a3505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60055f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661161a57600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060015f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460065f8282546115819190612919565b925050819055508073ffffffffffffffffffffffffffffffffffffffff167f37c047793ae82a9fd59504a5e5b06ac3fd4c3d4f088ec01230bb586e362081906001805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546006546040516116119392919061294c565b60405180910390a25b50565b60055f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611684576116748161182d565b156116835761168281611490565b5b5b50565b61169082611a70565b5061169a81611a70565b505f6116a66007611d3d565b90505f81436116b3610904565b6004546040516020016116c8939291906129e6565b604051602081830303815290604052805190602001205f1c6116ea9190612a22565b90505f829050611704856007611d4c90919063ffffffff16565b1561171857808061171490612a52565b9150505b61172c846007611d4c90919063ffffffff16565b1561174057808061173c90612a52565b9150505b5f6005821161174f5781611752565b60055b90505f5b81811015611824575f611773856007611da190919063ffffffff16565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156117dd57508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15611804576117eb81611a70565b6117f55750611824565b818061180090612a79565b9250505b856001866118129190612919565b61181c9190612a22565b945050611756565b50505050505050565b5f8060608373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516118a19190612b04565b5f60405180830381855afa9150503d805f81146118d9576040519150601f19603f3d011682016040523d82523d5f602084013e6118de565b606091505b5080925081935050508180156118f5575060208151145b15611948573073ffffffffffffffffffffffffffffffffffffffff168161191b90612b52565b5f1c73ffffffffffffffffffffffffffffffffffffffff160361194357600192505050611a6b565b611952565b5f92505050611a6b565b8373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516119c29190612b04565b5f60405180830381855afa9150503d805f81146119fa576040519150601f19603f3d011682016040523d82523d5f602084013e6119ff565b606091505b508092508193505050818015611a16575060208151145b15611a65573073ffffffffffffffffffffffffffffffffffffffff1681611a3c90612b52565b5f1c73ffffffffffffffffffffffffffffffffffffffff1603611a6457600192505050611a6b565b5b5f925050505b919050565b5f611a85826007611d4c90919063ffffffff16565b15611d1b575f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f611ae0846007611de790919063ffffffff16565b90505f6006546c086a1dbde025b824cf10680000611afe919061237a565b82600454611b0c919061237a565b84611b17919061287b565b611b2191906128e9565b90505f811115611d17578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611d0c578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bb8919061237a565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c429190612919565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c9b856004546007611e309092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cf891906121b7565b60405180910390a360019350505050611d38565b5f9350505050611d38565b5050505b611d33826004546007611e309092919063ffffffff16565b600190505b919050565b5f815f01805490509050919050565b5f826003015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f825f018281548110611db757611db6612bb8565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b5f826001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b826003015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611eca5780836001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612011565b6001836003015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080836001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550825f0180549050836002015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550825f0182908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61205882612016565b6120628185612020565b9350612072818560208601612030565b61207b8161203e565b840191505092915050565b5f6020820190508181035f83015261209e818461204e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120d3826120aa565b9050919050565b6120e3816120c9565b81146120ed575f80fd5b50565b5f813590506120fe816120da565b92915050565b5f819050919050565b61211681612104565b8114612120575f80fd5b50565b5f813590506121318161210d565b92915050565b5f806040838503121561214d5761214c6120a6565b5b5f61215a858286016120f0565b925050602061216b85828601612123565b9150509250929050565b5f8115159050919050565b61218981612175565b82525050565b5f6020820190506121a25f830184612180565b92915050565b6121b181612104565b82525050565b5f6020820190506121ca5f8301846121a8565b92915050565b5f602082840312156121e5576121e46120a6565b5b5f6121f2848285016120f0565b91505092915050565b5f805f60608486031215612212576122116120a6565b5b5f61221f868287016120f0565b9350506020612230868287016120f0565b925050604061224186828701612123565b9150509250925092565b5f60ff82169050919050565b6122608161224b565b82525050565b5f6020820190506122795f830184612257565b92915050565b612288816120c9565b82525050565b5f6020820190506122a15f83018461227f565b92915050565b5f80604083850312156122bd576122bc6120a6565b5b5f6122ca858286016120f0565b92505060206122db858286016120f0565b9150509250929050565b7f4163636f756e74206973206e6f7420626c61636b6c69737465640000000000005f82015250565b5f612319601a83612020565b9150612324826122e5565b602082019050919050565b5f6020820190508181035f8301526123468161230d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61238482612104565b915061238f83612104565b92508282039050818111156123a7576123a661234d565b5b92915050565b7f4163636f756e7420697320616c726561647920626c61636b6c697374656400005f82015250565b5f6123e1601e83612020565b91506123ec826123ad565b602082019050919050565b5f6020820190508181035f83015261240e816123d5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61246f602483612020565b915061247a82612415565b604082019050919050565b5f6020820190508181035f83015261249c81612463565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6124fd602283612020565b9150612508826124a3565b604082019050919050565b5f6020820190508181035f83015261252a816124f1565b9050919050565b7f4f776e657220697320626c61636b6c69737465640000000000000000000000005f82015250565b5f612565601483612020565b915061257082612531565b602082019050919050565b5f6020820190508181035f83015261259281612559565b9050919050565b7f5370656e64657220697320626c61636b6c6973746564000000000000000000005f82015250565b5f6125cd601683612020565b91506125d882612599565b602082019050919050565b5f6020820190508181035f8301526125fa816125c1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61265b602583612020565b915061266682612601565b604082019050919050565b5f6020820190508181035f8301526126888161264f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6126e9602383612020565b91506126f48261268f565b604082019050919050565b5f6020820190508181035f830152612716816126dd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206d75737420626520675f8201527f726561746572207468616e207a65726f00000000000000000000000000000000602082015250565b5f612777603083612020565b91506127828261271d565b604082019050919050565b5f6020820190508181035f8301526127a48161276b565b9050919050565b7f53656e64657220697320626c61636b6c697374656400000000000000000000005f82015250565b5f6127df601583612020565b91506127ea826127ab565b602082019050919050565b5f6020820190508181035f83015261280c816127d3565b9050919050565b7f526563697069656e7420697320626c61636b6c697374656400000000000000005f82015250565b5f612847601883612020565b915061285282612813565b602082019050919050565b5f6020820190508181035f8301526128748161283b565b9050919050565b5f61288582612104565b915061289083612104565b925082820261289e81612104565b915082820484148315176128b5576128b461234d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6128f382612104565b91506128fe83612104565b92508261290e5761290d6128bc565b5b828204905092915050565b5f61292382612104565b915061292e83612104565b92508282019050808211156129465761294561234d565b5b92915050565b5f60608201905061295f5f830186612180565b61296c60208301856121a8565b61297960408301846121a8565b949350505050565b5f819050919050565b61299b61299682612104565b612981565b82525050565b5f8160601b9050919050565b5f6129b7826129a1565b9050919050565b5f6129c8826129ad565b9050919050565b6129e06129db826120c9565b6129be565b82525050565b5f6129f1828661298a565b602082019150612a0182856129cf565b601482019150612a11828461298a565b602082019150819050949350505050565b5f612a2c82612104565b9150612a3783612104565b925082612a4757612a466128bc565b5b828206905092915050565b5f612a5c82612104565b91505f8203612a6e57612a6d61234d565b5b600182039050919050565b5f612a8382612104565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ab557612ab461234d565b5b600182019050919050565b5f81519050919050565b5f81905092915050565b5f612ade82612ac0565b612ae88185612aca565b9350612af8818560208601612030565b80840191505092915050565b5f612b0f8284612ad4565b915081905092915050565b5f819050602082019050919050565b5f819050919050565b5f612b3d8251612b29565b80915050919050565b5f82821b905092915050565b5f612b5c82612ac0565b82612b6684612b1a565b9050612b7181612b32565b92506020821015612bb157612bac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802612b46565b831692505b5050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea264697066735822122040830be31ffbb6ab36e2985f5cd53069494ea4e3bb8940c0c3fcc91c715740eb64736f6c634300081a0033