5 txs
152 calls
constructor
constructor()
functions
currIFOAddress
viewfunction currIFOAddress() view returns (address)
MAX_BUFFER_SECONDS_VESTING
viewfunction MAX_BUFFER_SECONDS_VESTING() view returns (uint256)
MAX_BUFFER_SECONDS
viewfunction MAX_BUFFER_SECONDS() view returns (uint256)
owner
viewfunction owner() view returns (address)
createIFO
nonpayablefunction createIFO(address[] _addresses, uint256[] _startAndEndTimestamps, uint8 _maxPoolId, uint256 _pointThreshold, uint256 _vestingStartTime)
recoverWrongTokens
nonpayablefunction recoverWrongTokens(address _tokenAddress)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateMaxBuffer
nonpayablefunction updateMaxBuffer(uint256 newMaxBuffer)
events
AdminTokenRecovery
event AdminTokenRecovery(address indexed tokenRecovered, uint256 amount)
NewIFOContract
event NewIFOContract(address indexed ifoAddress)
NewMaxBuffer
event NewMaxBuffer(uint256 maxBuffer)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
AdminAddressIsNull
error AdminAddressIsNull()
EndTimeTooFar
error EndTimeTooFar()
LpTokenSameWithOfferingToken
error LpTokenSameWithOfferingToken()
StartTimeMustGreaterThanCurrentBlockTime
error StartTimeMustGreaterThanCurrentBlockTime()
StartTimeMustInferiorToEndTime
error StartTimeMustInferiorToEndTime()
VestingStartTimeMustGreaterThanEndTime
error VestingStartTimeMustGreaterThanEndTime()
VestingStartTimeTooFar
error VestingStartTimeTooFar()
creation bytecode
0x608060405234801561001057600080fd5b5061001a33610026565b62278d00600155610076565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61575e806100856000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c8063114c0fa81461008857806354070e39146100b8578063715018a6146100cf578063746268cc146100d957806387b7db5c146100ec5780638da5cb5b146100ff578063d04cbeb314610107578063eec784bd14610111578063f2fde38b14610124575b600080fd5b60025461009b906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c160015481565b6040519081526020016100af565b6100d7610137565b005b6100d76100e7366004610c18565b61017b565b6100d76100fa366004610c33565b6102c2565b61009b61032c565b6100c162278d0081565b6100d761011f366004610c98565b61033b565b6100d7610132366004610c18565b610853565b3361014061032c565b6001600160a01b03161461016f5760405162461bcd60e51b815260040161016690610d34565b60405180910390fd5b61017960006108f3565b565b3361018461032c565b6001600160a01b0316146101aa5760405162461bcd60e51b815260040161016690610d34565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156101f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102159190610d69565b9050600081116102675760405162461bcd60e51b815260206004820152601f60248201527f4f7065726174696f6e733a2042616c616e6365206d757374206265203e2030006044820152606401610166565b61027b6001600160a01b0383163383610943565b816001600160a01b03167f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab78129826040516102b691815260200190565b60405180910390a25050565b336102cb61032c565b6001600160a01b0316146102f15760405162461bcd60e51b815260040161016690610d34565b60018190556040518181527f6d0e750dce5e074f2672f12d0fd1de4bab34323530b02e094e59481a0850df609060200160405180910390a150565b6000546001600160a01b031690565b3361034461032c565b6001600160a01b03161461036a5760405162461bcd60e51b815260040161016690610d34565b60008787600081811061037f5761037f610d82565b90506020020160208101906103949190610c18565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f59190610d69565b101561040057600080fd5b60008787600181811061041557610415610d82565b905060200201602081019061042a9190610c18565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610467573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048b9190610d69565b101561049657600080fd5b868660018181106104a9576104a9610d82565b90506020020160208101906104be9190610c18565b6001600160a01b0316878760008181106104da576104da610d82565b90506020020160208101906104ef9190610c18565b6001600160a01b0316141561051757604051637299907360e11b815260040160405180910390fd5b60008787600481811061052c5761052c610d82565b90506020020160208101906105419190610c18565b6001600160a01b0316141561056957604051630e8f677560e21b815260040160405180910390fd5b6001546105769042610d98565b8585600181811061058957610589610d82565b90506020020135106105ae5760405163eb47c4f360e01b815260040160405180910390fd5b848460018181106105c1576105c1610d82565b90506020020135858560008181106105db576105db610d82565b9050602002013510610600576040516311af708560e21b815260040160405180910390fd5b428585600081811061061457610614610d82565b90506020020135116106395760405163582314d560e11b815260040160405180910390fd5b80156106875762278d008585600181811061065657610656610d82565b905060200201356106679190610d98565b8111156106875760405163934d841560e01b815260040160405180910390fd5b60006040518060200161069990610bef565b601f1982820381018352601f9091011660405290506000888882816106c0576106c0610d82565b90506020020160208101906106d59190610c18565b898960018181106106e8576106e8610d82565b90506020020160208101906106fd9190610c18565b8888600081811061071057610710610d82565b6040516bffffffffffffffffffffffff19606096871b81166020838101919091529590961b90951660348601529290920201356048830152506068016040516020818303038152906040528051906020012090506000818351602085016000f5600154604051636865f6e960e01b81529192506001600160a01b03831691636865f6e9916107ae918e918e918e918e918e908e908e90600401610dbe565b600060405180830381600087803b1580156107c857600080fd5b505af11580156107dc573d6000803e3d6000fd5b50506002546001600160a01b038481169116149150610813905057600280546001600160a01b0319166001600160a01b0383161790555b6040516001600160a01b038216907f3b823f91f23e8f12a60f36282813ffed043efcb2101731734672a4726c08645490600090a250505050505050505050565b3361085c61032c565b6001600160a01b0316146108825760405162461bcd60e51b815260040161016690610d34565b6001600160a01b0381166108e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610166565b6108f0816108f3565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261099590849061099a565b505050565b60006109ef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a6c9092919063ffffffff16565b8051909150156109955780806020019051810190610a0d9190610e64565b6109955760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610166565b6060610a7b8484600085610a85565b90505b9392505050565b606082471015610ae65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610166565b6001600160a01b0385163b610b3d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610166565b600080866001600160a01b03168587604051610b599190610eb6565b60006040518083038185875af1925050503d8060008114610b96576040519150601f19603f3d011682016040523d82523d6000602084013e610b9b565b606091505b5091509150610bab828286610bb6565b979650505050505050565b60608315610bc5575081610a7e565b825115610bd55782518084602001fd5b8160405162461bcd60e51b81526004016101669190610ed2565b61482380610f0683390190565b80356001600160a01b0381168114610c1357600080fd5b919050565b600060208284031215610c2a57600080fd5b610a7e82610bfc565b600060208284031215610c4557600080fd5b5035919050565b60008083601f840112610c5e57600080fd5b50813567ffffffffffffffff811115610c7657600080fd5b6020830191508360208260051b8501011115610c9157600080fd5b9250929050565b600080600080600080600060a0888a031215610cb357600080fd5b873567ffffffffffffffff80821115610ccb57600080fd5b610cd78b838c01610c4c565b909950975060208a0135915080821115610cf057600080fd5b50610cfd8a828b01610c4c565b909650945050604088013560ff81168114610d1757600080fd5b969995985093969295946060840135945060809093013592915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610d7b57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60008219821115610db957634e487b7160e01b600052601160045260246000fd5b500190565b60c0808252810188905260008960e08301825b8b811015610dff576001600160a01b03610dea84610bfc565b16825260209283019290910190600101610dd1565b5083810360208501528881526001600160fb1b03891115610e1f57600080fd5b8860051b9150818a602083013760009101602001908152604083018790529050610e4e606083018660ff169052565b608082019390935260a001529695505050505050565b600060208284031215610e7657600080fd5b81518015158114610a7e57600080fd5b60005b83811015610ea1578181015183820152602001610e89565b83811115610eb0576000848401525b50505050565b60008251610ec8818460208701610e86565b9190910192915050565b6020815260008251806020840152610ef1816040850160208701610e86565b601f01601f1916919091016040019291505056fe60a06040523480156200001157600080fd5b50600160005562000022336200002c565b336080526200007e565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6080516147896200009a600039600061134001526147896000f3fe608060405234801561001057600080fd5b50600436106102ab5760003560e01c80638da5cb5b11610172578063ca463ca4116100d9578063ea1bb3d511610092578063ea1bb3d514610673578063edf26d9b14610686578063f2fde38b14610699578063f51321d7146106ac578063f7c469f0146106bf578063f9cd5c12146106d2578063feebf529146106f257600080fd5b8063ca463ca4146105fe578063caa7f2321461061e578063d04dac1514610631578063e2ec6ec314610644578063e6fd48bc14610657578063e90507631461066057600080fd5b8063ae8973a01161012b578063ae8973a014610575578063b0adb22014610588578063b1ced5e714610591578063b6549f75146105b0578063b86c6f14146105b8578063c0297737146105eb57600080fd5b80638da5cb5b146104bd5780639ef346b4146104c55780639f1b524814610523578063a47ff7e514610536578063a85adeab14610563578063a8660a781461056c57600080fd5b806349032cdb11610216578063760b3180116101cf578063760b31801461043d57806379795108146104465780637b9417c81461044e5780637f1bdd76146104615780638518b3c5146104745780638af104da146104aa57600080fd5b806349032cdb146103c55780634af3c9b7146103e557806354070e391461040657806367d42a8b1461040f5780636865f6e914610422578063715018a61461043557600080fd5b806328fddfaf1161026857806328fddfaf1461033857806337f859b8146103455780633af32abf146103585780633f138d4b1461038457806346ab91bf1461039757806348deb471146103bd57600080fd5b806306cec857146102b057806313083617146102d85780631e3bba08146102ea5780632374876c146102fd57806324953eaa14610312578063286dd3f514610325575b600080fd5b6102c36102be366004613eed565b610712565b60405190151581526020015b60405180910390f35b6032545b6040519081526020016102cf565b6102dc6102f8366004613f1b565b610735565b61031061030b366004613f50565b6107e3565b005b610310610320366004613fb6565b610c09565b610310610333366004613eed565b610d0b565b6031546102c39060ff1681565b6102dc610353366004613ff7565b610d83565b6102c3610366366004613eed565b6001600160a01b031660009081526002602052604090205460ff1690565b610310610392366004614010565b610e34565b6103aa6103a5366004613ff7565b610ef5565b6040516102cf9796959493929190614052565b6034546102dc565b6102dc6103d3366004613eed565b602f6020526000908152604090205481565b6103f86103f33660046140ad565b610fd8565b6040516102cf92919061413c565b6102dc600c5481565b61031061041d366004613ff7565b611175565b610310610430366004614195565b611334565b61031061161d565b6102dc60125481565b6102dc611658565b61031061045c366004613eed565b6116dd565b61031061046f366004614230565b611758565b61049d610482366004613ff7565b602e602052600090815260409020546001600160a01b031681565b6040516102cf9190614253565b6102dc6104b8366004614010565b611d2b565b61049d611d72565b6104d86104d3366004613ff7565b611d81565b6040516102cf91908151151581526020808301516001600160a01b03169082015260408083015160ff1690820152606080830151908201526080918201519181019190915260a00190565b610310610531366004614267565b611ded565b600f5460105460115461054892919083565b604080519384526020840192909252908201526060016102cf565b6102dc600b5481565b6102dc60305481565b610310610583366004614289565b611f3d565b6102dc600e5481565b600d5461059e9060ff1681565b60405160ff90911681526020016102cf565b610310611fae565b6105cb6105c6366004613ff7565b612012565b6040805194855260208501939093529183015260608201526080016102cf565b6102c36105f9366004613eed565b61209f565b61061161060c3660046140ad565b612293565b6040516102cf91906142a1565b61031061062c366004613fb6565b6123de565b6102c361063f366004613eed565b6124d4565b610310610652366004613fb6565b6126d7565b6102dc600a5481565b61031061066e366004614319565b6127d4565b6102dc610681366004613ff7565b612a39565b61049d610694366004613ff7565b612abd565b6103106106a7366004613eed565b612add565b6104d86106ba366004614010565b612b7d565b6102dc6106cd366004613eed565b612b92565b6106e56106e03660046140ad565b612bb6565b6040516102cf91906143a8565b6102dc610700366004613eed565b602d6020526000908152604090205481565b6001600160a01b03811660009081526002602052604081205460ff165b92915050565b600d5460009060ff90811690831611156107515750600061072f565b600061075e846000611d2b565b600081815260336020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b90048316938101849052600182015460608201526002909101546080820152929350851614156107cf5750905061072f565b6107da856001611d2b565b95945050505050565b6002600054141561080f5760405162461bcd60e51b8152600401610806906143bb565b60405180910390fd5b600260005561081d81612c71565b600b54336000908152602c6020908152604080832060ff868116855292529091208054600190910154610851939216612c9b565b336000908152602f6020526040902054156109af57600080806004600201546001600160a01b031663987ee1566004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd5906108b1903390600401614253565b602060405180830381865afa1580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f29190614408565b6040518263ffffffff1660e01b815260040161090e9190614253565b60c060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190614425565b95509550955050505080158061097357506009546001600160a01b03848116911614155b8061098d5750336000908152602f60205260409020548214155b156109ab576040516319a9a2ef60e01b815260040160405180910390fd5b5050505b6109b833612cf8565b336000908152602c6020908152604080832060ff8516845290915290206001908101805460ff191690911790556030546109f157426030555b6000806000610a003385612eaf565b919450925090508015610a58578060138560ff1660028110610a2457610a246143f2565b600c020160060154610a36919061449a565b60138560ff1660028110610a4c57610a4c6143f2565b600c0201600601819055505b8215610bea57600060138560ff1660028110610a7657610a766143f2565b600c0201600801600001546064610a8d91906144b2565b1115610b38576000606460138660ff1660028110610aad57610aad6143f2565b600c0201600801600001546064610ac491906144b2565b610ace90866144c9565b610ad891906144e8565b9050610af63382600460015b01546001600160a01b031691906130f0565b604080518281526020810185905260ff87169133917f51524c2e5edfedf8b01b29719c661e4fbe27e71734e7cd773dabb7cb712fb3b3910160405180910390a3505b600060138560ff1660028110610b5057610b506143f2565b600c0201600801600001541115610bea576000606460138660ff1660028110610b7b57610b7b6143f2565b600c02016008016000015485610b9191906144c9565b610b9b91906144e8565b9050610ba8338683613153565b604080518281526020810185905260ff87169133917f4b386667138d87683f75b2e46ad8ac192b053af4c8875da8689415997663a950910160405180910390a3505b8115610bfe57610bfe338360046000610ae4565b505060016000555050565b33610c12611d72565b6001600160a01b031614610c385760405162461bcd60e51b81526004016108069061450a565b60005b81811015610d0657600060026000858585818110610c5b57610c5b6143f2565b9050602002016020810190610c709190613eed565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110610caa57610caa6143f2565b9050602002016020810190610cbf9190613eed565b6001600160a01b03167ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a60405160405180910390a280610cfe8161453f565b915050610c3b565b505050565b33610d14611d72565b6001600160a01b031614610d3a5760405162461bcd60e51b81526004016108069061450a565b6001600160a01b038116600081815260026020526040808220805460ff19169055517ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a9190a250565b600060138260028110610d9857610d986143f2565b600c02016003015460ff16610daf57506000919050565b600060138360028110610dc457610dc46143f2565b600c0201600401541115610df45760138260028110610de557610de56143f2565b600c0201600401549050919050565b61072f60138360028110610e0a57610e0a6143f2565b600c02016005015460138460028110610e2557610e256143f2565b600c02015461335b565b919050565b610e3c6133f9565b6004546001600160a01b0383811691161415610e6b576040516310da472360e01b815260040160405180910390fd5b6005546001600160a01b0383811691161415610e9a5760405163a8dfadb960e01b815260040160405180910390fd5b610eae6001600160a01b03831633836130f0565b604080516001600160a01b0384168152602081018390527f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab7812991015b60405180910390a15050565b600080600080600080600060138860028110610f1357610f136143f2565b600c02015460138960028110610f2b57610f2b6143f2565b600c02016001015460138a60028110610f4657610f466143f2565b600c02016002015460138b60028110610f6157610f616143f2565b600c02016003015460ff1660138c60028110610f7f57610f7f6143f2565b600c02016005015460138d60028110610f9a57610f9a6143f2565b600c02016006015460138e60028110610fb557610fb56143f2565b600c020160070154959e949d50929b509099509750955060ff9091169350915050565b6060806000836001600160401b03811115610ff557610ff561455a565b60405190808252806020026020018201604052801561101e578160200160208202803683370190505b5090506000846001600160401b0381111561103b5761103b61455a565b604051908082528060200260200182016040528015611064578160200160208202803683370190505b50905060005b60ff811686111561116857600087878360ff1681811061108c5761108c6143f2565b90506020020160208101906110a19190613f50565b600d5490915060ff90811690821611611155576001600160a01b0389166000908152602c6020908152604080832060ff80861685529252909120548551909186919085169081106110f4576110f46143f2565b6020908102919091018101919091526001600160a01b038a166000908152602c8252604080822060ff808616845293529020600101548451908216918591908516908110611144576111446143f2565b911515602092830291909101909101525b508061116081614570565b91505061106a565b5090969095509350505050565b600260005414156111985760405162461bcd60e51b8152600401610806906143bb565b60026000908155818152603360205260409020546111b89060ff16613429565b6000818152603360205260408120805490916101009091046001600160a01b03163314906111e4611d72565b6001600160a01b0316336001600160a01b031614905081158015611206575080155b15611224576040516361c042c160e01b815260040160405180910390fd5b6040805160a081018252845460ff808216151583526001600160a01b036101008304166020840152600160a81b9091041691810191909152600184015460608201526002840154608082015260009061127c90613447565b90506000811161129f57604051632d973f4d60e11b815260040160405180910390fd5b8084600201546112af919061449a565b60028501556034546112c29082906144b2565b60345583546112e39061010090046001600160a01b03168260046001610ae4565b83546040518281526101009091046001600160a01b0316907fb21fb52d5749b80f3182f8c6992236b5e5576681880914484d7f4c9b062e619e9060200160405180910390a250506001600055505050565b6003546113679060ff167f000000000000000000000000000000000000000000000000000000000000000089888761359c565b6003805460ff19166001179055600088886002818110611389576113896143f2565b905060200201602081019061139e9190613eed565b6001600160a01b03161461144957878760028181106113bf576113bf6143f2565b90506020020160208101906113d49190613eed565b60405163aee2f47f60e01b8152600160048201526001600160a01b03919091169063aee2f47f90602401600060405180830381865afa15801561141b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114439190810190614643565b50505050505b60008888600381811061145e5761145e6143f2565b90506020020160208101906114739190613eed565b6001600160a01b03161461150c5787876003818110611494576114946143f2565b90506020020160208101906114a99190613eed565b6001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190614408565b505b60005b60ff811688111561158b5788888260ff1681811061152f5761152f6143f2565b90506020020160208101906115449190613eed565b60048260ff166006811061155a5761155a6143f2565b0180546001600160a01b0319166001600160a01b03929092169190911790558061158381614570565b91505061150f565b508585600081811061159f5761159f6143f2565b6020029190910135600a5550858560018181106115be576115be6143f2565b6020029190910135600b5550600c849055600d805460ff191660ff8516179055600e8290556030819055611613888860048181106115fe576115fe6143f2565b90506020020160208101906106a79190613eed565b5050505050505050565b33611626611d72565b6001600160a01b03161461164c5760405162461bcd60e51b81526004016108069061450a565b6116566000613650565b565b6034546005546040516370a0823160e01b8152600092916001600160a01b0316906370a082319061168d903090600401614253565b602060405180830381865afa1580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ce91906146ce565b6116d891906144b2565b905090565b336116e6611d72565b6001600160a01b03161461170c5760405162461bcd60e51b81526004016108069061450a565b6001600160a01b038116600081815260026020526040808220805460ff19166001179055517fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f9190a250565b6002600054141561177b5760405162461bcd60e51b8152600401610806906143bb565b600260005561178981612c71565b6007546040516316fc4fd560e01b81526000916001600160a01b0316906316fc4fd5906117ba903390600401614253565b602060405180830381865afa1580156117d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fb9190614408565b905061188081846004600201546001600160a01b0316601360ff871660028110611827576118276143f2565b600c020160070160009054906101000a900460ff1660138760ff1660028110611852576118526143f2565b600c02016001015460138860ff1660028110611870576118706143f2565b600c020154600a54600b546136a2565b6012546005546040516370a0823160e01b81526001600160a01b03909116906370a08231906118b3903090600401614253565b602060405180830381865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f491906146ce565b10156119135760405163726da7d560e11b815260040160405180910390fd5b600060138360ff166002811061192b5761192b6143f2565b600c02016007015460ff1660028111156119475761194761403c565b14806119845750600260138360ff1660028110611966576119666143f2565b600c02016007015460ff1660028111156119825761198261403c565b145b15611b08576007546001600160a01b0316158015906119d55750600260138360ff16600281106119b6576119b66143f2565b600c02016007015460ff1660028111156119d2576119d261403c565b14155b15611a8d576007546040516336b5bc3760e21b81526000916001600160a01b03169063dad6f0dc90611a0b903390600401614253565b602060405180830381865afa158015611a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4c91906146ce565b336000908152602d60205260409020549091508190611a6c90869061449a565b1115611a8b57604051630448a42b60e21b815260040160405180910390fd5b505b611a9783836137e3565b600060138360ff1660028110611aaf57611aaf6143f2565b600c02016007015460ff166002811115611acb57611acb61403c565b14611ad7576000611ad9565b825b336000908152602d6020526040902054611af3919061449a565b336000908152602d6020526040902055611d21565b6006546001600160a01b031615611d17576000808080600460020154604051634c3f70ab60e11b81526001600160a01b039091169063987ee15690611b51908890600401614253565b60c060405180830381865afa158015611b6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b929190614425565b9550955095505094505080611bba5760405163f7bd660760e01b815260040160405180910390fd5b611bc384613957565b158015611bd65750611bd433610712565b155b8015611bea5750611be8338484613970565b155b15611c08576040516309a318fb60e31b815260040160405180910390fd5b611c1184613957565b158015611c245750611c2233610712565b155b8015611c3d57506009546001600160a01b038481169116145b15611d12576000828152602e60205260409020546001600160a01b0316611c81576000828152602e6020526040902080546001600160a01b03191633179055611cb8565b6000828152602e60205260409020546001600160a01b03163314611cb85760405163d69933c360e01b815260040160405180910390fd5b336000908152602f6020526040902054611ce357336000908152602f60205260409020829055611d12565b336000908152602f60205260409020548214611d1257604051630236c46360e51b815260040160405180910390fd5b505050505b611d2183836137e3565b5050600160005550565b6040516bffffffffffffffffffffffff19606084901b1660208201526034810182905260009060540160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031690565b611d89613e8c565b50600090815260336020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b90049092169282019290925260018201546060820152600290910154608082015290565b611df56133f9565b600480546040516370a0823160e01b8152611edf9285926001600160a01b0316916370a0823191611e2891309101614253565b602060405180830381865afa158015611e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6991906146ce565b6005546040516370a0823160e01b815285916001600160a01b0316906370a0823190611e99903090600401614253565b602060405180830381865afa158015611eb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eda91906146ce565b6139d1565b8115611ef357611ef3338360046000610ae4565b8015611f0757611f07338260046001610ae4565b60408051838152602081018390527f94ebb62a252249c867ecb758d386f50a95be7e8df9e1c52917c9cf494327dd7d9101610ee9565b611f456133f9565b611f50600b54613a19565b60208181013560108190558235600f819055604080850135601181905581519283529382019290925280820192909252517f2058a318dbdfd2edd92a32cfa0ee233a30b165b83b421830109cb22ae86f67459181900360600190a150565b611fb66133f9565b60315460ff1615611fda57604051630476d49560e21b815260040160405180910390fd5b6031805460ff191660011790556040517f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee690600090a1565b6000806000806013856002811061202b5761202b6143f2565b600c02016008016000015460138660028110612049576120496143f2565b600c02016008016001015460138760028110612067576120676143f2565b600c02016008016002015460138860028110612085576120856143f2565b600c02016008016003015493509350935093509193509193565b6006546000906001600160a01b03166120ba57506001919050565b6006546007546040516316fc4fd560e01b81526001600160a01b039283169263ea0d5dcd9216906316fc4fd5906120f5908790600401614253565b602060405180830381865afa158015612112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121369190614408565b6040518263ffffffff1660e01b81526004016121529190614253565b602060405180830381865afa15801561216f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061219391906146e7565b61219f57506000919050565b6006546007546040516316fc4fd560e01b81526000926001600160a01b039081169263987ee156929116906316fc4fd5906121de908890600401614253565b602060405180830381865afa1580156121fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061221f9190614408565b6040518263ffffffff1660e01b815260040161223b9190614253565b60c060405180830381865afa158015612258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227c9190614425565b5050505091505061228c81613957565b9392505050565b60606000826001600160401b038111156122af576122af61455a565b6040519080825280602002602001820160405280156122e857816020015b6122d5613eba565b8152602001906001900390816122cd5790505b50905060005b60ff81168411156123d557600080600080601389898760ff16818110612316576123166143f2565b905060200201602081019061232b9190613f50565b60ff166002811061233e5761233e6143f2565b600c02015411156123845761237c8989898760ff16818110612362576123626143f2565b90506020020160208101906123779190613f50565b612eaf565b919450925090505b604051806060016040528084815260200183815260200182815250858560ff16815181106123b4576123b46143f2565b602002602001018190525050505080806123cd90614570565b9150506122ee565b50949350505050565b6123e66133f9565b61242c600c5483839050600a5485856000818110612406576124066143f2565b9050602002013586866001818110612420576124206143f2565b90506020020135613a39565b8181600081811061243f5761243f6143f2565b6020029190910135600a55508181600181811061245e5761245e6143f2565b6020029190910135600b55507f57df350cfad05a64accd73700fee8a7febd6d8430e035e45f0599ca62494aa8b828260008161249c5761249c6143f2565b90506020020135838360018181106124b6576124b66143f2565b90506020020135604051610ee9929190918252602082015260400190565b6006546000906001600160a01b03166124ef57506001919050565b6006546007546040516316fc4fd560e01b81526001600160a01b039283169263ea0d5dcd9216906316fc4fd59061252a908790600401614253565b602060405180830381865afa158015612547573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256b9190614408565b6040518263ffffffff1660e01b81526004016125879190614253565b602060405180830381865afa1580156125a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c891906146e7565b6125d457506000919050565b6000806004600201546001600160a01b031663987ee1566004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd59061261e908990600401614253565b602060405180830381865afa15801561263b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265f9190614408565b6040518263ffffffff1660e01b815260040161267b9190614253565b60c060405180830381865afa158015612698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126bc9190614425565b50945094505050506126cf848383613970565b949350505050565b336126e0611d72565b6001600160a01b0316146127065760405162461bcd60e51b81526004016108069061450a565b60005b81811015610d0657600160026000858585818110612729576127296143f2565b905060200201602081019061273e9190613eed565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110612778576127786143f2565b905060200201602081019061278d9190613eed565b6001600160a01b03167fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f60405160405180910390a2806127cc8161453f565b915050612709565b6127dc6133f9565b6127e583612c71565b600a546127ff908686843560408601356060870135613ae3565b8760138460ff1660028110612816576128166143f2565b600c0201600101819055508660138460ff1660028110612838576128386143f2565b600c02015585601360ff851660028110612854576128546143f2565b600c0201600201819055508460138460ff1660028110612876576128766143f2565b600c020160030160006101000a81548160ff0219169083151502179055508360138460ff16600281106128ab576128ab6143f2565b600c0201600401819055508160138460ff16600281106128cd576128cd6143f2565b600c020160070160006101000a81548160ff021916908360028111156128f5576128f561403c565b02179055508035601360ff851660028110612912576129126143f2565b600c020160080160000181905550806020013560138460ff166002811061293b5761293b6143f2565b600c020160080160010181905550806040013560138460ff1660028110612964576129646143f2565b600c020160080160020181905550806060013560138460ff166002811061298d5761298d6143f2565b600c0201600b01556000805b600d5460ff908116908216116129e65760138160ff16600281106129bf576129bf6143f2565b600c020160010154826129d2919061449a565b9150806129de81614570565b915050612999565b506012819055604080518a8152602081018a905260ff86168183015290517fddaf243a142670be60c19ff7116b5d8b124717b29bb4cc03cead42161614105b9181900360600190a1505050505050505050565b600081815260336020526040812054612a549060ff16613429565b600082815260336020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b90049092169282019290925260018201546060820152600290910154608082015261072f90613447565b60048160068110612acd57600080fd5b01546001600160a01b0316905081565b33612ae6611d72565b6001600160a01b031614612b0c5760405162461bcd60e51b81526004016108069061450a565b6001600160a01b038116612b715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610806565b612b7a81613650565b50565b612b85613e8c565b61228c6104d38484611d2b565b6001600160a01b03811660009081526035602052604081205461072f908390611d2b565b60606000826001600160401b03811115612bd257612bd261455a565b604051908082528060200260200182016040528015612bfb578160200160208202803683370190505b50905060005b60ff81168411156123d557612c3f8686868460ff16818110612c2557612c256143f2565b9050602002016020810190612c3a9190613f50565b613bcf565b828260ff1681518110612c5457612c546143f2565b602090810291909101015280612c6981614570565b915050612c01565b600d5460ff9081169082161115612b7a57604051630a26ca2560e31b815260040160405180910390fd5b824211612cbb5760405163085de62560e01b815260040160405180910390fd5b81612cd9576040516337191a8560e21b815260040160405180910390fd5b8015610d06576040516302cce53760e21b815260040160405180910390fd5b6006546001600160a01b031615612b7a576001600160a01b0381166000908152602b602052604090205460ff16158015612d33575060105415155b15612b7a576000805b600d5460ff90811690821611612d8857336000908152602c6020908152604080832060ff85168452909152902054612d74908361449a565b915080612d8081614570565b915050612d3c565b50601154811115612eab576001600160a01b0382166000908152602b60205260409020805460ff191660011790556004600201546001600160a01b0316631bdc17f66004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd590612dfd903390600401614253565b602060405180830381865afa158015612e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e3e9190614408565b601054600f5460405160e085901b6001600160e01b03191681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b158015612e9257600080fd5b505af1158015612ea6573d6000803e3d6000fd5b505050505b5050565b60008060008060008060138760ff1660028110612ece57612ece6143f2565b600c020154601360ff891660028110612ee957612ee96143f2565b600c020160050154111561306b576000612f038989613bcf565b905064e8d4a510008160138a60ff1660028110612f2257612f226143f2565b600c020160010154612f3491906144c9565b612f3e91906144e8565b9350600064e8d4a510008260138b60ff1660028110612f5f57612f5f6143f2565b600c020154612f6e91906144c9565b612f7891906144e8565b6001600160a01b038b166000908152602c6020908152604080832060ff8e168452909152902054909150612fad9082906144b2565b935060138960ff1660028110612fc557612fc56143f2565b600c02016003015460ff161561306457600060138a60ff1660028110612fed57612fed6143f2565b600c0201600401549050806000141561303a5761303760138b60ff1660028110613019576130196143f2565b600c02016005015460138c60ff1660028110610e2557610e256143f2565b90505b64e8d4a5100061304a82876144c9565b61305491906144e8565b935061306084866144b2565b9450505b50506130e2565b60138760ff1660028110613081576130816143f2565b600c020154601360ff89166002811061309c5761309c6143f2565b600c0201600101546001600160a01b038a166000908152602c6020908152604080832060ff8d1684529091529020546130d591906144c9565b6130df91906144e8565b92505b919450925090509250925092565b6040516001600160a01b038316602482015260448101829052610d0690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613c7e565b8061315c611658565b10156131c95760405162461bcd60e51b815260206004820152603660248201527f63616e206e6f74206372656174652076657374696e67207363686564756c6520604482015275776974682073756666696369656e7420746f6b656e7360501b6064820152608401610806565b60006131d484612b92565b60008181526033602052604090205490915061010090046001600160a01b03161561324b5760405162461bcd60e51b815260206004820152602160248201527f76657374696e675363686564756c654964206973206265656e206372656174656044820152601960fa1b6064820152608401610806565b6040805160a08101825260018082526001600160a01b03878116602080850191825260ff898116868801908152606087018a81526000608089018181528b825260339095529890982096518754945191516001600160a81b0319909516901515610100600160a81b0319161761010091909516029390931760ff60a81b1916600160a81b929093169190910291909117835592519082015590516002909101556034546132f990839061449a565b60345560328054600181019091557f11df491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff697018190556001600160a01b03841660009081526035602052604081208054916133508361453f565b919050555050505050565b60008061336883856144e8565b90506105dc811061338057630ee6b28091505061072f565b6103e8811061339657631dcd650091505061072f565b6101f481106133ac57633b9aca0091505061072f565b60fa81106133c157634a817c8091505061072f565b606481106133d6576359682f0091505061072f565b603281106133eb57639502f90091505061072f565b64012a05f20091505061072f565b33613402611d72565b6001600160a01b03161461165657604051635fc483c560e01b815260040160405180910390fd5b80612b7a57604051638bc0c80560e01b815260040160405180910390fd5b60006013826040015160ff1660028110613463576134636143f2565b600c02016008016001015460305461347b919061449a565b42101561348a57506000919050565b6013826040015160ff16600281106134a4576134a46143f2565b600c0201600801600201546030546134bc919061449a565b421015806134cc575060315460ff165b156134e5578160800151826060015161072f91906144b2565b6000603054426134f591906144b2565b905060006013846040015160ff1660028110613513576135136143f2565b600c02016008016003015490506000818361352e91906144e8565b9050600061353c83836144c9565b905060006013876040015160ff166002811061355a5761355a6143f2565b600c02016008016002015482886060015161357591906144c9565b61357f91906144e8565b905086608001518161359191906144b2565b979650505050505050565b84156135ba5760405162dc149f60e41b815260040160405180910390fd5b336001600160a01b038516146135e357604051631966391b60e11b815260040160405180910390fd5b8260061461360457604051633b9b621f60e01b815260040160405180910390fd5b8160021461362557604051631397ee3560e31b815260040160405180910390fd5b60028160ff16106136495760405163a854b3bd60e01b815260040160405180910390fd5b5050505050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038616158015906136cc575060028560028111156136c9576136c961403c565b14155b1561375b5760405163ea0d5dcd60e01b81526001600160a01b0387169063ea0d5dcd906136fd903390600401614253565b602060405180830381865afa15801561371a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061373e91906146e7565b61375b5760405163645bb1bd60e11b815260040160405180910390fd5b831580613766575082155b1561378457604051633c67586360e01b815260040160405180910390fd5b8142116137a45760405163085de62560e01b815260040160405180910390fd5b804211156137c55760405163ecdd1c2960e01b815260040160405180910390fd5b8661161357604051639e6c689560e01b815260040160405180910390fd5b6004546137fb906001600160a01b0316333085613d50565b336000908152602c6020908152604080832060ff8516845290915290205461382490839061449a565b336000908152602c6020908152604080832060ff861680855292528220929092559060139060028110613859576138596143f2565b600c02016002015411156138c25760138160ff166002811061387d5761387d6143f2565b600c020160020154336000908152602c6020908152604080832060ff8616845290915290205411156138c25760405163037351d360e11b815260040160405180910390fd5b8160138260ff16600281106138d9576138d96143f2565b600c0201600501546138eb919061449a565b60138260ff1660028110613901576139016143f2565b600c0201600501819055508060ff16336001600160a01b03167ff763e680fce25a97ffd55d8b705370c98b47b2285f7b3b2900c43606fd4180458460405161394b91815260200190565b60405180910390a35050565b6000600e5460001415801561072f575050600e54111590565b60006004600501546001600160a01b0384811691161480156126cf57506000828152602e60205260409020546001600160a01b031615806126cf57506000828152602e60205260409020546001600160a01b03858116911614949350505050565b828411156139f2576040516330a3824960e21b815260040160405180910390fd5b80821115613a1357604051632af9b86160e01b815260040160405180910390fd5b50505050565b804210612b7a57604051630ffe6bd560e21b815260040160405180910390fd5b83600214613a5a57604051631397ee3560e31b815260040160405180910390fd5b613a64854261449a565b8110613a835760405163eb47c4f360e01b815260040160405180910390fd5b824210613aa3576040516365be5cfd60e11b815260040160405180910390fd5b808210613ac3576040516311af708560e21b815260040160405180910390fd5b8142106136495760405163582314d560e11b815260040160405180910390fd5b854210613b03576040516365be5cfd60e11b815260040160405180910390fd5b64e8d4a510008410613b2857604051634494446160e11b815260040160405180910390fd5b6064831115613b4a57604051630e07a92f60e01b815260040160405180910390fd5b81613b6857604051630914cb9d60e41b815260040160405180910390fd5b6001811015613b8a57604051631018767560e11b815260040160405180910390fd5b81811115613bab57604051630cdbeed760e01b815260040160405180910390fd5b84612ea6578315612ea6576040516355d8bb6760e01b815260040160405180910390fd5b600d5460009060ff9081169083161115613beb5750600061072f565b600060138360ff1660028110613c0357613c036143f2565b600c0201600501541115613c765760138260ff1660028110613c2757613c276143f2565b600c0201600501546001600160a01b0384166000908152602c6020908152604080832060ff87168452909152902054613c659064e8d4a510006144c9565b613c6f91906144e8565b905061072f565b50600061072f565b6000613cd3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613d889092919063ffffffff16565b805190915015610d065780806020019051810190613cf191906146e7565b610d065760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610806565b6040516001600160a01b0380851660248301528316604482015260648101829052613a139085906323b872dd60e01b9060840161311c565b60606126cf8484600085856001600160a01b0385163b613dea5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610806565b600080866001600160a01b03168587604051613e069190614704565b60006040518083038185875af1925050503d8060008114613e43576040519150601f19603f3d011682016040523d82523d6000602084013e613e48565b606091505b509150915061359182828660608315613e6257508161228c565b825115613e725782518084602001fd5b8160405162461bcd60e51b81526004016108069190614720565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b0381168114612b7a57600080fd5b600060208284031215613eff57600080fd5b813561228c81613ed8565b803560ff81168114610e2f57600080fd5b60008060408385031215613f2e57600080fd5b8235613f3981613ed8565b9150613f4760208401613f0a565b90509250929050565b600060208284031215613f6257600080fd5b61228c82613f0a565b60008083601f840112613f7d57600080fd5b5081356001600160401b03811115613f9457600080fd5b6020830191508360208260051b8501011115613faf57600080fd5b9250929050565b60008060208385031215613fc957600080fd5b82356001600160401b03811115613fdf57600080fd5b613feb85828601613f6b565b90969095509350505050565b60006020828403121561400957600080fd5b5035919050565b6000806040838503121561402357600080fd5b823561402e81613ed8565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b600060e08201905088825287602083015286604083015285151560608301528460808301528360a08301526003831061409b57634e487b7160e01b600052602160045260246000fd5b8260c083015298975050505050505050565b6000806000604084860312156140c257600080fd5b83356140cd81613ed8565b925060208401356001600160401b038111156140e857600080fd5b6140f486828701613f6b565b9497909650939450505050565b600081518084526020808501945080840160005b8381101561413157815187529582019590820190600101614115565b509495945050505050565b60408152600061414f6040830185614101565b82810360208481019190915284518083528582019282019060005b8181101561418857845115158352938301939183019160010161416a565b5090979650505050505050565b60008060008060008060008060c0898b0312156141b157600080fd5b88356001600160401b03808211156141c857600080fd5b6141d48c838d01613f6b565b909a50985060208b01359150808211156141ed57600080fd5b506141fa8b828c01613f6b565b9097509550506040890135935061421360608a01613f0a565b92506080890135915060a089013590509295985092959890939650565b6000806040838503121561424357600080fd5b82359150613f4760208401613f0a565b6001600160a01b0391909116815260200190565b6000806040838503121561427a57600080fd5b50508035926020909101359150565b60006060828403121561429b57600080fd5b50919050565b602080825282518282018190526000919084820190604085019084805b828110156142fe57845184835b60038110156142e8578251825291880191908801906001016142cb565b50505093850193606093909301926001016142be565b5091979650505050505050565b8015158114612b7a57600080fd5b600080600080600080600080888a0361016081121561433757600080fd5b8935985060208a0135975060408a0135965060608a01356143578161430b565b955060808a0135945061436c60a08b01613f0a565b935060c08a01356003811061438057600080fd5b9250608060df198201121561439457600080fd5b5060e0890190509295985092959890939650565b60208152600061228c6020830184614101565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561441a57600080fd5b815161228c81613ed8565b60008060008060008060c0878903121561443e57600080fd5b865195506020870151945060408701519350606087015161445e81613ed8565b608088015160a089015191945092506144768161430b565b809150509295509295509295565b634e487b7160e01b600052601160045260246000fd5b600082198211156144ad576144ad614484565b500190565b6000828210156144c4576144c4614484565b500390565b60008160001904831182151516156144e3576144e3614484565b500290565b60008261450557634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060001982141561455357614553614484565b5060010190565b634e487b7160e01b600052604160045260246000fd5b600060ff821660ff81141561458757614587614484565b60010192915050565b60005b838110156145ab578181015183820152602001614593565b83811115613a135750506000910152565b600082601f8301126145cd57600080fd5b81516001600160401b03808211156145e7576145e761455a565b604051601f8301601f19908116603f0116810190828211818310171561460f5761460f61455a565b8160405283815286602085880101111561462857600080fd5b614639846020830160208901614590565b9695505050505050565b600080600080600060a0868803121561465b57600080fd5b85516001600160401b038082111561467257600080fd5b61467e89838a016145bc565b9650602088015191508082111561469457600080fd5b506146a1888289016145bc565b945050604086015192506060860151915060808601516146c08161430b565b809150509295509295909350565b6000602082840312156146e057600080fd5b5051919050565b6000602082840312156146f957600080fd5b815161228c8161430b565b60008251614716818460208701614590565b9190910192915050565b602081526000825180602084015261473f816040850160208701614590565b601f01601f1916919091016040019291505056fea26469706673582212206dff5ea45578dd2fc4ed80d87361b25165d595d723f7036212be4af5a976abbf64736f6c634300080a0033a26469706673582212208d35ec8bd9f13d1d3a3d7268fa15f1bec130f89e597d03f33f0130df265384cb64736f6c634300080a0033