0 txs
4 calls
constructor
No constructor.
functions
feePercentage
viewfunction feePercentage() view returns (uint256)
getLpFeesByTokenId
viewfunction getLpFeesByTokenId(uint256 tokenId) view returns (address token0, address token1, uint128 amount0, uint128 amount1)
oraToken
viewfunction oraToken() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
poolFee
viewfunction poolFee() view returns (uint24)
positionManager
viewfunction positionManager() view returns (address)
removalCreatorOf
viewfunction removalCreatorOf(bytes32) view returns (address)
removalPairOf
viewfunction removalPairOf(bytes32) view returns (address)
swapRouter
viewfunction swapRouter() view returns (address)
tokenEmitter
viewfunction tokenEmitter() view returns (address)
treasury
viewfunction treasury() view returns (address)
V3Factory
viewfunction V3Factory() view returns (address)
batchClaimEmission
nonpayablefunction batchClaimEmission(address[] tokens, uint256[] tokenAmounts, uint256[] tokenZeroAmounts)
batchMigrateAxon
nonpayablefunction batchMigrateAxon(uint256[] tokenIds)
batchWithdrawFee
nonpayablefunction batchWithdrawFee(uint256[] tokenIds)
claimEmission
nonpayablefunction claimEmission(address token, uint256 tokenAmount, uint256 tokenZeroAmount) returns (bytes32 requestId)
completeLiquidityRemoval
nonpayablefunction completeLiquidityRemoval(bytes32 requestId)
initialize
nonpayablefunction initialize(address _oraToken, address _treasury, address _positionManager, address _V3Factory, address _swapRouter, address _tokenEmitter, uint256 _feePercentage)
migrateAxon
nonpayablefunction migrateAxon(uint256 lpTokenId)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setFeePercentage
nonpayablefunction setFeePercentage(uint256 _newFeePercentage)
setOraToken
nonpayablefunction setOraToken(address _newOraToken)
setPoolFee
nonpayablefunction setPoolFee(uint24 _poolFee)
setTokenEmitter
nonpayablefunction setTokenEmitter(address _tokenEmitter)
setTreasury
nonpayablefunction setTreasury(address _newTreasury)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdrawFee
nonpayablefunction withdrawFee(uint256 tokenId)
events
EmissionClaimed
event EmissionClaimed(address indexed creator, address indexed token, uint256 tokenAmount, uint256 tokenZeroAmount, bytes32 requestId)
FeePercentageUpdated
event FeePercentageUpdated(uint256 newFeePercentage)
FeeWithdrawn
event FeeWithdrawn(address indexed sender, uint256 indexed tokenId, uint256 amountORAToken)
Initialized
event Initialized(uint64 version)
MigratedAxon
event MigratedAxon(address indexed user, uint256 tokenId)
NewPoolFee
event NewPoolFee(uint24 poolFee)
OraTokenUpdated
event OraTokenUpdated(address indexed newOraToken)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
TokenEmitterUpdated
event TokenEmitterUpdated(address indexed newTokenEmitter)
TreasuryUpdated
event TreasuryUpdated(address indexed newTreasury)
Unpaused
event Unpaused(address account)
WithdrawalCompleted
event WithdrawalCompleted(address indexed creator, address indexed token, uint256 tokenAmount, uint256 tokenZeroAmount, bytes32 requestId)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x6080806040523460155761281c908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c908163089fe6aa1461140f575080631460e39014611180578063150b7a02146110ee5780632834480f1461109a5780633d64baf1146110725780633f4ba83a14610ff45780635c975abb14610fc65780635ef4130514610e3d57806361d027b314610e15578063699e520c146108395780636f7c67af146107e8578063715018a61461077f57806373dd250c14610700578063791b98bc146106d75780638456cb59146106645780638da5cb5b1461062f57806397d5699714610608578063a001ecdd146105ea578063a2cc8a8f14610579578063a451b38914610508578063ae06c1b71461044d578063b0fff9021461041a578063bb4abe1e146103f1578063be357616146103c4578063c2c962641461033c578063c31c9c0714610313578063dff5a6cc146102e0578063e3fb65e714610254578063f0f44260146101e3578063f2b419e8146101a25763f2fde38b14610173575f80fd5b3461019f57602036600319011261019f5761019c61018f611431565b610197611f25565b6118dc565b80f35b80fd5b503461019f57602036600319011261019f576101bc61194d565b6101c4611985565b6101cf600435612499565b60015f5160206127a75f395f51905f525580f35b503461019f57602036600319011261019f576101fd611431565b610205611f25565b61020e81611f58565b600580546001600160a01b0319166001600160a01b039290921691821790557f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d18280a280f35b503461019f57602036600319011261019f5760043567ffffffffffffffff81116102dc5761028690369060040161145d565b61028e61194d565b610296611985565b6102a1811515611885565b825b8181106102bf578360015f5160206127a75f395f51905f525580f35b806102d66102d0600193858761148e565b35611fb7565b016102a3565b5080fd5b503461019f57602036600319011261019f57602090600435815260088252604060018060a01b0391205416604051908152f35b503461019f578060031936011261019f576002546040516001600160a01b039091168152602090f35b503461019f57602036600319011261019f5760043567ffffffffffffffff81116102dc5761036e90369060040161145d565b61037661194d565b61037e611985565b610389811515611885565b825b8181106103a7578360015f5160206127a75f395f51905f525580f35b806103be6103b8600193858761148e565b35612499565b0161038b565b503461019f57602036600319011261019f576103de61194d565b6103e6611985565b6101cf600435611fb7565b503461019f578060031936011261019f576004546040516001600160a01b039091168152602090f35b503461019f57602036600319011261019f57602090600435815260078252604060018060a01b0391205416604051908152f35b503461019f57602036600319011261019f5760043561046a611f25565b606481116104a4576020817f74516f05eb4bd2461d57aa1e935ee553f86a3e02bfed7759f2f772915de3d9be92600655604051908152a180f35b60405162461bcd60e51b815260206004820152603660248201527f4c504665654469737472696275746f723a20546865206d6178696d756d20706560448201527507263656e74616765206f6620666565206973203130360541b6064820152608490fd5b503461019f57602036600319011261019f57610522611431565b61052a611f25565b61053381611f58565b600380546001600160a01b0319166001600160a01b039290921691821790557f1f51534d255c0ea0f9ea5ce9d98835166640ec1758b92bc4d807180eacee1c8b8280a280f35b503461019f57602036600319011261019f57610593611431565b61059b611f25565b6105a481611f58565b600480546001600160a01b0319166001600160a01b039290921691821790557f61bd7a7557e64d121d1d13ea2e24d2a3862f249685e60027663b1ccd65c7dac98280a280f35b503461019f578060031936011261019f576020600654604051908152f35b503461019f578060031936011261019f57546040516001600160a01b039091168152602090f35b503461019f578060031936011261019f575f5160206127675f395f51905f52546040516001600160a01b039091168152602090f35b503461019f578060031936011261019f5761067d611f25565b610685611985565b600160ff195f5160206127875f395f51905f525416175f5160206127875f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b503461019f578060031936011261019f576001546040516001600160a01b039091168152602090f35b503461019f57602036600319011261019f5760043562ffffff81169081810361077b577fd788be265125a247f040c23eb85c00ede22bda3b469a0eaec33913189ae61e6c91602091610750611f25565b6003805462ffffff60a01b191660a09290921b62ffffff60a01b16919091179055604051908152a180f35b8280fd5b503461019f578060031936011261019f57610798611f25565b5f5160206127675f395f51905f5280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461019f57602036600319011261019f5760806001600160801b0380610810600435611579565b604080516001600160a01b03958616815294909316602085015294169082015291166060820152f35b5034610bb7576020366003190112610bb75760043561085661194d565b61085e611985565b5f818152600860205260409020546001600160a01b03168015610dd1575f828152600760205260409020546001600160a01b031633819003610d7d576003546040516393cf452d60e01b815290602090829060049082906001600160a01b03165afa908115610c17575f91610d43575b50604051630dfe168160e01b81526001600160a01b0391909116906020816004815f865af1908115610c17575f91610d03575b506004545f9260209290916001600160a01b03918216911603610ca05760046040518094819363d21220a760e01b83525af1908115610c17575f91610c66575b505b6001600160a01b031691828103610c22576003546001600160a01b031690813b15610bb7575f9160448392604051948593849263131241bd60e01b845260048401528960248401525af18015610c1757610c02575b50600480546040516370a0823160e01b815230928101929092526001600160a01b0316602082602481845afa918215610bf7578692610bc3575b506040516370a0823160e01b815230600482015290602082602481885afa918215610b24578792610b8b575b5082610b2f575b5080610a91575b60408051928352602083019190915281018490527f36a0167b2bd6c862e0b242cffed67d69e170f31f5fff31b54734c36d60ac885190606090a38082526008602052604082206001600160601b0360a01b815416905581526007602052604081206001600160601b0360a01b815416905560015f5160206127a75f395f51905f525580f35b60405163a9059cbb60e01b81526001600160a01b038416600482015260248101829052916020836044818a895af1928315610b24577f36a0167b2bd6c862e0b242cffed67d69e170f31f5fff31b54734c36d60ac885193610af5575b509150610a0c565b610b169060203d602011610b1d575b610b0e81836114b2565b81019061150b565b505f610aed565b503d610b04565b6040513d89823e3d90fd5b60405163a9059cbb60e01b81526001600160a01b03851660048201526024810184905290602090829060449082908b905af18015610b245715610a0557610b849060203d602011610b1d57610b0e81836114b2565b505f610a05565b9091506020813d602011610bbb575b81610ba7602093836114b2565b81010312610bb75751905f6109fe565b5f80fd5b3d9150610b9a565b9091506020813d602011610bef575b81610bdf602093836114b2565b81010312610bb75751905f6109d2565b3d9150610bd2565b6040513d88823e3d90fd5b610c0f9194505f906114b2565b5f925f610998565b6040513d5f823e3d90fd5b606460405162461bcd60e51b815260206004820152602060248201527f4c504469737472696275746f723a20696e76616c69642070616972546f6b656e6044820152fd5b90506020813d602011610c98575b81610c81602093836114b2565b81010312610bb757610c92906114e8565b5f610941565b3d9150610c74565b600460405180948193630dfe168160e01b83525af1908115610c17575f91610cc9575b50610943565b90506020813d602011610cfb575b81610ce4602093836114b2565b81010312610bb757610cf5906114e8565b5f610cc3565b3d9150610cd7565b90506020813d602011610d3b575b81610d1e602093836114b2565b81010312610bb7575f91610d336020926114e8565b915091610901565b3d9150610d11565b90506020813d602011610d75575b81610d5e602093836114b2565b81010312610bb757610d6f906114e8565b5f6108ce565b3d9150610d51565b60405162461bcd60e51b815260206004820152602660248201527f4c504469737472696275746f723a206f6e6c79206f726967696e616c207265716044820152653ab2b9ba32b960d11b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f4c504469737472696275746f723a20696e76616c6964207265717565737449646044820152fd5b34610bb7575f366003190112610bb7576005546040516001600160a01b039091168152602090f35b34610bb7576060366003190112610bb75760043567ffffffffffffffff8111610bb757610e6e90369060040161145d565b9060243567ffffffffffffffff8111610bb757610e8f90369060040161145d565b60449391933567ffffffffffffffff8111610bb757610eb290369060040161145d565b92610ebb61194d565b610ec3611985565b8015610f815782811480610f78575b15610f3b575f5b818110610ef35760015f5160206127a75f395f51905f5255005b610efe81838861148e565b35906001600160a01b0382168203610bb757610f34600192610f2183888c61148e565b35610f2d848a8961148e565b35916119ac565b5001610ed9565b60405162461bcd60e51b8152602060048201526015602482015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b6044820152606490fd5b50838114610ed2565b60405162461bcd60e51b815260206004820152601e60248201527f4c504665654469737472696275746f723a20456d70747920746f6b656e7300006044820152606490fd5b34610bb7575f366003190112610bb757602060ff5f5160206127875f395f51905f5254166040519015158152f35b34610bb7575f366003190112610bb75761100c611f25565b5f5160206127875f395f51905f525460ff8116156110635760ff19165f5160206127875f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610bb7575f366003190112610bb7576003546040516001600160a01b039091168152602090f35b34610bb7576060366003190112610bb75760206110d56110b8611431565b6110c061194d565b6110c8611985565b60443590602435906119ac565b60015f5160206127a75f395f51905f5255604051908152f35b34610bb7576080366003190112610bb757611107611431565b50611110611447565b5060643567ffffffffffffffff8111610bb75736602382011215610bb757806004013567ffffffffffffffff8111610bb75736910160240111610bb75761115561194d565b61115d611985565b60015f5160206127a75f395f51905f5255604051630a85bd0160e11b8152602090f35b34610bb75760e0366003190112610bb757611199611431565b6111a1611447565b6044356001600160a01b03811690819003610bb7576064356001600160a01b03811690819003610bb7576084356001600160a01b0381169290839003610bb75760a4356001600160a01b0381169490859003610bb7575f5160206127c75f395f51905f52549560ff8760401c16159667ffffffffffffffff811680159081611407575b60011490816113fd575b1590816113f4575b506113e55767ffffffffffffffff1981166001175f5160206127c75f395f51905f5255876113b9575b5061126861273b565b61127061273b565b611279336118dc565b61128161273b565b61128961273b565b60015f5160206127a75f395f51905f52556112a261273b565b6112aa61273b565b60ff195f5160206127875f395f51905f5254165f5160206127875f395f51905f525560018060a01b03166001600160601b0360a01b600454161760045560018060a01b03166001600160601b0360a01b60055416176005556001600160601b0360a01b60015416176001556001600160601b0360a01b5f5416175f5560c4356006556001600160601b0360a01b600254161760025561027160a41b9068ffffffffffffffffff60b81b60035416171760035561136257005b68ff0000000000000000195f5160206127c75f395f51905f5254165f5160206127c75f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b68ffffffffffffffffff191668010000000000000001175f5160206127c75f395f51905f52558761125f565b63f92ee8a960e01b5f5260045ffd5b90501589611236565b303b15915061122e565b899150611224565b34610bb7575f366003190112610bb75760209062ffffff60035460a01c168152f35b600435906001600160a01b0382168203610bb757565b602435906001600160a01b0382168203610bb757565b9181601f84011215610bb75782359167ffffffffffffffff8311610bb7576020808501948460051b010111610bb757565b919081101561149e5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176114d457604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b0382168203610bb757565b90816020910312610bb7575190565b90816020910312610bb757518015158103610bb75790565b51908160020b8203610bb757565b51906001600160801b0382168203610bb757565b9190820391821161155257565b634e487b7160e01b5f52601160045260245ffd5b8181029291811591840414171561155257565b60015460405163133f757160e31b8152600481019290925261018090829060249082906001600160a01b03165afa918215610c17575f905f935f905f915f955f926117ae575b505f54604051630b4c774160e11b81526001600160a01b038781166004830152898116602483015262ffffff9390931660448201529160209183916064918391165afa908115610c17575f91611774575b506001600160a01b03169485156117215760405163f305839960e01b815295602087600481845afa968715610c17575f976116ec575b5095602060049760405198898092634614131960e01b82525afa968715610c17575f976116ae575b506116926116a4949361168c61169b946001600160801b0394611545565b98611545565b92169586611566565b60801c94611566565b60801c9193929190565b909650602093929193813d6020116116e4575b816116ce602093836114b2565b81010312610bb75751959192909161169261166e565b3d91506116c1565b96506020873d602011611719575b81611707602093836114b2565b81010312610bb7579551956020611646565b3d91506116fa565b60405162461bcd60e51b815260206004820152602560248201527f4c504665654469737472696275746f723a20506f6f6c20646f6573206e6f7420604482015264195e1a5cdd60da1b6064820152608490fd5b90506020813d6020116117a6575b8161178f602093836114b2565b81010312610bb7576117a0906114e8565b5f611610565b3d9150611782565b9550505050925050610180813d821161187d575b816117d061018093836114b2565b81010312610bb75780516001600160601b03811603610bb7576117f5602082016114e8565b50611802604082016114e8565b9161180f606083016114e8565b9060808301519362ffffff85168503610bb75761182e60a08501611523565b5061183b60c08501611523565b5061184860e08501611531565b61010085015191611870610160610120880151976118696101408201611531565b5001611531565b509395909194905f6115bf565b3d91506117c2565b1561188c57565b60405162461bcd60e51b815260206004820152602260248201527f4c504665654469737472696275746f723a20496e76616c696420746f6b656e49604482015261647360f01b6064820152608490fd5b6001600160a01b0316801561193a575f5160206127675f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b60025f5160206127a75f395f51905f5254146119765760025f5160206127a75f395f51905f5255565b633ee5aeb560e01b5f5260045ffd5b60ff5f5160206127875f395f51905f52541661199d57565b63d93c066560e01b5f5260045ffd5b6040516302d05d3f60e01b815291939192906001600160a01b0316602084600481845afa8015610c17575f945f91611eeb575b506001600160a01b031633819003611e95576003546040516393cf452d60e01b815290602090829060049082906001600160a01b03165afa908115610c17575f91611e5b575b506001600160a01b03168015611e0b57604051630dfe168160e01b81526020816004815f865af1908115610c17575f91611dcb575b506004545f9260209290916001600160a01b03918216911603611d685760046040518094819363d21220a760e01b83525af1908115610c17575f91611d2e575b505b60018060a01b0316926040516323b872dd60e01b81528260048201523060248201528160448201526020816064815f895af18015610c1757611d11575b5060035460405163095ea7b360e01b81526001600160a01b039091166004820152602481018290526020816044815f895af18015610c1757611cf4575b506003546001600160a01b031696873b15610bb7575f80986064604051809b8193632834480f60e01b83528960048401528660248401528760448401525af18015610c1757611cdc575b60035460405163096b119360e31b815260048101879052606460248201529850959695602090899060449082908a906001600160a01b03165af1978815610bf7578698611c84575b5087865260086020908152604080882080546001600160a01b031990811689179091558a895260078352818920805490911633179055805192835282820193909352918101889052859491939192907fcbfda8b4396e8c0b9d7fd9cf1dbc5a56ddd0b6368ec4d5419a011822e89144fa90606090a360035460405163095ea7b360e01b81526001600160a01b0390911660048201526024810185905293849160449183915af1908115611c785750611c5d5750565b611c759060203d602011610b1d57610b0e81836114b2565b50565b604051903d90823e3d90fd5b9097506020813d602011611cd4575b81611ca0602093836114b2565b81010312611cd05751967fcbfda8b4396e8c0b9d7fd9cf1dbc5a56ddd0b6368ec4d5419a011822e89144fa611ba8565b8580fd5b3d9150611c93565b949550955f611cea916114b2565b5f94938690611b60565b611d0c9060203d602011610b1d57610b0e81836114b2565b611b16565b611d299060203d602011610b1d57610b0e81836114b2565b611ad9565b90506020813d602011611d60575b81611d49602093836114b2565b81010312610bb757611d5a906114e8565b5f611a9a565b3d9150611d3c565b600460405180948193630dfe168160e01b83525af1908115610c17575f91611d91575b50611a9c565b90506020813d602011611dc3575b81611dac602093836114b2565b81010312610bb757611dbd906114e8565b5f611d8b565b3d9150611d9f565b90506020813d602011611e03575b81611de6602093836114b2565b81010312610bb7575f91611dfb6020926114e8565b915091611a5a565b3d9150611dd9565b60405162461bcd60e51b815260206004820152602260248201527f4c504665654469737472696275746f723a20496e76616c6964207a65726f506f6044820152611bdb60f21b6064820152608490fd5b90506020813d602011611e8d575b81611e76602093836114b2565b81010312610bb757611e87906114e8565b5f611a25565b3d9150611e69565b60405162461bcd60e51b815260206004820152602860248201527f4c504665654469737472696275746f723a204f6e6c792063726561746f722063604482015267616e20636c61696d60c01b6064820152608490fd5b90506020813d602011611f1d575b81611f06602093836114b2565b81010312610bb757611f17906114e8565b5f6119df565b3d9150611ef9565b5f5160206127675f395f51905f52546001600160a01b03163303611f4557565b63118cdaa760e01b5f523360045260245ffd5b6001600160a01b031615611f6857565b60405162461bcd60e51b815260206004820152602160248201527f4c504665654469737472696275746f723a20496e76616c6964206164647265736044820152607360f81b6064820152608490fd5b6001600160801b0390611fc981611579565b919294161590811591612486575b5015612433576004546001600160a01b038481169116908114939091908285156123cc5750505b6040516302d05d3f60e01b81526001600160a01b03919091169390602081600481885afa908115610c17575f91612392575b50336001600160a01b0390911603612343576003546040805163569fff9360e01b8152600481018790529291839060249082905f906001600160a01b03165af1908115610c17575f925f92612308575b50156123005750915b82612095575b50505050565b6120e060646120a660065486611566565b60055460405163a9059cbb60e01b81526001600160a01b039091166004820152919004602482018190529091602090839081906044820190565b03815f885af1918215610c17576120fd926122e3575b5084611545565b60025460405163095ea7b360e01b81526001600160a01b039091166004820152602481018290526020816044815f885af18015610c17576122c6575b5062ffffff60035460a01c16946040519160e083019280841067ffffffffffffffff8511176114d457604093845285815260208181019384528185019889523060608301908152608083019384525f60a0840181815260c0850182815260025498516304e45aaf60e01b815295516001600160a01b0390811660048801529751881660248701529b5162ffffff166044860152915186166064850152935160848401525160a48301529751831660c48201529692879260e49284929091165af1928315610c17575f94602094612299575b506040519081527fb69e29a46d63092cadaa0577b63f2df489a350647b283ea59c6e84d70668f87a843392a360025460405163095ea7b360e01b81526001600160a01b0390911660048201526024810184905292839160449183915af18015610c175761227a575b80808061208f565b6122929060203d602011610b1d57610b0e81836114b2565b505f612272565b6122b890853d87116122bf575b6122b081836114b2565b8101906114fc565b505f61220a565b503d6122a6565b6122de9060203d602011610b1d57610b0e81836114b2565b612139565b6122fb9060203d602011610b1d57610b0e81836114b2565b6120f6565b905091612089565b925090506040823d60401161233b575b81612325604093836114b2565b81010312610bb75760208251920151905f612080565b3d9150612318565b60405162461bcd60e51b815260206004820152602160248201527f4c504665654469737472696275746f723a20496e76616c69642063726561746f6044820152603960f91b6064820152608490fd5b90506020813d6020116123c4575b816123ad602093836114b2565b81010312610bb7576123be906114e8565b5f612030565b3d91506123a0565b90916001600160a01b0316145f03611ffe5760405162461bcd60e51b815260206004820152602760248201527f4c504665654469737472696275746f723a20496e76616c6964204c5020746f6b60448201526632b7103830b4b960c91b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f4c504665654469737472696275746f723a204e6f206665657320746f20776974604482015264686472617760d81b6064820152608490fd5b6001600160801b0391501615155f611fd7565b6001546040516331a9108f60e11b8152600481018390525f916001600160a01b031690602081602481855afa908115610c17575f91612701575b50306001600160a01b03909116036126bc576003546001600160a01b031690803b15610bb75760405163095ea7b360e01b81526001600160a01b03929092166004830152602482018490525f908290604490829084905af18015610c17576126a9575b506003546001600160a01b0316803b156102dc57818091602460405180948193631e56833d60e31b83528860048401525af1801561268957908291612694575b5050600480546040516370a0823160e01b815230928101929092529091906001600160a01b0316602083602481845afa928315612689578293612655575b50826125ec575b5050506040519081527f52031dcdb251a80256c64ced09e8dae69a4407b9b828acde9e4021adda8af31b60203392a2565b60055460405163a9059cbb60e01b81526001600160a01b03909116600482015260248101939093526020908390604490829085905af1908115611c785750612636575b80806125bb565b61264e9060203d602011610b1d57610b0e81836114b2565b505f61262f565b9092506020813d602011612681575b81612671602093836114b2565b81010312610bb75751915f6125b4565b3d9150612664565b6040513d84823e3d90fd5b8161269e916114b2565b61019f57805f612576565b6126b591505f906114b2565b5f5f612536565b60405162461bcd60e51b815260206004820152601f60248201527f4c504665654469737472696275746f723a204e4654206e6f74206f776e6564006044820152606490fd5b90506020813d602011612733575b8161271c602093836114b2565b81010312610bb75761272d906114e8565b5f6124d3565b3d915061270f565b60ff5f5160206127c75f395f51905f525460401c161561275757565b631afcd79f60e31b5f5260045ffdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212201b404bd490e04b250dd4309e5be9c187d88a096634aa273762621c0c04a60fb764736f6c634300081c0033