0 txs
223.4k calls
constructor
No constructor.
functions
channelConsumer
viewfunction channelConsumer(uint256 channelId) view returns (address)
channels
viewfunction channels(uint256) view returns (address)
checkSender
viewfunction checkSender(uint256 channelId, address sender) view returns (bool)
checkSign
viewfunction checkSign(uint256 channelId, bytes32 payload, bytes sign) view returns (bool)
consumers
viewfunction consumers(address) view returns (uint256 balance, uint256 nonce, bool approved)
controllers
viewfunction controllers(address) view returns (address)
fee
viewfunction fee() view returns (uint256)
feePerMill
viewfunction feePerMill() view returns (uint256)
getSigners
viewfunction getSigners() view returns (address[])
isSigner
viewfunction isSigner(address signer) view returns (bool)
owner
viewfunction owner() view returns (address)
settings
viewfunction settings() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
addSigner
nonpayablefunction addSigner(address _signer)
approve
nonpayablefunction approve()
claimed
nonpayablefunction claimed(uint256 channelId, uint256 amount)
collectFee
nonpayablefunction collectFee(address account, uint256 amount)
deposit
nonpayablefunction deposit(uint256 amount, bool isApprove)
depositFor
nonpayablefunction depositFor(uint256 _amount, address _for)
disapprove
nonpayablefunction disapprove()
initialize
nonpayablefunction initialize(address _settings, address _sqt, address _channel, uint256 _feePerMill)
paid
nonpayablefunction paid(uint256 channelId, address sender, uint256 amount, bytes callback)
removeControllerAccount
nonpayablefunction removeControllerAccount()
removeSigner
nonpayablefunction removeSigner(address _signer)
renounceOwnership
nonpayablefunction renounceOwnership()
resetAllowance
nonpayablefunction resetAllowance()
setControllerAccount
nonpayablefunction setControllerAccount(address controller)
setFeeRate
nonpayablefunction setFeeRate(uint256 _feePerMill)
setSettings
nonpayablefunction setSettings(address _settings)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 amount)
events
Approve
event Approve(address consumer)
Claimed
event Claimed(uint256 channelId, address consumer, address caller, uint256 amount, uint256 balance)
Deposit
event Deposit(address consumer, uint256 amount, uint256 balance)
Disapprove
event Disapprove(address consumer)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paid
event Paid(uint256 channelId, address consumer, address caller, uint256 amount, uint256 balance, uint256 fee)
Parameter
event Parameter(string name, bytes value)
RemoveControllerAccount
event RemoveControllerAccount(address consumer, address controller)
SetControllerAccount
event SetControllerAccount(address consumer, address controller)
Withdraw
event Withdraw(address consumer, uint256 amount, uint256 balance)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50612b73806100206000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c80638da5cb5b1161010f578063dcde0019116100a2578063eb12d61e11610071578063eb12d61e1461047e578063ee29d1bd14610491578063f2fde38b14610499578063f9177cd8146104ac57600080fd5b8063dcde001914610431578063ddca3f4314610439578063e06174e414610442578063e5949b5d1461045557600080fd5b8063a01d3c2c116100de578063a01d3c2c146103cf578063a54ab457146103e2578063cf756fdf146103f5578063da8c229e1461040857600080fd5b80638da5cb5b146103835780639304c7831461039457806394cf795e146103a75780639a408321146103bc57600080fd5b80632ec0ff6c1161018757806366eeef521161015657806366eeef52146103355780636f2cdea71461033d578063715018a6146103505780637df73e271461035857600080fd5b80632ec0ff6c146102bb57806336efd16f146102ce57806345596e2e146102e157806357c65a57146102f457600080fd5b80630f685fa9116101c35780630f685fa91461027657806312424e3f146102895780632477c49a146102915780632e1a7d4d146102a857600080fd5b806301ffc9a7146101ea5780630bf53668146102125780630e316ab714610261575b600080fd5b6101fd6101f8366004612508565b6104bf565b60405190151581526020015b60405180910390f35b610244610220366004612547565b606a6020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610209565b61027461026f366004612547565b6104f6565b005b6101fd610284366004612629565b610673565b61027461081e565b61029a60695481565b604051908152602001610209565b6102746102b6366004612679565b610968565b6102746102c9366004612692565b610b71565b6102746102dc3660046126be565b610bed565b6102746102ef366004612679565b610ded565b61031d610302366004612679565b6000908152606b60205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610209565b610274610e7e565b6101fd61034b3660046126be565b610fed565b610274611035565b6101fd610366366004612547565b6001600160a01b0316600090815260676020526040902054151590565b6033546001600160a01b031661031d565b6102746103a23660046126ee565b611049565b6103af611562565b6040516102099190612751565b6102746103ca3660046127ac565b6115c4565b6102746103dd366004612547565b611803565b6102746103f03660046127d1565b61182d565b6102746104033660046127f3565b6119a0565b61031d610416366004612547565b606c602052600090815260409020546001600160a01b031681565b610274611b9e565b61029a60685481565b60655461031d906001600160a01b031681565b61031d610463366004612679565b606b602052600090815260409020546001600160a01b031681565b61027461048c366004612547565b611cde565b610274611d42565b6102746104a7366004612547565b611da2565b6102746104ba366004612547565b611e1b565b60006001600160e01b03198216633e1dcb5560e11b14806104f057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6104fe611e7b565b60665461053f5760405162461bcd60e51b8152600401610536906020808252600490820152634330303360e01b604082015260600190565b60405180910390fd5b6001600160a01b0381166000908152606760205260409020548061058e5760405162461bcd60e51b81526004016105369060208082526004908201526310cc0c0d60e21b604082015260600190565b60668054600091906105a29060019061285a565b815481106105b2576105b2612871565b6000918252602090912001546001600160a01b031690508060666105d760018561285a565b815481106105e7576105e7612871565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152606790915260409020829055606680548061063157610631612887565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03949094168152606790935250506040812055565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018390526000908190605c0160405160208183030381529060405280519060200120905060006106cf8285611ed5565b6001600160a01b038116600090815260676020526040902054909150156106fb57600192505050610817565b6000868152606b60205260409020546001600160a01b0382811691161480610812575060655460405163f4e5699160e01b81526001600160a01b039091169063f4e569919061074f906010906004016128b3565b602060405180830381865afa15801561076c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079091906128db565b6000878152606b602052604090819020549051636488dab760e11b81526001600160a01b039182166004820152838216602482015291169063c911b56e90604401602060405180830381865afa1580156107ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081291906128f8565b925050505b9392505050565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e569919061084f906005906004016128b3565b602060405180830381865afa15801561086c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089091906128db565b6001600160a01b0316636c376cc56040518163ffffffff1660e01b81526004016020604051808303816000875af11580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f391906128f8565b156109105760405162461bcd60e51b815260040161053690612915565b336000818152606a602090815260409182902060028101805460ff19166001179055915192835290917f96bfcd230b7ff6b6fae05762edc541f5cb32225984541cf1a9c0b04bac427a5e91015b60405180910390a150565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e5699190610999906005906004016128b3565b602060405180830381865afa1580156109b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da91906128db565b6001600160a01b0316636c376cc56040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3d91906128f8565b15610a5a5760405162461bcd60e51b815260040161053690612915565b336000908152606a602052604090208054821115610a8a5760405162461bcd60e51b815260040161053690612933565b60655460405163f4e5699160e01b8152610b1291339185916001600160a01b03169063f4e5699190610ac1906000906004016128b3565b602060405180830381865afa158015610ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0291906128db565b6001600160a01b03169190611ef9565b81816000016000828254610b26919061285a565b90915550508054604080513381526020810185905280820192909252517ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689181900360600190a15050565b610b79611e7b565b806068541015610b9b5760405162461bcd60e51b815260040161053690612933565b60655460405163f4e5699160e01b8152610bd291849184916001600160a01b03169063f4e5699190610ac1906000906004016128b3565b8060686000828254610be4919061285a565b90915550505050565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e5699190610c1e906005906004016128b3565b602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906128db565b6001600160a01b0316636c376cc56040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc291906128f8565b15610cdf5760405162461bcd60e51b815260040161053690612915565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610d109084906004016128b3565b602060405180830381865afa158015610d2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5191906128db565b9050610d686001600160a01b038216333086611f61565b6001600160a01b0382166000908152606a60205260408120805490918591839190610d94908490612951565b90915550508054604080516001600160a01b038616815260208101879052908101919091527f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15906060015b60405180910390a150505050565b610df5611e7b565b620f4240811115610e315760405162461bcd60e51b8152600401610536906020808252600490820152634330303160e01b604082015260600190565b606981905560408051602081018390527f63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1b910160408051601f198184030181529082905261095d916129c1565b610e86611e7b565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610eb79084906004016128b3565b602060405180830381865afa158015610ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef891906128db565b60655460405163f4e5699160e01b81529192506001600160a01b038084169263095ea7b3929091169063f4e5699190610f3690600f906004016128b3565b602060405180830381865afa158015610f53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7791906128db565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260001960248201526044016020604051808303816000875af1158015610fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe991906128f8565b5050565b6001600160a01b03811660009081526067602052604081205415611013575060016104f0565b506000918252606b6020526040909120546001600160a01b0390811691161490565b61103d611e7b565b6110476000611f9f565b565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e569919061107a90600f906004016128b3565b602060405180830381865afa158015611097573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bb91906128db565b6001600160a01b0316336001600160a01b0316146111045760405162461bcd60e51b8152600401610536906020808252600490820152634730313160e01b604082015260600190565b6000808280602001905181019061111b91906129f5565b6000888152606b602052604090205491935091506001600160a01b0316611168576000868152606b6020526040902080546001600160a01b0319166001600160a01b0384161790556111ba565b6000868152606b60205260409020546001600160a01b038381169116146111ba5760405162461bcd60e51b8152600401610536906020808252600490820152634330303560e01b604082015260600190565b6001600160a01b0382166000908152606a6020526040812090620f424086116111e4576001611200565b620f4240606954876111f69190612a82565b6112009190612aa1565b905061120c8187612951565b8254101561122c5760405162461bcd60e51b815260040161053690612933565b600282015460ff166114535760018201546040805160208082018c90528183018a90526060808301859052835180840390910181526080830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060a084015260bc8084018290528451808503909101815260dc909301909352815191012060006112be8288611ed5565b9050876001600160a01b0316816001600160a01b031614806113c1575060655460405163f4e5699160e01b81526001600160a01b039091169063f4e569919061130c906010906004016128b3565b602060405180830381865afa158015611329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134d91906128db565b604051636488dab760e11b81526001600160a01b038a811660048301528381166024830152919091169063c911b56e90604401602060405180830381865afa15801561139d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c191906128f8565b6113f65760405162461bcd60e51b8152600401610536906020808252600490820152632198181b60e11b604082015260600190565b611401846001612951565b60018701556001600160a01b03818116908c161461144a5760405162461bcd60e51b8152600401610536906020808252600490820152630433031360e41b604082015260600190565b505050506114bf565b6001600160a01b03871660009081526067602052604090205415158061148a5750866001600160a01b0316846001600160a01b0316145b6114bf5760405162461bcd60e51b8152600401610536906020808252600490820152634330313160e01b604082015260600190565b6114c98187612951565b8260000160008282546114dc919061285a565b9250508190555080606860008282546114f59190612951565b90915550508154604080518a81526001600160a01b0387166020820152338183015260608101899052608081019290925260a08201839052517fa0190d8f457f0db7a1e5f62503f1f91bd4b8ac31766db7cc0af81e8ce2163a749181900360c00190a15050505050505050565b606060668054806020026020016040519081016040528092919081815260200182805480156115ba57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161159c575b5050505050905090565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e56991906115f5906005906004016128b3565b602060405180830381865afa158015611612573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163691906128db565b6001600160a01b0316636c376cc56040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611675573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169991906128f8565b156116b65760405162461bcd60e51b815260040161053690612915565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906116e79084906004016128b3565b602060405180830381865afa158015611704573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172891906128db565b905061173f6001600160a01b038216333086611f61565b336000908152606a60205260408120805490918591839190611762908490612951565b90915550839050801561177a5750600281015460ff16155b156117c25760028101805460ff191660011790556040513381527f96bfcd230b7ff6b6fae05762edc541f5cb32225984541cf1a9c0b04bac427a5e9060200160405180910390a15b80546040805133815260208101879052908101919091527f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1590606001610ddf565b61180b611e7b565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e569919061185e90600f906004016128b3565b602060405180830381865afa15801561187b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189f91906128db565b6001600160a01b0316336001600160a01b0316146118e85760405162461bcd60e51b8152600401610536906020808252600490820152634730313160e01b604082015260600190565b6000828152606b60209081526040808320546001600160a01b0316808452606a909252822080549192909184918391611922908490612951565b90915550506000848152606b602090815260409182902080546001600160a01b0319169055825482518781526001600160a01b0386169281019290925233928201929092526060810185905260808101919091527f3e356ee9071ea983e847cc7da7b8b224b8f44262f7c9ce77262ea0e854a5442c9060a001610ddf565b600054610100900460ff16158080156119c05750600054600160ff909116105b806119da5750303b1580156119da575060005460ff166001145b611a3d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610536565b6000805460ff191660011790558015611a60576000805461ff0019166101001790555b611a68611ff1565b606580546001600160a01b0319166001600160a01b038716179055606982905560408051602081018490527f63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1b910160408051601f1981840301815290829052611ad0916129c1565b60405180910390a160405163095ea7b360e01b81526001600160a01b038481166004830152600019602483015285919082169063095ea7b3906044016020604051808303816000875af1158015611b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4f91906128f8565b50508015611b97576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e5699190611bcf906005906004016128b3565b602060405180830381865afa158015611bec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1091906128db565b6001600160a01b0316636c376cc56040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7391906128f8565b15611c905760405162461bcd60e51b815260040161053690612915565b336000818152606a602090815260409182902060028101805460ff19169055915192835290917f17a42eaf63a29baa6efa2af7cbac339dd6c8a097184a91107cc4e91a71c48521910161095d565b611ce6611e7b565b606680546001810182557f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540180546001600160a01b039093166001600160a01b0319909316831790555460009182526067602052604090912055565b336000818152606c602090815260409182902080546001600160a01b0319811690915582519384526001600160a01b0316908301819052917fa8c9fb2d4cca03d48ddcd3403fd25170256b7afe003b5c7c4e4c386b02d9b97a910161095d565b611daa611e7b565b6001600160a01b038116611e0f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610536565b611e1881611f9f565b50565b336000818152606c602090815260409182902080546001600160a01b0319166001600160a01b0386169081179091558251938452908301527f2a463b1631b8f93341dbed1b8977e705efa18406ba5a9ddcd4e3a8e1e849dfd0910161095d565b6033546001600160a01b031633146110475760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b6000806000611ee48585612020565b91509150611ef181612065565b509392505050565b6040516001600160a01b038316602482015260448101829052611f5c90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526121af565b505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611f999085906323b872dd60e01b90608401611f25565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166120185760405162461bcd60e51b815260040161053690612ac3565b611047612284565b60008082516041036120565760208301516040840151606085015160001a61204a878285856122b4565b9450945050505061205e565b506000905060025b9250929050565b60008160048111156120795761207961289d565b036120815750565b60018160048111156120955761209561289d565b036120e25760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610536565b60028160048111156120f6576120f661289d565b036121435760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610536565b60038160048111156121575761215761289d565b03611e185760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610536565b6000612204826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123789092919063ffffffff16565b905080516000148061222557508080602001905181019061222591906128f8565b611f5c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610536565b600054610100900460ff166122ab5760405162461bcd60e51b815260040161053690612ac3565b61104733611f9f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156122eb575060009050600361236f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561233f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166123685760006001925092505061236f565b9150600090505b94509492505050565b6060612387848460008561238f565b949350505050565b6060824710156123f05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610536565b600080866001600160a01b0316858760405161240c9190612b0e565b60006040518083038185875af1925050503d8060008114612449576040519150601f19603f3d011682016040523d82523d6000602084013e61244e565b606091505b509150915061245f8783838761246a565b979650505050505050565b606083156124d95782516000036124d2576001600160a01b0385163b6124d25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610536565b5081612387565b61238783838151156124ee5781518083602001fd5b8060405162461bcd60e51b81526004016105369190612b2a565b60006020828403121561251a57600080fd5b81356001600160e01b03198116811461081757600080fd5b6001600160a01b0381168114611e1857600080fd5b60006020828403121561255957600080fd5b813561081781612532565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156125a3576125a3612564565b604052919050565b600067ffffffffffffffff8211156125c5576125c5612564565b50601f01601f191660200190565b600082601f8301126125e457600080fd5b81356125f76125f2826125ab565b61257a565b81815284602083860101111561260c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561263e57600080fd5b8335925060208401359150604084013567ffffffffffffffff81111561266357600080fd5b61266f868287016125d3565b9150509250925092565b60006020828403121561268b57600080fd5b5035919050565b600080604083850312156126a557600080fd5b82356126b081612532565b946020939093013593505050565b600080604083850312156126d157600080fd5b8235915060208301356126e381612532565b809150509250929050565b6000806000806080858703121561270457600080fd5b84359350602085013561271681612532565b925060408501359150606085013567ffffffffffffffff81111561273957600080fd5b612745878288016125d3565b91505092959194509250565b6020808252825182820181905260009190848201906040850190845b818110156127925783516001600160a01b03168352928401929184019160010161276d565b50909695505050505050565b8015158114611e1857600080fd5b600080604083850312156127bf57600080fd5b8235915060208301356126e38161279e565b600080604083850312156127e457600080fd5b50508035926020909101359150565b6000806000806080858703121561280957600080fd5b843561281481612532565b9350602085013561282481612532565b9250604085013561283481612532565b9396929550929360600135925050565b634e487b7160e01b600052601160045260246000fd5b60008282101561286c5761286c612844565b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60208101601583106128d557634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156128ed57600080fd5b815161081781612532565b60006020828403121561290a57600080fd5b81516108178161279e565b6020808252600490820152634730313960e01b604082015260600190565b6020808252600490820152632198181960e11b604082015260600190565b6000821982111561296457612964612844565b500190565b60005b8381101561298457818101518382015260200161296c565b83811115611f995750506000910152565b600081518084526129ad816020860160208601612969565b601f01601f19169290920160200192915050565b60408152600a60408201526919995954195c935a5b1b60b21b60608201526080602082015260006108176080830184612995565b60008060408385031215612a0857600080fd5b8251612a1381612532565b602084015190925067ffffffffffffffff811115612a3057600080fd5b8301601f81018513612a4157600080fd5b8051612a4f6125f2826125ab565b818152866020838501011115612a6457600080fd5b612a75826020830160208601612969565b8093505050509250929050565b6000816000190483118215151615612a9c57612a9c612844565b500290565b600082612abe57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251612b20818460208701612969565b9190910192915050565b602081526000610817602083018461299556fea2646970667358221220fcb13390e16cf2fd55a6d039f685d57457d1c74cc674c505705667a0e48f4a7264736f6c634300080f0033