Contract Overview
Balance:
0 MATIC
My Name Tag:
Not Available
[ Download CSV Export ]
Contract Name:
OptionMeta
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at PolygonScan.com on 2022-08-19 */ // File: Context.sol /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: InterfacesV2.sol interface IBufferOptions { enum State { Inactive, Active, Exercised, Expired } enum OptionType { Invalid, Put, Call } struct Option { State state; uint256 strike; uint256 amount; uint256 lockedAmount; uint256 premium; uint256 expiration; OptionType optionType; uint256 totalFee; uint256 createdAt; } struct BinaryOptionType { bool isYes; bool isAbove; } function priceProvider() external view returns (address); function expiryToRoundID(uint256 timestamp) external view returns (uint256); function options(uint256 optionId) external view returns ( State state, uint256 strike, uint256 amount, uint256 lockedAmount, uint256 premium, uint256 expiration, OptionType optionType, uint256 totalFee, uint256 createdAt ); function ownerOf(uint256 optionId) external view returns (address owner); function nextTokenId() external view returns (uint256 nextToken); function binaryOptionType(uint256 optionId) external view returns (bool isYes, bool isAbove); function config() external view returns (address); function userOptionIds(address user, uint256 index) external view returns (uint256 optionId); function userOptionCount(address user) external view returns (uint256 count); } interface IOptionsConfig { function impliedVolRate() external view returns (uint256); } interface AggregatorV3Interface { function decimals() external view returns (uint8); function description() external view returns (string memory); function version() external view returns (uint256); function getTimestamp(uint256 _roundId) external view returns (uint256 timestamp); function getRoundData(uint256 _roundID) external view returns ( uint256, uint256, uint256, uint256, uint256 ); function latestRoundData() external view returns ( uint256, uint256, uint256, uint256, uint256 ); function priceProvider() external view returns (address); function update(uint256 price) external returns (uint256 roundId); function transferOwnership(address newOwner) external; function getUsdPrice() external view returns (uint256); } // File: Ownable.sol /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: OptionMeta.sol contract OptionMeta is Ownable { struct UserOptionInput { uint256 lastStoredOptionIndex; address contractAddress; address userAddress; bool isNull; } struct GenricOptionInput { uint256 optionId; address contractAddress; } struct NewPrices { uint256 price; address priceProvider; } struct OptionMetaData { uint256 optionId; IBufferOptions.State state; uint256 strike; uint256 amount; uint256 lockedAmount; uint256 premium; uint256 expiration; IBufferOptions.OptionType optionType; bool isYes; bool isAbove; uint256 totalFee; uint256 createdAt; uint256 iv; } function transferOwnership(address contract_address, address newOwner) public onlyOwner { AggregatorV3Interface priceProviderContract = AggregatorV3Interface( contract_address ); priceProviderContract.transferOwnership(newOwner); } function bulk_price_update(NewPrices[] memory newPrices) public onlyOwner { for (uint256 i = 0; i < newPrices.length; i++) { AggregatorV3Interface priceProviderContract = AggregatorV3Interface( newPrices[i].priceProvider ); priceProviderContract.update(newPrices[i].price); } } function get_price_at_timestamp(address priceProvider, uint256 timestamp) public view returns (uint256) { AggregatorV3Interface priceProviderContract = AggregatorV3Interface( priceProvider ); ( uint256 roundId, uint256 answer, , uint256 latestTimestamp, ) = priceProviderContract.latestRoundData(); if (latestTimestamp > timestamp) { bool isCorrectRoundId; while (!isCorrectRoundId) { roundId = roundId - 1; require(roundId > 0, "Wrong round id"); ( , uint256 roundAnswer, , uint256 roundTimestamp, ) = priceProviderContract.getRoundData(roundId); if ((roundTimestamp > 0) && (roundTimestamp <= timestamp)) { isCorrectRoundId = true; answer = roundAnswer; } } } return answer; } function get_price_at_timestamp_type2( address optionsContract, uint256 timestamp ) public view returns (uint256) { IBufferOptions binaryOptionsContract = IBufferOptions(optionsContract); uint256 roundId = binaryOptionsContract.expiryToRoundID(timestamp); AggregatorV3Interface priceProviderContract = AggregatorV3Interface( binaryOptionsContract.priceProvider() ); (, uint256 answer, , , ) = priceProviderContract.getRoundData(roundId); return answer; } function get_current_prices(address[] calldata assets) public view returns (uint256[] memory prices) { prices = new uint256[](assets.length); for (uint256 i = 0; i < assets.length; i++) { AggregatorV3Interface priceProviderContract = AggregatorV3Interface( assets[i] ); prices[i] = priceProviderContract.getUsdPrice(); } } function get_option_data(GenricOptionInput memory option) public view returns (OptionMetaData memory optionDetails) { uint256 optionId = option.optionId; IBufferOptions binaryOptionsContract = IBufferOptions( option.contractAddress ); ( IBufferOptions.State state, uint256 strike, uint256 amount, uint256 lockedAmount, uint256 premium, uint256 expiration, IBufferOptions.OptionType optionType, uint256 totalFee, uint256 createdAt ) = binaryOptionsContract.options(optionId); (bool isYes, bool isAbove) = binaryOptionsContract.binaryOptionType( optionId ); optionDetails = OptionMetaData( optionId, state, strike, amount, lockedAmount, premium, expiration, optionType, isYes, isAbove, totalFee, createdAt, IOptionsConfig(binaryOptionsContract.config()).impliedVolRate() ); } function get_bulk_option_data(GenricOptionInput[] memory options) public view returns (OptionMetaData[] memory allOptions) { allOptions = new OptionMetaData[](options.length); for (uint256 i = 0; i < options.length; i++) { allOptions[i] = get_option_data(options[i]); } return allOptions; } function get_latest_options_for_user( UserOptionInput calldata userOptionInput ) external view returns (OptionMetaData[] memory allOptions) { uint256 counter; uint256 lastStoredOptionIndex = userOptionInput.lastStoredOptionIndex; address optionsContractAddress = userOptionInput.contractAddress; IBufferOptions binaryOptionsContract = IBufferOptions( optionsContractAddress ); uint256 onChainUserOptions = binaryOptionsContract.userOptionCount( userOptionInput.userAddress ); uint256 firstOptionIndexToProcess = ( userOptionInput.isNull ? 0 : lastStoredOptionIndex + 1 ); if (firstOptionIndexToProcess < onChainUserOptions) { allOptions = new OptionMetaData[]( onChainUserOptions - firstOptionIndexToProcess ); for ( uint256 index = firstOptionIndexToProcess; index < onChainUserOptions; index++ ) { allOptions[counter] = get_option_data( GenricOptionInput( binaryOptionsContract.userOptionIds( userOptionInput.userAddress, index ), optionsContractAddress ) ); counter++; } } } }
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"components":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"address","name":"priceProvider","type":"address"}],"internalType":"struct OptionMeta.NewPrices[]","name":"newPrices","type":"tuple[]"}],"name":"bulk_price_update","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"}],"internalType":"struct OptionMeta.GenricOptionInput[]","name":"options","type":"tuple[]"}],"name":"get_bulk_option_data","outputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"enum IBufferOptions.State","name":"state","type":"uint8"},{"internalType":"uint256","name":"strike","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockedAmount","type":"uint256"},{"internalType":"uint256","name":"premium","type":"uint256"},{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"enum IBufferOptions.OptionType","name":"optionType","type":"uint8"},{"internalType":"bool","name":"isYes","type":"bool"},{"internalType":"bool","name":"isAbove","type":"bool"},{"internalType":"uint256","name":"totalFee","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"uint256","name":"iv","type":"uint256"}],"internalType":"struct OptionMeta.OptionMetaData[]","name":"allOptions","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"assets","type":"address[]"}],"name":"get_current_prices","outputs":[{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"lastStoredOptionIndex","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bool","name":"isNull","type":"bool"}],"internalType":"struct OptionMeta.UserOptionInput","name":"userOptionInput","type":"tuple"}],"name":"get_latest_options_for_user","outputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"enum IBufferOptions.State","name":"state","type":"uint8"},{"internalType":"uint256","name":"strike","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockedAmount","type":"uint256"},{"internalType":"uint256","name":"premium","type":"uint256"},{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"enum IBufferOptions.OptionType","name":"optionType","type":"uint8"},{"internalType":"bool","name":"isYes","type":"bool"},{"internalType":"bool","name":"isAbove","type":"bool"},{"internalType":"uint256","name":"totalFee","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"uint256","name":"iv","type":"uint256"}],"internalType":"struct OptionMeta.OptionMetaData[]","name":"allOptions","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"}],"internalType":"struct OptionMeta.GenricOptionInput","name":"option","type":"tuple"}],"name":"get_option_data","outputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"enum IBufferOptions.State","name":"state","type":"uint8"},{"internalType":"uint256","name":"strike","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockedAmount","type":"uint256"},{"internalType":"uint256","name":"premium","type":"uint256"},{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"enum IBufferOptions.OptionType","name":"optionType","type":"uint8"},{"internalType":"bool","name":"isYes","type":"bool"},{"internalType":"bool","name":"isAbove","type":"bool"},{"internalType":"uint256","name":"totalFee","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"uint256","name":"iv","type":"uint256"}],"internalType":"struct OptionMeta.OptionMetaData","name":"optionDetails","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"priceProvider","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"get_price_at_timestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"optionsContract","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"get_price_at_timestamp_type2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contract_address","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61166d8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c80636c967c0f1461009e5780636d435421146100c7578063715018a6146100dc5780638da5cb5b146100e4578063931e9f90146100f9578063be800e0414610119578063d2c85c561461012c578063dedf92a41461014d578063ececca3b1461016d578063f2fde38b14610180578063f8ecf3a314610193575b600080fd5b6100b16100ac366004611317565b6101a6565b6040516100be9190611526565b60405180910390f35b6100da6100d5366004611048565b610463565b005b6100da610500565b6100ec61053b565b6040516100be9190611456565b61010c6101073660046110ab565b61054a565b6040516100be91906114b9565b6100da6101273660046111ba565b610698565b61013f61013a366004611080565b6107c7565b6040519081526020016100be565b61016061015b36600461111a565b61095f565b6040516100be919061146a565b61013f61017b366004611080565b610a44565b6100da61018e366004611009565b610bc6565b6101606101a1366004611332565b610c66565b6101ae610f25565b8151602083015160405163409e220560e01b815260048101839052600090819081908190819081908190819081906001600160a01b038b169063409e2205906024016101206040518083038186803b15801561020957600080fd5b505afa15801561021d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102419190611293565b9850985098509850985098509850985098506000808b6001600160a01b031663689ab5ac8e6040518263ffffffff1660e01b815260040161028491815260200190565b604080518083038186803b15801561029b57600080fd5b505afa1580156102af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d39190611265565b91509150604051806101a001604052808e81526020018c600381111561030957634e487b7160e01b600052602160045260246000fd5b81526020018b81526020018a815260200189815260200188815260200187815260200186600281111561034c57634e487b7160e01b600052602160045260246000fd5b8152602001831515815260200182151581526020018581526020018481526020018d6001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156103a657600080fd5b505afa1580156103ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103de919061102c565b6001600160a01b03166318f88e5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561041657600080fd5b505afa15801561042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044e9190611343565b90529f9e505050505050505050505050505050565b3361046c61053b565b6001600160a01b03161461049b5760405162461bcd60e51b8152600401610492906114f1565b60405180910390fd5b60405163f2fde38b60e01b815282906001600160a01b0382169063f2fde38b906104c9908590600401611456565b600060405180830381600087803b1580156104e357600080fd5b505af11580156104f7573d6000803e3d6000fd5b50505050505050565b3361050961053b565b6001600160a01b03161461052f5760405162461bcd60e51b8152600401610492906114f1565b6105396000610ed5565b565b6000546001600160a01b031690565b6060816001600160401b0381111561057257634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561059b578160200160208202803683370190505b50905060005b828110156106915760008484838181106105cb57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906105e09190611009565b9050806001600160a01b0316631acf55826040518163ffffffff1660e01b815260040160206040518083038186803b15801561061b57600080fd5b505afa15801561062f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106539190611343565b83838151811061067357634e487b7160e01b600052603260045260246000fd5b60209081029190910101525080610689816115b7565b9150506105a1565b5092915050565b336106a161053b565b6001600160a01b0316146106c75760405162461bcd60e51b8152600401610492906114f1565b60005b81518110156107c35760008282815181106106f557634e487b7160e01b600052603260045260246000fd5b6020026020010151602001519050806001600160a01b03166382ab890a84848151811061073257634e487b7160e01b600052603260045260246000fd5b6020026020010151600001516040518263ffffffff1660e01b815260040161075c91815260200190565b602060405180830381600087803b15801561077657600080fd5b505af115801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae9190611343565b505080806107bb906115b7565b9150506106ca565b5050565b6000808390506000806000836001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610843919061135b565b5093505092509250858111156109535760005b80610951576108666001856115a0565b9350600084116108a95760405162461bcd60e51b815260206004820152600e60248201526d15dc9bdb99c81c9bdd5b99081a5960921b6044820152606401610492565b6040516303906d2960e11b81526004810185905260009081906001600160a01b03881690630720da529060240160a06040518083038186803b1580156108ee57600080fd5b505afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610926919061135b565b5093505092505060008111801561093d5750888111155b1561094a57600192508194505b5050610856565b505b50925050505b92915050565b606081516001600160401b0381111561098857634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156109c157816020015b6109ae610f25565b8152602001906001900390816109a65790505b50905060005b8251811015610a3e57610a008382815181106109f357634e487b7160e01b600052603260045260246000fd5b60200260200101516101a6565b828281518110610a2057634e487b7160e01b600052603260045260246000fd5b60200260200101819052508080610a36906115b7565b9150506109c7565b50919050565b60405163420f6e0760e11b815260048101829052600090839082906001600160a01b0383169063841edc0e9060240160206040518083038186803b158015610a8b57600080fd5b505afa158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac39190611343565b90506000826001600160a01b031663b888879e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0057600080fd5b505afa158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b38919061102c565b6040516303906d2960e11b8152600481018490529091506000906001600160a01b03831690630720da529060240160a06040518083038186803b158015610b7e57600080fd5b505afa158015610b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb6919061135b565b50919a9950505050505050505050565b33610bcf61053b565b6001600160a01b031614610bf55760405162461bcd60e51b8152600401610492906114f1565b6001600160a01b038116610c5a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610492565b610c6381610ed5565b50565b60606000823581610c7d6040860160208701611009565b90508060006001600160a01b0382166375a74d84610ca160608a0160408b01611009565b6040518263ffffffff1660e01b8152600401610cbd9190611456565b60206040518083038186803b158015610cd557600080fd5b505afa158015610ce9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0d9190611343565b90506000610d216080890160608a01611249565b610d3557610d30856001611588565b610d38565b60005b905081811015610eca57610d4c81836115a0565b6001600160401b03811115610d7157634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610daa57816020015b610d97610f25565b815260200190600190039081610d8f5790505b509650805b82811015610ec857610e7c6040518060400160405280866001600160a01b031663c962ca128d6040016020810190610de79190611009565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024810187905260440160206040518083038186803b158015610e2d57600080fd5b505afa158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e659190611343565b8152602001876001600160a01b03168152506101a6565b888881518110610e9c57634e487b7160e01b600052603260045260246000fd5b60200260200101819052508680610eb2906115b7565b9750508080610ec0906115b7565b915050610daf565b505b505050505050919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516101a08101909152600080825260208201908152602001600081526020016000815260200160008152602001600081526020016000815260200160006002811115610f8457634e487b7160e01b600052602160045260246000fd5b81526020016000151581526020016000151581526020016000815260200160008152602001600081525090565b600060408284031215610fc2578081fd5b604080519081016001600160401b0381118282101715610fe457610fe46115fe565b604052823581529050806020830135610ffc81611614565b6020919091015292915050565b60006020828403121561101a578081fd5b813561102581611614565b9392505050565b60006020828403121561103d578081fd5b815161102581611614565b6000806040838503121561105a578081fd5b823561106581611614565b9150602083013561107581611614565b809150509250929050565b60008060408385031215611092578182fd5b823561109d81611614565b946020939093013593505050565b600080602083850312156110bd578182fd5b82356001600160401b03808211156110d3578384fd5b818501915085601f8301126110e6578384fd5b8135818111156110f4578485fd5b8660208260051b8501011115611108578485fd5b60209290920196919550909350505050565b6000602080838503121561112c578182fd5b82356001600160401b03811115611141578283fd5b8301601f81018513611151578283fd5b803561116461115f82611565565b611535565b80828252848201915084840188868560061b8701011115611183578687fd5b8694505b838510156111ae576111998982610fb1565b83526001949094019391850191604001611187565b50979650505050505050565b600060208083850312156111cc578182fd5b82356001600160401b038111156111e1578283fd5b8301601f810185136111f1578283fd5b80356111ff61115f82611565565b80828252848201915084840188868560061b870101111561121e578687fd5b8694505b838510156111ae576112348982610fb1565b83526001949094019391850191604001611222565b60006020828403121561125a578081fd5b813561102581611629565b60008060408385031215611277578182fd5b825161128281611629565b602084015190925061107581611629565b60008060008060008060008060006101208a8c0312156112b1578485fd5b8951600481106112bf578586fd5b8099505060208a0151975060408a0151965060608a0151955060808a0151945060a08a0151935060c08a0151600381106112f7578384fd5b8093505060e08a015191506101008a015190509295985092959850929598565b600060408284031215611328578081fd5b6110258383610fb1565b600060808284031215610a3e578081fd5b600060208284031215611354578081fd5b5051919050565b600080600080600060a08688031215611372578283fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b600381106113aa576113aa6115e8565b9052565b600481106113aa576113aa6115e8565b8051825260208101516113d460208401826113ae565b5060408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015161141960e084018261139a565b5061010081810151151590830152610120808201511515908301526101408082015190830152610160808201519083015261018090810151910152565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b818110156114ad576114998385516113be565b928401926101a09290920191600101611486565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b818110156114ad578351835292840192918401916001016114d5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6101a0810161095982846113be565b604051601f8201601f191681016001600160401b038111828210171561155d5761155d6115fe565b604052919050565b60006001600160401b0382111561157e5761157e6115fe565b5060051b60200190565b6000821982111561159b5761159b6115d2565b500190565b6000828210156115b2576115b26115d2565b500390565b60006000198214156115cb576115cb6115d2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610c6357600080fd5b8015158114610c6357600080fdfea2646970667358221220d92f53022eca7d7c1eff8f4bdbcb510e3c36e3879dab971d3d9634c5fa41559b64736f6c63430008040033
Deployed ByteCode Sourcemap
5855:6692:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9450:1203;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6648:299;;;;;;:::i;:::-;;:::i;:::-;;5199:94;;;:::i;4548:87::-;;;:::i;:::-;;;;;;;:::i;8998:444::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6955:356::-;;;;;;:::i;:::-;;:::i;7319:1114::-;;;;;;:::i;:::-;;:::i;:::-;;;12120:25:1;;;12108:2;12093:18;7319:1114:0;12075:76:1;10661:378:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8441:549::-;;;;;;:::i;:::-;;:::i;5448:192::-;;;;;;:::i;:::-;;:::i;11047:1497::-;;;;;;:::i;:::-;;:::i;9450:1203::-;9556:35;;:::i;:::-;9628:15;;9722:22;;;;10091:39;;-1:-1:-1;;;10091:39:0;;;;;12120:25:1;;;9609:16:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10091:29:0;;;;;12093:18:1;;10091:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9766:364;;;;;;;;;;;;;;;;;;10142:10;10154:12;10170:21;-1:-1:-1;;;;;10170:38:0;;10223:8;10170:72;;;;;;;;;;;;;12120:25:1;;12108:2;12093:18;;12075:76;10170:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10141:101;;;;10269:376;;;;;;;;10298:8;10269:376;;;;10321:5;10269:376;;;;;;-1:-1:-1;;;10269:376:0;;;;;;;;;;;;;10341:6;10269:376;;;;10362:6;10269:376;;;;10383:12;10269:376;;;;10410:7;10269:376;;;;10432:10;10269:376;;;;10457:10;10269:376;;;;;;-1:-1:-1;;;10269:376:0;;;;;;;;;;;;;10482:5;10269:376;;;;;;10502:7;10269:376;;;;;;10524:8;10269:376;;;;10547:9;10269:376;;;;10586:21;-1:-1:-1;;;;;10586:28:0;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10571:61:0;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10269:376;;10253:392;9450:1203;-1:-1:-1;;;;;;;;;;;;;;;9450:1203:0:o;6648:299::-;644:10;4768:7;:5;:7::i;:::-;-1:-1:-1;;;;;4768:23:0;;4760:68;;;;-1:-1:-1;;;4760:68:0;;;;;;;:::i;:::-;;;;;;;;;6890:49:::1;::::0;-1:-1:-1;;;6890:49:0;;6852:16;;-1:-1:-1;;;;;6890:39:0;::::1;::::0;::::1;::::0;:49:::1;::::0;6930:8;;6890:49:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4839:1;6648:299:::0;;:::o;5199:94::-;644:10;4768:7;:5;:7::i;:::-;-1:-1:-1;;;;;4768:23:0;;4760:68;;;;-1:-1:-1;;;4760:68:0;;;;;;;:::i;:::-;5264:21:::1;5282:1;5264:9;:21::i;:::-;5199:94::o:0;4548:87::-;4594:7;4621:6;-1:-1:-1;;;;;4621:6:0;;4548:87::o;8998:444::-;9101:23;9165:6;-1:-1:-1;;;;;9151:28:0;;;;;-1:-1:-1;;;9151:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9151:28:0;;9142:37;;9197:9;9192:243;9212:17;;;9192:243;;;9251:43;9337:6;;9344:1;9337:9;;;;;-1:-1:-1;;;9337:9:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9251:110;;9388:21;-1:-1:-1;;;;;9388:33:0;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9376:6;9383:1;9376:9;;;;;;-1:-1:-1;;;9376:9:0;;;;;;;;;;;;;;;;;;:47;-1:-1:-1;9231:3:0;;;;:::i;:::-;;;;9192:243;;;;8998:444;;;;:::o;6955:356::-;644:10;4768:7;:5;:7::i;:::-;-1:-1:-1;;;;;4768:23:0;;4760:68;;;;-1:-1:-1;;;4760:68:0;;;;;;;:::i;:::-;7045:9:::1;7040:264;7064:9;:16;7060:1;:20;7040:264;;;7102:43;7188:9;7198:1;7188:12;;;;;;-1:-1:-1::0;;;7188:12:0::1;;;;;;;;;;;;;;;:26;;;7102:127;;7244:21;-1:-1:-1::0;;;;;7244:28:0::1;;7273:9;7283:1;7273:12;;;;;;-1:-1:-1::0;;;7273:12:0::1;;;;;;;;;;;;;;;:18;;;7244:48;;;;;;;;;;;;;12120:25:1::0;;12108:2;12093:18;;12075:76;7244:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7040:264;7082:3;;;;;:::i;:::-;;;;7040:264;;;;6955:356:::0;:::o;7319:1114::-;7441:7;7466:43;7548:13;7466:106;;7598:15;7628:14;7672:23;7712:21;-1:-1:-1;;;;;7712:37:0;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7583:168;;;;;;;;7784:9;7766:15;:27;7762:640;;;7810:21;7846:545;7854:16;7846:545;;7901:11;7911:1;7901:7;:11;:::i;:::-;7891:21;;7949:1;7939:7;:11;7931:38;;;;-1:-1:-1;;;7931:38:0;;11562:2:1;7931:38:0;;;11544:21:1;11601:2;11581:18;;;11574:30;-1:-1:-1;;;11620:18:1;;;11613:44;11674:18;;7931:38:0;11534:164:1;7931:38:0;8146:43;;-1:-1:-1;;;8146:43:0;;;;;12120:25:1;;;8034:19:0;;;;-1:-1:-1;;;;;8146:34:0;;;;;12093:18:1;;8146:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7988:201;;;;;;;8230:1;8213:14;:18;8212:53;;;;;8255:9;8237:14;:27;;8212:53;8208:168;;;8309:4;8290:23;;8345:11;8336:20;;8208:168;7846:545;;;;;7762:640;;-1:-1:-1;8419:6:0;-1:-1:-1;;;7319:1114:0;;;;;:::o;10661:378::-;10775:34;10861:7;:14;-1:-1:-1;;;;;10840:36:0;;;;;-1:-1:-1;;;10840:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;10827:49;;10894:9;10889:115;10913:7;:14;10909:1;:18;10889:115;;;10965:27;10981:7;10989:1;10981:10;;;;;;-1:-1:-1;;;10981:10:0;;;;;;;;;;;;;;;10965:15;:27::i;:::-;10949:10;10960:1;10949:13;;;;;;-1:-1:-1;;;10949:13:0;;;;;;;;;;;;;;:43;;;;10929:3;;;;;:::i;:::-;;;;10889:115;;;;10661:378;;;:::o;8441:549::-;8688:48;;-1:-1:-1;;;8688:48:0;;;;;12120:25:1;;;8569:7:0;;8643:15;;8569:7;;-1:-1:-1;;;;;8688:37:0;;;;;12093:18:1;;8688:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8670:66;;8747:43;8829:21;-1:-1:-1;;;;;8829:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8915:43;;-1:-1:-1;;;8915:43:0;;;;;12120:25:1;;;8747:130:0;;-1:-1:-1;8891:14:0;;-1:-1:-1;;;;;8915:34:0;;;;;12093:18:1;;8915:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8888:70:0;;8441:549;-1:-1:-1;;;;;;;;;;8441:549:0:o;5448:192::-;644:10;4768:7;:5;:7::i;:::-;-1:-1:-1;;;;;4768:23:0;;4760:68;;;;-1:-1:-1;;;4760:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5537:22:0;::::1;5529:73;;;::::0;-1:-1:-1;;;5529:73:0;;10794:2:1;5529:73:0::1;::::0;::::1;10776:21:1::0;10833:2;10813:18;;;10806:30;10872:34;10852:18;;;10845:62;-1:-1:-1;;;10923:18:1;;;10916:36;10969:19;;5529:73:0::1;10766:228:1::0;5529:73:0::1;5613:19;5623:8;5613:9;:19::i;:::-;5448:192:::0;:::o;11047:1497::-;11165:34;11212:15;11270:37;;11212:15;11351:31;;;;;;;;:::i;:::-;11318:64;-1:-1:-1;11318:64:0;11393:36;-1:-1:-1;;;;;11534:37:0;;;11586:27;;;;;;;;:::i;:::-;11534:90;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11505:119;-1:-1:-1;11635:33:0;11686:22;;;;;;;;:::i;:::-;:54;;11715:25;:21;11739:1;11715:25;:::i;:::-;11686:54;;;11711:1;11686:54;11635:116;;11796:18;11768:25;:46;11764:773;;;11883:46;11904:25;11883:18;:46;:::i;:::-;-1:-1:-1;;;;;11844:100:0;;;;;-1:-1:-1;;;11844:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;11831:113:0;-1:-1:-1;12000:25:0;11961:565;12052:18;12044:5;:26;11961:565;;;12153:329;12191:272;;;;;;;;12235:21;-1:-1:-1;;;;;12235:35:0;;12301:15;:27;;;;;;;;;;:::i;:::-;12235:156;;-1:-1:-1;;;;;;12235:156:0;;;;;;;-1:-1:-1;;;;;9133:32:1;;;12235:156:0;;;9115:51:1;9182:18;;;9175:34;;;9088:18;;12235:156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12191:272;;;;12418:22;-1:-1:-1;;;;;12191:272:0;;;;12153:15;:329::i;:::-;12131:10;12142:7;12131:19;;;;;;-1:-1:-1;;;12131:19:0;;;;;;;;;;;;;;:351;;;;12501:9;;;;;:::i;:::-;;;;12089:7;;;;;:::i;:::-;;;;11961:565;;;;11764:773;11047:1497;;;;;;;;;:::o;5648:173::-;5704:16;5723:6;;-1:-1:-1;;;;;5740:17:0;;;-1:-1:-1;;;;;;5740:17:0;;;;;;5773:40;;5723:6;;;;;;;5773:40;;5704:16;5773:40;5648:173;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:567:1:-;78:5;126:4;114:9;109:3;105:19;101:30;98:2;;;148:5;141;134:20;98:2;185:4;179:11;;;217:17;;-1:-1:-1;;;;;249:34:1;;285:22;;;246:62;243:2;;;311:18;;:::i;:::-;347:4;340:24;412:23;;397:39;;382:6;-1:-1:-1;382:6:1;488:2;473:18;;460:32;501:33;460:32;501:33;:::i;:::-;562:2;550:15;;;;543:32;88:493;;-1:-1:-1;;88:493:1:o;586:257::-;645:6;698:2;686:9;677:7;673:23;669:32;666:2;;;719:6;711;704:22;666:2;763:9;750:23;782:31;807:5;782:31;:::i;:::-;832:5;656:187;-1:-1:-1;;;656:187:1:o;848:261::-;918:6;971:2;959:9;950:7;946:23;942:32;939:2;;;992:6;984;977:22;939:2;1029:9;1023:16;1048:31;1073:5;1048:31;:::i;1114:398::-;1182:6;1190;1243:2;1231:9;1222:7;1218:23;1214:32;1211:2;;;1264:6;1256;1249:22;1211:2;1308:9;1295:23;1327:31;1352:5;1327:31;:::i;:::-;1377:5;-1:-1:-1;1434:2:1;1419:18;;1406:32;1447:33;1406:32;1447:33;:::i;:::-;1499:7;1489:17;;;1201:311;;;;;:::o;1517:325::-;1585:6;1593;1646:2;1634:9;1625:7;1621:23;1617:32;1614:2;;;1667:6;1659;1652:22;1614:2;1711:9;1698:23;1730:31;1755:5;1730:31;:::i;:::-;1780:5;1832:2;1817:18;;;;1804:32;;-1:-1:-1;;;1604:238:1:o;1847:665::-;1933:6;1941;1994:2;1982:9;1973:7;1969:23;1965:32;1962:2;;;2015:6;2007;2000:22;1962:2;2047:23;;-1:-1:-1;;;;;2119:14:1;;;2116:2;;;2151:6;2143;2136:22;2116:2;2194:6;2183:9;2179:22;2169:32;;2239:7;2232:4;2228:2;2224:13;2220:27;2210:2;;2266:6;2258;2251:22;2210:2;2311;2298:16;2337:2;2329:6;2326:14;2323:2;;;2358:6;2350;2343:22;2323:2;2416:7;2411:2;2401:6;2398:1;2394:14;2390:2;2386:23;2382:32;2379:45;2376:2;;;2442:6;2434;2427:22;2376:2;2478;2470:11;;;;;2500:6;;-1:-1:-1;1952:560:1;;-1:-1:-1;;;;1952:560:1:o;2517:1032::-;2635:6;2666:2;2709;2697:9;2688:7;2684:23;2680:32;2677:2;;;2730:6;2722;2715:22;2677:2;2762:23;;-1:-1:-1;;;;;2797:30:1;;2794:2;;;2845:6;2837;2830:22;2794:2;2873:22;;2926:4;2918:13;;2914:27;-1:-1:-1;2904:2:1;;2960:6;2952;2945:22;2904:2;3001;2988:16;3024:77;3040:60;3097:2;3040:60;:::i;:::-;3024:77;:::i;:::-;3123:3;3147:2;3142:3;3135:15;3175:2;3170:3;3166:12;3159:19;;3206:2;3202;3198:11;3254:7;3249:2;3243;3240:1;3236:10;3232:2;3228:19;3224:28;3221:41;3218:2;;;3280:6;3272;3265:22;3218:2;3307:6;3298:15;;3322:197;3336:2;3333:1;3330:9;3322:197;;;3393:49;3434:7;3429:3;3393:49;:::i;:::-;3381:62;;3354:1;3347:9;;;;;3463:12;;;;3504:4;3495:14;3322:197;;;-1:-1:-1;3538:5:1;2646:903;-1:-1:-1;;;;;;;2646:903:1:o;3554:1024::-;3664:6;3695:2;3738;3726:9;3717:7;3713:23;3709:32;3706:2;;;3759:6;3751;3744:22;3706:2;3791:23;;-1:-1:-1;;;;;3826:30:1;;3823:2;;;3874:6;3866;3859:22;3823:2;3902:22;;3955:4;3947:13;;3943:27;-1:-1:-1;3933:2:1;;3989:6;3981;3974:22;3933:2;4030;4017:16;4053:77;4069:60;4126:2;4069:60;:::i;4053:77::-;4152:3;4176:2;4171:3;4164:15;4204:2;4199:3;4195:12;4188:19;;4235:2;4231;4227:11;4283:7;4278:2;4272;4269:1;4265:10;4261:2;4257:19;4253:28;4250:41;4247:2;;;4309:6;4301;4294:22;4247:2;4336:6;4327:15;;4351:197;4365:2;4362:1;4359:9;4351:197;;;4422:49;4463:7;4458:3;4422:49;:::i;:::-;4410:62;;4383:1;4376:9;;;;;4492:12;;;;4533:4;4524:14;4351:197;;4583:251;4639:6;4692:2;4680:9;4671:7;4667:23;4663:32;4660:2;;;4713:6;4705;4698:22;4660:2;4757:9;4744:23;4776:28;4798:5;4776:28;:::i;4839:383::-;4912:6;4920;4973:2;4961:9;4952:7;4948:23;4944:32;4941:2;;;4994:6;4986;4979:22;4941:2;5031:9;5025:16;5050:28;5072:5;5050:28;:::i;:::-;5147:2;5132:18;;5126:25;5097:5;;-1:-1:-1;5160:30:1;5126:25;5160:30;:::i;5227:887::-;5390:6;5398;5406;5414;5422;5430;5438;5446;5454;5507:3;5495:9;5486:7;5482:23;5478:33;5475:2;;;5529:6;5521;5514:22;5475:2;5566:9;5560:16;5605:1;5598:5;5595:12;5585:2;;5626:6;5618;5611:22;5585:2;5654:5;5644:15;;;5699:2;5688:9;5684:18;5678:25;5668:35;;5743:2;5732:9;5728:18;5722:25;5712:35;;5787:2;5776:9;5772:18;5766:25;5756:35;;5831:3;5820:9;5816:19;5810:26;5800:36;;5876:3;5865:9;5861:19;5855:26;5845:36;;5926:3;5915:9;5911:19;5905:26;5962:1;5953:7;5950:14;5940:2;;5983:6;5975;5968:22;5940:2;6011:7;6001:17;;;6058:3;6047:9;6043:19;6037:26;6027:36;;6103:3;6092:9;6088:19;6082:26;6072:36;;5465:649;;;;;;;;;;;:::o;6119:256::-;6212:6;6265:2;6253:9;6244:7;6240:23;6236:32;6233:2;;;6286:6;6278;6271:22;6233:2;6314:55;6361:7;6350:9;6314:55;:::i;6380:211::-;6473:6;6526:3;6514:9;6505:7;6501:23;6497:33;6494:2;;;6548:6;6540;6533:22;6596:194;6666:6;6719:2;6707:9;6698:7;6694:23;6690:32;6687:2;;;6740:6;6732;6725:22;6687:2;-1:-1:-1;6768:16:1;;6677:113;-1:-1:-1;6677:113:1:o;6795:440::-;6901:6;6909;6917;6925;6933;6986:3;6974:9;6965:7;6961:23;6957:33;6954:2;;;7008:6;7000;6993:22;6954:2;-1:-1:-1;;7036:16:1;;7092:2;7077:18;;7071:25;7136:2;7121:18;;7115:25;7180:2;7165:18;;7159:25;7224:3;7209:19;;;7203:26;7036:16;;7071:25;;-1:-1:-1;7115:25:1;7159;-1:-1:-1;7203:26:1;;-1:-1:-1;6944:291:1;-1:-1:-1;6944:291:1:o;7336:141::-;7418:1;7411:5;7408:12;7398:2;;7424:18;;:::i;:::-;7453;;7388:89::o;7482:136::-;7559:1;7552:5;7549:12;7539:2;;7565:18;;:::i;7623:1105::-;7709:5;7703:12;7698:3;7691:25;7762:4;7755:5;7751:16;7745:23;7777:51;7822:4;7817:3;7813:14;7799:12;7777:51;:::i;:::-;;7877:4;7870:5;7866:16;7860:23;7853:4;7848:3;7844:14;7837:47;7933:4;7926:5;7922:16;7916:23;7909:4;7904:3;7900:14;7893:47;7989:4;7982:5;7978:16;7972:23;7965:4;7960:3;7956:14;7949:47;8045:4;8038:5;8034:16;8028:23;8021:4;8016:3;8012:14;8005:47;8101:4;8094:5;8090:16;8084:23;8077:4;8072:3;8068:14;8061:47;8156:4;8149:5;8145:16;8139:23;8171:58;8223:4;8218:3;8214:14;8198;8171:58;:::i;:::-;-1:-1:-1;8248:6:1;8291:14;;;8285:21;7310:13;7303:21;8347:12;;;7291:34;8379:6;8422:14;;;8416:21;7310:13;7303:21;8478:12;;;7291:34;8510:6;8552:14;;;8546:21;8532:12;;;8525:43;8587:6;8629:14;;;8623:21;8609:12;;;8602:43;8664:6;8706:14;;;8700:21;8686:12;;8679:43;7681:1047::o;8733:203::-;-1:-1:-1;;;;;8897:32:1;;;;8879:51;;8867:2;8852:18;;8834:102::o;9220:727::-;9453:2;9505:21;;;9575:13;;9478:18;;;9597:22;;;9424:4;;9453:2;9676:15;;;;9650:2;9635:18;;;9424:4;9722:199;9736:6;9733:1;9730:13;9722:199;;;9785:52;9833:3;9824:6;9818:13;9785:52;:::i;:::-;9896:15;;;;9866:6;9857:16;;;;;9758:1;9751:9;9722:199;;;-1:-1:-1;9938:3:1;;9433:514;-1:-1:-1;;;;;;9433:514:1:o;9952:635::-;10123:2;10175:21;;;10245:13;;10148:18;;;10267:22;;;10094:4;;10123:2;10346:15;;;;10320:2;10305:18;;;10094:4;10392:169;10406:6;10403:1;10400:13;10392:169;;;10467:13;;10455:26;;10536:15;;;;10501:12;;;;10428:1;10421:9;10392:169;;10999:356;11201:2;11183:21;;;11220:18;;;11213:30;11279:34;11274:2;11259:18;;11252:62;11346:2;11331:18;;11173:182::o;11703:266::-;11899:3;11884:19;;11912:51;11888:9;11945:6;11912:51;:::i;12156:275::-;12227:2;12221:9;12292:2;12273:13;;-1:-1:-1;;12269:27:1;12257:40;;-1:-1:-1;;;;;12312:34:1;;12348:22;;;12309:62;12306:2;;;12374:18;;:::i;:::-;12410:2;12403:22;12201:230;;-1:-1:-1;12201:230:1:o;12436:200::-;12513:4;-1:-1:-1;;;;;12535:30:1;;12532:2;;;12568:18;;:::i;:::-;-1:-1:-1;12613:1:1;12609:14;12625:4;12605:25;;12522:114::o;12641:128::-;12681:3;12712:1;12708:6;12705:1;12702:13;12699:2;;;12718:18;;:::i;:::-;-1:-1:-1;12754:9:1;;12689:80::o;12774:125::-;12814:4;12842:1;12839;12836:8;12833:2;;;12847:18;;:::i;:::-;-1:-1:-1;12884:9:1;;12823:76::o;12904:135::-;12943:3;-1:-1:-1;;12964:17:1;;12961:2;;;12984:18;;:::i;:::-;-1:-1:-1;13031:1:1;13020:13;;12951:88::o;13044:127::-;13105:10;13100:3;13096:20;13093:1;13086:31;13136:4;13133:1;13126:15;13160:4;13157:1;13150:15;13176:127;13237:10;13232:3;13228:20;13225:1;13218:31;13268:4;13265:1;13258:15;13292:4;13289:1;13282:15;13308:127;13369:10;13364:3;13360:20;13357:1;13350:31;13400:4;13397:1;13390:15;13424:4;13421:1;13414:15;13440:131;-1:-1:-1;;;;;13515:31:1;;13505:42;;13495:2;;13561:1;13558;13551:12;13576:118;13662:5;13655:13;13648:21;13641:5;13638:32;13628:2;;13684:1;13681;13674:12
Swarm Source
ipfs://d92f53022eca7d7c1eff8f4bdbcb510e3c36e3879dab971d3d9634c5fa41559b
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|