0 txs
1 call
constructor
constructor(address _token, string _name, string _symbol)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
checkpoints
viewfunction checkpoints(address account, uint32 pos) view returns (tuple)
CLOCK_MODE
viewfunction CLOCK_MODE() view returns (string)
clock
viewfunction clock() view returns (uint48)
decimals
viewfunction decimals() view returns (uint8)
delegates
viewfunction delegates(address account) view returns (address)
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
getPastTotalSupply
viewfunction getPastTotalSupply(uint256 timepoint) view returns (uint256)
getPastVotes
viewfunction getPastVotes(address account, uint256 timepoint) view returns (uint256)
getVotes
viewfunction getVotes(address account) view returns (uint256)
name
viewfunction name() view returns (string)
nonces
viewfunction nonces(address owner) view returns (uint256)
numCheckpoints
viewfunction numCheckpoints(address account) view returns (uint32)
supportsInterface
viewfunction supportsInterface(bytes4 _interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
underlying
viewfunction underlying() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
delegate
nonpayablefunction delegate(address delegatee)
delegateBySig
nonpayablefunction delegateBySig(address delegatee, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s)
depositFor
nonpayablefunction depositFor(address account, uint256 amount) returns (bool)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address _token, string _name, string _symbol)
permit
nonpayablefunction permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
withdrawTo
nonpayablefunction withdrawTo(address account, uint256 amount) returns (bool)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
DelegateChanged
event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate)
DelegateVotesChanged
event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance)
EIP712DomainChanged
event EIP712DomainChanged()
Initialized
event Initialized(uint8 version)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162003974380380620039748339810160408190526200003491620005a7565b620000418383836200004a565b5050506200078b565b600054610100900460ff16158080156200006b5750600054600160ff909116105b806200009b575062000088306200019760201b62000fb51760201c565b1580156200009b575060005460ff166001145b620001045760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000128576000805461ff0019166101001790555b620001348383620001a6565b6200013f8362000212565b6200014a846200029c565b801562000191576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6001600160a01b03163b151590565b600054610100900460ff16620002025760405162461bcd60e51b815260206004820152602b60248201526000805160206200395483398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fb565b6200020e828262000303565b5050565b600054610100900460ff166200026e5760405162461bcd60e51b815260206004820152602b60248201526000805160206200395483398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fb565b6200029981604051806040016040528060018152602001603160f81b8152506200038160201b60201c565b50565b600054610100900460ff16620002f85760405162461bcd60e51b815260206004820152602b60248201526000805160206200395483398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fb565b620002998162000409565b600054610100900460ff166200035f5760405162461bcd60e51b815260206004820152602b60248201526000805160206200395483398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fb565b60686200036d8382620006bf565b5060696200037c8282620006bf565b505050565b600054610100900460ff16620003dd5760405162461bcd60e51b815260206004820152602b60248201526000805160206200395483398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fb565b6099620003eb8382620006bf565b50609a620003fa8282620006bf565b50506000609781905560985550565b600054610100900460ff16620004655760405162461bcd60e51b815260206004820152602b60248201526000805160206200395483398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fb565b306001600160a01b03821603620004bf5760405162461bcd60e51b815260206004820152601e60248201527f4552433230577261707065723a2063616e6e6f742073656c66207772617000006044820152606401620000fb565b61013080546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200050a57600080fd5b81516001600160401b0380821115620005275762000527620004e2565b604051601f8301601f19908116603f01168101908282118183101715620005525762000552620004e2565b816040528381526020925086838588010111156200056f57600080fd5b600091505b8382101562000593578582018301518183018401529082019062000574565b600093810190920192909252949350505050565b600080600060608486031215620005bd57600080fd5b83516001600160a01b0381168114620005d557600080fd5b60208501519093506001600160401b0380821115620005f357600080fd5b6200060187838801620004f8565b935060408601519150808211156200061857600080fd5b506200062786828701620004f8565b9150509250925092565b600181811c908216806200064657607f821691505b6020821081036200066757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200037c57600081815260208120601f850160051c81016020861015620006965750805b601f850160051c820191505b81811015620006b757828155600101620006a2565b505050505050565b81516001600160401b03811115620006db57620006db620004e2565b620006f381620006ec845462000631565b846200066d565b602080601f8311600181146200072b5760008415620007125750858301515b600019600386901b1c1916600185901b178555620006b7565b600085815260208120601f198616915b828110156200075c578886015182559484019460019091019084016200073b565b50858210156200077b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6131b9806200079b6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636fcfff451161010457806395d89b41116100a2578063c3cda52011610071578063c3cda5201461043a578063d505accf1461044d578063dd62ed3e14610460578063f1127ed81461049957600080fd5b806395d89b41146103f95780639ab24eb014610401578063a457c2d714610414578063a9059cbb1461042757600080fd5b806384b0196e116100de57806384b0196e146103995780638e539e8c146103b457806390657147146103c757806391ddadf4146103da57600080fd5b80636fcfff451461033557806370a082311461035d5780637ecebe001461038657600080fd5b8063313ce5671161017c5780634bf5d7e91161014b5780634bf5d7e9146102c2578063587cde1e146102ca5780635c19a95c1461030e5780636f307dc31461032357600080fd5b8063313ce5671461027a5780633644e51514610294578063395093511461029c5780633a46b1a8146102af57600080fd5b806318160ddd116101b857806318160ddd1461022f578063205c28781461024157806323b872dd146102545780632f4f21e21461026757600080fd5b806301ffc9a7146101df57806306fdde0314610207578063095ea7b31461021c575b600080fd5b6101f26101ed366004612aea565b6104d6565b60405190151581526020015b60405180910390f35b61020f61060f565b6040516101fe9190612b64565b6101f261022a366004612b8c565b6106a1565b6067545b6040519081526020016101fe565b6101f261024f366004612b8c565b6106b9565b6101f2610262366004612bb8565b6106cc565b6101f2610275366004612b8c565b6106f0565b6102826106fc565b60405160ff90911681526020016101fe565b61023361070b565b6101f26102aa366004612b8c565b610715565b6102336102bd366004612b8c565b610754565b61020f6107db565b6102f66102d8366004612bf9565b6001600160a01b03908116600090815260fe60205260409020541690565b6040516001600160a01b0390911681526020016101fe565b61032161031c366004612bf9565b610873565b005b610130546001600160a01b03166102f6565b610348610343366004612bf9565b610880565b60405163ffffffff90911681526020016101fe565b61023361036b366004612bf9565b6001600160a01b031660009081526065602052604090205490565b610233610394366004612bf9565b6108a2565b6103a16108c0565b6040516101fe9796959493929190612c16565b6102336103c2366004612cc8565b610982565b6103216103d5366004612d84565b6109ee565b6103e2610b43565b60405165ffffffffffff90911681526020016101fe565b61020f610b4e565b61023361040f366004612bf9565b610b5d565b6101f2610422366004612b8c565b610bdf565b6101f2610435366004612b8c565b610c89565b610321610448366004612e09565b610c97565b61032161045b366004612e65565b610dcd565b61023361046e366004612ed6565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b6104ac6104a7366004612f0f565b610f31565b60408051825163ffffffff1681526020928301516001600160e01b031692810192909252016101fe565b60006001600160e01b031982167f0f13099a00000000000000000000000000000000000000000000000000000000148061053957506001600160e01b031982167f36372b0700000000000000000000000000000000000000000000000000000000145b8061056d57506001600160e01b031982167f9d8ff7da00000000000000000000000000000000000000000000000000000000145b806105a157506001600160e01b031982167fa219a02500000000000000000000000000000000000000000000000000000000145b806105d557506001600160e01b031982167fe90fb3f600000000000000000000000000000000000000000000000000000000145b8061060957507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b60606068805461061e90612f46565b80601f016020809104026020016040519081016040528092919081815260200182805461064a90612f46565b80156106975780601f1061066c57610100808354040283529160200191610697565b820191906000526020600020905b81548152906001019060200180831161067a57829003601f168201915b5050505050905090565b6000336106af818585610fc4565b5060019392505050565b60006106c5838361111c565b9392505050565b6000336106da858285611149565b6106e58585856111d5565b506001949350505050565b60006106c583836113cf565b600061070661146a565b905090565b60006107066114f9565b3360008181526066602090815260408083206001600160a01b03871684529091528120549091906106af908290869061074f908790612f90565b610fc4565b600061075e610b43565b65ffffffffffff1682106107b95760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b75700000000000000060448201526064015b60405180910390fd5b6001600160a01b038316600090815260ff602052604090206106c59083611503565b6060436107e6610b43565b65ffffffffffff161461083b5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f646500000060448201526064016107b0565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61087d33826115ec565b50565b6001600160a01b038116600090815260ff60205260408120546106099061167e565b6001600160a01b038116600090815260cb6020526040812054610609565b6000606080600080600060606097546000801b1480156108e05750609854155b61092c5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a6564000000000000000000000060448201526064016107b0565b6109346116fe565b61093c61170d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b600061098c610b43565b65ffffffffffff1682106109e25760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b75700000000000000060448201526064016107b0565b61060961010083611503565b600054610100900460ff1615808015610a0e5750600054600160ff909116105b80610a285750303b158015610a28575060005460ff166001145b610a9a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107b0565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610adb576000805461ff0019166101001790555b610ae5838361171c565b610aee83611795565b610af78461183f565b8015610b3d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000610706436118b3565b60606069805461061e90612f46565b6001600160a01b038116600090815260ff60205260408120548015610bcc576001600160a01b038316600090815260ff6020526040902080546000198301908110610baa57610baa612fa3565b60009182526020909120015464010000000090046001600160e01b0316610bcf565b60005b6001600160e01b03169392505050565b3360008181526066602090815260408083206001600160a01b038716845290915281205490919083811015610c7c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016107b0565b6106e58286868403610fc4565b6000336106af8185856111d5565b83421115610ce75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e6174757265206578706972656400000060448201526064016107b0565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610d6190610d599060a00160405160208183030381529060405280519060200120611931565b858585611979565b9050610d6c816119a3565b8614610dba5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e63650000000000000060448201526064016107b0565b610dc481886115ec565b50505050505050565b83421115610e1d5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016107b0565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610e4c8c6119a3565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610ea782611931565b90506000610eb782878787611979565b9050896001600160a01b0316816001600160a01b031614610f1a5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016107b0565b610f258a8a8a610fc4565b50505050505050505050565b60408051808201909152600080825260208201526001600160a01b038316600090815260ff60205260409020805463ffffffff8416908110610f7557610f75612fa3565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b6001600160a01b03163b151590565b6001600160a01b03831661103f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016107b0565b6001600160a01b0382166110bb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016107b0565b6001600160a01b0383811660008181526066602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061112833836119cb565b61013054611140906001600160a01b031684846119d5565b50600192915050565b6001600160a01b038381166000908152606660209081526040808320938616835292905220546000198114610b3d57818110156111c85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107b0565b610b3d8484848403610fc4565b6001600160a01b0383166112515760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107b0565b6001600160a01b0382166112cd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107b0565b6001600160a01b0383166000908152606560205260409020548181101561135c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016107b0565b6001600160a01b0380851660008181526065602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113bc9086815260200190565b60405180910390a3610b3d848484611a56565b6000333081036114475760405162461bcd60e51b815260206004820152602360248201527f4552433230577261707065723a20777261707065722063616e2774206465706f60448201527f736974000000000000000000000000000000000000000000000000000000000060648201526084016107b0565b61013054611460906001600160a01b0316823086611ab8565b6106af8484611b09565b61013054604080517f313ce56700000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa9250505080156114ea575060408051601f3d908101601f191682019092526114e791810190612fb9565b60015b6114f45750601290565b919050565b6000610706611b13565b81546000908181600581111561155d57600061151e84611b87565b6115289085612fd6565b600088815260209020909150869082015463ffffffff16111561154d5780915061155b565b611558816001612f90565b92505b505b808210156115aa5760006115718383611c6f565b600088815260209020909150869082015463ffffffff161115611596578091506115a4565b6115a1816001612f90565b92505b5061155d565b80156115d6576000868152602090208101600019015464010000000090046001600160e01b03166115d9565b60005b6001600160e01b03169695505050505050565b6001600160a01b03828116600081815260fe6020818152604080842080546065845282862054949093528787167fffffffffffffffffffffffff00000000000000000000000000000000000000008416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610b3d828483611c8a565b600063ffffffff8211156116fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016107b0565b5090565b60606099805461061e90612f46565b6060609a805461061e90612f46565b600054610100900460ff166117875760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016107b0565b6117918282611dc7565b5050565b600054610100900460ff166118005760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016107b0565b61087d816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250611e4b565b600054610100900460ff166118aa5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016107b0565b61087d81611ede565b600065ffffffffffff8211156116fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f382062697473000000000000000000000000000000000000000000000000000060648201526084016107b0565b600061060961193e6114f9565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061198a87878787611fdc565b91509150611997816120a0565b5090505b949350505050565b6001600160a01b038116600090815260cb602052604090208054600181018255905b50919050565b6117918282612205565b6040516001600160a01b038316602482015260448101829052611a519084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261221e565b505050565b611a61838383612306565b6001600160a01b03821615801590611a855750611a7d82610880565b63ffffffff16155b8015611aa957506001600160a01b03828116600090815260fe602052604090205416155b15611a5157611a5182836115ec565b6040516001600160a01b0380851660248301528316604482015260648101829052610b3d9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611a1a565b6117918282612338565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611b3e6123d0565b611b46612429565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600081600003611b9957506000919050565b60006001611ba68461245a565b901c6001901b90506001818481611bbf57611bbf612fe9565b048201901c90506001818481611bd757611bd7612fe9565b048201901c90506001818481611bef57611bef612fe9565b048201901c90506001818481611c0757611c07612fe9565b048201901c90506001818481611c1f57611c1f612fe9565b048201901c90506001818481611c3757611c37612fe9565b048201901c90506001818481611c4f57611c4f612fe9565b048201901c90506106c581828581611c6957611c69612fe9565b046124ee565b6000611c7e6002848418612fff565b6106c590848416612f90565b816001600160a01b0316836001600160a01b031614158015611cac5750600081115b15611a51576001600160a01b03831615611d3a576001600160a01b038316600090815260ff602052604081208190611ce79061250485612510565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611d2f929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615611a51576001600160a01b038216600090815260ff602052604081208190611d709061268585612510565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611db8929190918252602082015260400190565b60405180910390a25050505050565b600054610100900460ff16611e325760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016107b0565b6068611e3e838261306f565b506069611a51828261306f565b600054610100900460ff16611eb65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016107b0565b6099611ec2838261306f565b50609a611ecf828261306f565b50506000609781905560985550565b600054610100900460ff16611f495760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016107b0565b306001600160a01b03821603611fa15760405162461bcd60e51b815260206004820152601e60248201527f4552433230577261707065723a2063616e6e6f742073656c662077726170000060448201526064016107b0565b61013080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156120135750600090506003612097565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612067573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661209057600060019250925050612097565b9150600090505b94509492505050565b60008160048111156120b4576120b461312f565b036120bc5750565b60018160048111156120d0576120d061312f565b0361211d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016107b0565b60028160048111156121315761213161312f565b0361217e5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016107b0565b60038160048111156121925761219261312f565b0361087d5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016107b0565b61220f8282612691565b610b3d61010061250483612510565b6000612273826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128039092919063ffffffff16565b90508051600014806122945750808060200190518101906122949190613145565b611a515760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016107b0565b6001600160a01b03838116600090815260fe6020526040808220548584168352912054611a5192918216911683611c8a565b6123428282612812565b6067546001600160e01b0310156123c15760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201527f766572666c6f77696e6720766f7465730000000000000000000000000000000060648201526084016107b0565b610b3d61010061268583612510565b6000806123db6116fe565b8051909150156123f2578051602090910120919050565b60975480156124015792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b60008061243461170d565b80519091501561244b578051602090910120919050565b60985480156124015792915050565b600080608083901c1561246f57608092831c92015b604083901c1561248157604092831c92015b602083901c1561249357602092831c92015b601083901c156124a557601092831c92015b600883901c156124b757600892831c92015b600483901c156124c957600492831c92015b600283901c156124db57600292831c92015b600183901c156106095760010192915050565b60008183106124fd57816106c5565b5090919050565b60006106c58284612fd6565b8254600090819081811561255d5760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152612572565b60408051808201909152600080825260208201525b905080602001516001600160e01b0316935061259284868863ffffffff16565b92506000821180156125bc57506125a7610b43565b65ffffffffffff16816000015163ffffffff16145b15612601576125ca836128db565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff90921691909117905561267b565b866040518060400160405280612625612618610b43565b65ffffffffffff1661167e565b63ffffffff168152602001612639866128db565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60006106c58284612f90565b6001600160a01b03821661270d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107b0565b6001600160a01b0382166000908152606560205260409020548181101561279c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016107b0565b6001600160a01b03831660008181526065602090815260408083208686039055606780548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611a5183600084611a56565b606061199b848460008561295a565b6001600160a01b0382166128685760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107b0565b806067600082825461287a9190612f90565b90915550506001600160a01b0382166000818152606560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361179160008383611a56565b60006001600160e01b038211156116fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f323420626974730000000000000000000000000000000000000000000000000060648201526084016107b0565b6060824710156129d25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016107b0565b600080866001600160a01b031685876040516129ee9190613167565b60006040518083038185875af1925050503d8060008114612a2b576040519150601f19603f3d011682016040523d82523d6000602084013e612a30565b606091505b5091509150612a4187838387612a4c565b979650505050505050565b60608315612abb578251600003612ab4576001600160a01b0385163b612ab45760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107b0565b508161199b565b61199b8383815115612ad05781518083602001fd5b8060405162461bcd60e51b81526004016107b09190612b64565b600060208284031215612afc57600080fd5b81356001600160e01b0319811681146106c557600080fd5b60005b83811015612b2f578181015183820152602001612b17565b50506000910152565b60008151808452612b50816020860160208601612b14565b601f01601f19169290920160200192915050565b6020815260006106c56020830184612b38565b6001600160a01b038116811461087d57600080fd5b60008060408385031215612b9f57600080fd5b8235612baa81612b77565b946020939093013593505050565b600080600060608486031215612bcd57600080fd5b8335612bd881612b77565b92506020840135612be881612b77565b929592945050506040919091013590565b600060208284031215612c0b57600080fd5b81356106c581612b77565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152612c5260e084018a612b38565b8381036040850152612c64818a612b38565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015612cb657835183529284019291840191600101612c9a565b50909c9b505050505050505050505050565b600060208284031215612cda57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612d0857600080fd5b813567ffffffffffffffff80821115612d2357612d23612ce1565b604051601f8301601f19908116603f01168101908282118183101715612d4b57612d4b612ce1565b81604052838152866020858801011115612d6457600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215612d9957600080fd5b8335612da481612b77565b9250602084013567ffffffffffffffff80821115612dc157600080fd5b612dcd87838801612cf7565b93506040860135915080821115612de357600080fd5b50612df086828701612cf7565b9150509250925092565b60ff8116811461087d57600080fd5b60008060008060008060c08789031215612e2257600080fd5b8635612e2d81612b77565b955060208701359450604087013593506060870135612e4b81612dfa565b9598949750929560808101359460a0909101359350915050565b600080600080600080600060e0888a031215612e8057600080fd5b8735612e8b81612b77565b96506020880135612e9b81612b77565b955060408801359450606088013593506080880135612eb981612dfa565b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215612ee957600080fd5b8235612ef481612b77565b91506020830135612f0481612b77565b809150509250929050565b60008060408385031215612f2257600080fd5b8235612f2d81612b77565b9150602083013563ffffffff81168114612f0457600080fd5b600181811c90821680612f5a57607f821691505b6020821081036119c557634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561060957610609612f7a565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612fcb57600080fd5b81516106c581612dfa565b8181038181111561060957610609612f7a565b634e487b7160e01b600052601260045260246000fd5b60008261301c57634e487b7160e01b600052601260045260246000fd5b500490565b601f821115611a5157600081815260208120601f850160051c810160208610156130485750805b601f850160051c820191505b8181101561306757828155600101613054565b505050505050565b815167ffffffffffffffff81111561308957613089612ce1565b61309d816130978454612f46565b84613021565b602080601f8311600181146130d257600084156130ba5750858301515b600019600386901b1c1916600185901b178555613067565b600085815260208120601f198616915b82811015613101578886015182559484019460019091019084016130e2565b508582101561311f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561315757600080fd5b815180151581146106c557600080fd5b60008251613179818460208701612b14565b919091019291505056fea2646970667358221220fcbdfc77ae235cee970ada1883c98ced7a7feb3a1d7d23e7c9f581b0f341015664736f6c63430008110033496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000