0 txs
1 call
constructor
No constructor.
functions
getLastDelegationTime
viewfunction getLastDelegationTime(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 lastDelegationTime)
getPositionCollateral
viewfunction getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)
getVaultCollateral
viewfunction getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)
delegateCollateral
nonpayablefunction delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)
getPosition
nonpayablefunction getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)
getPositionCollateralRatio
nonpayablefunction getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)
getPositionDebt
nonpayablefunction getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)
getVaultCollateralRatio
nonpayablefunction getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)
getVaultDebt
nonpayablefunction getVaultDebt(uint128 poolId, address collateralType) returns (int256)
importPosition
nonpayablefunction importPosition(uint128 accountId, uint128 poolId, address collateralToken, uint256 totalCollateral, int256 totalDebt)
migrateDelegation
nonpayablefunction migrateDelegation(uint128 accountId, uint128 oldPoolId, address collateralType, uint128 newPoolId)
events
DelegationUpdated
event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)
errors
CapacityLocked
error CapacityLocked(uint256 marketId)
CollateralDepositDisabled
error CollateralDepositDisabled(address collateralType)
EmptyDistribution
error EmptyDistribution()
EmptyRevertReason
error EmptyRevertReason()
Errors
error Errors(bytes[] errors)
FeatureUnavailable
error FeatureUnavailable(bytes32 which)
InsufficientAccountCollateral
error InsufficientAccountCollateral(uint256 amount)
InsufficientAvailableCollateral
error InsufficientAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)
InsufficientCollateralRatio
error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)
InsufficientDelegation
error InsufficientDelegation(uint256 minDelegation)
InsufficientVaultCollateralRatio
error InsufficientVaultCollateralRatio(uint128 poolId, address collateralType)
InvalidCollateralAmount
error InvalidCollateralAmount()
InvalidLeverage
error InvalidLeverage(uint256 leverage)
InvalidParameter
error InvalidParameter(string parameter, string reason)
MarketNotFound
error MarketNotFound(uint128 marketId)
MinDelegationTimeoutPending
error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)
OverflowInt128ToUint128
error OverflowInt128ToUint128()
OverflowInt256ToInt128
error OverflowInt256ToInt128()
OverflowInt256ToUint256
error OverflowInt256ToUint256()
OverflowUint128ToInt128
error OverflowUint128ToInt128()
OverflowUint256ToInt256
error OverflowUint256ToInt256()
OverflowUint256ToUint128
error OverflowUint256ToUint128()
OverflowUint256ToUint32
error OverflowUint256ToUint32()
OverflowUint32ToInt32
error OverflowUint32ToInt32()
OverflowUint64ToInt64
error OverflowUint64ToInt64()
PermissionDenied
error PermissionDenied(uint128 accountId, bytes32 permission, address target)
PoolCollateralLimitExceeded
error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)
PoolNotFound
error PoolNotFound(uint128 poolId)
PositionOutOfBounds
error PositionOutOfBounds()
Unauthorized
error Unauthorized(address addr)
ValueAlreadyInSet
error ValueAlreadyInSet()
ValueNotInSet
error ValueNotInSet()
creation bytecode
0x608060405234801561001057600080fd5b506155f480620000216000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806360248c551161007157806360248c55146101375780637b0532a41461014a578063b7e3e68c1461015d578063dc0a538414610170578063f544d66e14610183578063fd93aa76146101b657600080fd5b8063078145a8146100ae57806309f72b56146100db5780632fb8ff24146100f057806333cc422b146101115780633593bbd214610124575b600080fd5b6100c16100bc366004614e18565b6101c9565b604080519283526020830191909152015b60405180910390f35b6100ee6100e9366004614e4b565b6101eb565b005b6101036100fe366004614e18565b610291565b6040519081526020016100d2565b61010361011f366004614ea0565b6102af565b610103610132366004614ea0565b6102ea565b610103610145366004614e18565b610316565b6100ee610158366004614e4b565b61032b565b6100ee61016b366004614ee3565b610629565b61010361017e366004614ea0565b610ae6565b610196610191366004614ea0565b610afd565b6040805194855260208501939093529183015260608201526080016100d2565b6101036101c4366004614ea0565b610b4d565b6000806101df836101d986610bb8565b90610c14565b915091505b9250929050565b6101f3610c74565b6102438583670de0b6b3a764000061023b61020d89610cb1565b6001600160a01b03891660009081526008919091016020908152604080832080548452600301909152902090565b929190610d27565b610289858261028261025488610cb1565b6001600160a01b03881660009081526008919091016020908152604080832080548452600301909152902090565b9190610d77565b505050505050565b60006102a6826102a085610bb8565b90610e08565b90505b92915050565b60006102e0846102be85610cb1565b6001600160a01b03851660009081526008919091016020526040902090610e41565b90505b9392505050565b6000806102f684610bb8565b9050610303818487610e5d565b915061030e81610e8e565b509392505050565b60006102a68261032585610cb1565b90610fd0565b6103497119195b1959d85d1950dbdb1b185d195c985b60721b611010565b61035e856744454c454741544560c01b611044565b50811561036f5761036f83836110d3565b670de0b6b3a7640000811461039f576040516369bb335560e01b8152600481018290526024015b60405180910390fd5b60006103aa85610bb8565b6001600160a01b03851660009081526008919091016020526040812091506103d28288610e41565b90508084036103f45760405163fbd85bc360e01b815260040160405180910390fd5b8084111561043c5761040585611120565b61041987866104148488614f4d565b611155565b610437856104278387614f4d565b61043089610bb8565b91906111a3565b610485565b8154600090815260038301602090815260408083206001600160801b038b1684526006019091529020546104859088906001600160401b031661047e89610bb8565b919061126c565b6104cd6040518060600160405280896001600160801b03168152602001886001600160801b03168152602001876001600160a01b03168152506104c788610cb1565b9061141a565b50505060006104e08888888886896119f4565b90506104ec8787611aca565b81851015610576578254600090815260038401602090815260408083206001600160801b038c1684526005019091528120549061052889610bb8565b6001600160a01b0389166000908152600a919091016020526040902060010154905061056a826105588986611b59565b836105628c611b78565b929190611be6565b61057389611c7d565b50505b8254600090815260038401602090815260408083206001600160801b038c1684526006019091529020805467ffffffffffffffff1916426001600160401b03161790556105c1611ccf565b604080516001600160a01b038981168252602082018990529181018790529116906001600160801b03808a1691908b16907f7b12dd38f18c0ff77ae702f6da13fbbcb28f53f807ecc7d39ee8d8b1ea8295ad9060600160405180910390a45050505050505050565b806001600160801b0316836001600160801b03160361065b57604051634bab873760e11b815260040161039690614f60565b6106787036b4b3b930ba32a232b632b3b0ba34b7b760791b611010565b61068d846744454c454741544560c01b611044565b50600061069984610bb8565b6001600160a01b03841660009081526008919091016020526040812091506106c083610bb8565b6001600160a01b03851660009081526008919091016020526040812091506106e88388610e41565b905060006106f68389610e41565b111561071557604051634bab873760e11b815260040161039690614fc5565b806000036107785760408051634bab873760e11b8152600481019190915260096044820152681bdb19141bdbdb125960ba1b606482015260806024820152600d60848201526c1b9bdd0819195b1959d85d1959609a1b60a482015260c401610396565b600061078f86896107888a610cb1565b9190610e5d565b90506107de886107af868054600090815260039091016020526040902090565b6001600160801b038b16600090815260069190910160205260409020546001600160401b031661047e8a610bb8565b6107ec868361043088610bb8565b61082e60405180606001604052808a6001600160801b03168152602001896001600160801b03168152602001886001600160a01b03168152506104c789610cb1565b50505061087360405180606001604052808a6001600160801b03168152602001876001600160801b03168152602001886001600160a01b03168152506104c787610cb1565b5050506108968689836108859061501e565b61088e8b610cb1565b929190611d0c565b6108a4868961078888610cb1565b506108b28888886000611d89565b6108bf8886886001611d89565b8354600090815260038501602052604081206108e6918a91670de0b6b3a76400009061023b565b61090e8883670de0b6b3a764000061023b878054600090815260039091016020526040902090565b6109218661091b89610cb1565b90611e1b565b5060006109318761091b88610cb1565b905061093c88611c7d565b61095a8261094a8584611b59565b6109538a611b78565b9190611e94565b610969878a8461088e8a610cb1565b845460009081526003808701602090815260408084206001600160801b038e168086526006918201845282862080546001600160401b03421667ffffffffffffffff1991821681179092558b548852958b0185528387209187529101909252909220805490911690911790556109df8888611aca565b6109e98688611aca565b6109f1611ccf565b604080516001600160a01b038a8116825260006020830152670de0b6b3a764000082840152915192909116916001600160801b038b811692908d16917f7b12dd38f18c0ff77ae702f6da13fbbcb28f53f807ecc7d39ee8d8b1ea8295ad9181900360600190a4610a5f611ccf565b6001600160a01b0316866001600160801b03168a6001600160801b03167f7b12dd38f18c0ff77ae702f6da13fbbcb28f53f807ecc7d39ee8d8b1ea8295ad8a87670de0b6b3a7640000604051610ad3939291906001600160a01b039390931683526020830191909152604082015260600190565b60405180910390a4505050505050505050565b60006102e08285610af686610cb1565b9190611edd565b6000806000806000610b0e87610cb1565b9050610b1b81878a610e5d565b9250610b2681610e8e565b610b3181878a611f2f565b9095509350610b4181878a611edd565b91505093509350935093565b6000610b89610b5b84610bb8565b6001600160a01b03841660009081526008919091016020908152604080832080548452600301909152902090565b6001600160801b038516600090815260069190910160205260409020546001600160401b031690509392505050565b600080610bc483610cb1565b90506001600160801b03831615801590610beb575080546001600160801b03848116911614155b156102a9576040516332b961eb60e01b81526001600160801b0384166004820152602401610396565b6001600160a01b038116600090815260088301602052604081208190610c3990611f8a565b9150600080610c526000610c4c87611b78565b90611fa8565b91509150610c5f81612139565b610c698285611b59565b925050509250929050565b610c7c612149565b6001600160a01b0316336001600160a01b031614610caf5760405163472511eb60e11b8152336004820152602401610396565b565b60008082604051602001610d0891906040808252601b908201527f696f2e73796e7468657469782e73796e7468657469782e506f6f6c000000000060608201526001600160801b0391909116602082015260800190565b60408051601f1981840301815291905280516020909101209392505050565b6001600160801b038316610d3b8585612162565b50610d4a6003860182856121d6565b506000818152600486016020526040902054610289908290610d6c9085611b59565b600188019190612264565b6001600160801b03821660009081526005840160205260408120805490839083610da1838561503a565b90915550610db09050836122ef565b85548690601090610dcc908490600160801b9004600f0b61505a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508281610dff919061503a565b95945050505050565b6000610e14838361232f565b50610e1e83610e8e565b6001600160a01b038216600090815260088401602052604090206102a69061249b565b8154600090815260038301602052604081206102a690836124b6565b6000610e69848461232f565b506001600160a01b038316600090815260088501602052604090206102e090836124ce565b60048101546001600160801b03166000819003610ea9575050565b600080610eb5846124ea565b915091506000610ec3612536565b54905060005b6005860154811015610289576000866005018281548110610eec57610eec615087565b60009182526020822060029091020180549092506001600160801b03600160801b909104169087610f1d838961509d565b610f2791906150ca565b8354909150600090610f41906001600160801b03166125af565b9050600080826010015411610f565786610f5c565b81601001545b8254909150600090610f7c906001600160801b031683600f8c900b612606565b6001870154909150600f0b808212610f945780610f96565b815b87548e54919350610fb5916001600160801b0391821691168488612678565b50505050505050508080610fc8906150de565b915050610ec9565b600080610fdd8484610e08565b90506000610feb8585610c14565b91505060008213610ffd576000610dff565b610dff611009836126c9565b82906126ec565b6110218161101c611ccf565b612701565b61104157604051637e023fb760e01b815260048101829052602401610396565b50565b600061104f8361274f565b90506110688261105d611ccf565b6001840191906127a6565b6110b0578282611076611ccf565b60405162ef2a9160e11b81526001600160801b03909316600484015260248301919091526001600160a01b03166044820152606401610396565b60058101805467ffffffffffffffff1916426001600160401b03161790556102a9565b60006110de83611b78565b600681015490915060008190036110f6575060038101545b8083101561111a57604051634918e8e360e11b815260048101829052602401610396565b50505050565b61112981611b78565b5460ff16611041576040516318213f3d60e31b81526001600160a01b0382166004820152602401610396565b8061115f8461274f565b6001600160a01b03841660009081526006919091016020526040902054101561119e576040516313232e7760e21b815260048101829052602401610396565b505050565b6001600160a01b0382166000908152600a840160209081526040808320546008870190925282209091906111d690611f8a565b600b86015490915060ff1680156111eb575081155b80611209575060008211801561120957508161120784836150f7565b115b156112655784546001600160801b03168461122485846150f7565b604051631903c6d560e11b81526001600160801b0390931660048401526001600160a01b039091166024830152604482015260648101839052608401610396565b5050505050565b6000611277846127e3565b905061128963ffffffff82168361510a565b6001600160401b03164210801561132b57508354604080517f6163636f756e744f766572726964654d696e44656c656761746554696d65000060208201526001600160801b03808716928201929092529116606082015260019061130b906080015b6040516020818303038152906040528051906020012063bbf81e00612886565b61131e906001600160401b0385166150f7565b6113289190614f4d565b42105b80156113b6575060016113967f73656e6465724f766572726964654d696e44656c656761746554696d65000000611360611ccf565b87546040805160208101949094526001600160a01b03909216918301919091526001600160801b031660608201526080016112eb565b6113a9906001600160401b0385166150f7565b6113b39190614f4d565b42105b1561111a5783546001600160801b0316426113d763ffffffff84168561510a565b6001600160401b03166113ea9190614f4d565b604051637ec5c33560e11b81526001600160801b03909216600483015263ffffffff166024820152604401610396565b60608060008061142b86600c015490565b6001600160401b038111156114425761144261512a565b60405190808252806020026020018201604052801561146b578160200160208202803683370190505b5060408681015160068901546001600160a01b03909116600081815260078b0160205292832054939450926001600160801b03918216929116905b600c8a015481101561178b5760006114cc6114c28360016150f7565b600c8d0190612892565b6000818152600e8d01602052604090208054919250906001600160a01b03166114f6575050611779565b61151061150b61150683886128f7565b6126c9565b612c72565b600182018054601090611534908490600160801b90046001600160801b0316615140565b82546101009290920a6001600160801b0381810219909316918316021790915560008881526002840160205260408120546001850154919350611596926115869291811691600160801b900416615160565b86906001600160801b0316611b59565b905060006115de8e60080160008f604001516001600160a01b03166001600160a01b031681526020019081526020016000208054600090815260039091016020526040902090565b6001908101549084015460008a8152600286016020526040902080546001600160801b03600160801b90930483166001600160801b03199091161790558a519116915084908a908790811061163557611635615087565b602090810291909101015281158061164b575080155b156116595750505050611779565b8260000160009054906101000a90046001600160a01b03168e60080160008f604001516001600160a01b03166001600160a01b03168152602001908152602001600020600401600086815260200190815260200160002060000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506116ed61150b82846126ec90919063ffffffff16565b8e60080160008f604001516001600160a01b03166001600160a01b03168152602001908152602001600020600401600086815260200190815260200160002060010160108282829054906101000a90046001600160801b03166117509190615140565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505b80611783816150de565b9150506114a6565b505050506040858101516001600160a01b031660009081526008880160205290812081906117ba908885612c9c565b9150915060008061181e896117fb8c60080160008d604001516001600160a01b03166001600160a01b03168152602001908152602001600020600501612cf5565b6040808d01516001600160a01b0316600090815260088f01602052209190612c9c565b915091508151845161183091906150f7565b6001600160401b038111156118475761184761512a565b604051908082528060200260200182016040528015611870578160200160208202803683370190505b5097508051835161188191906150f7565b6001600160401b038111156118985761189861512a565b6040519080825280602002602001820160405280156118c1578160200160208202803683370190505b50965060005b885181101561194d578451811061190357828551826118e69190614f4d565b815181106118f6576118f6615087565b602002602001015161191e565b84818151811061191557611915615087565b60200260200101515b89828151811061193057611930615087565b602090810291909101015280611945816150de565b9150506118c7565b5060005b87518110156119e4578351811061198d57818451826119709190614f4d565b8151811061198057611980615087565b60200260200101516119a8565b83818151811061199f5761199f615087565b60200260200101515b8882815181106119ba576119ba615087565b6001600160a01b0390921660209283029190910190910152806119dc816150de565b915050611951565b5050915193505050509250925092565b600080611a0087610cb1565b9050611a0d81878a610e5d565b506000611a198961274f565b6001600160a01b038816600090815260069190910160205260409020905084861115611a5857611a53611a4c8688614f4d565b8290612d51565b611a6c565b611a6c611a658787614f4d565b8290612d9d565b611a7b89898960008a11611d89565b6001600160a01b03871660009081526008830160209081526040808320805484526003019091529020611ab3908a908890879061023b565b611abd8288611e1b565b9998505050505050505050565b6000611ad583610cb1565b90506000611ae38284610e08565b90506000611af18385610c14565b915050600082138015611b215750611b0884611b78565b60020154611b1f611b18846126c9565b83906126ec565b105b156112655760405163f1b31b2760e01b81526001600160801b03861660048201526001600160a01b0385166024820152604401610396565b6000670de0b6b3a7640000611b6e838561509d565b6102a691906150ca565b60008082604051602001610d0891906040808252602e908201527f696f2e73796e7468657469782e73796e7468657469782e436f6c6c617465726160608201526d3621b7b73334b3bab930ba34b7b760911b60808201526001600160a01b0391909116602082015260a00190565b600081856001015411611bf95781611bff565b84600101545b9050600084138015611c2a5750821580611c2a575080611c28611c21866126c9565b85906126ec565b105b156112655782611c39856126c9565b611c4c611c45876126c9565b86906126ec565b604051636119eca760e01b815260048101939093526024830191909152604482015260648101829052608401610396565b6000611c8882610cb1565b90506000611c9582612db1565b80549091506001600160801b03161561119e5780546040516391b9419f60e01b81526001600160801b039091166004820152602401610396565b600073e2c5658cc5c448b48141168f3e475df8f65a1e3e33148015611cf5575060143610155b15611d07575060131936013560601c90565b503390565b611d15816122ef565b6004850154611d2e9190600160801b9004600f0b61505a565b6004850180546001600160801b03928316600160801b0292169190911790556001600160a01b038316600090815260088501602052604090206112659083908390610282908054600090815260039091016020526040902090565b6000611d948561274f565b6001600160a01b0384166000908152600691909101602052604081209150611dc8600183016001600160801b038716612e10565b9050828015611dd5575080155b15611df557611df0600183016001600160801b038716612e28565b610289565b82158015611e005750805b1561028957610289600183016001600160801b038716612e36565b6000806000611e35670de0b6b3a7640000610c4c86611b78565b91509150611e4281612139565b6001600160a01b03841660009081526008860160205260408120611e669084612e40565b509050611e80600687016001600160a01b03871683612264565b50611e8a86610e8e565b5090949350505050565b6002830154600083138015611ec25750811580611ec2575080611ec0611eb9856126c9565b84906126ec565b105b1561111a5781611ed1846126c9565b611c4c611c21866126c9565b600080611eeb858585610e5d565b9050611ef685610e8e565b60008113611f09576000199150506102e3565b6000611f16868686611f2f565b915050611f25611009836126c9565b9695505050505050565b6001600160a01b038216600090815260088401602052604081208190611f559084610e41565b9150600080611f6784610c4c88611b78565b91509150611f7481612139565b611f7e8285611b59565b92505050935093915050565b8054600090815260038201602052604081206102a990600301612e7f565b600060606000611fb6612eca565b6040805160208101825291546001600160a01b03168252805160018082528183019092529192506000919081602001602082028036833750506040805160018082528183019092529293506000929150602080830190803683370190505090506373697a6560e01b8260008151811061203157612031615087565b6020026020010181815250508560001b8160008151811061205457612054615087565b60209081029190910101528251600480890154604051636d51285f60e11b81526001600160a01b039093169263daa250be92612095929187918791016151bb565b608060405180830381865afa9250505080156120ce575060408051601f3d908101601f191682019092526120cb918101906151e6565b60015b612111573d8080156120fc576040519150601f19603f3d011682016040523d82523d6000602084013e612101565b606091505b506000955093506101e492505050565b805161211c906126c9565b6040518060200160405280600081525095509550505050506101e4565b8051156110415761104181612f1b565b6000612153612f46565b546001600160a01b0316919050565b60008061217b600185016001600160801b038516612f96565b9050612188848483610d77565b9150612193816122ef565b845485906000906121a8908490600f0b615259565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505092915050565b60006121e28483612fbe565b6000848152600186016020526040902054855491925061221a916122109084906001600160801b03166150f7565b61150b9190614f4d565b84546001600160801b0319166001600160801b039190911617845561223e81612c72565b6000938452600190940160205260409092206001600160801b0393909316909255919050565b6000612270848461300f565b6000848152600186016020526040812091925061228c84612c72565b825487549192506001600160801b03908116916122ab91849116615140565b6122b59190615160565b86546001600160801b03199081166001600160801b039283161788558354169082161782556122e586838661302a565b5050509392505050565b600060016001607f1b031982128061230d575060016001607f1b0382135b1561232b57604051634022cc0360e01b815260040160405180910390fd5b5090565b815460058301546000916001600160801b03169082906001600160401b0381111561235c5761235c61512a565b60405190808252806020026020018201604052801561238f57816020015b606081526020019060019003908161237a5790505b50905060005b60058601548110156124345760006123da8760050183815481106123bb576123bb615087565b60009182526020909120600290910201546001600160801b03166125af565b90506123eb816402540be3ff613071565b90508383815181106123ff576123ff615087565b6020908102919091010152612414818561314a565b61241e908661503a565b945050808061242c906150de565b915050612395565b5061243e816131cf565b6124488584613318565b6001600160a01b03841615612493576001600160a01b0384166124916124716006880183612f96565b6001600160a01b0387166000908152600889016020526040902090613366565b505b505092915050565b8054600090815260038201602052604081206102a990613382565b60006102a6600384016001600160801b0384166133a8565b8154600090815260038301602052604081206102a69083612162565b60068101546001600160801b031660008161250657600061252f565b61252f61252a612515846133f6565b6004860154600160801b9004600f0b90613420565b6122ef565b9050915091565b600080604051602001612591906020808252602e908201527f696f2e73796e7468657469782e73796e7468657469782e53797374656d506f6f60408201526d3621b7b73334b3bab930ba34b7b760911b606082015260800190565b60408051601f19818403018152919052805160209091012092915050565b60008082604051602001610d0891906040808252601d908201527f696f2e73796e7468657469782e73796e7468657469782e4d61726b657400000060608201526001600160801b0391909116602082015260800190565b600080612612856125af565b9050600061262282600a0161343f565b9050600085156126435761263e670de0b6b3a7640000876126ec565b61264d565b670de0b6b3a76400005b905084612659826133f6565b612663908461503a565b61266d9190615286565b979650505050505050565b600080612684866125af565b60018101549091506001600160a01b03166126bd5760405163784060f560e11b81526001600160801b0387166004820152602401610396565b611f2581868587613459565b60008082121561232b5760405163029f024d60e31b815260040160405180910390fd5b600081611b6e670de0b6b3a76400008561509d565b60008061270d84613698565b6001810154909150610100900460ff161561272c5760009150506102a9565b600181015460ff1680612747575061274760028201846136f1565b949350505050565b60008082604051602001610d0891906040808252601e908201527f696f2e73796e7468657469782e73796e7468657469782e4163636f756e74000060608201526001600160801b0391909116602082015260800190565b82546000906001600160a01b03838116911614806127d257506127d2846420a226a4a760d91b84613713565b806102e057506102e0848484613713565b6000805b600583015481101561283b57600061280d8460050183815481106123bb576123bb615087565b600f015463ffffffff90811691508316811115612828578092505b5080612833816150de565b9150506127e7565b50600061286b7f7365744d61726b65744d696e44656c656761746554696d655f6d61780000000062278d00612886565b90508163ffffffff168163ffffffff16106102a95750919050565b60006102a68383613758565b60008115806128a15750825482115b156128bf5760405163eb9bc44760e01b815260040160405180910390fd5b60006128cc600184614f4d565b90508360000181815481106128e3576128e3615087565b906000526020600020015491505092915050565b6003820154600090600f0b158061290c575081155b15612919575060006102a9565b60038301544290600090600160801b90046001600160401b0316821015612945576000925050506102a9565b6003850154600160c01b900463ffffffff1615801561298457506003850154600160801b81046001600160401b0316600160e01b90910463ffffffff16105b156129ab576129a4612995856133f6565b6003870154600f0b5b90613420565b9050612b7a565b60038501546129d790600160c01b810463ffffffff1690600160801b90046001600160401b031661510a565b6001600160401b031685600301601c9054906101000a900463ffffffff1663ffffffff161015612b7a576003850154600090600160801b81046001600160401b0316600160e01b90910463ffffffff1610612aac576003860154612a4790600160c01b900463ffffffff166137ae565b60038781015491900b90612a8a90612a7c90600160801b81046001600160401b031690600160e01b900463ffffffff166152a6565b6001600160401b03166137db565b6003880154612a9f9160070b90600f0b6152c6565b612aa991906152f6565b90505b6003860154600f81900b90612ade90600160c01b810463ffffffff1690600160801b90046001600160401b031661510a565b6001600160401b0316841015612b55576003870154612b0990600160c01b900463ffffffff166137ae565b60038881015491900b90612b3690612b3190600160801b90046001600160401b031687614f4d565b6133f6565b6003890154612b489190600f0b6152c6565b612b5291906152f6565b90505b612b6b612b61876133f6565b61299e8484615286565b612b75908461503a565b925050505b6003850154612ba690600160c01b810463ffffffff1690600160801b90046001600160401b031661510a565b6001600160401b03168210612c3a576004850180546003870180546bffffffffffffffffffffffff60801b1916600160801b8084046001600160401b03160263ffffffff60c01b191617600160c01b80840463ffffffff1602176001600160801b0319166001600160801b0383161790556001600160e01b0319169055612c2d85856128f7565b612c37908261503a565b90505b612c438261380f565b60038601805463ffffffff92909216600160e01b026001600160e01b0390921691909117905591505092915050565b60006001600160801b0382111561232b57604051637d5864af60e11b815260040160405180910390fd5b825460009081526003840160209081526040808320600181015486516001600160801b0390811686526002909201909352922054606092839281169116612ce68787878585613836565b9350935050505b935093915050565b606081600001805480602002602001604051908101604052809291908181526020018280548015612d4557602002820191906000526020600020905b815481526020019060010190808311612d31575b50505050509050919050565b8154811115612d80578154604051635af5842d60e11b8152600481019190915260248101829052604401610396565b80826000016000828254612d949190614f4d565b90915550505050565b80826000016000828254612d9491906150f7565b6000805b6005830154811015612e05576000612ddb8460050183815481106123bb576123bb615087565b9050612de6816139d9565b15612df2579392505050565b5080612dfd816150de565b915050612db5565b506102a960006125af565b600081815260018301602052604081205415156102a6565b612e328282613a2b565b5050565b612e328282613a84565b8154600090815260038301602052604081208190612e6a84612e6483600301612e7f565b90611b59565b9250612e7581613382565b9150509250929050565b80546000906b033b2e3c9fd0803ce8000000906001600160801b03811690612eb690611506908490600160801b9004600f0b61503a565b612ec0919061509d565b6102a991906150ca565b6000806040516020016125919060208082526024908201527f696f2e73796e7468657469782e73796e7468657469782e4f7261636c654d616e60408201526330b3b2b960e11b606082015260800190565b80516000819003612f3f5760405163123b260360e01b815260040160405180910390fd5b8060208301fd5b6000806040516020016125919060208082526023908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e61604082015262626c6560e81b606082015260800190565b60008181526001830160205260408120805461274790859083906001600160801b031661302a565b8154600090612ff090612fe8906b033b2e3c9fd0803ce800000090600160801b9004600f0b61505a565b600f0b613b83565b6001600160801b0316611b6e6b033b2e3c9fd0803ce80000008461509d565b600081815260018301602052604081206102a6908490613ba9565b60006130368484613ba9565b9050811561304f578354600160801b9004600f0b613052565b60005b83546001600160801b03918216600160801b0291161790925550919050565b6000606060008061308186613c14565b805191935091501561309a576000935091506101e49050565b60038601546000906130af90600f0b84615286565b905060006130be888389613ceb565b915050801580156130db5750600a8801546001600160801b031615155b1561312c576003880154613100906130f690600f0b86615286565b600a8a01906140c5565b613109846122ef565b6003890180546001600160801b0319166001600160801b03929092169190911790555b60408051602081019091526000815290159890975095505050505050565b600080613163600a85016001600160801b038516612f96565b6001600160801b038085166000908152600c87016020526040902054919250829161319691600160801b90910416614182565b600f0b6131a3919061503a565b6001600160801b039384166000908152600c909501602052604090942080549093169092555090919050565b6000805b825181101561321f5760008382815181106131f0576131f0615087565b602002602001015151111561320d5781613209816150de565b9250505b80613217816150de565b9150506131d3565b508015612e32576000816001600160401b038111156132405761324061512a565b60405190808252806020026020018201604052801561327357816020015b606081526020019060019003908161325e5790505b5090506000805b84518110156132fc57600085828151811061329757613297615087565b60200260200101515111156132ea578481815181106132b8576132b8615087565b60200260200101518383806132cc906150de565b9450815181106132de576132de615087565b60200260200101819052505b806132f4816150de565b91505061327a565b5081604051630b42fd1760e01b81526004016103969190615324565b613321816122ef565b600483015461333a9190600160801b9004600f0b61505a565b6004830180546001600160801b03928316600160801b029216919091179055612e3260068301826140c5565b815460009081526003830160205260409020612e3290826141b5565b805460009061339f90600160801b8104600f90810b91900b61505a565b600f0b92915050565b81546000906001600160801b03168082036133c75760009150506102a9565b806133d185612e7f565b60008581526001870160205260409020546133ec919061509d565b61274791906150ca565b60006001600160ff1b0382111561232b5760405163677c430560e11b815260040160405180910390fd5b600081613435670de0b6b3a7640000856152c6565b6102a691906152f6565b80546000906102a990600160801b9004600f0b600961420b565b6000806134668686614225565b905060006134748787614251565b905061347f85612c72565b6001600160801b038781166000908152600c8a016020526040812080546001600160801b031916939092169290921790556134bf61252a600a8a0161343f565b9050856000036134ea576134d66004890188614277565b506134e46007890188614277565b50613550565b80600f0b85121561351f57600095506135066004890188614277565b506134e487613514876122ef565b60078b0191906142b1565b6135408761352c876122ef565b613535906153b6565b60048b0191906142b1565b5061354e6007890188614277565b505b6000613569600a8a016001600160801b038a1689612264565b6001600160801b03808a166000908152600c8c016020526040902054919250829161359c91600160801b90910416614182565b600f0b6135a9919061503a565b6001600160801b03808a166000908152600c8c0160205260409020805490911690559450600f82900b86131561362d576135e761252a8a8989614375565b60028a018054601090613605908490600160801b9004600f0b61505a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505b81600f0b83131561368c5761364661252a8a8686614375565b60028a018054601090613664908490600160801b9004600f0b615259565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505b50505050949350505050565b6040805160208101829052602560608201527f696f2e73796e7468657469782e636f72652d6d6f64756c65732e46656174757260808201526465466c616760d81b60a0820152908101829052600090819060c001610d08565b6001600160a01b038116600090815260018301602052604081205415156102a6565b60006001600160a01b038216158015906102e057506001600160a01b0382166000908152600185810160209081526040808420878552909201905290205415156102e0565b6040805160208082018390526006606083015265436f6e66696760d01b6080808401919091528284018690528351808403909101815260a09092019092528051910120805490816137a7578291505b5092915050565b6000637fffffff63ffffffff8316111561232b57604051630299decb60e01b815260040160405180910390fd5b6000677fffffffffffffff6001600160401b038316111561232b57604051633340f63360e11b815260040160405180910390fd5b600063ffffffff82111561232b576040516334bee0b960e01b815260040160405180910390fd5b60608084516001600160401b038111156138525761385261512a565b60405190808252806020026020018201604052801561387b578160200160208202803683370190505b50915084516001600160401b038111156138975761389761512a565b6040519080825280602002602001820160405280156138c0578160200160208202803683370190505b50905060005b85518110156139ce578581815181106138e1576138e1615087565b60200260200101516000801b03156139bc57600088600401600088848151811061390d5761390d615087565b602090810291909101810151825281019190915260400160002080549091506001600160a01b0316806139415750506139bc565b8084848151811061395457613954615087565b60200260200101906001600160a01b031690816001600160a01b03168152505061399b8a8a8a868151811061398b5761398b615087565b6020026020010151848b8b6143a0565b8584815181106139ad576139ad615087565b60200260200101818152505050505b806139c6816150de565b9150506138c6565b509550959350505050565b60008060006139e78461458a565b915091506139f481612139565b613a00612b3185614674565b613a09836133f6565b6002860154613a229190600160801b9004600f0b61503a565b12949350505050565b600081815260018301602052604090205415613a5a5760405163682ad32d60e01b815260040160405180910390fd5b81546001818101845560008481526020808220909301849055845493815293019052604090912055565b600081815260018301602052604081205490819003613ab65760405163b3dbc29360e01b815260040160405180910390fd5b6000613ac3600183614f4d565b8454909150600090613ad790600190614f4d565b9050808214613b3c576000856000018281548110613af757613af7615087565b9060005260206000200154905080866000018481548110613b1a57613b1a615087565b6000918252602080832090910192909255918252600187019052604090208390555b8454859080613b4d57613b4d6153dc565b60019003818190600052602060002001600090559055846001016000858152602001908152602001600020600090555050505050565b60008082600f0b121561232b5760405163144ec41160e21b815260040160405180910390fd5b805482546000918291613bd091600160801b90819004600f90810b9291909104900b615259565b8354600f9190910b9150600090613bef906001600160801b0316614182565b613bfc90600f0b836152c6565b9050610dff6b033b2e3c9fd0803ce8000000826152f6565b60006060600080613c24856146ee565b91509150600080613c348761458a565b91509150600083511180613c49575060008151115b15613cb157604080518082018252848152602081018390529051630b42fd1760e01b91613c78916024016153f2565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529450613ce2565b613cba826133f6565b6002880154600f0b613ccb866133f6565b613cd5919061503a565b613cdf9190615286565b95505b50505050915091565b60008083600003613d0157506000905080612ced565b600080600080871315613d21575060019150506004860160078701613d31565b5060001991505060078601600487015b60005b8681101561406d57613d45836147a8565b1561406d576000613d55846147cb565b90506000613d63888b615286565b138015613d7b5750600a8a01546001600160801b0316155b80613dcd5750600a8a01546001600160801b031615801590613dcd5750613dab8a613da6898c615286565b6147ea565b85600f0b613db991906152c6565b8160200151613dc7906153b6565b600f0b12155b15613dd8575061406d565b613de28484614841565b600a8a01546001600160801b031615613e6c576000613e4b613e068c600a0161343f565b6020840151613e14896153b6565b613e1e919061546f565b600f0b613e2b9190615286565b600a8d0154613e42906001600160801b0316614182565b600f0b9061486c565b9050613e5a600a8c01826140c5565b613e64818961503a565b975050613ebc565b613e9c61252a6009613e96846020015189613e86906153b6565b613e90919061546f565b600f0b90565b90614881565b600a8b0180546001600160801b03928316600160801b0292169190911790555b6000891315613fbe5780516001600160801b039081166000908152600b8c01602052604090205416613f305760405162461bcd60e51b815260206004820152601e60248201527f6e6f20736861726573206265666f7265206163746f722072656d6f76616c00006044820152606401610396565b8051600090613f5290611506906001600160801b0316600a8e01906000612264565b9050613f5d81612c72565b82516001600160801b039081166000908152600c8e016020526040902080549091601091613f94918591600160801b900416615140565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505061405a565b80516001600160801b039081166000908152600b8c016020526040902054161561402a5760405162461bcd60e51b815260206004820152601b60248201527f6163746f722068617320736861726573206265666f72652061646400000000006044820152606401610396565b80516001600160801b039081166000818152600c8d01602052604090205461405892600a8e01929116612264565b505b5080614065816150de565b915050613d34565b614076866122ef565b60038a01805460009061408d908490600f0b61505a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550868114945050505050935093915050565b806000036140d1575050565b81546001600160801b031660008190036140fe57604051633b182f5560e01b815260040160405180910390fd5b60006141166b033b2e3c9fd0803ce8000000846152c6565b90506000614123836133f6565b61412d90836152f6565b9050614138816122ef565b85548690601090614154908490600160801b9004600f0b61505a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505050505050565b600060016001607f1b036001600160801b038316111561232b57604051634593782f60e11b815260040160405180910390fd5b6141c260018301826140c5565b6141cb816122ef565b825483906000906141e0908490600f0b61505a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505050565b600061421b612b3183600a615573565b6102a690846152f6565b60006102a66001600160801b0383166000908152600b850160205260409020546001600160801b031690565b6000614260600484018361489b565b6020015161426d906153b6565b600f0b9392505050565b60408051808201909152600080825260208201526001600160801b03821660009081526002840160205260409020546102a69084906148d5565b604080518082019091526000808252602082015260018401546000036142da576142da84614a66565b60408051808201909152600080825260208201526142f88585614277565b5084546001600160801b03168560006143108361557f565b82546101009290920a6001600160801b03818102199093169183160217909155600187810180548201808255600091909152604080518082019091529288168352600f87900b60208401529193506102e092508791849161437091614f4d565b614ab6565b60008061439161438786600a0161343f565b6115069085615286565b9050610dff612b318286611b59565b60008481526004878101602090815260408084208951928a01518a8301519251639a99916f60e01b81526001600160801b03948516958101959095529290921660248401526001600160a01b03908116604484015260648301859052909190861690639a99916f90608401600060405180830381600087803b15801561442557600080fd5b505af1158015614439573d6000803e3d6000fd5b5050505061445661150b61150686846128f790919063ffffffff16565b60018201805460109061447a908490600160801b90046001600160801b0316615140565b82546101009290920a6001600160801b0381810219909316918316021790915588518116600090815260028401602052604090205460018401546144e1935061150b926144d192811691600160801b900416615160565b85906001600160801b0316611b59565b87516001600160801b039081166000908152600284016020526040902080549091601091614518918591600160801b900416615140565b82546101009290920a6001600160801b038181021990931691831602179091556001830154895182166000908152600290940160205260408085208054600160801b9384900485166001600160801b031990911617905599518216845298909220549790970416979650505050505050565b600060606000805b600d85015481101561466b57600085600d0182815481106145b5576145b5615087565b600091825260208083206040805180820190915260029093020180546001600160a01b0316808452600190910154918301919091529092506145f690611b78565b9050816020015160000361460b575050614659565b60008061461c838560200151611fa8565b8051919350915015614638576000999098509650505050505050565b6020840151614648908390611b59565b61465290876150f7565b9550505050505b80614663816150de565b915050614592565b50939092509050565b600181015481546040516257f3c960e91b81526001600160801b0390911660048201526000916001600160a01b03169063afe7920090602401602060405180830381865afa1580156146ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a991906155a5565b6001810154815460405163bcec0d0f60e01b81526001600160801b0390911660048201526000916060916001600160a01b039091169063bcec0d0f90602401602060405180830381865afa925050508015614766575060408051601f3d908101601f19168201909252614763918101906155a5565b60015b6147a1573d808015614794576040519150601f19603f3d011682016040523d82523d6000602084013e614799565b606091505b509050915091565b9150915091565b60018101546000906147bb5760006102a9565b6001828101546102a99190614f4d565b60408051808201909152600080825260208201526102a9826001614b81565b600a8201546000906001600160801b031661480657600061482b565b600a83015461482b90614821906001600160801b0316614182565b8390600f0b613420565b61483784600a0161343f565b6102a6919061503a565b600061484c83614c0a565b905061111a81600001518260200151614864906153b6565b8491906142b1565b6000670de0b6b3a764000061343583856152c6565b6000614891612b3183600a615573565b6102a690846152c6565b60408051808201909152600080825260208201526001600160801b03821660009081526002840160205260409020546102a6908490614b81565b60408051808201909152600080825260208201526001830154821015806148fa575081155b15614919575060408051808201909152600080825260208201526102a9565b600083600101838154811061493057614930615087565b6000918252602080832060408051808201825293909101546001600160801b038116808552600160801b909104600f0b84840152845260028801909152822082905560018087018054929450916149879190614f4d565b8154811061499757614997615087565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b9181019190915260018601805491925090806149e3576149e36153dc565b600082815260208120820160001990810191909155019055600185015484101561030e57614a12858286614ab6565b61030e85866001018681548110614a2b57614a2b615087565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b9181019190915286614c29565b600181015460000361104157604080518082019091526000808252602080830182815260019485018054958601815583529120915190516001600160801b03908116600160801b02911617910155565b6001811480614b03575060018301614acf6002836150ca565b81548110614adf57614adf615087565b6000918252602091829020015490830151600160801b909104600f90810b91900b13155b15614b135761119e838383614d8a565b614b718360018101614b266002856150ca565b81548110614b3657614b36615087565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b9181019190915283614d8a565b61119e83836143706002856150ca565b604080518082019091526000808252602082015260018301548210614bb95760408051808201909152600080825260208201526102a6565b826001018281548110614bce57614bce615087565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b918101919091529392505050565b60408051808201909152600080825260208201526102a98260016148d5565b60018301546000614c3b83600261509d565b9050808211614c5457614c4f858585614d8a565b611265565b6000856001018281548110614c6b57614c6b615087565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b918101919091529050614cad8260016150f7565b83118015614cf757508060200151600f0b86600101836001614ccf91906150f7565b81548110614cdf57614cdf615087565b600091825260209091200154600160801b9004600f0b135b15614d545760018601614d09836150de565b92508281548110614d1c57614d1c615087565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b9181019190915290505b8460200151600f0b8160200151600f0b13614d7457611df0868686614d8a565b614d7f868286614d8a565b610289868684614c29565b81836001018281548110614da057614da0615087565b600091825260208083208451948201516001600160801b03908116600160801b0295811695909517920191909155935190911681526002909301909152604090912055565b80356001600160801b0381168114614dfc57600080fd5b919050565b80356001600160a01b0381168114614dfc57600080fd5b60008060408385031215614e2b57600080fd5b614e3483614de5565b9150614e4260208401614e01565b90509250929050565b600080600080600060a08688031215614e6357600080fd5b614e6c86614de5565b9450614e7a60208701614de5565b9350614e8860408701614e01565b94979396509394606081013594506080013592915050565b600080600060608486031215614eb557600080fd5b614ebe84614de5565b9250614ecc60208501614de5565b9150614eda60408501614e01565b90509250925092565b60008060008060808587031215614ef957600080fd5b614f0285614de5565b9350614f1060208601614de5565b9250614f1e60408601614e01565b9150614f2c60608601614de5565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b818103818111156102a9576102a9614f37565b604081526000614f896040830160098152681b995dd41bdbdb125960ba1b602082015260400190565b828103602093840152601a81527f6d757374206469666665722066726f6d206f6c64506f6f6c4964000000000000928101929092525060400190565b604081526000614fee6040830160098152681b995dd41bdbdb125960ba1b602082015260400190565b8281036020938401526011815270185b1c9958591e4819195b1959d85d1959607a1b928101929092525060400190565b6000600160ff1b820161503357615033614f37565b5060000390565b808201828112600083128015821682158216171561249357612493614f37565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156102a9576102a9614f37565b634e487b7160e01b600052603260045260246000fd5b80820281158282048414176102a9576102a9614f37565b634e487b7160e01b600052601260045260246000fd5b6000826150d9576150d96150b4565b500490565b6000600182016150f0576150f0614f37565b5060010190565b808201808211156102a9576102a9614f37565b6001600160401b038181168382160190808211156137a7576137a7614f37565b634e487b7160e01b600052604160045260246000fd5b6001600160801b038181168382160190808211156137a7576137a7614f37565b6001600160801b038281168282160390808211156137a7576137a7614f37565b600081518084526020808501945080840160005b838110156151b057815187529582019590820190600101615194565b509495945050505050565b8381526060602082015260006151d46060830185615180565b8281036040840152611f258185615180565b6000608082840312156151f857600080fd5b604051608081018181106001600160401b038211171561522857634e487b7160e01b600052604160045260246000fd5b8060405250825181526020830151602082015260408301516040820152606083015160608201528091505092915050565b600f82810b9082900b0360016001607f1b0319811260016001607f1b03821317156102a9576102a9614f37565b81810360008312801583831316838312821617156137a7576137a7614f37565b6001600160401b038281168282160390808211156137a7576137a7614f37565b80820260008212600160ff1b841416156152e2576152e2614f37565b81810583148215176102a9576102a9614f37565b600082615305576153056150b4565b600160ff1b82146000198414161561531f5761531f614f37565b500590565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b838110156153a857888603603f1901855282518051808852835b81811015615381578281018a01518982018b01528901615366565b508781018901849052601f01601f191690960187019550938601939186019160010161534c565b509398975050505050505050565b600081600f0b60016001607f1b031981036153d3576153d3614f37565b60000392915050565b634e487b7160e01b600052603160045260246000fd5b6020808252600090606083018382018584805b600281101561546257601f198089870301855283518051808852845b8181101561543c578281018a01518982018b01528901615421565b508781018901859052601f01909116909501860194509285019291850191600101615405565b5092979650505050505050565b600082600f0b82600f0b0280600f0b91508082146137a7576137a7614f37565b600181815b808511156154ca5781600019048211156154b0576154b0614f37565b808516156154bd57918102915b93841c9390800290615494565b509250929050565b6000826154e1575060016102a9565b816154ee575060006102a9565b8160018114615504576002811461550e5761552a565b60019150506102a9565b60ff84111561551f5761551f614f37565b50506001821b6102a9565b5060208310610133831016604e8410600b841016171561554d575081810a6102a9565b615557838361548f565b806000190482111561556b5761556b614f37565b029392505050565b60006102a683836154d2565b60006001600160801b0380831681810361559b5761559b614f37565b6001019392505050565b6000602082840312156155b757600080fd5b505191905056fea2646970667358221220f2c777100e309c69dac86d6e7f2ea06302bcb7c81a515f7e8434f90a98bbebc564736f6c63430008110033