0 txs
32.4k calls
constructor
No constructor.
functions
channel
viewfunction channel(uint256 channelId) view returns (tuple)
channelPrice
viewfunction channelPrice(uint256) view returns (uint256)
owner
viewfunction owner() view returns (address)
settings
viewfunction settings() view returns (address)
terminateExpiration
viewfunction terminateExpiration() view returns (uint256)
checkpoint
nonpayablefunction checkpoint(tuple query)
claim
nonpayablefunction claim(uint256 channelId)
extend
nonpayablefunction extend(uint256 channelId, uint256 preExpirationAt, uint256 expiration, bytes indexerSign, bytes consumerSign)
fund
nonpayablefunction fund(uint256 channelId, uint256 preTotal, uint256 amount, bytes callback, bytes sign)
initialize
nonpayablefunction initialize(address _settings)
open
nonpayablefunction open(uint256 channelId, address indexer, address consumer, uint256 amount, uint256 price, uint256 expiration, bytes32 deploymentId, bytes callback, bytes indexerSign, bytes consumerSign)
renounceOwnership
nonpayablefunction renounceOwnership()
respond
nonpayablefunction respond(tuple query)
setSettings
nonpayablefunction setSettings(address _settings)
setTerminateExpiration
nonpayablefunction setTerminateExpiration(uint256 expiration)
terminate
nonpayablefunction terminate(tuple query)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
ChannelCheckpoint
event ChannelCheckpoint(uint256 indexed channelId, uint256 spent, bool isFinal)
ChannelExtend
event ChannelExtend(uint256 indexed channelId, uint256 expiredAt)
ChannelFinalize
event ChannelFinalize(uint256 indexed channelId, uint256 total, uint256 remain)
ChannelFund
event ChannelFund(uint256 indexed channelId, uint256 realTotal, uint256 total)
ChannelLabor
event ChannelLabor(bytes32 deploymentId, address indexer, uint256 amount)
ChannelOpen
event ChannelOpen(uint256 indexed channelId, address indexer, address consumer, uint256 total, uint256 price, uint256 expiredAt, bytes32 deploymentId, bytes callback)
ChannelTerminate
event ChannelTerminate(uint256 indexed channelId, uint256 spent, uint256 terminatedAt, bool terminateByIndexer)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Parameter
event Parameter(string name, bytes value)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506133c1806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806393368310116100a2578063cd739ca511610071578063cd739ca514610213578063cd96f64b14610233578063e06174e414610246578063f2fde38b14610259578063f771c57b1461026c57600080fd5b806393368310146101c7578063a01d3c2c146101da578063bacc28bb146101ed578063c4d66de81461020057600080fd5b80633b09c0b9116100de5780633b09c0b9146101745780634f066fca14610187578063715018a61461019a5780638da5cb5b146101a257600080fd5b80630455fd18146101105780632005864a14610143578063379607f514610158578063381930e61461016b575b600080fd5b61013061011e366004612c45565b60686020526000908152604090205481565b6040519081526020015b60405180910390f35b610156610151366004612c5e565b61027f565b005b610156610166366004612c45565b610455565b61013060665481565b610156610182366004612c45565b6104d9565b610156610195366004612d3c565b610539565b610156610a83565b6033546001600160a01b03165b6040516001600160a01b03909116815260200161013a565b6101566101d5366004612de2565b610a97565b6101566101e8366004612ebe565b610f2e565b6101566101fb366004612c5e565b610f58565b61015661020e366004612ebe565b611185565b610226610221366004612c45565b61130b565b60405161013a9190612f05565b610156610241366004612d3c565b611417565b6065546101af906001600160a01b031681565b610156610267366004612ebe565b6115fb565b61015661027a366004612c5e565b611674565b6001813560009081526067602052604090205460ff1660028111156102a6576102a6612edb565b146102e05760405162461bcd60e51b815260206004820152600560248201526414d0cc0c0d60da1b60448201526064015b60405180910390fd5b803560009081526067602090815260409091206004015490820135116103185760405162461bcd60e51b81526004016102d790612fa9565b6000813560208301356103316060850160408601612fd6565b6040805160208101949094528301919091521515606082015260800160408051601f19818403018152919052805160209091012090506103f682358261037a6060860186612ff3565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103bc925050506080870187612ff3565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061190392505050565b81357fb3a2afaa64af32fdb05b5d3b4ad78b4ea624153b4cbfb05770dbe725997d0aaf602084013561042e6060860160408701612fd6565b6040805192835290151560208301520160405180910390a26104518260006119ec565b5050565b6000600260008381526067602052604090205460ff16600281111561047c5761047c612edb565b148015610499575060008281526067602052604090206006015442115b9050806104d05760405162461bcd60e51b81526020600482015260056024820152640a6866060760db1b60448201526064016102d7565b61045182611cf9565b6104e16121e4565b606681905560408051602081018390527f63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1b910160408051601f198184030181529082905261052e91613092565b60405180910390a150565b600160008681526067602052604090205460ff16600281111561055e5761055e612edb565b146105935760405162461bcd60e51b8152602060048201526005602482015264534330303360d81b60448201526064016102d7565b60008581526067602052604090206003015484146105db5760405162461bcd60e51b8152602060048201526005602482015264053433031360dc1b60448201526064016102d7565b6000858152606760209081526040808320805460019091015491516101009091046001600160a01b0390811694921692610621918a91869186918c918c918c91016130cf565b60408051808303601f190181529190528051602090910120905081803b63ffffffff161561074957604051630f685fa960e01b815283906001600160a01b03821690630f685fa99061067b908d9087908b9060040161311b565b602060405180830381865afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc9190613143565b6106d85760405162461bcd60e51b81526004016102d790613160565b6040516357c65a5760e01b8152600481018b90526001600160a01b038216906357c65a5790602401602060405180830381865afa15801561071d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610741919061317e565b915050610756565b610756828685600061223e565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906107889060139060040161319b565b602060405180830381865afa1580156107a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c9919061317e565b90506000816001600160a01b031663a3700702606760008e815260200190815260200160002060070154858c8f60405160200161080891815260200190565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161083694939291906131b5565b6020604051808303816000875af1158015610855573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087991906131ec565b9050801561090e5760655460405163f4e5699160e01b815261090e918491309185916001600160a01b039091169063f4e56991906108bc9060009060040161319b565b602060405180830381865afa1580156108d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fd919061317e565b6001600160a01b0316929190612538565b888110156109f9576000610922828b61321b565b9050853b63ffffffff161561099657604051639304c78360e01b81526001600160a01b03871690639304c78390610963908f90339086908f906004016131b5565b600060405180830381600087803b15801561097d57600080fd5b505af1158015610991573d6000803e3d6000fd5b505050505b60655460405163f4e5699160e01b81526109d1918891309185916001600160a01b039091169063f4e56991906108bc9060009060040161319b565b60008c815260676020526040812060020180548392906109f2908490613232565b9091555050505b60008b815260676020526040812060030180548b9290610a1a908490613232565b909155505060008b81526067602090815260409182902060028101546003909101548351918252918101919091528c917f1d0232126b461e33ca71006cd193e3cbaf5a246ace60b2d3b50526942f56610791015b60405180910390a25050505050505050505050565b610a8b6121e4565b610a9560006125a3565b565b60008a81526067602052604081205460ff166002811115610aba57610aba612edb565b14610aef5760405162461bcd60e51b8152602060048201526005602482015264534330303160d81b60448201526064016102d7565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610b219060039060040161319b565b602060405180830381865afa158015610b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b62919061317e565b6040516316367a7160e11b81526001600160a01b038c8116600483015291925090821690632c6cf4e290602401602060405180830381865afa158015610bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd09190613143565b610c055760405162461bcd60e51b81526004016102d7906020808252600490820152632398181960e11b604082015260600190565b60008b8b8b8b8b8b8b8b604051602001610c2698979695949392919061324a565b604051602081830303815290604052805190602001209050610c4f8a63ffffffff903b16151590565b15610d9f57610c6e6001600160a01b038b16633e1dcb5560e11b6125f5565b610ca35760405162461bcd60e51b81526004016102d79060208082526004908201526308e6062760e31b604082015260600190565b60008a9050806001600160a01b0316630f685fa98e84876040518463ffffffff1660e01b8152600401610cd89392919061311b565b602060405180830381865afa158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d199190613143565b610d355760405162461bcd60e51b81526004016102d790613160565b806001600160a01b0316639304c7838e338d8a6040518563ffffffff1660e01b8152600401610d6794939291906131b5565b600060405180830381600087803b158015610d8157600080fd5b505af1158015610d95573d6000803e3d6000fd5b5050505050610dec565b610dac81848c600061223e565b336001600160a01b038b1614610dec5760405162461bcd60e51b8152602060048201526005602482015264534331313160d81b60448201526064016102d7565b610df981858d600161223e565b60655460405163f4e5699160e01b8152610e34918c9130918d916001600160a01b039091169063f4e56991906108bc9060009060040161319b565b60008c815260676020526040902080546001600160a01b038d8116610100026001600160a81b0319909216919091176001908117835582018054918d166001600160a01b0319909216919091179055610e8d8842613232565b6005820155600281018a9055600381018a9055600060048201819055600682018190556007820188905560088201805460ff191690558d81526068602052604090208990558c7fdce31697f0e6122fe66bcba66ce4e3a49d4c9707bbca427ebf7bb9f3343a916f8d8d8d8d610f028e42613232565b8d8d604051610f1797969594939291906132a3565b60405180910390a250505050505050505050505050565b610f366121e4565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b803560009081526067602052604090206002815460ff166002811115610f8057610f80612edb565b14610fb55760405162461bcd60e51b8152602060048201526005602482015264534330303760d81b60448201526064016102d7565b600881015460ff161561107b5760018101546001600160a01b0316338114903b63ffffffff1615611058576001820154604051636f2cdea760e01b8152843560048201523360248201526001600160a01b0390911690636f2cdea790604401602060405180830381865afa158015611031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110559190613143565b90505b806110755760405162461bcd60e51b81526004016102d7906132f3565b506110a9565b805461010090046001600160a01b031633146110a95760405162461bcd60e51b81526004016102d7906132f3565b8060040154826020013510156110d15760405162461bcd60e51b81526004016102d790612fa9565b6000823560208401356110ea6060860160408701612fd6565b6040805160208101949094528301919091521515606082015260800160408051601f19818403018152919052805160209091012090506111758335826111336060870187612ff3565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103bc925050506080880188612ff3565b6111808360016119ec565b505050565b600054610100900460ff16158080156111a55750600054600160ff909116105b806111bf5750303b1580156111bf575060005460ff166001145b6112225760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102d7565b6000805460ff191660011790558015611245576000805461ff0019166101001790555b61124d612618565b620151806066819055606580546001600160a01b0319166001600160a01b0385161790556040805160208101929092527f63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1b910160408051601f19818403018152908290526112ba91613092565b60405180910390a18015610451576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081019190915260008281526067602052604090819020815161014081019092528054829060ff16600281111561138e5761138e612edb565b600281111561139f5761139f612edb565b815281546001600160a01b03610100918290048116602084015260018401541660408301526002830154606083015260038301546080830152600483015460a0830152600583015460c0830152600683015460e083015260078301549082015260089091015460ff1615156101209091015292915050565b6000858152606760205260409020805460018201546005909201546101009091046001600160a01b03908116921690861461147c5760405162461bcd60e51b815260206004820152600560248201526429a198181960d91b60448201526064016102d7565b6040805160208082018a90526001600160a01b0385811683850152841660608301526080820189905260a08083018990528351808403909101815260c09092019092528051910120813b63ffffffff161561156357604051630f685fa960e01b81526001600160a01b03831690630f685fa990611501908b908590899060040161311b565b602060405180830381865afa15801561151e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115429190613143565b61155e5760405162461bcd60e51b81526004016102d790613160565b611570565b611570818584600061223e565b61157d818685600161223e565b6000888152606760205260408120600501805488929061159e908490613232565b90915550506000888152606760205260409081902060050154905189917ff8d4e64f6b2b3db6aaf38b319e259285a48ecd0c5bc0115c9928aba297c73420916115e991815260200190565b60405180910390a25050505050505050565b6116036121e4565b6001600160a01b0381166116685760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d7565b611671816125a3565b50565b8035600090815260676020526040902080546001820154336001600160a01b0361010090930483168114929091169081149063ffffffff903b161561172b576001830154604051636f2cdea760e01b8152853560048201523360248201526001600160a01b0390911690636f2cdea790604401602060405180830381865afa158015611704573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117289190613143565b90505b81806117345750805b6117505760405162461bcd60e51b81526004016102d7906132f3565b8260040154846020013510156117785760405162461bcd60e51b81526004016102d790612fa9565b60208401351561182c5760008435602086013561179b6060880160408901612fd6565b6040805160208101949094528301919091521515606082015260800160408051601f19818403018152919052805160209091012090506118268535826117e46060890189612ff3565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103bc9250505060808a018a612ff3565b50611871565b61183c6060850160408601612fd6565b156118715760405162461bcd60e51b815260206004820152600560248201526429a198181b60d91b60448201526064016102d7565b825460ff1916600217835560665460009061188c9042613232565b6006850181905560088501805460ff1916851515908117909155604080516020808a013582528101849052908101919091529091508535907f0d778a22967eaa98ed5a1dc78d02c1ac54b345f19835543e7387f0658a646e6f9060600160405180910390a26118fc8560006119ec565b5050505050565b600084815260676020526040902080546001909101546001600160a01b036101009092048216911663ffffffff813b16156119ca57604051630f685fa960e01b81526001600160a01b03821690630f685fa9906119689089908990889060040161311b565b602060405180830381865afa158015611985573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a99190613143565b6119c55760405162461bcd60e51b81526004016102d790613160565b6119d7565b6119d7858483600061223e565b6119e4858584600161223e565b505050505050565b81356000908152606760209081526040822060040154611a0e9185013561321b565b83356000908152606760209081526040909120600301549192508401351015611a53578235600090815260676020908152604090912090840135600490910155611a96565b823560009081526067602052604090206004810154600390910154611a78919061321b565b83356000908152606760205260409020600381015460049091015590505b8015611cd75782356000908152606760205260408082208054600790910154606554925163f4e5699160e01b81526101009092046001600160a01b03908116949193919291169063f4e5699190611af29060099060040161319b565b602060405180830381865afa158015611b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b33919061317e565b60655460405163f4e5699160e01b81529192506001600160a01b03169063f4e5699190611b659060009060040161319b565b602060405180830381865afa158015611b82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba6919061317e565b60405163095ea7b360e01b81526001600160a01b03838116600483015260248201879052919091169063095ea7b3906044016020604051808303816000875af1158015611bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1b9190613143565b50604051638b72ad0d60e01b8152600481018390526001600160a01b03848116602483015260448201869052829190821690638b72ad0d90606401600060405180830381600087803b158015611c7057600080fd5b505af1158015611c84573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201529081018890527fea305d9b46b556fdb8143609a5e0490f90fa7067caf12ec0dfacfdfe3840b5d49250606001905060405180910390a1505050505b8180611cee5750611cee6060840160408501612fd6565b156111805761118083355b6000818152606760205260409020600181015460028201546004909201546001600160a01b03909116919082803b63ffffffff1615611d9e576040516357c65a5760e01b8152600481018690526001600160a01b038516906357c65a5790602401602060405180830381865afa158015611d77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9b919061317e565b90505b60008581526067602052604080822060030154606554915163f4e5699160e01b81529092916001600160a01b03169063f4e5699190611de29060139060040161319b565b602060405180830381865afa158015611dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e23919061317e565b90506000611e31868461321b565b905080851115611f3e576000888152606760205260408120600701546001600160a01b0384169063a37007029087611e69868b61321b565b8d604051602001611e7c91815260200190565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401611eaa94939291906131b5565b6020604051808303816000875af1158015611ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eed91906131ec565b90508015611f305760655460405163f4e5699160e01b8152611f30918591309185916001600160a01b039091169063f4e56991906108bc9060009060040161319b565b611f3a8185613232565b9350505b6000611f4a868561321b565b90506000611f588289612647565b90506000611f66828461321b565b90508115611ff65760655460405163f4e5699160e01b8152611ff6918c9185916001600160a01b03169063f4e5699190611fa59060009060040161319b565b602060405180830381865afa158015611fc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe6919061317e565b6001600160a01b0316919061265c565b80156120cf5760655460405163f4e5699160e01b815261203391879184916001600160a01b03169063f4e5699190611fa59060009060040161319b565b846001600160a01b0316638e81f729606760008e81526020019081526020016000206007015489848f60405160200161206e91815260200190565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161209c94939291906131b5565b600060405180830381600087803b1580156120b657600080fd5b505af11580156120ca573d6000803e3d6000fd5b505050505b893b63ffffffff161561213e5760405163a54ab45760e01b8152600481018c9052602481018390526001600160a01b038b169063a54ab45790604401600060405180830381600087803b15801561212557600080fd5b505af1158015612139573d6000803e3d6000fd5b505050505b60008b815260676020908152604080832080546001600160a81b03191681556001810180546001600160a01b0319169055600281018490556003810184905560048101849055600581018490556006810184905560078101849055600801805460ff19169055606882528083209290925581518881529081018490528c917f6a1470f04a8ae76a618f26cf00b68c66839088732fe6de43c8f2431ea6bef7e09101610a6e565b6033546001600160a01b03163314610a955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d7565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101859052600090605c016040516020818303038152906040528051906020012090506000612298828661268c565b905082156123f057836001600160a01b0316816001600160a01b0316036122c0575050612532565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906122f29060039060040161319b565b602060405180830381865afa15801561230f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612333919061317e565b604051634463315560e11b81526001600160a01b03878116600483015291909116906388c662aa90602401602060405180830381865afa15801561237b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239f919061317e565b9050806001600160a01b0316826001600160a01b0316146123ea5760405162461bcd60e51b8152602060048201526005602482015264534330303960d81b60448201526064016102d7565b506119e4565b836001600160a01b0316816001600160a01b031603612410575050612532565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906124429060109060040161319b565b602060405180830381865afa15801561245f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612483919061317e565b604051636488dab760e11b81526001600160a01b0387811660048301528481166024830152919091169063c911b56e90604401602060405180830381865afa1580156124d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f79190613143565b90508061252e5760405162461bcd60e51b8152602060048201526005602482015264534330313160d81b60448201526064016102d7565b5050505b50505050565b6040516001600160a01b03808516602483015283166044820152606481018290526125329085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526126b0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061260083612785565b8015612611575061261183836127b9565b9392505050565b600054610100900460ff1661263f5760405162461bcd60e51b81526004016102d790613311565b610a95612842565b60008183116126565782612611565b50919050565b6040516001600160a01b03831660248201526044810182905261118090849063a9059cbb60e01b9060640161256c565b600080600061269b8585612872565b915091506126a8816128b7565b509392505050565b6000612705826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612a019092919063ffffffff16565b90508051600014806127265750808060200190518101906127269190613143565b6111805760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d7565b6000612798826301ffc9a760e01b6127b9565b80156127b357506127b1826001600160e01b03196127b9565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561282b575060208210155b80156128375750600081115b979650505050505050565b600054610100900460ff166128695760405162461bcd60e51b81526004016102d790613311565b610a95336125a3565b60008082516041036128a85760208301516040840151606085015160001a61289c87828585612a18565b945094505050506128b0565b506000905060025b9250929050565b60008160048111156128cb576128cb612edb565b036128d35750565b60018160048111156128e7576128e7612edb565b036129345760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016102d7565b600281600481111561294857612948612edb565b036129955760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016102d7565b60038160048111156129a9576129a9612edb565b036116715760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016102d7565b6060612a108484600085612adc565b949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612a4f5750600090506003612ad3565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612aa3573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612acc57600060019250925050612ad3565b9150600090505b94509492505050565b606082471015612b3d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d7565b600080866001600160a01b03168587604051612b59919061335c565b60006040518083038185875af1925050503d8060008114612b96576040519150601f19603f3d011682016040523d82523d6000602084013e612b9b565b606091505b50915091506128378783838760608315612c16578251600003612c0f576001600160a01b0385163b612c0f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d7565b5081612a10565b612a108383815115612c2b5781518083602001fd5b8060405162461bcd60e51b81526004016102d79190613378565b600060208284031215612c5757600080fd5b5035919050565b600060208284031215612c7057600080fd5b813567ffffffffffffffff811115612c8757600080fd5b820160a0818503121561261157600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112612cc057600080fd5b813567ffffffffffffffff80821115612cdb57612cdb612c99565b604051601f8301601f19908116603f01168101908282118183101715612d0357612d03612c99565b81604052838152866020858801011115612d1c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215612d5457600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff80821115612d8157600080fd5b612d8d89838a01612caf565b93506080880135915080821115612da357600080fd5b50612db088828901612caf565b9150509295509295909350565b6001600160a01b038116811461167157600080fd5b8035612ddd81612dbd565b919050565b6000806000806000806000806000806101408b8d031215612e0257600080fd5b8a359950612e1260208c01612dd2565b9850612e2060408c01612dd2565b975060608b0135965060808b0135955060a08b0135945060c08b0135935060e08b013567ffffffffffffffff80821115612e5957600080fd5b612e658e838f01612caf565b94506101008d0135915080821115612e7c57600080fd5b612e888e838f01612caf565b93506101208d0135915080821115612e9f57600080fd5b50612eac8d828e01612caf565b9150509295989b9194979a5092959850565b600060208284031215612ed057600080fd5b813561261181612dbd565b634e487b7160e01b600052602160045260246000fd5b60038110612f0157612f01612edb565b9052565b600061014082019050612f19828451612ef1565b6020830151612f3360208401826001600160a01b03169052565b506040830151612f4e60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151612fa18285018215159052565b505092915050565b602080825260059082015264534330303560d81b604082015260600190565b801515811461167157600080fd5b600060208284031215612fe857600080fd5b813561261181612fc8565b6000808335601e1984360301811261300a57600080fd5b83018035915067ffffffffffffffff82111561302557600080fd5b6020019150368190038213156128b057600080fd5b60005b8381101561305557818101518382015260200161303d565b838111156125325750506000910152565b6000815180845261307e81602086016020860161303a565b601f01601f19169290920160200192915050565b6040815260136040820152723a32b936b4b730ba32a2bc3834b930ba34b7b760691b60608201526080602082015260006126116080830184613066565b8681526001600160a01b03868116602083015285166040820152606081018490526080810183905260c060a0820181905260009061310f90830184613066565b98975050505050505050565b83815282602082015260606040820152600061313a6060830184613066565b95945050505050565b60006020828403121561315557600080fd5b815161261181612fc8565b6020808252600490820152632198181b60e11b604082015260600190565b60006020828403121561319057600080fd5b815161261181612dbd565b60208101601583106131af576131af612edb565b91905290565b84815260018060a01b03841660208201528260408201526080606082015260006131e26080830184613066565b9695505050505050565b6000602082840312156131fe57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561322d5761322d613205565b500390565b6000821982111561324557613245613205565b500190565b60006101008a835260018060a01b03808b166020850152808a166040850152508760608401528660808401528560a08401528460c08401528060e084015261329481840185613066565b9b9a5050505050505050505050565b600060018060a01b03808a1683528089166020840152508660408301528560608301528460808301528360a083015260e060c08301526132e660e0830184613066565b9998505050505050505050565b60208082526004908201526308e6060760e31b604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000825161336e81846020870161303a565b9190910192915050565b602081526000612611602083018461306656fea264697066735822122047ade418ff4fda8baf2a07291ba6766643ec079427e15efbcb19510ab33983f664736f6c634300080f0033