0 txs
0 calls
constructor
constructor()
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
calculateFee
purefunction calculateFee(uint256 _amount, uint256 _feePercentage, uint256 _feeDecimals) pure returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
name
viewfunction name() view returns (string)
OWNER_ROLE
viewfunction OWNER_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
taxFee
viewfunction taxFee() view returns (uint256)
taxFeeDecimals
viewfunction taxFeeDecimals() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
waiveFees
viewfunction waiveFees() view returns (bool)
whitelist
viewfunction whitelist(address) view returns (bool)
whitelisted
viewfunction whitelisted(address wallet) view returns (bool)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
exemptFromFee
nonpayablefunction exemptFromFee(address wallet)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
includeInFee
nonpayablefunction includeInFee(address wallet)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAdmin
nonpayablefunction setAdmin(address admin)
setTaxFee
nonpayablefunction setTaxFee(uint256 fee, uint256 feeDecimals)
toggleTransactionFees
nonpayablefunction toggleTransactionFees()
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address owner)
updateB4REALTaxAddress
nonpayablefunction updateB4REALTaxAddress(address newAddress)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
ToggleWaiveFees
event ToggleWaiveFees(bool _status)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x608060405273e3f078f80a530ccd3bbf221612ddca3b0724579d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006657600080fd5b506040518060400160405280600681526020017f42345245414c00000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f42345245000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000eb92919062000677565b5080600490805190602001906200010492919062000677565b505050620001397fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e33620001e560201b60201c565b6200018b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217757fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e620001fb60201b60201c565b620001cb33620001a06200025f60201b60201c565b600a620001ae9190620008f9565b6302faf080620001bf919062000a36565b6200026860201b60201c565b620001df600a6000620003e160201b60201c565b62000c16565b620001f78282620004e860201b60201c565b5050565b60006200020e83620005da60201b60201c565b90508160056000858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002d290620007f1565b60405180910390fd5b620002ef60008383620005fa60201b60201c565b806002600082825462000303919062000841565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200035a919062000841565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003c1919062000813565b60405180910390a3620003dd60008383620005ff60201b60201c565b5050565b620004137fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775336200060460201b60201c565b806200044d57506200044c7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e336200060460201b60201c565b5b6200048f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200048690620007cf565b60405180910390fd5b6000821015620004d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004cd90620007ad565b60405180910390fd5b81600781905550806008819055505050565b620004fa82826200060460201b60201c565b620005d65760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200057b6200066f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600060056000838152602001908152602001600020600101549050919050565b505050565b505050565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b828054620006859062000aae565b90600052602060002090601f016020900481019282620006a95760008555620006f5565b82601f10620006c457805160ff1916838001178555620006f5565b82800160010185558215620006f5579182015b82811115620006f4578251825591602001919060010190620006d7565b5b50905062000704919062000708565b5090565b5b808211156200072357600081600090555060010162000709565b5090565b60006200073660298362000830565b9150620007438262000b4f565b604082019050919050565b60006200075d60268362000830565b91506200076a8262000b9e565b604082019050919050565b600062000784601f8362000830565b9150620007918262000bed565b602082019050919050565b620007a78162000a97565b82525050565b60006020820190508181036000830152620007c88162000727565b9050919050565b60006020820190508181036000830152620007ea816200074e565b9050919050565b600060208201905081810360008301526200080c8162000775565b9050919050565b60006020820190506200082a60008301846200079c565b92915050565b600082825260208201905092915050565b60006200084e8262000a97565b91506200085b8362000a97565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000893576200089262000ae4565b5b828201905092915050565b6000808291508390505b6001851115620008f057808604811115620008c857620008c762000ae4565b5b6001851615620008d85780820291505b8081029050620008e88562000b42565b9450620008a8565b94509492505050565b6000620009068262000a97565b9150620009138362000aa1565b9250620009427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200094a565b905092915050565b6000826200095c576001905062000a2f565b816200096c576000905062000a2f565b81600181146200098557600281146200099057620009c6565b600191505062000a2f565b60ff841115620009a557620009a462000ae4565b5b8360020a915084821115620009bf57620009be62000ae4565b5b5062000a2f565b5060208310610133831016604e8410600b841016171562000a005782820a905083811115620009fa57620009f962000ae4565b5b62000a2f565b62000a0f84848460016200089e565b9250905081840481111562000a295762000a2862000ae4565b5b81810290505b9392505050565b600062000a438262000a97565b915062000a508362000a97565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a8c5762000a8b62000ae4565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000ac757607f821691505b6020821081141562000ade5762000add62000b13565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f5468652042345245414c2054617820666565206d75737420626520677265617460008201527f6572207468616e20300000000000000000000000000000000000000000000000602082015250565b7f4164647265737320646f6573206e6f7420686176652061646d696e207065726d60008201527f697373696f6e0000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6137a98062000c266000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806391d148541161011a578063c5528490116100ad578063db82b4001161007c578063db82b40014610600578063dd62ed3e1461061c578063e58378bb1461064c578063ea2f0b371461066a578063f2fde38b14610686576101fb565b8063c55284901461058e578063d16609a8146105aa578063d547741f146105b4578063d936547e146105d0576101fb565b8063a071dcf4116100e9578063a071dcf4146104f2578063a217fddf14610510578063a457c2d71461052e578063a9059cbb1461055e576101fb565b806391d148541461045657806395d89b41146104865780639b19251a146104a45780639c9f37d6146104d4576101fb565b806336568abe11610192578063704b6c0211610161578063704b6c02146103ce57806370a08231146103ea57806372676fa41461041a57806375b238fc14610438576101fb565b806336568abe1461033657806339509351146103525780635357b9891461038257806358e4b731146103b2576101fb565b806323b872dd116101ce57806323b872dd1461029c578063248a9ca3146102cc5780632f2ff15d146102fc578063313ce56714610318576101fb565b806301ffc9a71461020057806306fdde0314610230578063095ea7b31461024e57806318160ddd1461027e575b600080fd5b61021a60048036038101906102159190612564565b6106a2565b60405161022791906129e3565b60405180910390f35b61023861071c565b6040516102459190612a19565b60405180910390f35b610268600480360381019061026391906124b7565b6107ae565b60405161027591906129e3565b60405180910390f35b6102866107cc565b6040516102939190612c9b565b60405180910390f35b6102b660048036038101906102b19190612464565b6107d6565b6040516102c391906129e3565b60405180910390f35b6102e660048036038101906102e191906124f7565b6108ce565b6040516102f391906129fe565b60405180910390f35b61031660048036038101906103119190612524565b6108ee565b005b610320610917565b60405161032d9190612cb6565b60405180910390f35b610350600480360381019061034b9190612524565b610920565b005b61036c600480360381019061036791906124b7565b6109a3565b60405161037991906129e3565b60405180910390f35b61039c600480360381019061039791906125d1565b610a4f565b6040516103a99190612c9b565b60405180910390f35b6103cc60048036038101906103c791906123f7565b610ad7565b005b6103e860048036038101906103e391906123f7565b610dad565b005b61040460048036038101906103ff91906123f7565b610e43565b6040516104119190612c9b565b60405180910390f35b610422610e8b565b60405161042f91906129e3565b60405180910390f35b610440610e9e565b60405161044d91906129fe565b60405180910390f35b610470600480360381019061046b9190612524565b610ec2565b60405161047d91906129e3565b60405180910390f35b61048e610f2d565b60405161049b9190612a19565b60405180910390f35b6104be60048036038101906104b991906123f7565b610fbf565b6040516104cb91906129e3565b60405180910390f35b6104dc610fdf565b6040516104e99190612c9b565b60405180910390f35b6104fa610fe5565b6040516105079190612c9b565b60405180910390f35b610518610feb565b60405161052591906129fe565b60405180910390f35b610548600480360381019061054391906124b7565b610ff2565b60405161055591906129e3565b60405180910390f35b610578600480360381019061057391906124b7565b6110dd565b60405161058591906129e3565b60405180910390f35b6105a860048036038101906105a39190612591565b6111f6565b005b6105b26112e6565b005b6105ce60048036038101906105c99190612524565b6113f2565b005b6105ea60048036038101906105e591906123f7565b61141b565b6040516105f791906129e3565b60405180910390f35b61061a600480360381019061061591906123f7565b611471565b005b61063660048036038101906106319190612424565b6115e0565b6040516106439190612c9b565b60405180910390f35b610654611667565b60405161066191906129fe565b60405180910390f35b610684600480360381019061067f91906123f7565b61168b565b005b6106a0600480360381019061069b91906123f7565b611961565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610715575061071482611a21565b5b9050919050565b60606003805461072b90613066565b80601f016020809104026020016040519081016040528092919081815260200182805461075790613066565b80156107a45780601f10610779576101008083540402835291602001916107a4565b820191906000526020600020905b81548152906001019060200180831161078757829003601f168201915b5050505050905090565b60006107c26107bb611a8b565b8484611a93565b6001905092915050565b6000600254905090565b60006107e3848484611c5e565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061082e611a8b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a590612b5b565b60405180910390fd5b6108c2856108ba611a8b565b858403611a93565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b6108f7826108ce565b61090881610903611a8b565b611edf565b6109128383611f7c565b505050565b60006012905090565b610928611a8b565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610995576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098c90612c7b565b60405180910390fd5b61099f828261205d565b5050565b6000610a456109b0611a8b565b8484600160006109be611a8b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a409190612cf8565b611a93565b6001905092915050565b6000808385610a5e9190612ef0565b90506000600284610a6f9190612cf8565b600a610a7b9190612dd2565b905060008111610ac0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab790612adb565b60405180910390fd5b8082610acc9190612d4e565b925050509392505050565b610b017fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610ec2565b80610b325750610b317fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e33610ec2565b5b610b71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6890612b9b565b60405180910390fd5b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd990612a7b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4890612abb565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd990612bfb565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4890612b7b565b60405180910390fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610dd77fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e33610ec2565b610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90612c3b565b60405180910390fd5b610e407fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775826108ee565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900460ff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610f3c90613066565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6890613066565b8015610fb55780601f10610f8a57610100808354040283529160200191610fb5565b820191906000526020600020905b815481529060010190602001808311610f9857829003601f168201915b5050505050905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b60085481565b60075481565b6000801b81565b60008060016000611001611a8b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156110be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b590612c5b565b60405180910390fd5b6110d26110c9611a8b565b85858403611a93565b600191505092915050565b6000808211611121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111890612b1b565b60405180910390fd5b600080839050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561118d5750600960009054906101000a900460ff16155b156111b2576111a184600754600854610a4f565b915081816111af9190612f4a565b90505b6111de600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361213f565b506111e9858261213f565b5060019250505092915050565b6112207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610ec2565b8061125157506112507fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e33610ec2565b5b611290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128790612b9b565b60405180910390fd5b60008210156112d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cb90612b3b565b60405180910390fd5b81600781905550806008819055505050565b6113107fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610ec2565b8061134157506113407fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e33610ec2565b5b611380576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137790612b9b565b60405180910390fd5b600960009054906101000a900460ff1615600960006101000a81548160ff0219169083151502179055507ff6f01e2cfe36429b79cec3f65cbf26a908b4346a8b7b3363a4abbf5562bc04f9600960009054906101000a900460ff166040516113e891906129e3565b60405180910390a1565b6113fb826108ce565b61140c81611407611a8b565b611edf565b611416838361205d565b505050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61149b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610ec2565b806114cc57506114cb7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e33610ec2565b5b61150b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150290612b9b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390612bdb565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e81565b6116b57fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610ec2565b806116e657506116e57fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e33610ec2565b5b611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171c90612b9b565b60405180910390fd5b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178d90612a7b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611805576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fc90612abb565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188d90612bfb565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fc90612b7b565b60405180910390fd5b6001600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61198b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e33610ec2565b6119ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c190612c3b565b60405180910390fd5b6119f47fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e826108ee565b611a1e7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e336113f2565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afa90612c1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6a90612a9b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c519190612c9b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc590612bbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3590612a5b565b60405180910390fd5b611d4983838361215d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc690612afb565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e629190612cf8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ec69190612c9b565b60405180910390a3611ed9848484612162565b50505050565b611ee98282610ec2565b611f7857611f0e8173ffffffffffffffffffffffffffffffffffffffff166014612167565b611f1c8360001c6020612167565b604051602001611f2d9291906129a9565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6f9190612a19565b60405180910390fd5b5050565b611f868282610ec2565b6120595760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611ffe611a8b565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6120678282610ec2565b1561213b5760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506120e0611a8b565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600061215361214c611a8b565b8484611c5e565b6001905092915050565b505050565b505050565b60606000600283600261217a9190612ef0565b6121849190612cf8565b67ffffffffffffffff81111561219d5761219c613154565b5b6040519080825280601f01601f1916602001820160405280156121cf5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061220757612206613125565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061226b5761226a613125565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026122ab9190612ef0565b6122b59190612cf8565b90505b6001811115612355577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106122f7576122f6613125565b5b1a60f81b82828151811061230e5761230d613125565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061234e9061303c565b90506122b8565b5060008414612399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239090612a3b565b60405180910390fd5b8091505092915050565b6000813590506123b281613717565b92915050565b6000813590506123c78161372e565b92915050565b6000813590506123dc81613745565b92915050565b6000813590506123f18161375c565b92915050565b60006020828403121561240d5761240c613183565b5b600061241b848285016123a3565b91505092915050565b6000806040838503121561243b5761243a613183565b5b6000612449858286016123a3565b925050602061245a858286016123a3565b9150509250929050565b60008060006060848603121561247d5761247c613183565b5b600061248b868287016123a3565b935050602061249c868287016123a3565b92505060406124ad868287016123e2565b9150509250925092565b600080604083850312156124ce576124cd613183565b5b60006124dc858286016123a3565b92505060206124ed858286016123e2565b9150509250929050565b60006020828403121561250d5761250c613183565b5b600061251b848285016123b8565b91505092915050565b6000806040838503121561253b5761253a613183565b5b6000612549858286016123b8565b925050602061255a858286016123a3565b9150509250929050565b60006020828403121561257a57612579613183565b5b6000612588848285016123cd565b91505092915050565b600080604083850312156125a8576125a7613183565b5b60006125b6858286016123e2565b92505060206125c7858286016123e2565b9150509250929050565b6000806000606084860312156125ea576125e9613183565b5b60006125f8868287016123e2565b9350506020612609868287016123e2565b925050604061261a868287016123e2565b9150509250925092565b61262d81612f90565b82525050565b61263c81612f9c565b82525050565b600061264d82612cd1565b6126578185612cdc565b9350612667818560208601613009565b61267081613188565b840191505092915050565b600061268682612cd1565b6126908185612ced565b93506126a0818560208601613009565b80840191505092915050565b60006126b9602083612cdc565b91506126c4826131a6565b602082019050919050565b60006126dc602383612cdc565b91506126e7826131cf565b604082019050919050565b60006126ff602683612cdc565b915061270a8261321e565b604082019050919050565b6000612722602283612cdc565b915061272d8261326d565b604082019050919050565b6000612745602083612cdc565b9150612750826132bc565b602082019050919050565b6000612768601a83612cdc565b9150612773826132e5565b602082019050919050565b600061278b602683612cdc565b91506127968261330e565b604082019050919050565b60006127ae602183612cdc565b91506127b98261335d565b604082019050919050565b60006127d1602983612cdc565b91506127dc826133ac565b604082019050919050565b60006127f4602883612cdc565b91506127ff826133fb565b604082019050919050565b6000612817602283612cdc565b91506128228261344a565b604082019050919050565b600061283a602683612cdc565b915061284582613499565b604082019050919050565b600061285d602583612cdc565b9150612868826134e8565b604082019050919050565b6000612880601e83612cdc565b915061288b82613537565b602082019050919050565b60006128a3601d83612cdc565b91506128ae82613560565b602082019050919050565b60006128c6602483612cdc565b91506128d182613589565b604082019050919050565b60006128e9601783612ced565b91506128f4826135d8565b601782019050919050565b600061290c602683612cdc565b915061291782613601565b604082019050919050565b600061292f602583612cdc565b915061293a82613650565b604082019050919050565b6000612952601183612ced565b915061295d8261369f565b601182019050919050565b6000612975602f83612cdc565b9150612980826136c8565b604082019050919050565b61299481612ff2565b82525050565b6129a381612ffc565b82525050565b60006129b4826128dc565b91506129c0828561267b565b91506129cb82612945565b91506129d7828461267b565b91508190509392505050565b60006020820190506129f86000830184612624565b92915050565b6000602082019050612a136000830184612633565b92915050565b60006020820190508181036000830152612a338184612642565b905092915050565b60006020820190508181036000830152612a54816126ac565b9050919050565b60006020820190508181036000830152612a74816126cf565b9050919050565b60006020820190508181036000830152612a94816126f2565b9050919050565b60006020820190508181036000830152612ab481612715565b9050919050565b60006020820190508181036000830152612ad481612738565b9050919050565b60006020820190508181036000830152612af48161275b565b9050919050565b60006020820190508181036000830152612b148161277e565b9050919050565b60006020820190508181036000830152612b34816127a1565b9050919050565b60006020820190508181036000830152612b54816127c4565b9050919050565b60006020820190508181036000830152612b74816127e7565b9050919050565b60006020820190508181036000830152612b948161280a565b9050919050565b60006020820190508181036000830152612bb48161282d565b9050919050565b60006020820190508181036000830152612bd481612850565b9050919050565b60006020820190508181036000830152612bf481612873565b9050919050565b60006020820190508181036000830152612c1481612896565b9050919050565b60006020820190508181036000830152612c34816128b9565b9050919050565b60006020820190508181036000830152612c54816128ff565b9050919050565b60006020820190508181036000830152612c7481612922565b9050919050565b60006020820190508181036000830152612c9481612968565b9050919050565b6000602082019050612cb0600083018461298b565b92915050565b6000602082019050612ccb600083018461299a565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000612d0382612ff2565b9150612d0e83612ff2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d4357612d42613098565b5b828201905092915050565b6000612d5982612ff2565b9150612d6483612ff2565b925082612d7457612d736130c7565b5b828204905092915050565b6000808291508390505b6001851115612dc957808604811115612da557612da4613098565b5b6001851615612db45780820291505b8081029050612dc285613199565b9450612d89565b94509492505050565b6000612ddd82612ff2565b9150612de883612ff2565b9250612e157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e1d565b905092915050565b600082612e2d5760019050612ee9565b81612e3b5760009050612ee9565b8160018114612e515760028114612e5b57612e8a565b6001915050612ee9565b60ff841115612e6d57612e6c613098565b5b8360020a915084821115612e8457612e83613098565b5b50612ee9565b5060208310610133831016604e8410600b8410161715612ebf5782820a905083811115612eba57612eb9613098565b5b612ee9565b612ecc8484846001612d7f565b92509050818404811115612ee357612ee2613098565b5b81810290505b9392505050565b6000612efb82612ff2565b9150612f0683612ff2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f3f57612f3e613098565b5b828202905092915050565b6000612f5582612ff2565b9150612f6083612ff2565b925082821015612f7357612f72613098565b5b828203905092915050565b6000612f8982612fd2565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561302757808201518184015260208101905061300c565b83811115613036576000848401525b50505050565b600061304782612ff2565b9150600082141561305b5761305a613098565b5b600182039050919050565b6000600282049050600182168061307e57607f821691505b60208210811415613092576130916130f6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54686520616464726573732063616e6e6f7420626520746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54686520616464726573732063616e6e6f74206265207468652073656e646572600082015250565b7f44656e6f6d696e61746f722063616e6e6f74206265207a65726f000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f54686520616d6f756e74206d7573742062652067726561746572207468616e2060008201527f3000000000000000000000000000000000000000000000000000000000000000602082015250565b7f5468652042345245414c2054617820666565206d75737420626520677265617460008201527f6572207468616e20300000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f54686520616464726573732063616e6e6f742062652074686520636f6e74726160008201527f6374000000000000000000000000000000000000000000000000000000000000602082015250565b7f4164647265737320646f6573206e6f7420686176652061646d696e207065726d60008201527f697373696f6e0000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4e657720616464726573732063616e6e6f74206265207468652073616d650000600082015250565b7f54686520616464726573732063616e6e6f742062652074686520746178000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f4164647265737320646f6573206e6f742068617665206f776e6572207065726d60008201527f697373696f6e0000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b61372081612f7e565b811461372b57600080fd5b50565b61373781612f9c565b811461374257600080fd5b50565b61374e81612fa6565b811461375957600080fd5b50565b61376581612ff2565b811461377057600080fd5b5056fea2646970667358221220ffa32e86f8c0a85fd6cdf0d08ad3e8c85afc96572f15786f65dcd5bfa3bce62064736f6c63430008050033