364k txs
1.71m calls
constructor
constructor(address _buyTaxReceiver, address _sellTaxReceiver)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
buyTaxReceiver
viewfunction buyTaxReceiver() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
INTERN_SYSTEM
viewfunction INTERN_SYSTEM() view returns (bytes32)
mainPair
viewfunction mainPair() view returns (address)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
MINT
viewfunction MINT() view returns (bytes32)
name
viewfunction name() view returns (string)
nonces
viewfunction nonces(address owner) view returns (uint256)
PRECISION
viewfunction PRECISION() view returns (uint256)
sellTaxReceiver
viewfunction sellTaxReceiver() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
swapBuyTaxRatio
viewfunction swapBuyTaxRatio() view returns (uint256)
swapSellTaxRatio
viewfunction swapSellTaxRatio() view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
burn
nonpayablefunction burn(uint256 amount)
burnFrom
nonpayablefunction burnFrom(address account_, uint256 amount_)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
mint
nonpayablefunction mint(address account_, uint256 amount_)
permit
nonpayablefunction permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setMainPair
nonpayablefunction setMainPair(address _pair)
setSwapTaxRatio
nonpayablefunction setSwapTaxRatio(uint256 _swapBuyTaxRatio, uint256 _swapSellTaxRatio)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
FeeRatioChanged
event FeeRatioChanged(uint256 _swapBuyTaxRatio, uint256 _swapSellTaxRatio)
FeeTaken
event FeeTaken(address indexed sender, address indexed receiver, uint256 amount, uint256 fee)
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)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
creation bytecode
0x6101606040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610140908152505f600a556101f4600b5534801562000043575f80fd5b506040516200446438038062004464833981810160405281019062000069919062000664565b6040518060400160405280600281526020017f4150000000000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f41504400000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4150440000000000000000000000000000000000000000000000000000000000815250600982600390816200015591906200090d565b5081600490816200016791906200090d565b508060ff1660808160ff16815250505050505f4690505f838051906020012090505f838051906020012090505f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250508360c08181525050620001e3818484620003da60201b60201c565b60a08181525050806101208181525050505050505050506200022e7ffdf81848136595c31bb5f76217767372bc4bf906663038eb38381131ea27ecba5f801b6200041a60201b60201c565b620002425f801b336200047b60201b60201c565b508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002f77f849ce89bfb011047badb624cc7bca584328cbe2b50dc206a08607a3818d8f2725f801b6200041a60201b60201c565b620003297f849ce89bfb011047badb624cc7bca584328cbe2b50dc206a08607a3818d8f272336200047b60201b60201c565b506200037d7f849ce89bfb011047badb624cc7bca584328cbe2b50dc206a08607a3818d8f27260085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200047b60201b60201c565b50620003d17f849ce89bfb011047badb624cc7bca584328cbe2b50dc206a08607a3818d8f27260095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200047b60201b60201c565b50505062000a88565b5f804690508484848330604051602001620003fa95949392919062000a2d565b604051602081830303815290604052805190602001209150509392505050565b5f6200042c836200057760201b60201c565b90508160065f8581526020019081526020015f20600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b5f6200048e83836200059460201b60201c565b6200056d57600160065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000509620005f860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905062000571565b5f90505b92915050565b5f60065f8381526020019081526020015f20600101549050919050565b5f60065f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200062e8262000603565b9050919050565b620006408162000622565b81146200064b575f80fd5b50565b5f815190506200065e8162000635565b92915050565b5f80604083850312156200067d576200067c620005ff565b5b5f6200068c858286016200064e565b92505060206200069f858286016200064e565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200072557607f821691505b6020821081036200073b576200073a620006e0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200079f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000762565b620007ab868362000762565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620007f5620007ef620007e984620007c3565b620007cc565b620007c3565b9050919050565b5f819050919050565b6200081083620007d5565b620008286200081f82620007fc565b8484546200076e565b825550505050565b5f90565b6200083e62000830565b6200084b81848462000805565b505050565b5b818110156200087257620008665f8262000834565b60018101905062000851565b5050565b601f821115620008c1576200088b8162000741565b620008968462000753565b81016020851015620008a6578190505b620008be620008b58562000753565b83018262000850565b50505b505050565b5f82821c905092915050565b5f620008e35f1984600802620008c6565b1980831691505092915050565b5f620008fd8383620008d2565b9150826002028217905092915050565b6200091882620006a9565b67ffffffffffffffff811115620009345762000933620006b3565b5b6200094082546200070d565b6200094d82828562000876565b5f60209050601f83116001811462000983575f84156200096e578287015190505b6200097a8582620008f0565b865550620009e9565b601f198416620009938662000741565b5f5b82811015620009bc5784890151825560018201915060208501945060208101905062000995565b86831015620009dc5784890151620009d8601f891682620008d2565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b62000a0581620009f1565b82525050565b62000a1681620007c3565b82525050565b62000a278162000622565b82525050565b5f60a08201905062000a425f830188620009fa565b62000a516020830187620009fa565b62000a606040830186620009fa565b62000a6f606083018562000a0b565b62000a7e608083018462000a1c565b9695505050505050565b60805160a05160c05160e05161010051610120516101405161398a62000ada5f395f610f6501525f61194501525f61198701525f61196601525f6118f201525f61191901525f610935015261398a5ff3fe608060405234801561000f575f80fd5b506004361061020f575f3560e01c806370a0823111610123578063aaf5eb68116100ab578063dd62ed3e1161007a578063dd62ed3e1461063b578063de1be77a1461066b578063f30e85bc14610689578063f6a904db146106a5578063fe4de3ae146106c35761020f565b8063aaf5eb68146105c7578063b24e145c146105e5578063d505accf14610603578063d547741f1461061f5761020f565b806391d14854116100f257806391d14854146104fb57806395d89b411461052b578063a217fddf14610549578063a457c2d714610567578063a9059cbb146105975761020f565b806370a082311461046157806379cc6790146104915780637ecebe00146104ad57806385af30c5146104dd5761020f565b8063313ce567116101a6578063395093511161017557806339509351146103bf5780633e36f4c7146103ef57806340c10f191461040d57806342966c681461042957806356a2187c146104455761020f565b8063313ce5671461034957806332cb6b0c146103675780633644e5151461038557806336568abe146103a35761020f565b80631f9bbe20116101e25780631f9bbe20146102af57806323b872dd146102cd578063248a9ca3146102fd5780632f2ff15d1461032d5761020f565b806301ffc9a71461021357806306fdde0314610243578063095ea7b31461026157806318160ddd14610291575b5f80fd5b61022d60048036038101906102289190612749565b6106e1565b60405161023a919061278e565b60405180910390f35b61024b61075a565b6040516102589190612831565b60405180910390f35b61027b600480360381019061027691906128de565b6107ea565b604051610288919061278e565b60405180910390f35b610299610800565b6040516102a6919061292b565b60405180910390f35b6102b7610809565b6040516102c4919061295c565b60405180910390f35b6102e760048036038101906102e29190612975565b61082d565b6040516102f4919061278e565b60405180910390f35b610317600480360381019061031291906129ef565b6108f3565b604051610324919061295c565b60405180910390f35b61034760048036038101906103429190612a1a565b610910565b005b610351610932565b60405161035e9190612a73565b60405180910390f35b61036f610959565b60405161037c919061292b565b60405180910390f35b61038d610966565b60405161039a919061295c565b60405180910390f35b6103bd60048036038101906103b89190612a1a565b610974565b005b6103d960048036038101906103d491906128de565b6109ef565b6040516103e6919061278e565b60405180910390f35b6103f7610a8f565b604051610404919061295c565b60405180910390f35b610427600480360381019061042291906128de565b610ab3565b005b610443600480360381019061043e9190612a8c565b610b8f565b005b61045f600480360381019061045a9190612ab7565b610b9c565b005b61047b60048036038101906104769190612af5565b610c84565b604051610488919061292b565b60405180910390f35b6104ab60048036038101906104a691906128de565b610cc9565b005b6104c760048036038101906104c29190612af5565b610cd7565b6040516104d4919061292b565b60405180910390f35b6104e5610d24565b6040516104f29190612b2f565b60405180910390f35b61051560048036038101906105109190612a1a565b610d49565b604051610522919061278e565b60405180910390f35b610533610dad565b6040516105409190612831565b60405180910390f35b610551610e3d565b60405161055e919061295c565b60405180910390f35b610581600480360381019061057c91906128de565b610e43565b60405161058e919061278e565b60405180910390f35b6105b160048036038101906105ac91906128de565b610efd565b6040516105be919061278e565b60405180910390f35b6105cf610f13565b6040516105dc919061292b565b60405180910390f35b6105ed610f19565b6040516105fa919061292b565b60405180910390f35b61061d60048036038101906106189190612b72565b610f1f565b005b61063960048036038101906106349190612a1a565b61105e565b005b61065560048036038101906106509190612c0f565b611080565b604051610662919061292b565b60405180910390f35b610673611102565b604051610680919061292b565b60405180910390f35b6106a3600480360381019061069e9190612af5565b611108565b005b6106ad611196565b6040516106ba9190612b2f565b60405180910390f35b6106cb6111bb565b6040516106d89190612b2f565b60405180910390f35b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107535750610752826111e0565b5b9050919050565b60606003805461076990612c7a565b80601f016020809104026020016040519081016040528092919081815260200182805461079590612c7a565b80156107e05780601f106107b7576101008083540402835291602001916107e0565b820191905f5260205f20905b8154815290600101906020018083116107c357829003601f168201915b5050505050905090565b5f6107f6338484611249565b6001905092915050565b5f600254905090565b7f849ce89bfb011047badb624cc7bca584328cbe2b50dc206a08607a3818d8f27281565b5f61083984848461140c565b6108e884336108e3856040518060600160405280602881526020016139086028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461178b9092919063ffffffff16565b611249565b600190509392505050565b5f60065f8381526020019081526020015f20600101549050919050565b610919826108f3565b610922816117ed565b61092c8383611801565b50505050565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b680507dbd4531440000081565b5f61096f6118eb565b905090565b61097c6119b2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109e0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ea82826119b9565b505050565b5f610a853384610a808560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aa390919063ffffffff16565b611249565b6001905092915050565b7ffdf81848136595c31bb5f76217767372bc4bf906663038eb38381131ea27ecba81565b610add7ffdf81848136595c31bb5f76217767372bc4bf906663038eb38381131ea27ecba33610d49565b610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1390612d1a565b60405180910390fd5b680507dbd45314400000610b4082610b32610800565b611aa390919063ffffffff16565b1115610b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7890612da8565b60405180910390fd5b610b8b8282611b00565b5050565b610b993382611c8c565b50565b610ba85f801b33610d49565b610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde90612e10565b60405180910390fd5b6127108211158015610bfa575061271081105b610c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3090612e78565b60405180910390fd5b81600a8190555080600b819055507fbd1c2baf15ce9efeda58ba0e407ce12e928eb6105bde1c2df27e8d1aea7054478282604051610c78929190612e96565b60405180910390a15050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610cd38282611e32565b5050565b5f610d1d60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611eb0565b9050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60065f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060048054610dbc90612c7a565b80601f0160208091040260200160405190810160405280929190818152602001828054610de890612c7a565b8015610e335780601f10610e0a57610100808354040283529160200191610e33565b820191905f5260205f20905b815481529060010190602001808311610e1657829003601f168201915b5050505050905090565b5f801b81565b5f610ef33384610eee856040518060600160405280602581526020016139306025913960015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461178b9092919063ffffffff16565b611249565b6001905092915050565b5f610f0933848461140c565b6001905092915050565b61271081565b600a5481565b83421115610f62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5990612f07565b60405180910390fd5b5f7f0000000000000000000000000000000000000000000000000000000000000000888888610f908c611ebc565b89604051602001610fa696959493929190612f25565b6040516020818303038152906040528051906020012090505f610fc882611f17565b90505f610fd782878787611f30565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103e90612fce565b60405180910390fd5b6110528a8a8a611249565b50505050505050505050565b611067826108f3565b611070816117ed565b61107a83836119b9565b50505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600b5481565b6111145f801b33610d49565b611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a90612e10565b60405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ae9061305c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c906130ea565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113ff919061292b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361147a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147190613178565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df90613206565b60405180910390fd5b6114f28383611f59565b1561177b5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361163a575f612710600a548361155d9190613251565b61156791906132bf565b90505f81111561163457808261157d91906132ef565b91506115ab8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361206f565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f916b8175cd5c46d919fd13bb22ffc701a10dec261c617873a53c55d45569a4e4848460405161162b929190612e96565b60405180910390a35b5061177a565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611779575f612710600b54836116a09190613251565b6116aa91906132bf565b90505f8111156117775780826116c091906132ef565b91506116ee8460095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361206f565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f916b8175cd5c46d919fd13bb22ffc701a10dec261c617873a53c55d45569a4e4848460405161176e929190612e96565b60405180910390a35b505b5b5b61178683838361206f565b505050565b5f8383111582906117d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c99190612831565b60405180910390fd5b505f83856117e091906132ef565b9050809150509392505050565b6117fe816117f96119b2565b6122f8565b50565b5f61180c8383610d49565b6118e157600160065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061187e6119b2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506118e5565b5f90505b92915050565b5f804690507f00000000000000000000000000000000000000000000000000000000000000008103611940577f00000000000000000000000000000000000000000000000000000000000000009150506119af565b6119ab7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612349565b9150505b90565b5f33905090565b5f6119c48383610d49565b15611a99575f60065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611a366119b2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611a9d565b5f90505b92915050565b5f808284611ab19190613322565b905083811015611af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aed9061339f565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6590613407565b60405180910390fd5b611b795f8383612387565b611b8e81600254611aa390919063ffffffff16565b600281905550611be3815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aa390919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c80919061292b565b60405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf190613495565b60405180910390fd5b611d05825f83612387565b611d6e816040518060600160405280602281526020016138c0602291395f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461178b9092919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dc38160025461238c90919063ffffffff16565b6002819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e26919061292b565b60405180910390a35050565b80611e3d8333611080565b1015611e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7590613523565b60405180910390fd5b5f81611e8a8433611080565b611e9491906132ef565b9050611ea1833383611249565b611eab8383611c8c565b505050565b5f815f01549050919050565b5f8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050611f0681611eb0565b9150611f11816123d5565b50919050565b5f611f29611f236118eb565b836123f2565b9050919050565b5f805f611f3f87878787612424565b91509150611f4c81612525565b8192505050949350505050565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fdd5750611fdb7f849ce89bfb011047badb624cc7bca584328cbe2b50dc206a08607a3818d8f27283610d49565b155b80612067575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561206657506120647f849ce89bfb011047badb624cc7bca584328cbe2b50dc206a08607a3818d8f27284610d49565b155b5b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d490613178565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290613206565b60405180910390fd5b612156838383612387565b6121bf816040518060600160405280602681526020016138e2602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461178b9092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061224e815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aa390919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122eb919061292b565b60405180910390a3505050565b6123028282610d49565b6123455780826040517fe2517d3f00000000000000000000000000000000000000000000000000000000815260040161233c929190613541565b60405180910390fd5b5050565b5f804690508484848330604051602001612367959493929190613568565b604051602081830303815290604052805190602001209150509392505050565b505050565b5f6123cd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061178b565b905092915050565b6001815f015f8282546123e89190613322565b9250508190555050565b5f828260405160200161240692919061362d565b60405160208183030381529060405280519060200120905092915050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0835f1c111561245c575f60039150915061251c565b601b8560ff16141580156124745750601c8560ff1614155b15612485575f60049150915061251c565b5f6001878787876040515f81526020016040526040516124a89493929190613663565b6020604051602081039080840390855afa1580156124c8573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612514575f6001925092505061251c565b805f92509250505b94509492505050565b5f6004811115612538576125376136a6565b5b81600481111561254b5761254a6136a6565b5b03156126ed5760016004811115612565576125646136a6565b5b816004811115612578576125776136a6565b5b036125b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125af9061371d565b60405180910390fd5b600260048111156125cc576125cb6136a6565b5b8160048111156125df576125de6136a6565b5b0361261f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261690613785565b60405180910390fd5b60036004811115612633576126326136a6565b5b816004811115612646576126456136a6565b5b03612686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267d90613813565b60405180910390fd5b600480811115612699576126986136a6565b5b8160048111156126ac576126ab6136a6565b5b036126ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e3906138a1565b60405180910390fd5b5b50565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612728816126f4565b8114612732575f80fd5b50565b5f813590506127438161271f565b92915050565b5f6020828403121561275e5761275d6126f0565b5b5f61276b84828501612735565b91505092915050565b5f8115159050919050565b61278881612774565b82525050565b5f6020820190506127a15f83018461277f565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156127de5780820151818401526020810190506127c3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612803826127a7565b61280d81856127b1565b935061281d8185602086016127c1565b612826816127e9565b840191505092915050565b5f6020820190508181035f83015261284981846127f9565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61287a82612851565b9050919050565b61288a81612870565b8114612894575f80fd5b50565b5f813590506128a581612881565b92915050565b5f819050919050565b6128bd816128ab565b81146128c7575f80fd5b50565b5f813590506128d8816128b4565b92915050565b5f80604083850312156128f4576128f36126f0565b5b5f61290185828601612897565b9250506020612912858286016128ca565b9150509250929050565b612925816128ab565b82525050565b5f60208201905061293e5f83018461291c565b92915050565b5f819050919050565b61295681612944565b82525050565b5f60208201905061296f5f83018461294d565b92915050565b5f805f6060848603121561298c5761298b6126f0565b5b5f61299986828701612897565b93505060206129aa86828701612897565b92505060406129bb868287016128ca565b9150509250925092565b6129ce81612944565b81146129d8575f80fd5b50565b5f813590506129e9816129c5565b92915050565b5f60208284031215612a0457612a036126f0565b5b5f612a11848285016129db565b91505092915050565b5f8060408385031215612a3057612a2f6126f0565b5b5f612a3d858286016129db565b9250506020612a4e85828601612897565b9150509250929050565b5f60ff82169050919050565b612a6d81612a58565b82525050565b5f602082019050612a865f830184612a64565b92915050565b5f60208284031215612aa157612aa06126f0565b5b5f612aae848285016128ca565b91505092915050565b5f8060408385031215612acd57612acc6126f0565b5b5f612ada858286016128ca565b9250506020612aeb858286016128ca565b9150509250929050565b5f60208284031215612b0a57612b096126f0565b5b5f612b1784828501612897565b91505092915050565b612b2981612870565b82525050565b5f602082019050612b425f830184612b20565b92915050565b612b5181612a58565b8114612b5b575f80fd5b50565b5f81359050612b6c81612b48565b92915050565b5f805f805f805f60e0888a031215612b8d57612b8c6126f0565b5b5f612b9a8a828b01612897565b9750506020612bab8a828b01612897565b9650506040612bbc8a828b016128ca565b9550506060612bcd8a828b016128ca565b9450506080612bde8a828b01612b5e565b93505060a0612bef8a828b016129db565b92505060c0612c008a828b016129db565b91505092959891949750929550565b5f8060408385031215612c2557612c246126f0565b5b5f612c3285828601612897565b9250506020612c4385828601612897565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612c9157607f821691505b602082108103612ca457612ca3612c4d565b5b50919050565b7f5661756c744f776e65643a2063616c6c6572206973206e6f74207468652056615f8201527f756c740000000000000000000000000000000000000000000000000000000000602082015250565b5f612d046023836127b1565b9150612d0f82612caa565b604082019050919050565b5f6020820190508181035f830152612d3181612cf8565b9050919050565b7f41504552433230546f6b656e3a206d696e74696e6720776f756c6420657863655f8201527f6564206d617820737570706c7900000000000000000000000000000000000000602082015250565b5f612d92602d836127b1565b9150612d9d82612d38565b604082019050919050565b5f6020820190508181035f830152612dbf81612d86565b9050919050565b7f43616c6c6572206973206e6f742061646d696e000000000000000000000000005f82015250565b5f612dfa6013836127b1565b9150612e0582612dc6565b602082019050919050565b5f6020820190508181035f830152612e2781612dee565b9050919050565b7f74617820746f6f206869676821000000000000000000000000000000000000005f82015250565b5f612e62600d836127b1565b9150612e6d82612e2e565b602082019050919050565b5f6020820190508181035f830152612e8f81612e56565b9050919050565b5f604082019050612ea95f83018561291c565b612eb6602083018461291c565b9392505050565b7f45524332305065726d69743a206578706972656420646561646c696e650000005f82015250565b5f612ef1601d836127b1565b9150612efc82612ebd565b602082019050919050565b5f6020820190508181035f830152612f1e81612ee5565b9050919050565b5f60c082019050612f385f83018961294d565b612f456020830188612b20565b612f526040830187612b20565b612f5f606083018661291c565b612f6c608083018561291c565b612f7960a083018461291c565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e617475726500005f82015250565b5f612fb8601e836127b1565b9150612fc382612f84565b602082019050919050565b5f6020820190508181035f830152612fe581612fac565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6130466024836127b1565b915061305182612fec565b604082019050919050565b5f6020820190508181035f8301526130738161303a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130d46022836127b1565b91506130df8261307a565b604082019050919050565b5f6020820190508181035f830152613101816130c8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6131626025836127b1565b915061316d82613108565b604082019050919050565b5f6020820190508181035f83015261318f81613156565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6131f06023836127b1565b91506131fb82613196565b604082019050919050565b5f6020820190508181035f83015261321d816131e4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61325b826128ab565b9150613266836128ab565b9250828202613274816128ab565b9150828204841483151761328b5761328a613224565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132c9826128ab565b91506132d4836128ab565b9250826132e4576132e3613292565b5b828204905092915050565b5f6132f9826128ab565b9150613304836128ab565b925082820390508181111561331c5761331b613224565b5b92915050565b5f61332c826128ab565b9150613337836128ab565b925082820190508082111561334f5761334e613224565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613389601b836127b1565b915061339482613355565b602082019050919050565b5f6020820190508181035f8301526133b68161337d565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6133f1601f836127b1565b91506133fc826133bd565b602082019050919050565b5f6020820190508181035f83015261341e816133e5565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61347f6021836127b1565b915061348a82613425565b604082019050919050565b5f6020820190508181035f8301526134ac81613473565b9050919050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f775f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f61350d6024836127b1565b9150613518826134b3565b604082019050919050565b5f6020820190508181035f83015261353a81613501565b9050919050565b5f6040820190506135545f830185612b20565b613561602083018461294d565b9392505050565b5f60a08201905061357b5f83018861294d565b613588602083018761294d565b613595604083018661294d565b6135a2606083018561291c565b6135af6080830184612b20565b9695505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f6135f76002836135b9565b9150613602826135c3565b600282019050919050565b5f819050919050565b61362761362282612944565b61360d565b82525050565b5f613637826135eb565b91506136438285613616565b6020820191506136538284613616565b6020820191508190509392505050565b5f6080820190506136765f83018761294d565b6136836020830186612a64565b613690604083018561294d565b61369d606083018461294d565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f45434453413a20696e76616c6964207369676e617475726500000000000000005f82015250565b5f6137076018836127b1565b9150613712826136d3565b602082019050919050565b5f6020820190508181035f830152613734816136fb565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e677468005f82015250565b5f61376f601f836127b1565b915061377a8261373b565b602082019050919050565b5f6020820190508181035f83015261379c81613763565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f6137fd6022836127b1565b9150613808826137a3565b604082019050919050565b5f6020820190508181035f83015261382a816137f1565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f61388b6022836127b1565b915061389682613831565b604082019050919050565b5f6020820190508181035f8301526138b88161387f565b905091905056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205a6dc8c0207036baa49093fe1e9110de8c68bb8f7afaab6bd7a557cc6155b0e364736f6c63430008180033000000000000000000000000a0ee7fe1143624e998bfe1a3523d6519c7b48f65000000000000000000000000a0ee7fe1143624e998bfe1a3523d6519c7b48f65