UNPKG

@layerzerolabs/oapp-alt-evm

Version:

LayerZero Labs reference EVM OmniChain Application (OAppAlt) for EndpointV2Alt implementation

1 lines 76.5 kB
{"abi":[{"type":"constructor","inputs":[{"name":"_priceUpdater","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ARBITRUM_COMPRESSION_PERCENT","inputs":[],"outputs":[{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"arbitrumPriceExt","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct ILayerZeroPriceFeed.ArbitrumPriceExt","components":[{"name":"gasPerL2Tx","type":"uint64","internalType":"uint64"},{"name":"gasPerL1CallDataByte","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"endpoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ILayerZeroEndpointV2"}],"stateMutability":"view"},{"type":"function","name":"estimateFeeByChain","inputs":[{"name":"_dstEid","type":"uint16","internalType":"uint16"},{"name":"_callDataSize","type":"uint256","internalType":"uint256"},{"name":"_gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"},{"name":"priceRatio","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"estimateFeeByEid","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"},{"name":"_callDataSize","type":"uint256","internalType":"uint256"},{"name":"_gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"estimateFeeOnSend","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"},{"name":"_callDataSize","type":"uint256","internalType":"uint256"},{"name":"_gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"payable"},{"type":"function","name":"getFee","inputs":[{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPrice","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getPrice","inputs":[{"name":"_dstEid","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getPriceRatioDenominator","inputs":[],"outputs":[{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"nativeTokenPriceUSD","inputs":[],"outputs":[{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"priceUpdater","inputs":[{"name":"updater","type":"address","internalType":"address"}],"outputs":[{"name":"active","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitrumCompressionPercent","inputs":[{"name":"_compressionPercent","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEndpoint","inputs":[{"name":"_endpoint","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNativeTokenPriceUSD","inputs":[{"name":"_nativeTokenPriceUSD","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrice","inputs":[{"name":"_price","type":"tuple[]","internalType":"struct ILayerZeroPriceFeed.UpdatePrice[]","components":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceForArbitrum","inputs":[{"name":"_update","type":"tuple","internalType":"struct ILayerZeroPriceFeed.UpdatePriceExt","components":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]},{"name":"extend","type":"tuple","internalType":"struct ILayerZeroPriceFeed.ArbitrumPriceExt","components":[{"name":"gasPerL2Tx","type":"uint64","internalType":"uint64"},{"name":"gasPerL1CallDataByte","type":"uint32","internalType":"uint32"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceRatioDenominator","inputs":[{"name":"_denominator","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceUpdater","inputs":[{"name":"_addr","type":"address","internalType":"address"},{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawFee","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"LZ_PriceFeed_InsufficientFee","inputs":[{"name":"provided","type":"uint256","internalType":"uint256"},{"name":"required","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"LZ_PriceFeed_NotAnOPStack","inputs":[{"name":"l2Eid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"LZ_PriceFeed_OnlyPriceUpdater","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Transfer_NativeFailed","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Transfer_ToAddressIsZero","inputs":[]}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5060405161145738038061145783398101604081905261002e91610106565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c816100b7565b506001600160a01b03165f908152600260205260409020805460ff1916600190811790915580546001600160801b03191668056bc75e2d6310000017905560058054602f60801b6001600160801b0391909116179055610133565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610116575f80fd5b81516001600160a01b038116811461012c575f80fd5b9392505050565b611317806101405f395ff3fe60806040526004361061013c575f3560e01c80638ca2fb08116100b3578063d350ad251161006d578063d350ad2514610428578063da26663a14610447578063dbbb415514610506578063e0ad121a14610525578063f2fde38b146105ac578063fd9be522146105cb575f80fd5b80638ca2fb08146103475780638da5cb5b1461038557806392807f58146103a1578063c1723a1d146103d2578063c1840327146103e5578063cd68b79b14610402575f80fd5b80635d6d7ccb116101045780635d6d7ccb146102345780635e280f1114610253578063715018a61461028a5780637bc3c9ab1461029e5780637dc438a4146102da57806388a4124c146102f9575f80fd5b806311f2c343146101405780632f7cb0b4146101755780633161b7f61461019657806336a5beba146101b557806352a7251014610215575b5f80fd5b34801561014b575f80fd5b5061016261015a366004610fc4565b5f9392505050565b6040519081526020015b60405180910390f35b348015610180575f80fd5b5061019461018f36600461100a565b6105ea565b005b3480156101a1575f80fd5b506101946101b036600461102a565b610611565b3480156101c0575f80fd5b506040805180820182525f808252602091820152815180830183526004546001600160401b03811680835263ffffffff600160401b90920482169284019283528451908152915116918101919091520161016c565b348015610220575f80fd5b5061019461022f3660046110ae565b61074e565b34801561023f575f80fd5b5061019461024e36600461100a565b610780565b34801561025e575f80fd5b50600654610272906001600160a01b031681565b6040516001600160a01b03909116815260200161016c565b348015610295575f80fd5b506101946107f1565b3480156102a9575f80fd5b506102bd6102b83660046110f8565b610804565b604080519283526001600160801b0390911660208301520161016c565b3480156102e5575f80fd5b506101946102f4366004611113565b61089e565b348015610304575f80fd5b50610318610313366004610fc4565b61095b565b604080519485526001600160801b0393841660208601529183169184019190915216606082015260800161016c565b348015610352575f80fd5b50610375610361366004611129565b60026020525f908152604090205460ff1681565b604051901515815260200161016c565b348015610390575f80fd5b505f546001600160a01b0316610272565b3480156103ac575f80fd5b506005546001600160801b03165b6040516001600160801b03909116815260200161016c565b6103186103e0366004610fc4565b61097b565b3480156103f0575f80fd5b506001546001600160801b03166103ba565b34801561040d575f80fd5b506005546103ba90600160801b90046001600160801b031681565b348015610433575f80fd5b5061019461044236600461100a565b6109ab565b348015610452575f80fd5b506104cc610461366004611142565b60408051606080820183525f808352602080840182905292840181905263ffffffff94851681526003835283902083519182018452546001600160801b0381168252600160801b81046001600160401b031692820192909252600160c01b9091049092169082015290565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff169082015260600161016c565b348015610511575f80fd5b50610194610520366004611129565b6109d5565b348015610530575f80fd5b506104cc61053f36600461115b565b60408051606080820183525f808352602080840182905292840181905261ffff949094168452600382529282902082519384018352546001600160801b03811684526001600160401b03600160801b82041691840191909152600160c01b900463ffffffff169082015290565b3480156105b7575f80fd5b506101946105c6366004611129565b6109ff565b3480156105d6575f80fd5b506101946105e5366004611174565b610a3c565b6105f2610a52565b600580546001600160801b03928316600160801b029216919091179055565b336106235f546001600160a01b031690565b6001600160a01b03161461066057335f9081526002602052604090205460ff166106605760405163320ae52960e01b815260040160405180910390fd5b5f5b81811015610749573683838381811061067d5761067d61119c565b60800291909101915061074090506106986020830183611142565b6106aa368490038401602085016111c6565b805160208083015160409384015184516060810186526001600160801b0394851681526001600160401b0392831681850190815263ffffffff9283168288019081529783165f908152600390955295909320925183549551965194166001600160c01b031990951694909417600160801b95909116949094029390931763ffffffff60c01b1916600160c01b9190921602179055565b50600101610662565b505050565b610756610a52565b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b336107925f546001600160a01b031690565b6001600160a01b0316146107cf57335f9081526002602052604090205460ff166107cf5760405163320ae52960e01b815260040160405180910390fd5b600580546001600160801b0319166001600160801b0392909216919091179055565b6107f9610a52565b6108025f610a7e565b565b5f808461ffff16606e148061081e57508461ffff1661279f145b8061082e57508461ffff16614eaf145b1561084b576108428561ffff168585610acd565b91509150610896565b8461ffff16606f148061086357508461ffff16612794145b8061087357508461ffff16614ea4145b15610887576108428561ffff168585610bd7565b6108428561ffff168585610d1e565b935093915050565b336108b05f546001600160a01b031690565b6001600160a01b0316146108ed57335f9081526002602052604090205460ff166108ed5760405163320ae52960e01b815260040160405180910390fd5b6108fd6106986020830183611142565b5f61090e60a083016080840161123b565b90505f61092160c0840160a08501611142565b6004805463ffffffff909216600160401b026bffffffffffffffffffffffff199092166001600160401b0390941693909317179091555050565b5f805f8061096a878787610dbc565b935093509350935093509350935093565b5f8080808061098e565b60405180910390fd5b610999888888610dbc565b94509450945094505093509350935093565b6109b3610a52565b600180546001600160801b0319166001600160801b0392909216919091179055565b6109dd610a52565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b610a07610a52565b6001600160a01b038116610a3057604051631e4fbdf760e01b81525f6004820152602401610985565b610a3981610a7e565b50565b610a44610a52565b610a4e8282610e89565b5050565b5f546001600160a01b031633146108025760405163118cdaa760e01b8152336004820152602401610985565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b63ffffffff8381165f908152600360205260408120600454600554929384938492600160401b900490911690606490610b1690600160801b90046001600160801b031689611268565b610b209190611299565b610b2a9190611268565b82549091505f90610b4890600160c01b900463ffffffff1688611268565b83546004549192505f916001600160401b03600160801b90920482169184918691610b7491168b6112ac565b610b7e91906112ac565b610b8891906112ac565b610b929190611268565b60015485549192506001600160801b0390811691610bb1911683611268565b610bbb9190611299565b935493996001600160801b039094169850929650505050505050565b5f805f610be386610f32565b63ffffffff8082165f9081526003602052604081208054939450929091610c1291600160c01b90041688611268565b610c1e90610c746112ac565b82549091505f90610c3f90600160801b90046001600160401b031683611268565b63ffffffff808b165f9081526003602052604081208054939450929091610c6e91600160c01b9004168b611268565b82549091505f90600160801b90046001600160401b0316610c8f8b846112ac565b610c999190611268565b60015487549192505f916001600160801b0391821691610cba911687611268565b610cc49190611299565b60015485549192505f916001600160801b0391821691610ce5911685611268565b610cef9190611299565b90505f610cfc82846112ac565b9554959f6001600160801b039096169e50949c50505050505050505050505050565b63ffffffff8084165f9081526003602052604081208054919283928391610d4d91600160c01b90041687611268565b82549091505f90600160801b90046001600160401b0316610d6e87846112ac565b610d789190611268565b60015484549192506001600160801b0390811691610d97911683611268565b610da19190611299565b925492986001600160801b0390931697509195505050505050565b5f80808080610dcd617530896112bf565b90508063ffffffff16606e1480610deb57508063ffffffff1661279f145b80610dfd57508063ffffffff16614eaf145b15610e1757610e0d818888610acd565b9095509350610e66565b8063ffffffff16606f1480610e3357508063ffffffff16612794145b80610e4557508063ffffffff16614ea4145b15610e5557610e0d818888610bd7565b610e60818888610d1e565b90955093505b505060015460055493979296506001600160801b03908116955090921692509050565b6001600160a01b038216610eb0576040516306b7a93160e41b815260040160405180910390fd5b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ef9576040519150601f19603f3d011682016040523d82523d5f602084013e610efe565b606091505b505090508061074957604051631196f20d60e21b81526001600160a01b038416600482015260248101839052604401610985565b5f80610f40617530846112bf565b90508063ffffffff16606f03610f595750606592915050565b8063ffffffff1661279403610f72575061278992915050565b8063ffffffff16614ea403610f8b5750614e9992915050565b604051633d0b0cf760e21b815263ffffffff82166004820152602401610985565b803563ffffffff81168114610fbf575f80fd5b919050565b5f805f60608486031215610fd6575f80fd5b610fdf84610fac565b95602085013595506040909401359392505050565b80356001600160801b0381168114610fbf575f80fd5b5f6020828403121561101a575f80fd5b61102382610ff4565b9392505050565b5f806020838503121561103b575f80fd5b82356001600160401b0380821115611051575f80fd5b818501915085601f830112611064575f80fd5b813581811115611072575f80fd5b8660208260071b8501011115611086575f80fd5b60209290920196919550909350505050565b80356001600160a01b0381168114610fbf575f80fd5b5f80604083850312156110bf575f80fd5b6110c883611098565b9150602083013580151581146110dc575f80fd5b809150509250929050565b803561ffff81168114610fbf575f80fd5b5f805f6060848603121561110a575f80fd5b610fdf846110e7565b5f60c08284031215611123575f80fd5b50919050565b5f60208284031215611139575f80fd5b61102382611098565b5f60208284031215611152575f80fd5b61102382610fac565b5f6020828403121561116b575f80fd5b611023826110e7565b5f8060408385031215611185575f80fd5b61118e83611098565b946020939093013593505050565b634e487b7160e01b5f52603260045260245ffd5b80356001600160401b0381168114610fbf575f80fd5b5f606082840312156111d6575f80fd5b604051606081018181106001600160401b038211171561120457634e487b7160e01b5f52604160045260245ffd5b60405261121083610ff4565b815261121e602084016111b0565b602082015261122f60408401610fac565b60408201529392505050565b5f6020828403121561124b575f80fd5b611023826111b0565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761127f5761127f611254565b92915050565b634e487b7160e01b5f52601260045260245ffd5b5f826112a7576112a7611285565b500490565b8082018082111561127f5761127f611254565b5f63ffffffff808416806112d5576112d5611285565b9216919091069291505056fea264697066735822122001f4ef61136ee408a53edb6569cb51b3cc89fab7486e4e3f4e242c976e76b47f64736f6c63430008160033","sourceMap":"619:9549:68:-:0;;;1325:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1368:10;;1269:95:100;;1322:31;;-1:-1:-1;;;1322:31:100;;1350:1;1322:31;;;455:51:122;428:18;;1322:31:100;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;;;;;;1390:27:68::1;;::::0;;;:12:::1;:27;::::0;;;;:34;;-1:-1:-1;;1390:34:68::1;1420:4;1390:34:::0;;::::1;::::0;;;1434:30;;-1:-1:-1;;;;;;1434:30:68::1;1460:4;1434:30;::::0;;1474:28:::1;:33:::0;;-1:-1:-1;;;;;;;;1474:33:68;;;::::1;;::::0;;619:9549;;2912:187:100;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:100;;;-1:-1:-1;;;;;;3020:17:100;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:290:122:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:122;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:122:o;309:203::-;619:9549:68;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061013c575f3560e01c80638ca2fb08116100b3578063d350ad251161006d578063d350ad2514610428578063da26663a14610447578063dbbb415514610506578063e0ad121a14610525578063f2fde38b146105ac578063fd9be522146105cb575f80fd5b80638ca2fb08146103475780638da5cb5b1461038557806392807f58146103a1578063c1723a1d146103d2578063c1840327146103e5578063cd68b79b14610402575f80fd5b80635d6d7ccb116101045780635d6d7ccb146102345780635e280f1114610253578063715018a61461028a5780637bc3c9ab1461029e5780637dc438a4146102da57806388a4124c146102f9575f80fd5b806311f2c343146101405780632f7cb0b4146101755780633161b7f61461019657806336a5beba146101b557806352a7251014610215575b5f80fd5b34801561014b575f80fd5b5061016261015a366004610fc4565b5f9392505050565b6040519081526020015b60405180910390f35b348015610180575f80fd5b5061019461018f36600461100a565b6105ea565b005b3480156101a1575f80fd5b506101946101b036600461102a565b610611565b3480156101c0575f80fd5b506040805180820182525f808252602091820152815180830183526004546001600160401b03811680835263ffffffff600160401b90920482169284019283528451908152915116918101919091520161016c565b348015610220575f80fd5b5061019461022f3660046110ae565b61074e565b34801561023f575f80fd5b5061019461024e36600461100a565b610780565b34801561025e575f80fd5b50600654610272906001600160a01b031681565b6040516001600160a01b03909116815260200161016c565b348015610295575f80fd5b506101946107f1565b3480156102a9575f80fd5b506102bd6102b83660046110f8565b610804565b604080519283526001600160801b0390911660208301520161016c565b3480156102e5575f80fd5b506101946102f4366004611113565b61089e565b348015610304575f80fd5b50610318610313366004610fc4565b61095b565b604080519485526001600160801b0393841660208601529183169184019190915216606082015260800161016c565b348015610352575f80fd5b50610375610361366004611129565b60026020525f908152604090205460ff1681565b604051901515815260200161016c565b348015610390575f80fd5b505f546001600160a01b0316610272565b3480156103ac575f80fd5b506005546001600160801b03165b6040516001600160801b03909116815260200161016c565b6103186103e0366004610fc4565b61097b565b3480156103f0575f80fd5b506001546001600160801b03166103ba565b34801561040d575f80fd5b506005546103ba90600160801b90046001600160801b031681565b348015610433575f80fd5b5061019461044236600461100a565b6109ab565b348015610452575f80fd5b506104cc610461366004611142565b60408051606080820183525f808352602080840182905292840181905263ffffffff94851681526003835283902083519182018452546001600160801b0381168252600160801b81046001600160401b031692820192909252600160c01b9091049092169082015290565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff169082015260600161016c565b348015610511575f80fd5b50610194610520366004611129565b6109d5565b348015610530575f80fd5b506104cc61053f36600461115b565b60408051606080820183525f808352602080840182905292840181905261ffff949094168452600382529282902082519384018352546001600160801b03811684526001600160401b03600160801b82041691840191909152600160c01b900463ffffffff169082015290565b3480156105b7575f80fd5b506101946105c6366004611129565b6109ff565b3480156105d6575f80fd5b506101946105e5366004611174565b610a3c565b6105f2610a52565b600580546001600160801b03928316600160801b029216919091179055565b336106235f546001600160a01b031690565b6001600160a01b03161461066057335f9081526002602052604090205460ff166106605760405163320ae52960e01b815260040160405180910390fd5b5f5b81811015610749573683838381811061067d5761067d61119c565b60800291909101915061074090506106986020830183611142565b6106aa368490038401602085016111c6565b805160208083015160409384015184516060810186526001600160801b0394851681526001600160401b0392831681850190815263ffffffff9283168288019081529783165f908152600390955295909320925183549551965194166001600160c01b031990951694909417600160801b95909116949094029390931763ffffffff60c01b1916600160c01b9190921602179055565b50600101610662565b505050565b610756610a52565b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b336107925f546001600160a01b031690565b6001600160a01b0316146107cf57335f9081526002602052604090205460ff166107cf5760405163320ae52960e01b815260040160405180910390fd5b600580546001600160801b0319166001600160801b0392909216919091179055565b6107f9610a52565b6108025f610a7e565b565b5f808461ffff16606e148061081e57508461ffff1661279f145b8061082e57508461ffff16614eaf145b1561084b576108428561ffff168585610acd565b91509150610896565b8461ffff16606f148061086357508461ffff16612794145b8061087357508461ffff16614ea4145b15610887576108428561ffff168585610bd7565b6108428561ffff168585610d1e565b935093915050565b336108b05f546001600160a01b031690565b6001600160a01b0316146108ed57335f9081526002602052604090205460ff166108ed5760405163320ae52960e01b815260040160405180910390fd5b6108fd6106986020830183611142565b5f61090e60a083016080840161123b565b90505f61092160c0840160a08501611142565b6004805463ffffffff909216600160401b026bffffffffffffffffffffffff199092166001600160401b0390941693909317179091555050565b5f805f8061096a878787610dbc565b935093509350935093509350935093565b5f8080808061098e565b60405180910390fd5b610999888888610dbc565b94509450945094505093509350935093565b6109b3610a52565b600180546001600160801b0319166001600160801b0392909216919091179055565b6109dd610a52565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b610a07610a52565b6001600160a01b038116610a3057604051631e4fbdf760e01b81525f6004820152602401610985565b610a3981610a7e565b50565b610a44610a52565b610a4e8282610e89565b5050565b5f546001600160a01b031633146108025760405163118cdaa760e01b8152336004820152602401610985565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b63ffffffff8381165f908152600360205260408120600454600554929384938492600160401b900490911690606490610b1690600160801b90046001600160801b031689611268565b610b209190611299565b610b2a9190611268565b82549091505f90610b4890600160c01b900463ffffffff1688611268565b83546004549192505f916001600160401b03600160801b90920482169184918691610b7491168b6112ac565b610b7e91906112ac565b610b8891906112ac565b610b929190611268565b60015485549192506001600160801b0390811691610bb1911683611268565b610bbb9190611299565b935493996001600160801b039094169850929650505050505050565b5f805f610be386610f32565b63ffffffff8082165f9081526003602052604081208054939450929091610c1291600160c01b90041688611268565b610c1e90610c746112ac565b82549091505f90610c3f90600160801b90046001600160401b031683611268565b63ffffffff808b165f9081526003602052604081208054939450929091610c6e91600160c01b9004168b611268565b82549091505f90600160801b90046001600160401b0316610c8f8b846112ac565b610c999190611268565b60015487549192505f916001600160801b0391821691610cba911687611268565b610cc49190611299565b60015485549192505f916001600160801b0391821691610ce5911685611268565b610cef9190611299565b90505f610cfc82846112ac565b9554959f6001600160801b039096169e50949c50505050505050505050505050565b63ffffffff8084165f9081526003602052604081208054919283928391610d4d91600160c01b90041687611268565b82549091505f90600160801b90046001600160401b0316610d6e87846112ac565b610d789190611268565b60015484549192506001600160801b0390811691610d97911683611268565b610da19190611299565b925492986001600160801b0390931697509195505050505050565b5f80808080610dcd617530896112bf565b90508063ffffffff16606e1480610deb57508063ffffffff1661279f145b80610dfd57508063ffffffff16614eaf145b15610e1757610e0d818888610acd565b9095509350610e66565b8063ffffffff16606f1480610e3357508063ffffffff16612794145b80610e4557508063ffffffff16614ea4145b15610e5557610e0d818888610bd7565b610e60818888610d1e565b90955093505b505060015460055493979296506001600160801b03908116955090921692509050565b6001600160a01b038216610eb0576040516306b7a93160e41b815260040160405180910390fd5b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ef9576040519150601f19603f3d011682016040523d82523d5f602084013e610efe565b606091505b505090508061074957604051631196f20d60e21b81526001600160a01b038416600482015260248101839052604401610985565b5f80610f40617530846112bf565b90508063ffffffff16606f03610f595750606592915050565b8063ffffffff1661279403610f72575061278992915050565b8063ffffffff16614ea403610f8b5750614e9992915050565b604051633d0b0cf760e21b815263ffffffff82166004820152602401610985565b803563ffffffff81168114610fbf575f80fd5b919050565b5f805f60608486031215610fd6575f80fd5b610fdf84610fac565b95602085013595506040909401359392505050565b80356001600160801b0381168114610fbf575f80fd5b5f6020828403121561101a575f80fd5b61102382610ff4565b9392505050565b5f806020838503121561103b575f80fd5b82356001600160401b0380821115611051575f80fd5b818501915085601f830112611064575f80fd5b813581811115611072575f80fd5b8660208260071b8501011115611086575f80fd5b60209290920196919550909350505050565b80356001600160a01b0381168114610fbf575f80fd5b5f80604083850312156110bf575f80fd5b6110c883611098565b9150602083013580151581146110dc575f80fd5b809150509250929050565b803561ffff81168114610fbf575f80fd5b5f805f6060848603121561110a575f80fd5b610fdf846110e7565b5f60c08284031215611123575f80fd5b50919050565b5f60208284031215611139575f80fd5b61102382611098565b5f60208284031215611152575f80fd5b61102382610fac565b5f6020828403121561116b575f80fd5b611023826110e7565b5f8060408385031215611185575f80fd5b61118e83611098565b946020939093013593505050565b634e487b7160e01b5f52603260045260245ffd5b80356001600160401b0381168114610fbf575f80fd5b5f606082840312156111d6575f80fd5b604051606081018181106001600160401b038211171561120457634e487b7160e01b5f52604160045260245ffd5b60405261121083610ff4565b815261121e602084016111b0565b602082015261122f60408401610fac565b60408201529392505050565b5f6020828403121561124b575f80fd5b611023826111b0565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761127f5761127f611254565b92915050565b634e487b7160e01b5f52601260045260245ffd5b5f826112a7576112a7611285565b500490565b8082018082111561127f5761127f611254565b5f63ffffffff808416806112d5576112d5611285565b9216919091069291505056fea264697066735822122001f4ef61136ee408a53edb6569cb51b3cc89fab7486e4e3f4e242c976e76b47f64736f6c63430008160033","sourceMap":"619:9549:68:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:136;;;;;;;;;;-1:-1:-1;4108:136:68;;;;;:::i;:::-;4210:7;4108:136;;;;;;;;;653:25:122;;;641:2;626:18;4108:136:68;;;;;;;;2197:154;;;;;;;;;;-1:-1:-1;2197:154:68;;;;;:::i;:::-;;:::i;:::-;;2695:251;;;;;;;;;;-1:-1:-1;2695:251:68;;;;;:::i;:::-;;:::i;4599:117::-;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;4685:24:68;;;;;;;4692:17;4685:24;-1:-1:-1;;;;;4685:24:68;;;;;;-1:-1:-1;;;4685:24:68;;;;;;;;;;;4599:117;;1938:57:122;;;2037:24;;2033:41;2011:20;;;2004:71;;;;1911:18;4599:117:68;1724:357:122;1936:119:68;;;;;;;;;;-1:-1:-1;1936:119:68;;;;;:::i;:::-;;:::i;3354:143::-;;;;;;;;;;-1:-1:-1;3354:143:68;;;;;:::i;:::-;;:::i;1140:36::-;;;;;;;;;;-1:-1:-1;1140:36:68;;;;-1:-1:-1;;;;;1140:36:68;;;;;;-1:-1:-1;;;;;2809:32:122;;;2791:51;;2779:2;2764:18;1140:36:68;2616:232:122;2293:101:100;;;;;;;;;;;;;:::i;5539:587:68:-;;;;;;;;;;-1:-1:-1;5539:587:68;;;;;:::i;:::-;;:::i;:::-;;;;3516:25:122;;;-1:-1:-1;;;;;3577:47:122;;;3572:2;3557:18;;3550:75;3489:18;5539:587:68;3342:289:122;2952:396:68;;;;;;;;;;-1:-1:-1;2952:396:68;;;;;:::i;:::-;;:::i;4977:239::-;;;;;;;;;;-1:-1:-1;4977:239:68;;;;;:::i;:::-;;:::i;:::-;;;;4073:25:122;;;-1:-1:-1;;;;;4187:15:122;;;4182:2;4167:18;;4160:43;4239:15;;;4219:18;;;4212:43;;;;4291:15;4286:2;4271:18;;4264:43;4060:3;4045:19;4977:239:68;3842:471:122;747:59:68;;;;;;;;;;-1:-1:-1;747:59:68;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4674:14:122;;4667:22;4649:41;;4637:2;4622:18;747:59:68;4509:187:122;1638:85:100;;;;;;;;;;-1:-1:-1;1684:7:100;1710:6;-1:-1:-1;;;;;1710:6:100;1638:85;;4431:102:68;;;;;;;;;;-1:-1:-1;4511:15:68;;-1:-1:-1;;;;;4511:15:68;4431:102;;;-1:-1:-1;;;;;5073:47:122;;;5055:66;;5043:2;5028:18;4431:102:68;4909:218:122;3587:385:68;;;;;;:::i;:::-;;:::i;4250:115::-;;;;;;;;;;-1:-1:-1;4335:23:68;;-1:-1:-1;;;;;4335:23:68;4250:115;;1090:43;;;;;;;;;;-1:-1:-1;1090:43:68;;;;-1:-1:-1;;;1090:43:68;;-1:-1:-1;;;;;1090:43:68;;;2061:130;;;;;;;;;;-1:-1:-1;2061:130:68;;;;;:::i;:::-;;:::i;4782:129::-;;;;;;;;;;-1:-1:-1;4782:129:68;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;4877:27:68;;;;;;:18;:27;;;;;4869:35;;;;;;;;-1:-1:-1;;;;;4869:35:68;;;;-1:-1:-1;;;4869:35:68;;-1:-1:-1;;;;;4869:35:68;;;;;;;;-1:-1:-1;;;4869:35:68;;;;;;;;;;;4782:129;;;;;5535:13:122;;-1:-1:-1;;;;;5531:54:122;5513:73;;5646:4;5634:17;;;5628:24;-1:-1:-1;;;;;5624:49:122;5602:20;;;5595:79;5722:17;;;5716:24;5742:10;5712:41;5690:20;;;5683:71;5501:2;5486:18;4782:129:68;5321:439:122;2357:118:68;;;;;;;;;;-1:-1:-1;2357:118:68;;;;;:::i;:::-;;:::i;5313:129::-;;;;;;;;;;-1:-1:-1;5313:129:68;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;5408:27:68;;;;;;;:18;:27;;;;;;5400:35;;;;;;;;-1:-1:-1;;;;;5400:35:68;;;;-1:-1:-1;;;;;;;;5400:35:68;;;;;;;;;;-1:-1:-1;;;5400:35:68;;5408:27;5400:35;;;;;;5313:129;2543:215:100;;;;;;;;;;-1:-1:-1;2543:215:100;;;;;:::i;:::-;;:::i;2481:116:68:-;;;;;;;;;;-1:-1:-1;2481:116:68;;;;;:::i;:::-;;:::i;2197:154::-;1531:13:100;:11;:13::i;:::-;2294:28:68::1;:50:::0;;-1:-1:-1;;;;;2294:50:68;;::::1;-1:-1:-1::0;;;2294:50:68::1;::::0;::::1;::::0;;;::::1;::::0;;2197:154::o;2695:251::-;1690:10;1679:7;1684::100;1710:6;-1:-1:-1;;;;;1710:6:100;;1638:85;1679:7:68;-1:-1:-1;;;;;1679:21:68;;1675:153;;1734:10;1721:24;;;;:12;:24;;;;;;;;1716:102;;1772:31;;-1:-1:-1;;;1772:31:68;;;;;;;;;;;1716:102;2785:9:::1;2780:160;2800:17:::0;;::::1;2780:160;;;2838:28;2869:6;;2876:1;2869:9;;;;;;;:::i;:::-;;;::::0;;;::::1;::::0;-1:-1:-1;2892:37:68::1;::::0;-1:-1:-1;2902:11:68::1;;::::0;::::1;2869:9:::0;2902:11:::1;:::i;:::-;2892:37;;::::0;;;;;2915:13:::1;::::0;::::1;2892:37;:::i;:::-;6317:17:::0;;6368:21;;;;;6419:17;;;;;6476:45;;;;;;;-1:-1:-1;;;;;6476:45:68;;;;;-1:-1:-1;;;;;6476:45:68;;;;;;;;;;;;;;;;;;;6446:27;;;-1:-1:-1;6446:27:68;;;:18;:27;;;;;;;:75;;;;;;;;;;-1:-1:-1;;;;;;6446:75:68;;;;;;;-1:-1:-1;;;6446:75:68;;;;;;;;;;;;-1:-1:-1;;;;6446:75:68;-1:-1:-1;;;6446:75:68;;;;;;;;6221:307;2892:37:::1;-1:-1:-1::0;2819:3:68::1;;2780:160;;;;2695:251:::0;;:::o;1936:119::-;1531:13:100;:11;:13::i;:::-;-1:-1:-1;;;;;2019:19:68;;;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;2019:29:68::1;::::0;::::1;;::::0;;;::::1;::::0;;1936:119::o;3354:143::-;1690:10;1679:7;1684::100;1710:6;-1:-1:-1;;;;;1710:6:100;;1638:85;1679:7:68;-1:-1:-1;;;;;1679:21:68;;1675:153;;1734:10;1721:24;;;;:12;:24;;;;;;;;1716:102;;1772:31;;-1:-1:-1;;;1772:31:68;;;;;;;;;;;1716:102;3452:15:::1;:38:::0;;-1:-1:-1;;;;;;3452:38:68::1;-1:-1:-1::0;;;;;3452:38:68;;;::::1;::::0;;;::::1;::::0;;3354:143::o;2293:101:100:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;5539:587:68:-;5673:11;5686:18;5720:7;:14;;5731:3;5720:14;:34;;;;5738:7;:16;;5749:5;5738:16;5720:34;:54;;;;5758:7;:16;;5769:5;5758:16;5720:54;5716:404;;;5797:59;5827:7;5797:59;;5836:13;5851:4;5797:29;:59::i;:::-;5790:66;;;;;;5716:404;5877:7;:14;;5888:3;5877:14;:34;;;;5895:7;:16;;5906:5;5895:16;5877:34;:54;;;;5915:7;:16;;5926:5;5915:16;5877:54;5873:247;;;5954:59;5984:7;5954:59;;5993:13;6008:4;5954:29;:59::i;5873:247::-;6051:58;6080:7;6051:58;;6089:13;6104:4;6051:28;:58::i;5873:247::-;5539:587;;;;;;:::o;2952:396::-;1690:10;1679:7;1684::100;1710:6;-1:-1:-1;;;;;1710:6:100;;1638:85;1679:7:68;-1:-1:-1;;;;;1679:21:68;;1675:153;;1734:10;1721:24;;;;:12;:24;;;;;;;;1716:102;;1772:31;;-1:-1:-1;;;1772:31:68;;;;;;;;;;;1716:102;3050:37:::1;3060:11;;::::0;::::1;:7:::0;:11:::1;:::i;3050:37::-;3098:17;3118:25;::::0;;;:14:::1;::::0;::::1;:25;:::i;:::-;3098:45:::0;-1:-1:-1;3153:27:68::1;3183:35;::::0;;;;;;::::1;:::i;:::-;3229:17;:41:::0;;3280:61:::1;::::0;;::::1;-1:-1:-1::0;;;3280:61:68::1;-1:-1:-1::0;;3280:61:68;;;-1:-1:-1;;;;;3229:41:68;;::::1;3280:61:::0;;;;::::1;::::0;;;-1:-1:-1;;2952:396:68:o;4977:239::-;5109:7;5118;5127;5136;5162:47;5180:7;5189:13;5204:4;5162:17;:47::i;:::-;5155:54;;;;;;;;4977:239;;;;;;;:::o;3587:385::-;3723:7;;;;;3829:72;;3857:44;;;;;;;;3829:72;3918:47;3936:7;3945:13;3960:4;3918:17;:47::i;:::-;3911:54;;;;;;;;;3587:385;;;;;;;:::o;2061:130::-;1531:13:100;:11;:13::i;:::-;2146:23:68::1;:38:::0;;-1:-1:-1;;;;;;2146:38:68::1;-1:-1:-1::0;;;;;2146:38:68;;;::::1;::::0;;;::::1;::::0;;2061:130::o;2357:118::-;1531:13:100;:11;:13::i;:::-;2426:8:68::1;:42:::0;;-1:-1:-1;;;;;;2426:42:68::1;-1:-1:-1::0;;;;;2426:42:68;;;::::1;::::0;;;::::1;::::0;;2357:118::o;2543:215:100:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:100;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:100;;2700:1:::1;2672:31;::::0;::::1;2791:51:122::0;2764:18;;2672:31:100::1;2616:232:122::0;2623:91:100::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;2481:116:68:-;1531:13:100;:11;:13::i;:::-;2561:29:68::1;2577:3;2582:7;2561:15;:29::i;:::-;2481:116:::0;;:::o;1796:162:100:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:100;735:10:110;1855:23:100;1851:101;;1901:40;;-1:-1:-1;;;1901:40:100;;735:10:110;1901:40:100;;;2791:51:122;2764:18;;1901:40:100;2616:232:122;2912:187:100;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:100;;;-1:-1:-1;;;;;;3020:17:100;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;9404:762:68:-;9622:27;;;;9549:11;9622:27;;;:18;:27;;;;;9774:17;:38;9723:28;;9549:11;;;;;;-1:-1:-1;;;9774:38:68;;;;;;9755:3;;9707:44;;-1:-1:-1;;;9723:28:68;;-1:-1:-1;;;;;9723:28:68;9707:13;:44;:::i;:::-;9706:52;;;;:::i;:::-;9705:107;;;;:::i;:::-;9883:24;;9678:134;;-1:-1:-1;9840:24:68;;9867:40;;-1:-1:-1;;;9883:24:68;;;;9867:13;:40;:::i;:::-;10024:28;;9942:17;:28;9840:67;;-1:-1:-1;9917:14:68;;-1:-1:-1;;;;;;;;10024:28:68;;;;;;9840:67;;9973:16;;9935:35;;9942:28;9935:4;:35;:::i;:::-;:54;;;;:::i;:::-;:73;;;;:::i;:::-;9934:118;;;;:::i;:::-;10109:23;;10081:24;;9917:135;;-1:-1:-1;;;;;;10109:23:68;;;;10072:33;;10081:24;9917:135;10072:33;:::i;:::-;10071:61;;;;:::i;:::-;10134:24;;;;-1:-1:-1;;;;;10134:24:68;;;;-1:-1:-1;9404:762:68;;-1:-1:-1;;;;;;;9404:762:68:o;8345:1053::-;8490:11;8503:18;8533:17;8553:23;8568:7;8553:14;:23::i;:::-;8635:30;;;;8605:27;8635:30;;;:18;:30;;;;;8719:24;;8533:43;;-1:-1:-1;8635:30:68;8605:27;;8703:40;;-1:-1:-1;;;8719:24:68;;;8703:13;:40;:::i;:::-;8702:49;;8747:4;8702:49;:::i;:::-;8814:28;;8675:76;;-1:-1:-1;8779:13:68;;8795:47;;-1:-1:-1;;;8814:28:68;;-1:-1:-1;;;;;8814:28:68;8675:76;8795:47;:::i;:::-;8901:27;;;;8871;8901;;;:18;:27;;;;;8981:24;;8779:63;;-1:-1:-1;8901:27:68;8871;;8965:40;;-1:-1:-1;;;8981:24:68;;;8965:13;:40;:::i;:::-;9059:28;;8938:67;;-1:-1:-1;9015:13:68;;-1:-1:-1;;;9059:28:68;;-1:-1:-1;;;;;9059:28:68;9032:23;9051:4;8938:67;9032:23;:::i;:::-;9031:56;;;;:::i;:::-;9161:23;;9133:24;;9015:72;;-1:-1:-1;9098:23:68;;-1:-1:-1;;;;;9161:23:68;;;;9125:32;;9133:24;9125:5;:32;:::i;:::-;9124:60;;;;:::i;:::-;9257:23;;9229:24;;9098:86;;-1:-1:-1;9194:23:68;;-1:-1:-1;;;;;9257:23:68;;;;9221:32;;9229:24;9221:5;:32;:::i;:::-;9220:60;;;;:::i;:::-;9194:86;-1:-1:-1;9290:14:68;9307:33;9194:86;9307:15;:33;:::i;:::-;9366:24;;;;-1:-1:-1;;;;;9366:24:68;;;;-1:-1:-1;8345:1053:68;;-1:-1:-1;;;;;;;;;;;;;8345:1053:68:o;6932:601::-;7147:27;;;;7076:11;7147:27;;;:18;:27;;;;;7317:22;;7076:11;;;;;;7301:38;;-1:-1:-1;;;7317:22:68;;;7301:13;:38;:::i;:::-;7395:26;;7276:63;;-1:-1:-1;7349:17:68;;-1:-1:-1;;;7395:26:68;;-1:-1:-1;;;;;7395:26:68;7370:21;7387:4;7276:63;7370:21;:::i;:::-;7369:52;;;;:::i;:::-;7478:23;;7452:22;;7349:72;;-1:-1:-1;;;;;;7478:23:68;;;;7440:34;;7452:22;7349:72;7440:34;:::i;:::-;7439:62;;;;:::i;:::-;7503:22;;;;-1:-1:-1;;;;;7503:22:68;;;;-1:-1:-1;6932:601:68;;-1:-1:-1;;;;;;6932:601:68:o;7539:800::-;7672:11;;;;;7780:16;7790:6;7780:7;:16;:::i;:::-;7764:32;;7810:6;:13;;7820:3;7810:13;:32;;;;7827:6;:15;;7837:5;7827:15;7810:32;:51;;;;7846:6;:15;;7856:5;7846:15;7810:51;7806:434;;;7897:58;7927:6;7935:13;7950:4;7897:29;:58::i;:::-;7877:78;;-1:-1:-1;7877:78:68;-1:-1:-1;7806:434:68;;;7976:6;:13;;7986:3;7976:13;:32;;;;7993:6;:15;;8003:5;7993:15;7976:32;:51;;;;8012:6;:15;;8022:5;8012:15;7976:51;7972:268;;;8063:58;8093:6;8101:13;8116:4;8063:29;:58::i;7972:268::-;8172:57;8201:6;8209:13;8224:4;8172:28;:57::i;:::-;8152:77;;-1:-1:-1;8152:77:68;-1:-1:-1;7972:268:68;-1:-1:-1;;8273:23:68;;8317:15;;7539:800;;;;-1:-1:-1;;;;;;8273:23:68;;;;-1:-1:-1;8317:15:68;;;;-1:-1:-1;7539:800:68;-1:-1:-1;7539:800:68:o;438:252:46:-;-1:-1:-1;;;;;506:19:46;;502:58;;534:26;;-1:-1:-1;;;534:26:46;;;;;;;;;;;502:58;571:12;589:3;-1:-1:-1;;;;;589:8:46;606:6;589:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;570:48;;;633:7;628:55;;649:34;;-1:-1:-1;;;649:34:46;;-1:-1:-1;;;;;8931:32:122;;649:34:46;;;8913:51:122;8980:18;;;8973:34;;;8886:18;;649:34:46;8739:274:122;6534:392:68;6596:6;;6629:15;6638:6;6629;:15;:::i;:::-;6614:30;;6658:5;:12;;6667:3;6658:12;6654:217;;-1:-1:-1;6693:3:68;;6534:392;-1:-1:-1;;6534:392:68:o;6654:217::-;6717:5;:14;;6726:5;6717:14;6713:158;;-1:-1:-1;6754:5:68;;6534:392;-1:-1:-1;;6534:392:68:o;6713:158::-;6799:5;:14;;6808:5;6799:14;6795:76;;-1:-1:-1;6836:5:68;;6534:392;-1:-1:-1;;6534:392:68:o;6795:76::-;6887:32;;-1:-1:-1;;;6887:32:68;;9192:10:122;9180:23;;6887:32:68;;;9162:42:122;9135:18;;6887:32:68;9018:192:122;14:163;81:20;;141:10;130:22;;120:33;;110:61;;167:1;164;157:12;110:61;14:163;;;:::o;182:320::-;258:6;266;274;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:28;384:9;366:28;:::i;:::-;356:38;441:2;426:18;;413:32;;-1:-1:-1;492:2:122;477:18;;;464:32;;182:320;-1:-1:-1;;;182:320:122:o;689:188::-;757:20;;-1:-1:-1;;;;;806:46:122;;796:57;;786:85;;867:1;864;857:12;882:186;941:6;994:2;982:9;973:7;969:23;965:32;962:52;;;1010:1;1007;1000:12;962:52;1033:29;1052:9;1033:29;:::i;:::-;1023:39;882:186;-1:-1:-1;;;882:186:122:o;1073:646::-;1190:6;1198;1251:2;1239:9;1230:7;1226:23;1222:32;1219:52;;;1267:1;1264;1257:12;1219:52;1307:9;1294:23;-1:-1:-1;;;;;1377:2:122;1369:6;1366:14;1363:34;;;1393:1;1390;1383:12;1363:34;1431:6;1420:9;1416:22;1406:32;;1476:7;1469:4;1465:2;1461:13;1457:27;1447:55;;1498:1;1495;1488:12;1447:55;1538:2;1525:16;1564:2;1556:6;1553:14;1550:34;;;1580:1;1577;1570:12;1550:34;1633:7;1628:2;1618:6;1615:1;1611:14;1607:2;1603:23;1599:32;1596:45;1593:65;;;1654:1;1651;1644:12;1593:65;1685:2;1677:11;;;;;1707:6;;-1:-1:-1;1073:646:122;;-1:-1:-1;;;;1073:646:122:o;2086:173::-;2154:20;;-1:-1:-1;;;;;2203:31:122;;2193:42;;2183:70;;2249:1;2246;2239:12;2264:347;2329:6;2337;2390:2;2378:9;2369:7;2365:23;2361:32;2358:52;;;2406:1;2403;2396:12;2358:52;2429:29;2448:9;2429:29;:::i;:::-;2419:39;;2508:2;2497:9;2493:18;2480:32;2555:5;2548:13;2541:21;2534:5;2531:32;2521:60;;2577:1;2574;2567:12;2521:60;2600:5;2590:15;;;2264:347;;;;;:::o;2853:159::-;2920:20;;2980:6;2969:18;;2959:29;;2949:57;;3002:1;2999;2992:12;3017:320;3093:6;3101;3109;3162:2;3150:9;3141:7;3137:23;3133:32;3130:52;;;3178:1;3175;3168:12;3130:52;3201:28;3219:9;3201:28;:::i;3636:201::-;3729:6;3782:3;3770:9;3761:7;3757:23;3753:33;3750:53;;;3799:1;3796;3789:12;3750:53;-1:-1:-1;3822:9:122;3636:201;-1:-1:-1;3636:201:122:o;4318:186::-;4377:6;4430:2;4418:9;4409:7;4405:23;4401:32;4398:52;;;4446:1;4443;4436:12;4398:52;4469:29;4488:9;4469:29;:::i;5132:184::-;5190:6;5243:2;5231:9;5222:7;5218:23;5214:32;5211:52;;;5259:1;5256;5249:12;5211:52;5282:28;5300:9;5282:28;:::i;5765:184::-;5823:6;5876:2;5864:9;5855:7;5851:23;5847:32;5844:52;;;5892:1;5889;5882:12;5844:52;5915:28;5933:9;5915:28;:::i;5954:254::-;6022:6;6030;6083:2;6071:9;6062:7;6058:23;6054:32;6051:52;;;6099:1;6096;6089:12;6051:52;6122:29;6141:9;6122:29;:::i;:::-;6112:39;6198:2;6183:18;;;;6170:32;;-1:-1:-1;;;5954:254:122:o;6213:127::-;6274:10;6269:3;6265:20;6262:1;6255:31;6305:4;6302:1;6295:15;6329:4;6326:1;6319:15;6345:171;6412:20;;-1:-1:-1;;;;;6461:30:122;;6451:41;;6441:69;;6506:1;6503;6496:12;6521:681;6603:6;6656:2;6644:9;6635:7;6631:23;6627:32;6624:52;;;6672:1;6669;6662:12;6624:52;6705:2;6699:9;6747:2;6739:6;6735:15;6816:6;6804:10;6801:22;-1:-1:-1;;;;;6768:10:122;6765:34;6762:62;6759:185;;;6866:10;6861:3;6857:20;6854:1;6847:31;6901:4;6898:1;6891:15;6929:4;6926:1;6919:15;6759:185;6960:2;6953:22;6999:29;7018:9;6999:29;:::i;:::-;6991:6;6984:45;7062:37;7095:2;7084:9;7080:18;7062:37;:::i;:::-;7057:2;7049:6;7045:15;7038:62;7133:37;7166:2;7155:9;7151:18;7133:37;:::i;:::-;7128:2;7116:15;;7109:62;7120:6;6521:681;-1:-1:-1;;;6521:681:122:o;7207:184::-;7265:6;7318:2;7306:9;7297:7;7293:23;7289:32;7286:52;;;7334:1;7331;7324:12;7286:52;7357:28;7375:9;7357:28;:::i;7649:127::-;7710:10;7705:3;7701:20;7698:1;7691:31;7741:4;7738:1;7731:15;7765:4;7762:1;7755:15;7781:168;7854:9;;;7885;;7902:15;;;7896:22;;7882:37;7872:71;;7923:18;;:::i;:::-;7781:168;;;;:::o;7954:127::-;8015:10;8010:3;8006:20;8003:1;7996:31;8046:4;8043:1;8036:15;8070:4;8067:1;8060:15;8086:120;8126:1;8152;8142:35;;8157:18;;:::i;:::-;-1:-1:-1;8191:9:122;;8086:120::o;8211:125::-;8276:9;;;8297:10;;;8294:36;;;8310:18;;:::i;8341:183::-;8372:1;8398:10;8435:2;8432:1;8428:10;8457:3;8447:37;;8464:18;;:::i;:::-;8502:10;;8498:20;;;;;8341:183;-1:-1:-1;;8341:183:122:o","linkReferences":{}},"methodIdentifiers":{"ARBITRUM_COMPRESSION_PERCENT()":"cd68b79b","arbitrumPriceExt()":"36a5beba","endpoint()":"5e280f11","estimateFeeByChain(uint16,uint256,uint256)":"7bc3c9ab","estimateFeeByEid(uint32,uint256,uint256)":"88a4124c","estimateFeeOnSend(uint32,uint256,uint256)":"c1723a1d","getFee(uint32,uint256,uint256)":"11f2c343","getPrice(uint16)":"e0ad121a","getPrice(uint32)":"da26663a","getPriceRatioDenominator()":"c1840327","nativeTokenPriceUSD()":"92807f58","owner()":"8da5cb5b","priceUpdater(address)":"8ca2fb08","renounceOwnership()":"715018a6","setArbitrumCompressionPercent(uint128)":"2f7cb0b4","setEndpoint(address)":"dbbb4155","setNativeTokenPriceUSD(uint128)":"5d6d7ccb","setPrice((uint32,(uint128,uint64,uint32))[])":"3161b7f6","setPriceForArbitrum((uint32,(uint128,uint64,uint32),(uint64,uint32)))":"7dc438a4","setPriceRatioDenominator(uint128)":"d350ad25","setPriceUpdater(address,bool)":"52a72510","transferOwnership(address)":"f2fde38b","withdrawFee(address,uint256)":"fd9be522"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_priceUpdater\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"LZ_PriceFeed_InsufficientFee\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"l2Eid\",\"type\":\"uint32\"}],\"name\":\"LZ_PriceFeed_NotAnOPStack\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LZ_PriceFeed_OnlyPriceUpdater\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer_NativeFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Transfer_ToAddressIsZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ARBITRUM_COMPRESSION_PERCENT\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbitrumPriceExt\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasPerL2Tx\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasPerL1CallDataByte\",\"type\":\"uint32\"}],\"internalType\":\"struct ILayerZeroPriceFeed.ArbitrumPriceExt\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endpoint\",\"outputs\":[{\"internalType\":\"contract ILayerZeroEndpointV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_dstEid\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"_callDataSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\"}],\"name\":\"estimateFeeByChain\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"priceRatio\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_callDataSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\"}],\"name\":\"estimateFeeByEid\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_callDataSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\"}],\"name\":\"estimateFeeOnSend\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"}],\"name\":\"getPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"priceRatio\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"gasPriceInUnit\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasPerByte\",\"type\":\"uint32\"}],\"internalType\":\"struct ILayerZeroPriceFeed.Price\",\"name\":\"price\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_dstEid\",\"type\":\"uint16\"}],\"name\":\"getPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"priceRatio\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"gasPriceInUnit\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasPerByte\",\"type\":\"uint32\"}],\"internalType\":\"struct ILayerZeroPriceFeed.Price\",\"name\":\"price\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"f