0 txs
0 calls
constructor
No constructor.
functions
getAccountOrders
viewfunction getAccountOrders(DataStore dataStore, address account, uint256 start, uint256 end) view returns (tuple[])
getAdlState
viewfunction getAdlState(DataStore dataStore, address market, bool isLong, tuple prices) view returns (uint256, bool, int256, uint256)
getBaseFundingValues
viewfunction getBaseFundingValues(DataStore dataStore, tuple market) view returns (tuple)
getMarketInfo
viewfunction getMarketInfo(DataStore dataStore, tuple prices, address marketKey) view returns (tuple)
getMarketInfoList
viewfunction getMarketInfoList(DataStore dataStore, tuple[] marketPricesList, uint256 start, uint256 end) view returns (tuple[])
getMarkets
viewfunction getMarkets(DataStore dataStore, uint256 start, uint256 end) view returns (tuple[])
getOrder
viewfunction getOrder(DataStore dataStore, bytes32 key) view returns (tuple)
events
No events.
errors
DisabledMarket
error DisabledMarket(address market)
EmptyMarket
error EmptyMarket()
PRBMath__MulDivFixedPointOverflow
error PRBMath__MulDivFixedPointOverflow(uint256 prod1)
PRBMathUD60x18__Exp2InputTooBig
error PRBMathUD60x18__Exp2InputTooBig(uint256 x)
PRBMathUD60x18__LogInputTooSmall
error PRBMathUD60x18__LogInputTooSmall(uint256 x)
UnableToGetBorrowingFactorEmptyPoolUsd
error UnableToGetBorrowingFactorEmptyPoolUsd()
creation bytecode
0x613f1061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100775760003560e01c806310366e351461007c5780631d81085c146100a5578063619c4ddb146100d8578063818ee976146100f85780639b43e9fc14610118578063b69bee4614610138578063c65da80014610158575b600080fd5b61008f61008a36600461307e565b610178565b60405161009c9190613157565b60405180910390f35b6100b86100b33660046131f6565b610272565b60408051948552921515602085015291830152606082015260800161009c565b6100eb6100e6366004613252565b61030d565b60405161009c919061338c565b61010b6101063660046133be565b610510565b60405161009c919061347f565b61012b6101263660046134ce565b61060a565b60405161009c9190613503565b61014b610146366004613545565b610757565b60405161009c919061378d565b61016b6101663660046137ef565b610899565b60405161009c919061381b565b610180612d71565b610188612d71565b61019d8484600001518560400151600161091f565b81515152825160608401516101b5918691600161091f565b81515160200152825160408401516101d0918691600061091f565b81516020015152825160608401516101eb918691600061091f565b815160209081015101528251604084015161020991869160016109a3565b602082015151528251606084015161022491869160016109a3565b6020808301515101528251604084015161024191869160006109a3565b6020808301510151528251606084015161025e91869160006109a3565b602080830151810151015290505b92915050565b60008060008060006102858989896109bf565b905060006102938a8a610a39565b905060008060006102f68d858c8e6040516020016102db9060208082526016908201527513505617d4139317d19050d513d497d193d497d0511360521b604082015260600190565b60405160208183030381529060405280519060200120610aca565b969f919e509c50949a509398505050505050505050565b610315612d96565b60405163a8d8fff560e01b815260009073846d1b8c17adfa67fffefe83b7dbebfd598f91069063a8d8fff590610351908890879060040161382e565b608060405180830381865af415801561036e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103929190613853565b905060006103a38683876001610b1e565b905060006103b48784886000610b1e565b905060006103c28885610178565b9050600073fffe94dd6ec5c076b8e0b0fcdd5ac5d30f6c9d87630dc7f3eb8a878b6040518463ffffffff1660e01b8152600401610401939291906138ba565b61016060405180830381865af415801561041f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104439190613985565b905060006104518a87610d3e565b905060008a6001600160a01b0316637ae1cfca6104718960000151610d92565b6040518263ffffffff1660e01b815260040161048f91815260200190565b602060405180830381865afa1580156104ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d09190613a0b565b6040805160e0810182529889526020890197909752958701949094526060860192909252608085015260a084015250151560c082015290505b9392505050565b6060600061051f868585610e15565b9050600081516001600160401b0381111561053c5761053c612f86565b60405190808252806020026020018201604052801561057557816020015b610562612d96565b81526020019060019003908161055a5790505b50905060005b82518110156105fd57600087828151811061059857610598613a28565b6020026020010151905060008483815181106105b6576105b6613a28565b602002602001015190506105cb8a838361030d565b8484815181106105dd576105dd613a28565b6020026020010181905250505080806105f590613a54565b91505061057b565b509150505b949350505050565b60606000610619858585610e15565b9050600081516001600160401b0381111561063657610636612f86565b60405190808252806020026020018201604052801561066f57816020015b61065c612deb565b8152602001906001900390816106545790505b50905060005b825181101561074d57600083828151811061069257610692613a28565b60200260200101519050600073846d1b8c17adfa67fffefe83b7dbebfd598f910663a8d8fff58a846040518363ffffffff1660e01b81526004016106d792919061382e565b608060405180830381865af41580156106f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107189190613853565b90508084848151811061072d5761072d613a28565b60200260200101819052505050808061074590613a54565b915050610675565b5095945050505050565b6060600061076786868686610eda565b9050600081516001600160401b0381111561078457610784612f86565b6040519080825280602002602001820160405280156107bd57816020015b6107aa612e12565b8152602001906001900390816107a25790505b50905060005b82518110156105fd5760008382815181106107e0576107e0613a28565b6020026020010151905073421e51d2e417a883cf7511ef60109e28b99e75af63fdfc26f38a836040518363ffffffff1660e01b8152600401610823929190613a6d565b600060405180830381865af4158015610840573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108689190810190613c1a565b83838151811061087a5761087a613a28565b602002602001018190525050808061089190613a54565b9150506107c3565b6108a1612e12565b60405163fdfc26f360e01b815273421e51d2e417a883cf7511ef60109e28b99e75af9063fdfc26f3906108da9086908690600401613a6d565b600060405180830381865af41580156108f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105099190810190613c1a565b6000846001600160a01b031663bd02d0f561093b868686610f66565b6040518263ffffffff1660e01b815260040161095991815260200190565b602060405180830381865afa158015610976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099a9190613d50565b95945050505050565b6000846001600160a01b031663bd02d0f561093b868686611007565b6000836001600160a01b031663bd02d0f56109da8585611054565b6040518263ffffffff1660e01b81526004016109f891815260200190565b602060405180830381865afa158015610a15573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106029190613d50565b610a41612deb565b60405163a8d8fff560e01b815260009073846d1b8c17adfa67fffefe83b7dbebfd598f91069063a8d8fff590610a7d908790879060040161382e565b608060405180830381865af4158015610a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abe9190613853565b905061050984826110db565b600080600080610ade8989898960016111b9565b90506000610af28a878b600001518a611209565b905060008083138015610b0c575081610b0a84611225565b115b9b929a50909850909650505050505050565b600080610b2d8686868661127b565b905080600003610b41576000915050610602565b6000866001600160a01b0316637ae1cfca604051602001610b9f9060208082526023908201527f534b49505f424f52524f57494e475f4645455f464f525f534d414c4c45525f5360408201526249444560e81b606082015260800190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401610bd391815260200190565b602060405180830381865afa158015610bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c149190613a0b565b90508015610c7c576000610c2a888860016112c1565b90506000610c3a898960006112c1565b9050858015610c4857508082105b15610c5a576000945050505050610602565b85158015610c6757508181105b15610c79576000945050505050610602565b50505b6000610c8c88888888600061131f565b905080600003610caf57604051630d5f5aef60e31b815260040160405180910390fd5b6000610cc0898960000151886113a5565b90508015610ce157610cd68989888786866113c0565b945050505050610602565b6000610cf28a8a600001518961156f565b90506000610d00868361158a565b90506000610d0e82866115e9565b90506000610d218d8d600001518c6115f7565b9050610d2d8282611612565b9d9c50505050505050505050505050565b610d46612ee9565b600080610d5785856000015161162b565b92509250506000610d6c8686602001516117c3565b604080516060810182529586526020860194909452928401929092525090949350505050565b6000604051602001610dca906020808252601290820152711254d7d3505492d15517d11254d05093115160721b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b038416908201526060015b604051602081830303815290604052805190602001209050919050565b6060836001600160a01b031663e7e4148e604051602001610e55906020808252600b908201526a13505492d15517d31254d560aa1b604082015260600190565b60408051601f198184030181529082905280516020909101206001600160e01b031960e084901b16825260048201526024810186905260448101859052606401600060405180830381865afa158015610eb2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106029190810190613d69565b6060846001600160a01b031663f069052a610ef4866118d9565b6040516001600160e01b031960e084901b16815260048101919091526024810186905260448101859052606401600060405180830381865afa158015610f3e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261099a9190810190613d9d565b6000604051602001610fa7906020808252601b908201527a46554e44494e475f4645455f414d4f554e545f5045525f53495a4560281b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b038087169183019190915284166060820152821515608082015260a0015b6040516020818303038152906040528051906020012090509392505050565b6000604051602001610fa79060208082526021908201527f434c41494d41424c455f46554e44494e475f414d4f554e545f5045525f53495a6040820152604560f81b606082015260800190565b6000604051602001611087906020808252600d908201526c1310551154d517d0511317d055609a1b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b0385169082015282151560608201526080015b60405160208183030381529060405280519060200120905092915050565b80516001600160a01b0316611103576040516302fde0d760e11b815260040160405180910390fd5b6000826001600160a01b0316637ae1cfca6111218460000151610d92565b6040518263ffffffff1660e01b815260040161113f91815260200190565b602060405180830381865afa15801561115c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111809190613a0b565b905080156111b45781516040516309f8c93760e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505050565b6000806111ca87878787871561131f565b9050806000036111de57600091505061099a565b60006111f1888888600001518888611911565b90506111fd81836119a2565b98975050505050505050565b6000846001600160a01b031663bd02d0f561093b8686866119e1565b6000808212156112775760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016111ab565b5090565b60008082156112ac576000611291878786611a55565b8551602001519091506112a49082613e22565b91505061099a565b6112b78686856112c1565b9695505050505050565b6000806112d684604001518560600151611a9c565b905060006112ef86866000015187604001518786611acb565b9050600061130887876000015188606001518887611acb565b90506113148183613e39565b979650505050505050565b60008083611331578560600151611337565b85604001515b90506000611346888884611b51565b90506000841561137457856113635786604001516020015161136d565b8660200151602001515b905061138e565b856113845760408701515161138b565b6020870151515b90505b6113988183613e22565b9998505050505050505050565b6000836001600160a01b031663bd02d0f56109da8585611bef565b6000806113d08888888888611c29565b90506000886001600160a01b031663bd02d0f56113f18a600001518a611d8a565b6040518263ffffffff1660e01b815260040161140f91815260200190565b602060405180830381865afa15801561142c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114509190613d50565b9050600061145e8383611612565b9050848311801561147a57508468327cb2734119d3b7a9601e1b115b1561139857600061148b8685613e4c565b905060008b6001600160a01b031663bd02d0f56114ac8d600001518d611dc5565b6040518263ffffffff1660e01b81526004016114ca91815260200190565b602060405180830381865afa1580156114e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150b9190613d50565b9050600084821115611524576115218583613e4c565b90505b600061153c8968327cb2734119d3b7a9601e1b613e4c565b9050806115498584613e22565b6115539190613e75565b61155d9086613e39565b9e9d5050505050505050505050505050565b6000836001600160a01b031663bd02d0f56109da8585611e15565b600068327cb2734119d3b7a9601e1b8310156115a85750600061026c565b68327cb2734119d3b7a9601e1b82036115c257508161026c565b60006115de6115d085611e54565b6115d985611e54565b611e65565b905061060281611ea7565b600061050983836000611eb8565b6000836001600160a01b031663bd02d0f56109da8585611f07565b6000610509838368327cb2734119d3b7a9601e1b611f3d565b600080600080856001600160a01b031663a6ed563e61164987611f4a565b6040518263ffffffff1660e01b815260040161166791815260200190565b602060405180830381865afa158015611684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a89190613d50565b9050806116c0576000806000935093509350506117bc565b6001866001600160a01b031663bd02d0f56116dc846001611f81565b6040518263ffffffff1660e01b81526004016116fa91815260200190565b602060405180830381865afa158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b9190613d50565b876001600160a01b031663bd02d0f5611755856000611f81565b6040518263ffffffff1660e01b815260040161177391815260200190565b602060405180830381865afa158015611790573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b49190613d50565b935093509350505b9250925092565b6000806000846001600160a01b031663a6ed563e6117e086611ff3565b6040518263ffffffff1660e01b81526004016117fe91815260200190565b602060405180830381865afa15801561181b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183f9190613d50565b9050806118535760008092509250506118d2565b6001856001600160a01b031663dc97d96261186d84612029565b6040518263ffffffff1660e01b815260040161188b91815260200190565b602060405180830381865afa1580156118a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cc9190613d50565b92509250505b9250929050565b6000604051602001610dca906020808252601290820152711050d0d3d5539517d3d491115497d31254d560721b604082015260600190565b6000806119276119228888876112c1565b612095565b90506000611936888887611a55565b9050811580611943575080155b156119535760009250505061099a565b60006119608787876120ff565b905060006119716119228385613e22565b9050600087611989576119848286613e97565b611993565b6119938583613e97565b9b9a5050505050505050505050565b6000806119b76119b185612136565b846115e9565b9050600084136119d8576119ca81612095565b6119d390613ebe565b610602565b61060281612095565b6000604051602001611a15906020808252600e908201526d26a0ac2fa827262fa320a1aa27a960911b604082015260600190565b60408051601f1981840301815282825280516020918201209083015281018590526001600160a01b0384166060820152821515608082015260a001610fe8565b600080611a6a84604001518560600151611a9c565b90506000611a8386866000015187604001518786612149565b9050600061130887876000015188606001518887612149565b6000816001600160a01b0316836001600160a01b031614611abe576001611ac1565b60025b60ff169392505050565b600081866001600160a01b031663bd02d0f5611ae8888888612166565b6040518263ffffffff1660e01b8152600401611b0691815260200190565b602060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b479190613d50565b6112b79190613e75565b600080611b6684604001518560600151611a9c565b905080856001600160a01b031663bd02d0f5611b86876000015187612199565b6040518263ffffffff1660e01b8152600401611ba491815260200190565b602060405180830381865afa158015611bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be59190613d50565b61099a9190613e75565b60006040516020016110879060208082526014908201527327a82a24a6a0a62faaa9a0a3a2afa320a1aa27a960611b604082015260600190565b600080611c3b87876000015187612207565b90506000611c498483611612565b90506000611c5786836115e9565b9050886001600160a01b0316637ae1cfca604051602001611cb79060208082526025908201527f49474e4f52455f4f50454e5f494e5445524553545f464f525f55534147455f4660408201526420a1aa27a960d91b606082015260800190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401611ceb91815260200190565b602060405180830381865afa158015611d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2c9190613a0b565b15611d3b57925061099a915050565b6000611d4c8a8a600001518a612222565b90506000611d5b8b8b8b6112c1565b90506000611d6982846115e9565b9050808411611d785780611d7a565b835b9c9b505050505050505050505050565b6000604051602001611087906020808252601590820152742120a9a2afa127a92927aba4a723afa320a1aa27a960591b604082015260600190565b60006040516020016110879060208082526024908201527f41424f56455f4f5054494d414c5f55534147455f424f52524f57494e475f464160408201526321aa27a960e11b606082015260800190565b6000604051602001611087906020808252601990820152782127a92927aba4a723afa2ac2827a722a72a2fa320a1aa27a960391b604082015260600190565b600061026c64e8d4a5100083613e75565b600082600003611e8d578115611e7c576000611e86565b670de0b6b3a76400005b905061026c565b610509611ea2611e9c8561223d565b846122f3565b6122ff565b600061026c64e8d4a5100083613e22565b600083600003611eca57506000610509565b8115611ef057611ee98468327cb2734119d3b7a9601e1b856001612345565b9050610509565b6106028468327cb2734119d3b7a9601e1b85612396565b60006040516020016110879060208082526010908201526f2127a92927aba4a723afa320a1aa27a960811b604082015260600190565b6000610602848484612396565b6000604051602001610dca906020808252601190820152701592549515505317d3505492d15517d251607a1b604082015260600190565b6000604051602001611fc2906020808252601b908201527a5649525455414c5f494e56454e544f52595f464f525f535741505360281b604082015260600190565b60408051601f19818403018152828252805160209182012090830152810184905282151560608201526080016110bd565b6000604051602001610dca9060208082526010908201526f1592549515505317d513d2d15397d25160821b604082015260600190565b600060405160200161206c906020808252601f908201527f5649525455414c5f494e56454e544f52595f464f525f504f534954494f4e5300604082015260600190565b60408051601f198184030181528282528051602091820120908301528101839052606001610df8565b60006001600160ff1b038211156112775760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016111ab565b6000821561211e5781612113578351611ee9565b506020830151610509565b8161212d578360200151610602565b50509051919050565b600080821215611277578160000361026c565b600081866001600160a01b031663bd02d0f5611ae8888888612480565b6000604051602001610fa7906020808252600d908201526c13d4115397d2539511549154d5609a1b604082015260600190565b60006040516020016121ca906020808252600b908201526a1413d3d317d05353d5539560aa1b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b0380861691830191909152831660608201526080016110bd565b6000836001600160a01b031663bd02d0f56109da85856124bd565b6000836001600160a01b031663bd02d0f56109da85856124ff565b6000670de0b6b3a764000082101561226b57604051633621413760e21b8152600481018390526024016111ab565b6000612280670de0b6b3a76400008404612536565b670de0b6b3a764000081029250905082811c670de0b6b3a763ffff1981016122a9575050919050565b6706f05b59d3b200005b80156122eb57670de0b6b3a7640000828002049150671bc16d674ec8000082106122e3579283019260019190911c905b60011c6122b3565b505050919050565b60006105098383612619565b6000680a688906bd8b000000821061232d57604051634a4f26f160e01b8152600481018390526024016111ab565b670de0b6b3a7640000604083901b04610509816126df565b600080612353868686612396565b90506001836002811115612369576123696135cf565b14801561238657506000848061238157612381613e5f565b868809115b1561099a576112b7600182613e39565b60008080600019858709858702925082811083820303915050806000036123d0578382816123c6576123c6613e5f565b0492505050610509565b8084116124175760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016111ab565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000604051602001610fa7906020808252601790820152764f50454e5f494e5445524553545f494e5f544f4b454e5360481b604082015260600190565b6000604051602001611087906020808252601c908201527b27a822a72fa4a72a22a922a9aa2fa922a9a2a92b22afa320a1aa27a960211b604082015260600190565b60006040516020016110879060208082526011908201527013505617d3d4115397d2539511549154d5607a1b604082015260600190565b6000600160801b821061255657608091821c916125539082613e39565b90505b600160401b821061257457604091821c916125719082613e39565b90505b600160201b821061259257602091821c9161258f9082613e39565b90505b6201000082106125af57601091821c916125ac9082613e39565b90505b61010082106125cb57600891821c916125c89082613e39565b90505b601082106125e657600491821c916125e39082613e39565b90505b6004821061260157600291821c916125fe9082613e39565b90505b600282106126145761026c600182613e39565b919050565b60008080600019848609848602925082811083820303915050670de0b6b3a7640000811061265d5760405163698d9a0160e11b8152600481018290526024016111ab565b600080670de0b6b3a764000086880991506706f05b59d3b1ffff821190508260000361269b5780670de0b6b3a764000085040194505050505061026c565b620400008285030493909111909103600160ee1b02919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b600160bf1b6001603f1b8216156126ff5768016a09e667f3bcc9090260401c5b6001603e1b82161561271a576801306fe0a31b7152df0260401c5b6001603d1b821615612735576801172b83c7d517adce0260401c5b6001603c1b8216156127505768010b5586cf9890f62a0260401c5b6001603b1b82161561276b576801059b0d31585743ae0260401c5b6001603a1b82161561278657680102c9a3e778060ee70260401c5b600160391b8216156127a15768010163da9fb33356d80260401c5b600160381b8216156127bc57680100b1afa5abcbed610260401c5b600160371b8216156127d75768010058c86da1c09ea20260401c5b600160361b8216156127f2576801002c605e2e8cec500260401c5b600160351b82161561280d57680100162f3904051fa10260401c5b600160341b821615612828576801000b175effdc76ba0260401c5b600160331b82161561284357680100058ba01fb9f96d0260401c5b600160321b82161561285e5768010002c5cc37da94920260401c5b600160311b821615612879576801000162e525ee05470260401c5b600160301b8216156128945768010000b17255775c040260401c5b6001602f1b8216156128af576801000058b91b5bc9ae0260401c5b6001602e1b8216156128ca57680100002c5c89d5ec6d0260401c5b6001602d1b8216156128e55768010000162e43f4f8310260401c5b6001602c1b82161561290057680100000b1721bcfc9a0260401c5b6001602b1b82161561291b5768010000058b90cf1e6e0260401c5b6001602a1b821615612936576801000002c5c863b73f0260401c5b600160291b82161561295157680100000162e430e5a20260401c5b600160281b82161561296c576801000000b1721835510260401c5b600160271b82161561298757680100000058b90c0b490260401c5b600160261b8216156129a25768010000002c5c8601cc0260401c5b600160251b8216156129bd576801000000162e42fff00260401c5b600160241b8216156129d85768010000000b17217fbb0260401c5b600160231b8216156129f3576801000000058b90bfce0260401c5b600160221b821615612a0e57680100000002c5c85fe30260401c5b600160211b821615612a295768010000000162e42ff10260401c5b600160201b821615612a4457680100000000b17217f80260401c5b6380000000821615612a5f5768010000000058b90bfc0260401c5b6340000000821615612a7a576801000000002c5c85fe0260401c5b6320000000821615612a9557680100000000162e42ff0260401c5b6310000000821615612ab0576801000000000b17217f0260401c5b6308000000821615612acb57680100000000058b90c00260401c5b6304000000821615612ae65768010000000002c5c8600260401c5b6302000000821615612b01576801000000000162e4300260401c5b6301000000821615612b1c5768010000000000b172180260401c5b62800000821615612b36576801000000000058b90c0260401c5b62400000821615612b5057680100000000002c5c860260401c5b62200000821615612b6a5768010000000000162e430260401c5b62100000821615612b8457680100000000000b17210260401c5b62080000821615612b9e5768010000000000058b910260401c5b62040000821615612bb8576801000000000002c5c80260401c5b62020000821615612bd257680100000000000162e40260401c5b62010000821615612beb5761b172600160401b010260401c5b618000821615612c03576158b9600160401b010260401c5b614000821615612c1b57612c5d600160401b010260401c5b612000821615612c335761162e600160401b010260401c5b611000821615612c4b57610b17600160401b010260401c5b610800821615612c635761058c600160401b010260401c5b610400821615612c7b576102c6600160401b010260401c5b610200821615612c9357610163600160401b010260401c5b610100821615612caa5760b1600160401b010260401c5b6080821615612cc0576059600160401b010260401c5b6040821615612cd657602c600160401b010260401c5b6020821615612cec576016600160401b010260401c5b6010821615612d0257600b600160401b010260401c5b6008821615612d18576006600160401b010260401c5b6004821615612d2e576003600160401b010260401c5b6002821615612d44576001600160401b010260401c5b6001821615612d5a576001600160401b010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b6040518060400160405280612d84612f0a565b8152602001612d91612f0a565b905290565b6040518060e00160405280612da9612deb565b81526020016000815260200160008152602001612dc4612d71565b8152602001612dd1612f2a565b8152602001612dde612ee9565b8152600060209091015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080516101608101909152600060608083018281526080840183905260a0840183905260c0840183905260e084018390526101008401839052610120840192909252610140830152815260208101612ebf6040805161016081019091528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b81526040805160808101825260008082526020828101829052928201819052606082015291015290565b60405180606001604052806000815260200160008152602001600081525090565b6040518060400160405280612f1d612f54565b8152602001612d91612f54565b6040518060a001604052806000151581526020016000815260200160008152602001612d84612f0a565b604051806040016040528060008152602001600081525090565b6001600160a01b0381168114612f8357600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715612fbe57612fbe612f86565b60405290565b604080519081016001600160401b0381118282101715612fbe57612fbe612f86565b604051606081016001600160401b0381118282101715612fbe57612fbe612f86565b60405161016081016001600160401b0381118282101715612fbe57612fbe612f86565b60405161010081016001600160401b0381118282101715612fbe57612fbe612f86565b604051601f8201601f191681016001600160401b038111828210171561307657613076612f86565b604052919050565b60008082840360a081121561309257600080fd5b833561309d81612f6e565b92506080601f19820112156130b157600080fd5b506130ba612f9c565b60208401356130c881612f6e565b815260408401356130d881612f6e565b602082015260608401356130eb81612f6e565b604082015260808401356130fe81612f6e565b6060820152919491935090915050565b80518252602090810151910152565b61312882825161310e565b60208101516111b4604084018261310e565b61314582825161311d565b60208101516111b4608084018261311d565b610100810161026c828461313a565b8015158114612f8357600080fd5b60006040828403121561318657600080fd5b61318e612fc4565b9050813581526020820135602082015292915050565b600060c082840312156131b657600080fd5b6131be612fe6565b90506131ca8383613174565b81526131d98360408401613174565b60208201526131eb8360808401613174565b604082015292915050565b600080600080610120858703121561320d57600080fd5b843561321881612f6e565b9350602085013561322881612f6e565b9250604085013561323881613166565b915061324786606087016131a4565b905092959194509250565b6000806000610100848603121561326857600080fd5b833561327381612f6e565b925061328285602086016131a4565b915060e084013561329281612f6e565b809150509250925092565b6001600160a01b03169052565b80516001600160a01b03908116835260208083015182169084015260408083015182169084015260609182015116910152565b6132e88282516132aa565b60208101516080830152604081015160a0830152606081015161330e60c084018261313a565b506080810151805115156101c084015260208101516101e08401526040810151610200840152606081015161334761022085018261311d565b506080015161335a6102a084018261311d565b5060a0810151805161032084015260208101516103408401526040015161036083015260c00151151561038090910152565b6103a0810161026c82846132dd565b60006001600160401b038211156133b4576133b4612f86565b5060051b60200190565b600080600080608085870312156133d457600080fd5b84356133df81612f6e565b93506020858101356001600160401b038111156133fb57600080fd5b8601601f8101881361340c57600080fd5b803561341f61341a8261339b565b61304e565b81815260c0918202830184019184820191908b84111561343e57600080fd5b938501935b83851015613464576134558c866131a4565b83529384019391850191613443565b50979a97995050505060408601359560600135949350505050565b6020808252825182820181905260009190848201906040850190845b818110156134c2576134ae8385516132dd565b928401926103a0929092019160010161349b565b50909695505050505050565b6000806000606084860312156134e357600080fd5b83356134ee81612f6e565b95602085013595506040909401359392505050565b6020808252825182820181905260009190848201906040850190845b818110156134c2576135328385516132aa565b928401926080929092019160010161351f565b6000806000806080858703121561355b57600080fd5b843561356681612f6e565b9350602085013561357681612f6e565b93969395505050506040820135916060013590565b600081518084526020808501945080840160005b838110156135c45781516001600160a01b03168752958201959082019060010161359f565b509495945050505050565b634e487b7160e01b600052602160045260246000fd5b600981106135f5576135f56135cf565b9052565b600381106135f5576135f56135cf565b6136148282516135e5565b602081015161362660208401826135f9565b5060408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152505050565b805161020080845281516001600160a01b039081169185019190915260208201511661022084015260408101516000916136c961024086018361329d565b606081015191506136de61026086018361329d565b608081015191506136f361028086018361329d565b60a081015191506137086102a086018361329d565b60c0810151915061371d6102c086018361329d565b60e001516101006102e0860152905061373a61030085018261358b565b9050602083015161374e6020860182613609565b5060408381015180511515610180870152602081015115156101a08701529081015115156101c0860152606081015115156101e0860152509392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156137e257603f198886030184526137d085835161368b565b945092850192908501906001016137b4565b5092979650505050505050565b6000806040838503121561380257600080fd5b823561380d81612f6e565b946020939093013593505050565b602081526000610509602083018461368b565b6001600160a01b0392831681529116602082015260400190565b805161261481612f6e565b60006080828403121561386557600080fd5b61386d612f9c565b825161387881612f6e565b8152602083015161388881612f6e565b6020820152604083015161389b81612f6e565b604082015260608301516138ae81612f6e565b60608201529392505050565b6001600160a01b038416815261016081016138d860208301856132aa565b6138e660a08301845161310e565b60208301516138f860e084018261310e565b50604083015161390c61012084018261310e565b50949350505050565b60006040828403121561392757600080fd5b61392f612fc4565b9050815181526020820151602082015292915050565b60006080828403121561395757600080fd5b61395f612fc4565b905061396b8383613915565b815261397a8360408401613915565b602082015292915050565b6000610160828403121561399857600080fd5b60405160a081016001600160401b03811182821017156139ba576139ba612f86565b60405282516139c881613166565b8082525060208301516020820152604083015160408201526139ed8460608501613945565b60608201526139ff8460e08501613945565b60808201529392505050565b600060208284031215613a1d57600080fd5b815161050981613166565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201613a6657613a66613a3e565b5060010190565b6001600160a01b03929092168252602082015260400190565b600082601f830112613a9757600080fd5b81516020613aa761341a8361339b565b82815260059290921b84018101918181019086841115613ac657600080fd5b8286015b84811015613aea578051613add81612f6e565b8352918301918301613aca565b509695505050505050565b80516009811061261457600080fd5b80516003811061261457600080fd5b60006101608284031215613b2657600080fd5b613b2e613008565b9050613b3982613af5565b8152613b4760208301613b04565b602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e082015261010080830151818301525061012080830151818301525061014080830151818301525092915050565b600060808284031215613bc457600080fd5b613bcc612f9c565b90508151613bd981613166565b81526020820151613be981613166565b60208201526040820151613bfc81613166565b60408201526060820151613c0f81613166565b606082015292915050565b600060208284031215613c2c57600080fd5b81516001600160401b0380821115613c4357600080fd5b908301906102008286031215613c5857600080fd5b613c60612fe6565b825182811115613c6f57600080fd5b83016101008188031215613c8257600080fd5b613c8a61302b565b613c9382613848565b8152613ca160208301613848565b6020820152613cb260408301613848565b6040820152613cc360608301613848565b6060820152613cd460808301613848565b6080820152613ce560a08301613848565b60a0820152613cf660c08301613848565b60c082015260e082015184811115613d0d57600080fd5b613d1989828501613a86565b60e083015250825250613d2f8660208501613b13565b6020820152613d42866101808501613bb2565b604082015295945050505050565b600060208284031215613d6257600080fd5b5051919050565b600060208284031215613d7b57600080fd5b81516001600160401b03811115613d9157600080fd5b61060284828501613a86565b60006020808385031215613db057600080fd5b82516001600160401b03811115613dc657600080fd5b8301601f81018513613dd757600080fd5b8051613de561341a8261339b565b81815260059190911b82018301908381019087831115613e0457600080fd5b928401925b8284101561131457835182529284019290840190613e09565b808202811582820484141761026c5761026c613a3e565b8082018082111561026c5761026c613a3e565b8181038181111561026c5761026c613a3e565b634e487b7160e01b600052601260045260246000fd5b600082613e9257634e487b7160e01b600052601260045260246000fd5b500490565b8181036000831280158383131683831282161715613eb757613eb7613a3e565b5092915050565b6000600160ff1b8201613ed357613ed3613a3e565b506000039056fea26469706673582212205a93ca24c6d50cd08e11de4db4cc4b650ed2bb634ceda34c29848c0edde5fd3c64736f6c63430008120033