0 txs
5 calls
constructor
No constructor.
functions
canCheckpointToken
viewfunction canCheckpointToken() view returns (bool)
getImplementation
viewfunction getImplementation() view returns (address)
governance
viewfunction governance() view returns (address)
isKilled
viewfunction isKilled() view returns (bool)
lastTokenTime
viewfunction lastTokenTime() view returns (uint256)
pendingGovernance
viewfunction pendingGovernance() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
startTime
viewfunction startTime() view returns (uint256)
tester
viewfunction tester() view returns (address)
timeCursor
viewfunction timeCursor() view returns (uint256)
timeCursorOf
viewfunction timeCursorOf(address) view returns (uint256)
TOKEN_CHECKPOINT_DEADLINE
viewfunction TOKEN_CHECKPOINT_DEADLINE() view returns (uint256)
tokenLastBalance
viewfunction tokenLastBalance() view returns (uint256)
tokensPerWeek
viewfunction tokensPerWeek(uint256) view returns (uint256)
userEpochOf
viewfunction userEpochOf(address) view returns (uint256)
veForAt
viewfunction veForAt(address user_, uint256 timestamp_) view returns (uint256)
veSupply
viewfunction veSupply(uint256) view returns (uint256)
veYMT
viewfunction veYMT() view returns (address _veYMT)
WEEK
viewfunction WEEK() view returns (uint256)
acceptGovernance
nonpayablefunction acceptGovernance()
checkpointToken
nonpayablefunction checkpointToken()
checkpointTotalSupply
nonpayablefunction checkpointTotalSupply()
claim
nonpayablefunction claim() returns (uint256)
claim
nonpayablefunction claim(address addr_) returns (uint256)
claimMany
nonpayablefunction claimMany(address[] receivers_) returns (bool)
initialize
nonpayablefunction initialize()
initializeV2
nonpayablefunction initializeV2(uint256 startTime_)
killMe
nonpayablefunction killMe()
recoverBalance
nonpayablefunction recoverBalance() returns (bool)
revokeGovernance
nonpayablefunction revokeGovernance()
revokeTester
nonpayablefunction revokeTester()
setGovernance
nonpayablefunction setGovernance(address _newGoverner)
setVeYMT
nonpayablefunction setVeYMT(address _veymt)
toggleAllowCheckpointToken
nonpayablefunction toggleAllowCheckpointToken()
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
CheckpointToken
event CheckpointToken(uint256 time, uint256 tokens)
Claimed
event Claimed(address indexed recipient, uint256 amount, uint256 claimEpoch, uint256 maxEpoch)
Initialized
event Initialized(uint8 version)
NewPendingGovernance
event NewPendingGovernance(address _sender)
Received
event Received(address sender, uint256 value)
RevokeGovernance
event RevokeGovernance(address _sender)
ToggleAllowCheckpointToken
event ToggleAllowCheckpointToken(bool toggleFlag)
UpdateGovernance
event UpdateGovernance(address _sender)
Upgraded
event Upgraded(address indexed implementation)
VeYMTSet
event VeYMTSet(address sender, address veYMT)
errors
No errors.
creation bytecode
0x60a06040523060601b60805234801561001757600080fd5b5060805160601c61331261005260003960008181610ada01528181610b5f01528181610dce01528181610e530152610f3d01526133126000f3fe6080604052600436106102535760003560e01c80638736659b11610138578063ab033ea9116100b0578063bee5dc321161007f578063f364824111610064578063f364824114610654578063f39c38a014610674578063f4359ce51461069457600080fd5b8063bee5dc3214610612578063c7f1ec501461062757600080fd5b8063ab033ea9146105b3578063b1850e94146105d3578063b1ddc24e146105e8578063b603cd80146105fd57600080fd5b80638fe8a10111610107578063a282c47d116100ec578063a282c47d14610567578063a5420e9814610587578063aaf10f421461059e57600080fd5b80638fe8a10114610532578063939ea66b1461055157600080fd5b80638736659b146104c4578063899519be146104da5780638c5e1b5b146105075780638ec8468a1461051c57600080fd5b80635aa6e675116101cb57806378e979251161019a5780638129fc1c1161017f5780638129fc1c1461047a5780638308abd41461048f5780638721b785146104af57600080fd5b806378e97925146104445780637e686e011461045a57600080fd5b80635aa6e675146103aa5780635b4e128c146103e25780636f2c155b14610402578063786479cd1461041757600080fd5b8063326a9407116102225780634e71d92d116102075780634e71d92d1461036d5780634f1ef2861461038257806352d1902d1461039557600080fd5b8063326a9407146103385780633659cfe61461034d57600080fd5b80630cc672e4146102975780630f6592ef146102c65780631e83409a14610301578063238efcbc1461032157600080fd5b3661029257604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080fd5b3480156102a357600080fd5b5060a3546102b19060ff1681565b60405190151581526020015b60405180910390f35b3480156102d257600080fd5b506102f36102e1366004612f44565b60a26020526000908152604090205481565b6040519081526020016102bd565b34801561030d57600080fd5b506102f361031c366004612d29565b6106ab565b34801561032d57600080fd5b5061033661082d565b005b34801561034457600080fd5b50610336610904565b34801561035957600080fd5b50610336610368366004612d29565b610acf565b34801561037957600080fd5b506102f3610c4b565b610336610390366004612d43565b610dc3565b3480156103a157600080fd5b506102f3610f30565b3480156103b657600080fd5b506065546103ca906001600160a01b031681565b6040516001600160a01b0390911681526020016102bd565b3480156103ee57600080fd5b506103366103fd366004612f44565b610ff5565b34801561040e57600080fd5b50610336611109565b34801561042357600080fd5b506102f3610432366004612d29565b609e6020526000908152604090205481565b34801561045057600080fd5b506102f3609b5481565b34801561046657600080fd5b506102b1610475366004612e0c565b611171565b34801561048657600080fd5b50610336611379565b34801561049b57600080fd5b506067546103ca906001600160a01b031681565b3480156104bb57600080fd5b506103366114a1565b3480156104d057600080fd5b506102f3609c5481565b3480156104e657600080fd5b506102f36104f5366004612f44565b60a06020526000908152604090205481565b34801561051357600080fd5b506103ca61153f565b34801561052857600080fd5b506102f360a15481565b34801561053e57600080fd5b5060a3546102b190610100900460ff1681565b34801561055d57600080fd5b506102f3609f5481565b34801561057357600080fd5b50610336610582366004612d29565b611594565b34801561059357600080fd5b506102f36201518081565b3480156105aa57600080fd5b506103ca611678565b3480156105bf57600080fd5b506103366105ce366004612d29565b6116b0565b3480156105df57600080fd5b506102b1611754565b3480156105f457600080fd5b5061033661184a565b34801561060957600080fd5b506103366118e0565b34801561061e57600080fd5b506103366119da565b34801561063357600080fd5b506102f3610642366004612d29565b609d6020526000908152604090205481565b34801561066057600080fd5b506102f361066f366004612de3565b611a65565b34801561068057600080fd5b506066546103ca906001600160a01b031681565b3480156106a057600080fd5b506102f362093a8081565b60006106b5611bf4565b60a354610100900460ff16156107075760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81ada5b1b195960721b60448201526064015b60405180910390fd5b609c54421061071857610718611c4e565b609f5460a35460ff16801561073857506107356201518082612fdc565b42115b1561074857610745611e11565b50425b62093a80908190040260006107658461075f61153f565b84611fc8565b9050801561081b576000846001600160a01b03168260405160006040518083038185875af1925050503d80600081146107ba576040519150601f19603f3d011682016040523d82523d6000602084013e6107bf565b606091505b50509050806108025760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016106fe565b8160a16000828254610814919061322b565b9091555050505b9150506108286001606855565b919050565b6066546001600160a01b031633146108ad5760405162461bcd60e51b815260206004820152602160248201527f596f7520617265206e6f74207468652070656e64696e6720676f7665726e657260448201527f2e0000000000000000000000000000000000000000000000000000000000000060648201526084016106fe565b606654606580546001600160a01b0319166001600160a01b0390921691821790556040519081527f8d55d160c0009eb3d739442df0a3ca089ed64378bfac017e7ddad463f9815b87906020015b60405180910390a1565b600061090e61153f565b609c54909150600062093a806109248142612ff4565b61092e9190613153565b9050826001600160a01b031663c2c4c5c16040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561096b57600080fd5b505af115801561097f573d6000803e3d6000fd5b5050505060005b6014811015610ac7578183111561099c57610ac7565b60006109a88585612471565b604051638ad4c44760e01b8152600481018290529091506000906001600160a01b03871690638ad4c4479060240160806040518083038186803b1580156109ee57600080fd5b505afa158015610a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a269190612ed3565b905060008160400151861115610a48576040820151610a4590876131d3565b90505b6000818360200151610a5a9190613014565b8351610a669190613172565b9050600081600f0b1215610a8857600087815260a26020526040812055610aac565b600087815260a2602052604090206fffffffffffffffffffffffffffffffff821690555b50505050610abd62093a8084612fdc565b9250600101610986565b5050609c5550565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610b5d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106fe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bb87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610c235760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106fe565b610c2c816125b5565b60408051600080825260208201909252610c489183919061260b565b50565b6000610c55611bf4565b60a354610100900460ff1615610ca25760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81ada5b1b195960721b60448201526064016106fe565b609c5433904210610cb557610cb5611c4e565b609f5460a35460ff168015610cd55750610cd26201518082612fdc565b42115b15610ce557610ce2611e11565b50425b62093a8090819004026000610cfc8361075f61153f565b90508015610db2576000836001600160a01b03168260405160006040518083038185875af1925050503d8060008114610d51576040519150601f19603f3d011682016040523d82523d6000602084013e610d56565b606091505b5050905080610d995760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016106fe565b8160a16000828254610dab919061322b565b9091555050505b92505050610dc06001606855565b90565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610e515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106fe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610eac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610f175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106fe565b610f20826125b5565b610f2c8282600161260b565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fd05760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106fe565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600054600290610100900460ff16158015611017575060005460ff8083169116105b6110895760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106fe565b6000805461ffff191660ff83161761010017815562093a806110ab8185612ff4565b6110b59190613153565b609b819055609f819055609c55506000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6065546001600160a01b0316331461115f5760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b60448201526064016106fe565b606780546001600160a01b0319169055565b600061117b611bf4565b60a354610100900460ff16156111c85760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81ada5b1b195960721b60448201526064016106fe565b609c5442106111d9576111d9611c4e565b609f5460a35460ff1680156111f957506111f66201518082612fdc565b42115b1561120957611206611e11565b50425b62093a806112178183612ff4565b6112219190613153565b8351909150600090815b8181101561134957600086828151811061125557634e487b7160e01b600052603260045260246000fd5b6020026020010151905060006001600160a01b0316816001600160a01b031614156112805750611349565b60006112948261128e61153f565b88611fc8565b9050801561133f576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146112e9576040519150601f19603f3d011682016040523d82523d6000602084013e6112ee565b606091505b50509050806113315760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016106fe565b61133b8287612fdc565b9550505b505060010161122b565b508115611368578160a16000828254611362919061322b565b90915550505b600193505050506108286001606855565b600054610100900460ff16158080156113995750600054600160ff909116105b806113b35750303b1580156113b3575060005460ff166001145b6114255760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106fe565b6000805460ff191660011790558015611448576000805461ff0019166101001790555b6114506127bf565b611458612832565b8015610c48576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6065546001600160a01b031633146114f75760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b60448201526064016106fe565b60a3805460ff8082161560ff1990921682179092556040519116151581527fdbe6ac1081ebd8e648718341126659456f4009fcadfe1c23f66f5e61522610b2906020016108fa565b6000806040518060400160405280600a81526020016919195c1ccb9d9956535560b21b8152506040516020016115759190612f78565b60408051601f1981840301815291905280516020909101205492915050565b6065546001600160a01b031633146115ea5760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b60448201526064016106fe565b60006040518060400160405280600a81526020016919195c1ccb9d9956535560b21b81525060405160200161161f9190612f78565b60408051601f1981840301815282825280516020918201208581553384526001600160a01b0386169184019190915292507f2983105142ea9d65f710262d5b509c1b2b159b4feb870b2b113aec399f5b254d91016110fd565b60006116ab7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b6065546001600160a01b031633146117065760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b60448201526064016106fe565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f90ad4c550d25bd23af61db38d1ff8671b89edaaa0bca0fc36bac5084ecc120bd90602001611496565b6065546000906001600160a01b031633146117ad5760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b60448201526064016106fe565b6065546040516000916001600160a01b03169047908381818185875af1925050503d80600081146117fa576040519150601f19603f3d011682016040523d82523d6000602084013e6117ff565b606091505b50509050806118425760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016106fe565b600191505090565b6065546001600160a01b031633146118a05760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b60448201526064016106fe565b606580546001600160a01b03191690556040513381527f24e4875c487b4800d52ab8484eb3ad19b3485a88e0b19b6cfdac90da12ee55fd906020016108fa565b6065546001600160a01b031633146119365760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b60448201526064016106fe565b60a3805461ff0019166101001790556065546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611992576040519150601f19603f3d011682016040523d82523d6000602084013e611997565b606091505b5050905080610c485760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016106fe565b6065546001600160a01b0316331480611a0f575060a35460ff168015611a0f575062015180609f54611a0c9190612fdc565b42115b611a5b5760405162461bcd60e51b815260206004820152600c60248201527f556e617574686f72697a6564000000000000000000000000000000000000000060448201526064016106fe565b611a63611e11565b565b600080611a7061153f565b6040516381fc83bb60e01b81526001600160a01b0386811660048301529192506000918316906381fc83bb9060240160206040518083038186803b158015611ab757600080fd5b505afa158015611acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aef9190612ebb565b90506000611aff838787856128a5565b604051630d36406960e21b81526001600160a01b038881166004830152602482018390529192506000918516906334d901a49060440160806040518083038186803b158015611b4d57600080fd5b505afa158015611b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b859190612ed3565b90506000816040015187611b99919061322b565b8260200151611ba89190613014565b8251611bb49190613172565b9050600081600f0b1215611bd057600095505050505050611bee565b6fffffffffffffffffffffffffffffffff169450611bee9350505050565b92915050565b60026068541415611c475760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106fe565b6002606855565b6000611c5861153f565b609c54909150600062093a80611c6e8142612ff4565b611c789190613153565b9050826001600160a01b031663c2c4c5c16040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611cb557600080fd5b505af1158015611cc9573d6000803e3d6000fd5b5050505060005b6014811015610ac75781831115611ce657610ac7565b6000611cf28585612471565b604051638ad4c44760e01b8152600481018290529091506000906001600160a01b03871690638ad4c4479060240160806040518083038186803b158015611d3857600080fd5b505afa158015611d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d709190612ed3565b905060008160400151861115611d92576040820151611d8f90876131d3565b90505b6000818360200151611da49190613014565b8351611db09190613172565b9050600081600f0b1215611dd257600087815260a26020526040812055611df6565b600087815260a2602052604090206fffffffffffffffffffffffffffffffff821690555b611e0362093a8088612fdc565b965050505050600101611cd0565b60a1544790600090611e23908361322b565b60a1839055609f549091506000611e3a824261322b565b42609f559050600062093a80611e508185612ff4565b611e5a9190613153565b90506000805b6014811015611f8657611e7662093a8084612fdc565b915081421015611ef85783158015611e8d57508442145b15611ebb57600083815260a0602052604081208054889290611eb0908490612fdc565b90915550611f869050565b83611ec6864261322b565b611ed09088613153565b611eda9190612ff4565b600084815260a0602052604081208054909190611eb0908490612fdc565b83158015611f0557508482145b15611f3357600083815260a0602052604081208054889290611f28908490612fdc565b90915550611f769050565b83611f3e868461322b565b611f489088613153565b611f529190612ff4565b600084815260a0602052604081208054909190611f70908490612fdc565b90915550505b9093508391508190600101611e60565b5060408051428152602081018790527fce749457b74e10f393f2c6b1ce4261b78791376db5a3f501477a809f03f500d6910160405180910390a1505050505050565b6040516381fc83bb60e01b81526001600160a01b0384811660048301526000918291829182918716906381fc83bb9060240160206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204a9190612ebb565b609b5490915081612062576000945050505050612463565b6001600160a01b0388166000908152609d6020526040902054806120935761208c888a84866128a5565b94506120af565b6001600160a01b0389166000908152609e602052604090205494505b846120b957600194505b604051630d36406960e21b81526001600160a01b038a8116600483015260248201879052600091908a16906334d901a49060440160806040518083038186803b15801561210557600080fd5b505afa158015612119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213d9190612ed3565b90508161217f5762093a8080600162093a80846040015161215e9190612fdc565b612168919061322b565b6121729190612ff4565b61217c9190613153565b91505b8782106121955760009650505050505050612463565b828210156121a1578291505b6040805160808101825260008082526020820181905291810182905260608101829052905b60328110156123d9578984106121db576123d9565b826040015184101580156121ef5750858811155b156122f9576121fd8861326e565b975060405180608001604052808460000151600f0b81526020018460200151600f0b81526020018460400151815260200184606001518152509150858811156122725760405180608001604052806000600f0b81526020016000600f0b815260200160008152602001600081525092506123d1565b604051630d36406960e21b81526001600160a01b038d81166004830152602482018a90528c16906334d901a49060440160806040518083038186803b1580156122ba57600080fd5b505afa1580156122ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122f29190612ed3565b92506123d1565b600082604001518561230b91906131d3565b905060008360200151600f0b8261232291906130b7565b84516123319190600f0b6131d3565b905060008460200151600f0b8361234891906130b7565b85516123579190600f0b6131d3565b1215612361575060005b8015801561236e5750878a115b1561237a5750506123d9565b60008113156123bf57600086815260a2602090815260408083205460a0909252909120546123a89083613153565b6123b29190612ff4565b6123bc908a612fdc565b98505b6123cc62093a8087612fdc565b955050505b6001016121c6565b506123ee856123e960018a61322b565b61297e565b6001600160a01b038c166000818152609e60209081526040808320859055609d82529182902087905581518a8152908101849052908101889052919850907f9cdcf2f7714cca3508c7f0110b04a90a80a3a8dd0e35de99689db74d28c5383e9060600160405180910390a25093955050505050505b9392505050565b6001606855565b6000806000846001600160a01b031663900cf0cf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156124af57600080fd5b505afa1580156124c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e79190612ebb565b905060005b60808110156125ab57818310612501576125ab565b604051638ad4c44760e01b8152600283850181010460048201819052906000906001600160a01b03891690638ad4c4479060240160806040518083038186803b15801561254d57600080fd5b505afa158015612561573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125859190612ed3565b90508681604001511161259a578194506125a1565b6001820393505b50506001016124ec565b5090949350505050565b6065546001600160a01b03163314610c485760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b60448201526064016106fe565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156126435761263e83612994565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561267c57600080fd5b505afa9250505080156126ac575060408051601f3d908101601f191682019092526126a991810190612ebb565b60015b61271e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106fe565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146127b35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106fe565b5061263e838383612a52565b600054610100900460ff1661282a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106fe565b611a63612a7d565b600054610100900460ff1661289d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106fe565b611a63612b0c565b60008082815b6080811015612972578183106128c057612972565b604051630d36406960e21b81526001600160a01b038881166004830152600284860181010460248301819052916000918b16906334d901a49060440160806040518083038186803b15801561291457600080fd5b505afa158015612928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061294c9190612ed3565b90508781604001511161296157819450612968565b6001820393505b50506001016128ab565b50909695505050505050565b600081831061298d5781612463565b5090919050565b6001600160a01b0381163b612a115760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106fe565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b612a5b83612b77565b600082511180612a685750805b1561263e57612a778383612bb7565b50505050565b600054610100900460ff16612ae85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106fe565b60658054336001600160a01b03199182168117909255606780549091169091179055565b600054610100900460ff1661246a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106fe565b612b8081612994565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612c365760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016106fe565b600080846001600160a01b031684604051612c519190612f5c565b600060405180830381855af49150503d8060008114612c8c576040519150601f19603f3d011682016040523d82523d6000602084013e612c91565b606091505b5091509150612cb982826040518060600160405280602781526020016132b660279139612cc2565b95945050505050565b60608315612cd1575081612463565b6124638383815115612ce65781518083602001fd5b8060405162461bcd60e51b81526004016106fe9190612f78565b80356001600160a01b038116811461082857600080fd5b8051600f81900b811461082857600080fd5b600060208284031215612d3a578081fd5b61246382612d00565b60008060408385031215612d55578081fd5b612d5e83612d00565b915060208084013567ffffffffffffffff80821115612d7b578384fd5b818601915086601f830112612d8e578384fd5b813581811115612da057612da061329f565b612db2601f8201601f19168501612fab565b91508082528784828501011115612dc7578485fd5b8084840185840137810190920192909252919491935090915050565b60008060408385031215612df5578182fd5b612dfe83612d00565b946020939093013593505050565b60006020808385031215612e1e578182fd5b823567ffffffffffffffff80821115612e35578384fd5b818501915085601f830112612e48578384fd5b813581811115612e5a57612e5a61329f565b8060051b9150612e6b848301612fab565b8181528481019084860184860187018a1015612e85578788fd5b8795505b83861015612eae57612e9a81612d00565b835260019590950194918601918601612e89565b5098975050505050505050565b600060208284031215612ecc578081fd5b5051919050565b600060808284031215612ee4578081fd5b6040516080810181811067ffffffffffffffff82111715612f0757612f0761329f565b604052612f1383612d17565b8152612f2160208401612d17565b602082015260408301516040820152606083015160608201528091505092915050565b600060208284031215612f55578081fd5b5035919050565b60008251612f6e818460208701613242565b9190910192915050565b6020815260008251806020840152612f97816040850160208701613242565b601f01601f19169190910160400192915050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612fd457612fd461329f565b604052919050565b60008219821115612fef57612fef613289565b500190565b60008261300f57634e487b7160e01b81526012600452602481fd5b500490565b600081600f0b83600f0b6f7fffffffffffffffffffffffffffffff8382138484138383048511828216161561304b5761304b613289565b6f7fffffffffffffffffffffffffffffff198685128682058612818416161561307657613076613289565b87871292508582058712848416161561309157613091613289565b858505871281841616156130a7576130a7613289565b5050509290910295945050505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818413828413858304851182821616156130f6576130f6613289565b600160ff1b8487128682058812818416161561311457613114613289565b85871292508782058712848416161561312f5761312f613289565b8785058712818416161561314557613145613289565b505050929093029392505050565b600081600019048311821515161561316d5761316d613289565b500290565b600081600f0b83600f0b828112816f7fffffffffffffffffffffffffffffff19018312811516156131a5576131a5613289565b816f7fffffffffffffffffffffffffffffff0183138116156131c9576131c9613289565b5090039392505050565b600080831283600160ff1b018312811516156131f1576131f1613289565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01831381161561322557613225613289565b50500390565b60008282101561323d5761323d613289565b500390565b60005b8381101561325d578181015183820152602001613245565b83811115612a775750506000910152565b600060001982141561328257613282613289565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122026cecb78078638503fe1fcd9bdbfb5ac18de96cea5b392ad85b1449f83f105a464736f6c63430008040033