From 231a3e61069b0b2f37a5f96bd4bdf9ad3d35a28c Mon Sep 17 00:00:00 2001 From: Sasa-Ethernal Date: Tue, 11 Jun 2024 09:51:01 +0200 Subject: [PATCH] SC --- consensus/polybft/contractsapi/apex_sc_data.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/consensus/polybft/contractsapi/apex_sc_data.go b/consensus/polybft/contractsapi/apex_sc_data.go index da057b1b9e..3fe3679370 100644 --- a/consensus/polybft/contractsapi/apex_sc_data.go +++ b/consensus/polybft/contractsapi/apex_sc_data.go @@ -1,10 +1,10 @@ // This is auto-generated file. DO NOT EDIT. package contractsapi -var BridgeArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"Bridge","sourceName":"contracts/Bridge.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllRegisteredChains","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"addressMultisig","type":"string"},{"internalType":"string","name":"addressFeePayer","type":"string"}],"internalType":"struct IBridgeStructs.Chain[]","name":"_chains","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getAvailableUTXOs","outputs":[{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"availableUTXOs","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getConfirmedBatch","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string[]","name":"multisigSignatures","type":"string[]"},{"internalType":"string[]","name":"feePayerMultisigSignatures","type":"string[]"}],"internalType":"struct IBridgeStructs.ConfirmedBatch","name":"batch","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getConfirmedTransactions","outputs":[{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"blockHeight","type":"uint256"},{"internalType":"string","name":"sourceChainID","type":"string"},{"components":[{"internalType":"string","name":"destinationAddress","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.Receiver[]","name":"receivers","type":"tuple[]"}],"internalType":"struct IBridgeStructs.ConfirmedTransaction[]","name":"_confirmedTransactions","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_sourceChain","type":"string"}],"name":"getLastObservedBlock","outputs":[{"components":[{"internalType":"string","name":"blockHash","type":"string"},{"internalType":"uint64","name":"blockSlot","type":"uint64"}],"internalType":"struct IBridgeStructs.CardanoBlock","name":"cblock","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getNextBatchId","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getRawTransactionFromLastBatch","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"getValidatorsCardanoData","outputs":[{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData[]","name":"validatorCardanoData","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"addressMultisig","type":"string"},{"internalType":"string","name":"addressFeePayer","type":"string"}],"internalType":"struct IBridgeStructs.Chain","name":"_chain","type":"tuple"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_initialUTXOs","type":"tuple"},{"internalType":"uint256","name":"_tokenQuantity","type":"uint256"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData","name":"data","type":"tuple"}],"internalType":"struct IBridgeStructs.ValidatorAddressCardanoData[]","name":"_validatorsAddressCardanoData","type":"tuple[]"}],"name":"registerChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"addressMultisig","type":"string"},{"internalType":"string","name":"addressFeePayer","type":"string"}],"internalType":"struct IBridgeStructs.Chain","name":"_chain","type":"tuple"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_initialUTXOs","type":"tuple"},{"internalType":"uint256","name":"_tokenQuantity","type":"uint256"},{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData","name":"_validatorCardanoData","type":"tuple"}],"name":"registerChainGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_claimsAddress","type":"address"},{"internalType":"address","name":"_signedBatchesAddress","type":"address"},{"internalType":"address","name":"_slotsAddress","type":"address"},{"internalType":"address","name":"_utxoscAddress","type":"address"},{"internalType":"address","name":"_validatorsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"shouldCreateBatch","outputs":[{"internalType":"bool","name":"batch","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"components":[{"internalType":"string","name":"destinationAddress","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.Receiver[]","name":"receivers","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"outputUTXO","type":"tuple"},{"internalType":"string","name":"sourceChainID","type":"string"},{"internalType":"string","name":"destinationChainID","type":"string"}],"internalType":"struct IBridgeStructs.BridgingRequestClaim[]","name":"bridgingRequestClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"uint256","name":"batchNonceID","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"outputUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.BatchExecutedClaim[]","name":"batchExecutedClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"uint256","name":"batchNonceID","type":"uint256"}],"internalType":"struct IBridgeStructs.BatchExecutionFailedClaim[]","name":"batchExecutionFailedClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"previousRefundTxHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"string","name":"receiver","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"utxo","type":"tuple"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"uint256","name":"retryCounter","type":"uint256"}],"internalType":"struct IBridgeStructs.RefundRequestClaim[]","name":"refundRequestClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"string","name":"refundTxHash","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"utxo","type":"tuple"}],"internalType":"struct IBridgeStructs.RefundExecutedClaim[]","name":"refundExecutedClaims","type":"tuple[]"}],"internalType":"struct IBridgeStructs.ValidatorClaims","name":"_claims","type":"tuple"}],"name":"submitClaims","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"chainID","type":"string"},{"components":[{"internalType":"string","name":"blockHash","type":"string"},{"internalType":"uint64","name":"blockSlot","type":"uint64"}],"internalType":"struct IBridgeStructs.CardanoBlock[]","name":"blocks","type":"tuple[]"}],"name":"submitLastObservedBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"destinationChainId","type":"string"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"string","name":"feePayerMultisigSignature","type":"string"},{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.SignedBatch","name":"_signedBatch","type":"tuple"}],"name":"submitSignedBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051613e5d6200010460003960008181611b0701528181611b300152611c6d0152613e5d6000f3fe6080604052600436106101155760003560e01c8063715018a61161009b578063715018a6146102be57806377968b34146102d35780638129fc1c146103035780638da5cb5b14610318578063997ef2011461033a578063ad3cb1cc1461035a578063b95a432c1461038b578063cbb0ff79146103ab578063d52c54c4146103cb578063e3d58539146103f8578063f2fde38b1461041857600080fd5b806303fe69ae1461011a5780632175c3f71461015057806333552ec51461017d5780633cd9ae3e1461019f578063406f8f04146101cd57806349187cd9146101ed5780634f1ef2861461021a57806352d1902d1461022d578063595051f914610242578063636b8a0d1461026f57806367f0cc441461029c575b600080fd5b34801561012657600080fd5b5061013a610135366004611fb4565b610438565b60405161014791906120d0565b60405180910390f35b34801561015c57600080fd5b5061017061016b366004611fb4565b6104ca565b6040516101479190612109565b34801561018957600080fd5b5061019d6101983660046121b2565b610554565b005b3480156101ab57600080fd5b506101bf6101ba366004611fb4565b6105dc565b604051908152602001610147565b3480156101d957600080fd5b5061019d6101e836600461224a565b610682565b3480156101f957600080fd5b5061020d610208366004611fb4565b61077f565b60405161014791906122b5565b61019d6102283660046123bd565b610805565b34801561023957600080fd5b506101bf610824565b34801561024e57600080fd5b5061026261025d366004611fb4565b610841565b604051610147919061244d565b34801561027b57600080fd5b5061028f61028a366004611fb4565b610aa8565b6040516101479190612559565b3480156102a857600080fd5b506102b1610b21565b60405161014791906125d2565b3480156102ca57600080fd5b5061019d610d36565b3480156102df57600080fd5b506102f36102ee366004611fb4565b610d4a565b6040519015158152602001610147565b34801561030f57600080fd5b5061019d610eb9565b34801561032457600080fd5b5061032d610fb9565b6040516101479190612674565b34801561034657600080fd5b5061019d610355366004612688565b610fd4565b34801561036657600080fd5b5061020d604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561039757600080fd5b5061019d6103a63660046126ed565b61103b565b3480156103b757600080fd5b5061019d6103c6366004612727565b611128565b3480156103d757600080fd5b506103eb6103e6366004611fb4565b6112c7565b60405161014791906127af565b34801561040457600080fd5b5061019d610413366004612811565b611369565b34801561042457600080fd5b5061019d6104333660046128a2565b611733565b604080518082018252606080825260208201526003549151630d30e42160e21b815290916001600160a01b0316906334c390849061047c90869086906004016128e6565b600060405180830381865afa158015610499573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c19190810190612a62565b90505b92915050565b60408051808201825260608152600060208201526002549151632175c3f760e01b815290916001600160a01b031690632175c3f79061050f90869086906004016128e6565b600060405180830381865afa15801561052c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c19190810190612af2565b61055c61176e565b6004546001600160a01b03166332bae10d6105778780612b75565b85856040518563ffffffff1660e01b81526004016105989493929190612c6a565b600060405180830381600087803b1580156105b257600080fd5b505af11580156105c6573d6000803e3d6000fd5b505050506105d58585856117a0565b5050505050565b60006105e88383610d4a565b6105f4575060006104c4565b600154604051631c8f277560e01b81526000916001600160a01b031690631c8f27759061062790879087906004016128e6565b600060405180830381865afa158015610644573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261066c9190810190612d0f565b50905061067a816001612d6b565b949350505050565b6004805460405163facd743b60e01b81526001600160a01b039091169163facd743b916106b191339101612674565b602060405180830381865afa1580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f29190612d7e565b61070f57604051632ec5b44960e01b815260040160405180910390fd5b60025460405163ecc155dd60e01b81526001600160a01b039091169063ecc155dd906107479087908790879087903390600401612da0565b600060405180830381600087803b15801561076157600080fd5b505af1158015610775573d6000803e3d6000fd5b5050505050505050565b600154604051631c8f277560e01b81526060916000916001600160a01b0390911690631c8f2775906107b790879087906004016128e6565b600060405180830381865afa1580156107d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107fc9190810190612d0f565b95945050505050565b61080d611afc565b61081682611ba1565b6108208282611ba9565b5050565b600061082e611c62565b50600080516020613e0883398151915290565b606061084d8383610d4a565b61087757828260405163150f65bb60e31b815260040161086e9291906128e6565b60405180910390fd5b60008054604051630ea9878960e11b81526001600160a01b0390911690631d530f12906108aa90879087906004016128e6565b602060405180830381865afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb9190612e55565b6108f6906001612d6b565b60008054604051632271de9160e11b815292935090916001600160a01b03909116906344e3bd229061092e90889088906004016128e6565b602060405180830381865afa15801561094b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096f9190612e55565b9050806001600160401b03811115610989576109896122e4565b6040519080825280602002602001820160405280156109ec57816020015b6109d96040518060a0016040528060608152602001600081526020016000815260200160608152602001606081525090565b8152602001906001900390816109a75790505b50925060005b81811015610a9f576000546001600160a01b0316636cabee018787610a178588612d6b565b6040518463ffffffff1660e01b8152600401610a3593929190612e6e565b600060405180830381865afa158015610a52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a7a9190810190612f50565b848281518110610a8c57610a8c613018565b60209081029190910101526001016109f2565b50505092915050565b6004805460405163636b8a0d60e01b81526060926001600160a01b039092169163636b8a0d91610adc9187918791016128e6565b600060405180830381865afa158015610af9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c1919081019061302e565b60606005805480602002602001604051908101604052809291908181526020016000905b82821015610d2d5783829060005260206000209060030201604051806060016040529081600082018054610b7890613139565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba490613139565b8015610bf15780601f10610bc657610100808354040283529160200191610bf1565b820191906000526020600020905b815481529060010190602001808311610bd457829003601f168201915b50505050508152602001600182018054610c0a90613139565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3690613139565b8015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b50505050508152602001600282018054610c9c90613139565b80601f0160208091040260200160405190810160405280929190818152602001828054610cc890613139565b8015610d155780601f10610cea57610100808354040283529160200191610d15565b820191906000526020600020905b815481529060010190602001808311610cf857829003601f168201915b50505050508152505081526020019060010190610b45565b50505050905090565b610d3e61176e565b610d486000611cab565b565b60008054604051633a67fc9760e11b81526001600160a01b03909116906374cff92e90610d7d90869086906004016128e6565b602060405180830381865afa158015610d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbe9190612d7e565b80610e395750600154604051636f82595760e11b81526001600160a01b039091169063df04b2ae90610df89086908690339060040161316d565b602060405180830381865afa158015610e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e399190612d7e565b15610e46575060006104c4565b600054604051631de5a2cd60e21b81526001600160a01b03909116906377968b3490610e7890869086906004016128e6565b602060405180830381865afa158015610e95573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c19190612d7e565b6000610ec3611d07565b805490915060ff600160401b82041615906001600160401b0316600081158015610eea5750825b90506000826001600160401b03166001148015610f065750303b155b905081158015610f14575080155b15610f325760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610f5c57845460ff60401b1916600160401b1785555b610f6533611d2b565b610f6d611d3c565b83156105d557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b600080610fc4611d44565b546001600160a01b031692915050565b610fdc61176e565b600080546001600160a01b03199081166001600160a01b03978816179091556001805482169587169590951790945560028054851693861693909317909255600380548416918516919091179055600480549092169216919091179055565b6004805460405163facd743b60e01b81526001600160a01b039091169163facd743b9161106a91339101612674565b602060405180830381865afa158015611087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ab9190612d7e565b6110c857604051632ec5b44960e01b815260040160405180910390fd5b600054604051635673ee6760e01b81526001600160a01b0390911690635673ee67906110fa9084903390600401613673565b600060405180830381600087803b15801561111457600080fd5b505af11580156105d5573d6000803e3d6000fd5b6004805460405163facd743b60e01b81526001600160a01b039091169163facd743b9161115791339101612674565b602060405180830381865afa158015611174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111989190612d7e565b6111b557604051632ec5b44960e01b815260040160405180910390fd5b6111c56102ee6020830183612b75565b156112c4576004546001600160a01b03166381b6ecf56111e86020840184612b75565b6111f56040860186612b75565b6112026060880188612b75565b61120f60808a018a612b75565b336040518a63ffffffff1660e01b8152600401611234999897969594939291906138bf565b602060405180830381865afa158015611251573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112759190612d7e565b61129257604051638baa579f60e01b815260040160405180910390fd5b60015460405163692a7b7960e11b81526001600160a01b039091169063d254f6f2906110fa908490339060040161392f565b50565b6112f26040518060800160405280600081526020016060815260200160608152602001606081525090565b60015460405163354b153160e21b81526001600160a01b039091169063d52c54c49061132490869086906004016128e6565b600060405180830381865afa158015611341573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c19190810190613aa6565b6004805460405163facd743b60e01b81526001600160a01b039091169163facd743b9161139891339101612674565b602060405180830381865afa1580156113b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d99190612d7e565b6113f657604051632ec5b44960e01b815260040160405180910390fd5b6000546001600160a01b03166318c586cd6114118680612b75565b6040518363ffffffff1660e01b815260040161142e9291906128e6565b602060405180830381865afa15801561144b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146f9190612d7e565b156114995761147e8480612b75565b60405163c4a32e4960e01b815260040161086e9291906128e6565b6000546001600160a01b0316639af06cd96114b48680612b75565b336040518463ffffffff1660e01b81526004016114d39392919061316d565b602060405180830381865afa1580156114f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115149190612d7e565b1561153e576115238480612b75565b60405163c113c1e360e01b815260040161086e9291906128e6565b600084848460405160200161155593929190613b64565b60408051601f1981840301815291905280516020909101206004549091506001600160a01b03166334a1a09561158b8780612b75565b33866040518563ffffffff1660e01b81526004016115ac9493929190613c00565b600060405180830381600087803b1580156115c657600080fd5b505af11580156115da573d6000803e3d6000fd5b50506004805460408051629d260960e61b815290516001600160a01b0390921694506327498240935080830192602092918290030181865afa158015611624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116489190613c40565b60005460ff91909116906001600160a01b031663b9d808ff61166a8880612b75565b33866040518563ffffffff1660e01b815260040161168b9493929190613c63565b6020604051808303816000875af11580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ce9190612e55565b036116e3576116de8585856117a0565b6105d5565b336116ee8680612b75565b6040516116fc929190613c93565b604051908190038120907f99960385426dfd945f1af41c805b3ce369f9f0585b1a7f48ed778e026d2caaae90600090a35050505050565b61173b61176e565b6001600160a01b038116611765576000604051631e4fbdf760e01b815260040161086e9190612674565b6112c481611cab565b33611777610fb9565b6001600160a01b031614610d48573360405163118cdaa760e01b815260040161086e9190612674565b6000546001600160a01b031663eab481c36117bb8580612b75565b6040518363ffffffff1660e01b81526004016117d89291906128e6565b600060405180830381600087803b1580156117f257600080fd5b505af1158015611806573d6000803e3d6000fd5b50506005805460010181556000525061182190508380612b75565b6005805461183190600190613ca3565b8154811061184157611841613018565b9060005260206000209060030201600001918261185f929190613d06565b5061186d6020840184612b75565b6005805461187d90600190613ca3565b8154811061188d5761188d613018565b906000526020600020906003020160010191826118ab929190613d06565b506118b96040840184612b75565b600580546118c990600190613ca3565b815481106118d9576118d9613018565b906000526020600020906003020160020191826118f7929190613d06565b506003546001600160a01b0316637e31e3fd6119138580612b75565b856040518463ffffffff1660e01b815260040161193293929190613dc5565b600060405180830381600087803b15801561194c57600080fd5b505af1158015611960573d6000803e3d6000fd5b50506000546001600160a01b0316915063e3aa21f490506119818580612b75565b846040518463ffffffff1660e01b81526004016119a093929190612e6e565b600060405180830381600087803b1580156119ba57600080fd5b505af11580156119ce573d6000803e3d6000fd5b50506000546001600160a01b0316915063ca68698290506119ef8580612b75565b6040518363ffffffff1660e01b8152600401611a0c9291906128e6565b600060405180830381600087803b158015611a2657600080fd5b505af1158015611a3a573d6000803e3d6000fd5b50506000546001600160a01b03169150630d32b63e9050611a5b8580612b75565b436040518463ffffffff1660e01b8152600401611a7a93929190612e6e565b600060405180830381600087803b158015611a9457600080fd5b505af1158015611aa8573d6000803e3d6000fd5b50611ab99250859150819050612b75565b604051611ac7929190613c93565b604051908190038120907f3cbe969d5c5f2c70c7cfb293cd355d3fcc80a852eac9bee1c1c317dc302f199d90600090a2505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611b8357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611b77600080516020613e08833981519152546001600160a01b031690565b6001600160a01b031614155b15610d485760405163703e46dd60e11b815260040160405180910390fd5b6112c461176e565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611c03575060408051601f3d908101601f19168201909252611c0091810190612e55565b60015b611c225781604051634c9c8ce360e01b815260040161086e9190612674565b600080516020613e088339815191528114611c5357604051632a87526960e21b81526004810182905260240161086e565b611c5d8383611d68565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d485760405163703e46dd60e11b815260040160405180910390fd5b6000611cb5611d44565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b611d33611dbe565b6112c481611de3565b610d48611dbe565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b611d7182611deb565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611db657611c5d8282611e47565b610820611eb4565b611dc6611ed3565b610d4857604051631afcd79f60e31b815260040160405180910390fd5b61173b611dbe565b806001600160a01b03163b600003611e185780604051634c9c8ce360e01b815260040161086e9190612674565b600080516020613e0883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e649190613deb565b600060405180830381855af49150503d8060008114611e9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ea4565b606091505b50915091506107fc858383611eed565b3415610d485760405163b398979f60e01b815260040160405180910390fd5b6000611edd611d07565b54600160401b900460ff16919050565b606082611f0257611efd82611f43565b611f3c565b8151158015611f1957506001600160a01b0384163b155b15611f395783604051639996b31560e01b815260040161086e9190612674565b50805b9392505050565b805115611f535780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60008083601f840112611f7e57600080fd5b5081356001600160401b03811115611f9557600080fd5b602083019150836020828501011115611fad57600080fd5b9250929050565b60008060208385031215611fc757600080fd5b82356001600160401b03811115611fdd57600080fd5b611fe985828601611f6c565b90969095509350505050565b60005b83811015612010578181015183820152602001611ff8565b50506000910152565b60008151808452612031816020860160208601611ff5565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156120c357601f19868403018952815160806001600160401b03825116855285820151818787015261209982870182612019565b60408481015190880152606093840151939096019290925250509783019790830190600101612062565b5090979650505050505050565b6020815260008251604060208401526120ec6060840182612045565b90506020840151601f198483030160408501526107fc8282612045565b6020815260008251604060208401526121256060840182612019565b90506001600160401b0360208501511660408401528091505092915050565b60006060828403121561215657600080fd5b50919050565b60006040828403121561215657600080fd5b60008083601f84011261218057600080fd5b5081356001600160401b0381111561219757600080fd5b6020830191508360208260051b8501011115611fad57600080fd5b6000806000806000608086880312156121ca57600080fd5b85356001600160401b03808211156121e157600080fd5b6121ed89838a01612144565b9650602088013591508082111561220357600080fd5b61220f89838a0161215c565b955060408801359450606088013591508082111561222c57600080fd5b506122398882890161216e565b969995985093965092949392505050565b6000806000806040858703121561226057600080fd5b84356001600160401b038082111561227757600080fd5b61228388838901611f6c565b9096509450602087013591508082111561229c57600080fd5b506122a98782880161216e565b95989497509550505050565b6020815260006104c16020830184612019565b80356001600160a01b03811681146122df57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561231c5761231c6122e4565b60405290565b604080519081016001600160401b038111828210171561231c5761231c6122e4565b60405160a081016001600160401b038111828210171561231c5761231c6122e4565b604051601f8201601f191681016001600160401b038111828210171561238e5761238e6122e4565b604052919050565b60006001600160401b038211156123af576123af6122e4565b50601f01601f191660200190565b600080604083850312156123d057600080fd5b6123d9836122c8565b915060208301356001600160401b038111156123f457600080fd5b8301601f8101851361240557600080fd5b803561241861241382612396565b612366565b81815286602083850101111561242d57600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561254b57603f19898403018552815160a0815181865261249a82870182612019565b91505088820151898601528782015188860152606080830151868303828801526124c48382612019565b92505050608080830151925085820381870152508082518083528a830191508a8160051b8401018b8501945060005b8281101561253457848203601f19018452855180518d84526125178e850182612019565b918f0151938f0193909352958d0195938d019391506001016124f3565b50988b019896505050928801925050600101612474565b509098975050505050505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561254b57888303603f19018552815180518785526125a688860182612019565b91890151858303868b01529190506125be8183612019565b968901969450505090860190600101612582565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561254b57603f1989840301855281516060815181865261262182870182612019565b915050888201518582038a8701526126398282612019565b915050878201519150848103888601526126538183612019565b9689019694505050908601906001016125fb565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080600080600060a086880312156126a057600080fd5b6126a9866122c8565b94506126b7602087016122c8565b93506126c5604087016122c8565b92506126d3606087016122c8565b91506126e1608087016122c8565b90509295509295909350565b6000602082840312156126ff57600080fd5b81356001600160401b0381111561271557600080fd5b820160a08185031215611f3c57600080fd5b60006020828403121561273957600080fd5b81356001600160401b0381111561274f57600080fd5b82016101008185031215611f3c57600080fd5b60008282518085526020808601955060208260051b8401016020860160005b848110156120c357601f1986840301895261279d838351612019565b98840198925090830190600101612781565b602081528151602082015260006020830151608060408401526127d560a0840182612019565b90506040840151601f19808584030160608601526127f38383612762565b92506060860151915080858403016080860152506107fc8282612762565b6000806000806080858703121561282757600080fd5b84356001600160401b038082111561283e57600080fd5b61284a88838901612144565b9550602087013591508082111561286057600080fd5b61286c8883890161215c565b945060408701359350606087013591508082111561288957600080fd5b506128968782880161215c565b91505092959194509250565b6000602082840312156128b457600080fd5b6104c1826122c8565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061067a6020830184866128bd565b60006001600160401b03821115612913576129136122e4565b5060051b60200190565b6001600160401b03811681146112c457600080fd5b600082601f83011261294357600080fd5b815161295161241382612396565b81815284602083860101111561296657600080fd5b61067a826020830160208701611ff5565b600082601f83011261298857600080fd5b81516020612998612413836128fa565b82815260059290921b840181019181810190868411156129b757600080fd5b8286015b84811015612a575780516001600160401b03808211156129db5760008081fd5b908801906080828b03601f19018113156129f55760008081fd5b6129fd6122fa565b87840151612a0a8161291d565b815260408481015184811115612a205760008081fd5b612a2e8e8b83890101612932565b838b015250606085810151918301919091529190930151908301525083529183019183016129bb565b509695505050505050565b600060208284031215612a7457600080fd5b81516001600160401b0380821115612a8b57600080fd5b9083019060408286031215612a9f57600080fd5b612aa7612322565b825182811115612ab657600080fd5b612ac287828601612977565b825250602083015182811115612ad757600080fd5b612ae387828601612977565b60208301525095945050505050565b600060208284031215612b0457600080fd5b81516001600160401b0380821115612b1b57600080fd5b9083019060408286031215612b2f57600080fd5b612b37612322565b825182811115612b4657600080fd5b612b5287828601612932565b82525060208301519250612b658361291d565b6020810192909252509392505050565b6000808335601e19843603018112612b8c57600080fd5b8301803591506001600160401b03821115612ba657600080fd5b602001915036819003821315611fad57600080fd5b60008235603e19833603018112612bd157600080fd5b90910192915050565b6000808335601e19843603018112612bf157600080fd5b83016020810192503590506001600160401b03811115612c1057600080fd5b803603821315611fad57600080fd5b6000612c2b8283612bda565b60408552612c3d6040860182846128bd565b915050612c4d6020840184612bda565b8583036020870152612c608382846128bd565b9695505050505050565b60006040808352612c7f6040840187896128bd565b602084820381860152818683528183019050818760051b8401018860005b89811015612cfe57858303601f19018452612cb8828c612bbb565b6001600160a01b03612cc9826122c8565b168452612cd886820182612bbb565b90508786850152612ceb88850182612c1f565b9486019493505090840190600101612c9d565b50909b9a5050505050505050505050565b60008060408385031215612d2257600080fd5b8251915060208301516001600160401b03811115612d3f57600080fd5b612d4b85828601612932565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c4576104c4612d55565b600060208284031215612d9057600080fd5b81518015158114611f3c57600080fd5b606081526000612db46060830187896128bd565b602083820381850152818683528183019050818760051b8401018860005b89811015612e3f57858303601f19018452612ded828c612bbb565b6040612df98283612bda565b828752612e0983880182846128bd565b92505050868201359150612e1c8261291d565b6001600160401b0391909116938601939093529284019290840190600101612dd2565b505080945050505050612c606040830184612667565b600060208284031215612e6757600080fd5b5051919050565b604081526000612e826040830185876128bd565b9050826020830152949350505050565b600082601f830112612ea357600080fd5b81516020612eb3612413836128fa565b82815260059290921b84018101918181019086841115612ed257600080fd5b8286015b84811015612a575780516001600160401b0380821115612ef65760008081fd5b908801906040828b03601f1901811315612f105760008081fd5b612f18612322565b8784015183811115612f2a5760008081fd5b612f388d8a83880101612932565b82525092015186830152508352918301918301612ed6565b600060208284031215612f6257600080fd5b81516001600160401b0380821115612f7957600080fd5b9083019060a08286031215612f8d57600080fd5b612f95612344565b825182811115612fa457600080fd5b612fb087828601612932565b8252506020830151602082015260408301516040820152606083015182811115612fd957600080fd5b612fe587828601612932565b606083015250608083015182811115612ffd57600080fd5b61300987828601612e92565b60808301525095945050505050565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121561304157600080fd5b82516001600160401b038082111561305857600080fd5b818501915085601f83011261306c57600080fd5b815161307a612413826128fa565b81815260059190911b8301840190848101908883111561309957600080fd5b8585015b8381101561312c578051858111156130b55760008081fd5b86016040818c03601f19018113156130cd5760008081fd5b6130d5612322565b89830151888111156130e75760008081fd5b6130f58e8c83870101612932565b82525090820151908782111561310b5760008081fd5b6131198d8b84860101612932565b818b01528552505091860191860161309d565b5098975050505050505050565b600181811c9082168061314d57607f821691505b60208210810361215657634e487b7160e01b600052602260045260246000fd5b6040815260006131816040830185876128bd565b905060018060a01b0383166020830152949350505050565b6000808335601e198436030181126131b057600080fd5b83016020810192503590506001600160401b038111156131cf57600080fd5b8060051b3603821315611fad57600080fd5b60008235607e19833603018112612bd157600080fd5b600081356132048161291d565b6001600160401b0316835261321c6020830183612bda565b608060208601526132316080860182846128bd565b91505060408301356040850152606083013560608501528091505092915050565b6000838385526020808601955060208560051b8301018460005b878110156120c357848303601f190189526132908361328b848a6131e1565b6131f7565b9884019892509083019060010161326c565b60006132ae8283613199565b604085526132c0604086018284613252565b9150506132d06020840184613199565b8583036020870152612c60838284613252565b60008383855260208086019550808560051b8301018460005b878110156120c357848303601f1901895261331782886131e1565b60806133238283612bda565b82875261333383880182846128bd565b9250505061334386830183612bda565b868303888801526133558382846128bd565b925050506040808301358187015250606061337281840184612bbb565b9250858203818701525061338681836132a2565b9a86019a94505050908301906001016132fc565b60008383855260208086019550808560051b830101846000805b8881101561343b57858403601f19018a52823536899003605e190181126133d9578283fd5b880160606133e78280612bda565b8288526133f783890182846128bd565b9250505061340787830183612bda565b878303898901526134198382846128bd565b60409485013598909401979097525050998501999350918401916001016133b4565b509198975050505050505050565b60008383855260208086019550808560051b830101846000805b8881101561343b57858403601f19018a5282353689900360fe19018112613488578283fd5b88016101006134978280612bda565b8288526134a783890182846128bd565b925050506134b787830183612bda565b878303898901526134c98382846128bd565b9250505060406134db81840184612bda565b888403838a01526134ed8482846128bd565b9350505050606061350081840184612bda565b888403838a01526135128482846128bd565b93505050506080613525818401846131e1565b8783038289015261353683826131f7565b9250505060a061354881840184612bda565b888403838a015261355a8482846128bd565b935050505060c061356d81840184612bda565b888403838a015261357f8482846128bd565b60e095860135999095019890985250505099850199935091840191600101613463565b60008383855260208086019550808560051b8301018460005b878110156120c357848303601f190189526135d682886131e1565b60806135e28283612bda565b8287526135f283880182846128bd565b9250505061360286830183612bda565b868303888801526136148382846128bd565b92505050604061362681840184612bda565b878403838901526136388482846128bd565b9350505050606061364b818401846131e1565b9250858203818701525061365f81836131f7565b9a86019a94505050908301906001016135bb565b6040815260006136838485613199565b60a0604085015260e08401818152610100850190506101008260051b8601018360005b8481101561380a5787830360ff1901845236869003609e19018235126136cb57600080fd5b6136d88235870180612bda565b60a085526136ea60a0860182846128bd565b91506136ff9050833588016020810190613199565b85830360208701528281845260208401905060208260051b8501018360005b8481101561377557868303601f190184526137398287612bbb565b6137438182612bda565b604086526137556040870182846128bd565b60209384013596840196909652505093840193919091019060010161371e565b50613789905087358c0160408101906131e1565b9450878103604089015261379d81866131f7565b94506137b59350505050833588016060810190612bda565b85830360608701526137c88382846128bd565b92506137de915050833588016080810190612bda565b85830360808701526137f18382846128bd565b60209788019790965094909401935050506001016136a6565b50506138196020890189613199565b94509250603f199150818682030160608701526138378185856132e3565b9350506138476040880188613199565b92508186850301608087015261385e84848361339a565b93505061386e6060880188613199565b9250818685030160a0870152613885848483613449565b9350506138956080880188613199565b9250818685030160c08701526138ac8484836135a2565b945050505050611f3c6020830184612667565b60a0815260006138d360a083018b8d6128bd565b82810360208401526138e6818a8c6128bd565b905082810360408401526138fb81888a6128bd565b905082810360608401526139108186886128bd565b91505060018060a01b03831660808301529a9950505050505050505050565b604081528235604082015260006139496020850185612bda565b610100806060860152613961610140860183856128bd565b92506139706040880188612bda565b9250603f198087860301608088015261398a8585846128bd565b945061399960608a018a612bda565b94509150808786030160a08801526139b28585846128bd565b94506139c160808a018a612bda565b94509150808786030160c08801526139da8585846128bd565b945060a089013560e088015260c0890135838801526139fc60e08a018a612bbb565b93508087860301610120880152505050613a1682826132a2565b92505050611f3c6020830184612667565b600082601f830112613a3857600080fd5b81516020613a48612413836128fa565b82815260059290921b84018101918181019086841115613a6757600080fd5b8286015b84811015612a575780516001600160401b03811115613a8a5760008081fd5b613a988986838b0101612932565b845250918301918301613a6b565b600060208284031215613ab857600080fd5b81516001600160401b0380821115613acf57600080fd5b9083019060808286031215613ae357600080fd5b613aeb6122fa565b82518152602083015182811115613b0157600080fd5b613b0d87828601612932565b602083015250604083015182811115613b2557600080fd5b613b3187828601613a27565b604083015250606083015182811115613b4957600080fd5b613b5587828601613a27565b60608301525095945050505050565b606081526000613b748586612bda565b606080850152613b8860c0850182846128bd565b915050613b986020870187612bda565b605f1980868503016080870152613bb08483856128bd565b9350613bbf60408a018a612bda565b93509150808685030160a087015250613bd98383836128bd565b925050508281036020840152613bef81866132a2565b915050826040830152949350505050565b606081526000613c146060830186886128bd565b6001600160a01b03851660208401528281036040840152613c358185612c1f565b979650505050505050565b600060208284031215613c5257600080fd5b815160ff81168114611f3c57600080fd5b606081526000613c776060830186886128bd565b6001600160a01b03949094166020830152506040015292915050565b8183823760009101908152919050565b818103818111156104c4576104c4612d55565b601f821115611c5d576000816000526020600020601f850160051c81016020861015613cdf5750805b601f850160051c820191505b81811015613cfe57828155600101613ceb565b505050505050565b6001600160401b03831115613d1d57613d1d6122e4565b613d3183613d2b8354613139565b83613cb6565b6000601f841160018114613d655760008515613d4d5750838201355b600019600387901b1c1916600186901b1783556105d5565b600083815260209020601f19861690835b82811015613d965786850135825560209485019460019092019101613d76565b5086821015613db35760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b604081526000613dd96040830185876128bd565b8281036020840152612c6081856132a2565b60008251613dfd818460208701611ff5565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220785a7a05f0228d0180325f5ada68b099bf48fb1a7a7a45cde824a23aa78b4d9164736f6c63430008170033","deployedBytecode":"0x6080604052600436106101155760003560e01c8063715018a61161009b578063715018a6146102be57806377968b34146102d35780638129fc1c146103035780638da5cb5b14610318578063997ef2011461033a578063ad3cb1cc1461035a578063b95a432c1461038b578063cbb0ff79146103ab578063d52c54c4146103cb578063e3d58539146103f8578063f2fde38b1461041857600080fd5b806303fe69ae1461011a5780632175c3f71461015057806333552ec51461017d5780633cd9ae3e1461019f578063406f8f04146101cd57806349187cd9146101ed5780634f1ef2861461021a57806352d1902d1461022d578063595051f914610242578063636b8a0d1461026f57806367f0cc441461029c575b600080fd5b34801561012657600080fd5b5061013a610135366004611fb4565b610438565b60405161014791906120d0565b60405180910390f35b34801561015c57600080fd5b5061017061016b366004611fb4565b6104ca565b6040516101479190612109565b34801561018957600080fd5b5061019d6101983660046121b2565b610554565b005b3480156101ab57600080fd5b506101bf6101ba366004611fb4565b6105dc565b604051908152602001610147565b3480156101d957600080fd5b5061019d6101e836600461224a565b610682565b3480156101f957600080fd5b5061020d610208366004611fb4565b61077f565b60405161014791906122b5565b61019d6102283660046123bd565b610805565b34801561023957600080fd5b506101bf610824565b34801561024e57600080fd5b5061026261025d366004611fb4565b610841565b604051610147919061244d565b34801561027b57600080fd5b5061028f61028a366004611fb4565b610aa8565b6040516101479190612559565b3480156102a857600080fd5b506102b1610b21565b60405161014791906125d2565b3480156102ca57600080fd5b5061019d610d36565b3480156102df57600080fd5b506102f36102ee366004611fb4565b610d4a565b6040519015158152602001610147565b34801561030f57600080fd5b5061019d610eb9565b34801561032457600080fd5b5061032d610fb9565b6040516101479190612674565b34801561034657600080fd5b5061019d610355366004612688565b610fd4565b34801561036657600080fd5b5061020d604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561039757600080fd5b5061019d6103a63660046126ed565b61103b565b3480156103b757600080fd5b5061019d6103c6366004612727565b611128565b3480156103d757600080fd5b506103eb6103e6366004611fb4565b6112c7565b60405161014791906127af565b34801561040457600080fd5b5061019d610413366004612811565b611369565b34801561042457600080fd5b5061019d6104333660046128a2565b611733565b604080518082018252606080825260208201526003549151630d30e42160e21b815290916001600160a01b0316906334c390849061047c90869086906004016128e6565b600060405180830381865afa158015610499573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c19190810190612a62565b90505b92915050565b60408051808201825260608152600060208201526002549151632175c3f760e01b815290916001600160a01b031690632175c3f79061050f90869086906004016128e6565b600060405180830381865afa15801561052c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c19190810190612af2565b61055c61176e565b6004546001600160a01b03166332bae10d6105778780612b75565b85856040518563ffffffff1660e01b81526004016105989493929190612c6a565b600060405180830381600087803b1580156105b257600080fd5b505af11580156105c6573d6000803e3d6000fd5b505050506105d58585856117a0565b5050505050565b60006105e88383610d4a565b6105f4575060006104c4565b600154604051631c8f277560e01b81526000916001600160a01b031690631c8f27759061062790879087906004016128e6565b600060405180830381865afa158015610644573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261066c9190810190612d0f565b50905061067a816001612d6b565b949350505050565b6004805460405163facd743b60e01b81526001600160a01b039091169163facd743b916106b191339101612674565b602060405180830381865afa1580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f29190612d7e565b61070f57604051632ec5b44960e01b815260040160405180910390fd5b60025460405163ecc155dd60e01b81526001600160a01b039091169063ecc155dd906107479087908790879087903390600401612da0565b600060405180830381600087803b15801561076157600080fd5b505af1158015610775573d6000803e3d6000fd5b5050505050505050565b600154604051631c8f277560e01b81526060916000916001600160a01b0390911690631c8f2775906107b790879087906004016128e6565b600060405180830381865afa1580156107d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107fc9190810190612d0f565b95945050505050565b61080d611afc565b61081682611ba1565b6108208282611ba9565b5050565b600061082e611c62565b50600080516020613e0883398151915290565b606061084d8383610d4a565b61087757828260405163150f65bb60e31b815260040161086e9291906128e6565b60405180910390fd5b60008054604051630ea9878960e11b81526001600160a01b0390911690631d530f12906108aa90879087906004016128e6565b602060405180830381865afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb9190612e55565b6108f6906001612d6b565b60008054604051632271de9160e11b815292935090916001600160a01b03909116906344e3bd229061092e90889088906004016128e6565b602060405180830381865afa15801561094b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096f9190612e55565b9050806001600160401b03811115610989576109896122e4565b6040519080825280602002602001820160405280156109ec57816020015b6109d96040518060a0016040528060608152602001600081526020016000815260200160608152602001606081525090565b8152602001906001900390816109a75790505b50925060005b81811015610a9f576000546001600160a01b0316636cabee018787610a178588612d6b565b6040518463ffffffff1660e01b8152600401610a3593929190612e6e565b600060405180830381865afa158015610a52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a7a9190810190612f50565b848281518110610a8c57610a8c613018565b60209081029190910101526001016109f2565b50505092915050565b6004805460405163636b8a0d60e01b81526060926001600160a01b039092169163636b8a0d91610adc9187918791016128e6565b600060405180830381865afa158015610af9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c1919081019061302e565b60606005805480602002602001604051908101604052809291908181526020016000905b82821015610d2d5783829060005260206000209060030201604051806060016040529081600082018054610b7890613139565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba490613139565b8015610bf15780601f10610bc657610100808354040283529160200191610bf1565b820191906000526020600020905b815481529060010190602001808311610bd457829003601f168201915b50505050508152602001600182018054610c0a90613139565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3690613139565b8015610c835780601f10610c5857610100808354040283529160200191610c83565b820191906000526020600020905b815481529060010190602001808311610c6657829003601f168201915b50505050508152602001600282018054610c9c90613139565b80601f0160208091040260200160405190810160405280929190818152602001828054610cc890613139565b8015610d155780601f10610cea57610100808354040283529160200191610d15565b820191906000526020600020905b815481529060010190602001808311610cf857829003601f168201915b50505050508152505081526020019060010190610b45565b50505050905090565b610d3e61176e565b610d486000611cab565b565b60008054604051633a67fc9760e11b81526001600160a01b03909116906374cff92e90610d7d90869086906004016128e6565b602060405180830381865afa158015610d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbe9190612d7e565b80610e395750600154604051636f82595760e11b81526001600160a01b039091169063df04b2ae90610df89086908690339060040161316d565b602060405180830381865afa158015610e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e399190612d7e565b15610e46575060006104c4565b600054604051631de5a2cd60e21b81526001600160a01b03909116906377968b3490610e7890869086906004016128e6565b602060405180830381865afa158015610e95573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c19190612d7e565b6000610ec3611d07565b805490915060ff600160401b82041615906001600160401b0316600081158015610eea5750825b90506000826001600160401b03166001148015610f065750303b155b905081158015610f14575080155b15610f325760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610f5c57845460ff60401b1916600160401b1785555b610f6533611d2b565b610f6d611d3c565b83156105d557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b600080610fc4611d44565b546001600160a01b031692915050565b610fdc61176e565b600080546001600160a01b03199081166001600160a01b03978816179091556001805482169587169590951790945560028054851693861693909317909255600380548416918516919091179055600480549092169216919091179055565b6004805460405163facd743b60e01b81526001600160a01b039091169163facd743b9161106a91339101612674565b602060405180830381865afa158015611087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ab9190612d7e565b6110c857604051632ec5b44960e01b815260040160405180910390fd5b600054604051635673ee6760e01b81526001600160a01b0390911690635673ee67906110fa9084903390600401613673565b600060405180830381600087803b15801561111457600080fd5b505af11580156105d5573d6000803e3d6000fd5b6004805460405163facd743b60e01b81526001600160a01b039091169163facd743b9161115791339101612674565b602060405180830381865afa158015611174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111989190612d7e565b6111b557604051632ec5b44960e01b815260040160405180910390fd5b6111c56102ee6020830183612b75565b156112c4576004546001600160a01b03166381b6ecf56111e86020840184612b75565b6111f56040860186612b75565b6112026060880188612b75565b61120f60808a018a612b75565b336040518a63ffffffff1660e01b8152600401611234999897969594939291906138bf565b602060405180830381865afa158015611251573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112759190612d7e565b61129257604051638baa579f60e01b815260040160405180910390fd5b60015460405163692a7b7960e11b81526001600160a01b039091169063d254f6f2906110fa908490339060040161392f565b50565b6112f26040518060800160405280600081526020016060815260200160608152602001606081525090565b60015460405163354b153160e21b81526001600160a01b039091169063d52c54c49061132490869086906004016128e6565b600060405180830381865afa158015611341573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c19190810190613aa6565b6004805460405163facd743b60e01b81526001600160a01b039091169163facd743b9161139891339101612674565b602060405180830381865afa1580156113b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d99190612d7e565b6113f657604051632ec5b44960e01b815260040160405180910390fd5b6000546001600160a01b03166318c586cd6114118680612b75565b6040518363ffffffff1660e01b815260040161142e9291906128e6565b602060405180830381865afa15801561144b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146f9190612d7e565b156114995761147e8480612b75565b60405163c4a32e4960e01b815260040161086e9291906128e6565b6000546001600160a01b0316639af06cd96114b48680612b75565b336040518463ffffffff1660e01b81526004016114d39392919061316d565b602060405180830381865afa1580156114f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115149190612d7e565b1561153e576115238480612b75565b60405163c113c1e360e01b815260040161086e9291906128e6565b600084848460405160200161155593929190613b64565b60408051601f1981840301815291905280516020909101206004549091506001600160a01b03166334a1a09561158b8780612b75565b33866040518563ffffffff1660e01b81526004016115ac9493929190613c00565b600060405180830381600087803b1580156115c657600080fd5b505af11580156115da573d6000803e3d6000fd5b50506004805460408051629d260960e61b815290516001600160a01b0390921694506327498240935080830192602092918290030181865afa158015611624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116489190613c40565b60005460ff91909116906001600160a01b031663b9d808ff61166a8880612b75565b33866040518563ffffffff1660e01b815260040161168b9493929190613c63565b6020604051808303816000875af11580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ce9190612e55565b036116e3576116de8585856117a0565b6105d5565b336116ee8680612b75565b6040516116fc929190613c93565b604051908190038120907f99960385426dfd945f1af41c805b3ce369f9f0585b1a7f48ed778e026d2caaae90600090a35050505050565b61173b61176e565b6001600160a01b038116611765576000604051631e4fbdf760e01b815260040161086e9190612674565b6112c481611cab565b33611777610fb9565b6001600160a01b031614610d48573360405163118cdaa760e01b815260040161086e9190612674565b6000546001600160a01b031663eab481c36117bb8580612b75565b6040518363ffffffff1660e01b81526004016117d89291906128e6565b600060405180830381600087803b1580156117f257600080fd5b505af1158015611806573d6000803e3d6000fd5b50506005805460010181556000525061182190508380612b75565b6005805461183190600190613ca3565b8154811061184157611841613018565b9060005260206000209060030201600001918261185f929190613d06565b5061186d6020840184612b75565b6005805461187d90600190613ca3565b8154811061188d5761188d613018565b906000526020600020906003020160010191826118ab929190613d06565b506118b96040840184612b75565b600580546118c990600190613ca3565b815481106118d9576118d9613018565b906000526020600020906003020160020191826118f7929190613d06565b506003546001600160a01b0316637e31e3fd6119138580612b75565b856040518463ffffffff1660e01b815260040161193293929190613dc5565b600060405180830381600087803b15801561194c57600080fd5b505af1158015611960573d6000803e3d6000fd5b50506000546001600160a01b0316915063e3aa21f490506119818580612b75565b846040518463ffffffff1660e01b81526004016119a093929190612e6e565b600060405180830381600087803b1580156119ba57600080fd5b505af11580156119ce573d6000803e3d6000fd5b50506000546001600160a01b0316915063ca68698290506119ef8580612b75565b6040518363ffffffff1660e01b8152600401611a0c9291906128e6565b600060405180830381600087803b158015611a2657600080fd5b505af1158015611a3a573d6000803e3d6000fd5b50506000546001600160a01b03169150630d32b63e9050611a5b8580612b75565b436040518463ffffffff1660e01b8152600401611a7a93929190612e6e565b600060405180830381600087803b158015611a9457600080fd5b505af1158015611aa8573d6000803e3d6000fd5b50611ab99250859150819050612b75565b604051611ac7929190613c93565b604051908190038120907f3cbe969d5c5f2c70c7cfb293cd355d3fcc80a852eac9bee1c1c317dc302f199d90600090a2505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611b8357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611b77600080516020613e08833981519152546001600160a01b031690565b6001600160a01b031614155b15610d485760405163703e46dd60e11b815260040160405180910390fd5b6112c461176e565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611c03575060408051601f3d908101601f19168201909252611c0091810190612e55565b60015b611c225781604051634c9c8ce360e01b815260040161086e9190612674565b600080516020613e088339815191528114611c5357604051632a87526960e21b81526004810182905260240161086e565b611c5d8383611d68565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d485760405163703e46dd60e11b815260040160405180910390fd5b6000611cb5611d44565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b611d33611dbe565b6112c481611de3565b610d48611dbe565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b611d7182611deb565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611db657611c5d8282611e47565b610820611eb4565b611dc6611ed3565b610d4857604051631afcd79f60e31b815260040160405180910390fd5b61173b611dbe565b806001600160a01b03163b600003611e185780604051634c9c8ce360e01b815260040161086e9190612674565b600080516020613e0883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e649190613deb565b600060405180830381855af49150503d8060008114611e9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ea4565b606091505b50915091506107fc858383611eed565b3415610d485760405163b398979f60e01b815260040160405180910390fd5b6000611edd611d07565b54600160401b900460ff16919050565b606082611f0257611efd82611f43565b611f3c565b8151158015611f1957506001600160a01b0384163b155b15611f395783604051639996b31560e01b815260040161086e9190612674565b50805b9392505050565b805115611f535780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60008083601f840112611f7e57600080fd5b5081356001600160401b03811115611f9557600080fd5b602083019150836020828501011115611fad57600080fd5b9250929050565b60008060208385031215611fc757600080fd5b82356001600160401b03811115611fdd57600080fd5b611fe985828601611f6c565b90969095509350505050565b60005b83811015612010578181015183820152602001611ff8565b50506000910152565b60008151808452612031816020860160208601611ff5565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156120c357601f19868403018952815160806001600160401b03825116855285820151818787015261209982870182612019565b60408481015190880152606093840151939096019290925250509783019790830190600101612062565b5090979650505050505050565b6020815260008251604060208401526120ec6060840182612045565b90506020840151601f198483030160408501526107fc8282612045565b6020815260008251604060208401526121256060840182612019565b90506001600160401b0360208501511660408401528091505092915050565b60006060828403121561215657600080fd5b50919050565b60006040828403121561215657600080fd5b60008083601f84011261218057600080fd5b5081356001600160401b0381111561219757600080fd5b6020830191508360208260051b8501011115611fad57600080fd5b6000806000806000608086880312156121ca57600080fd5b85356001600160401b03808211156121e157600080fd5b6121ed89838a01612144565b9650602088013591508082111561220357600080fd5b61220f89838a0161215c565b955060408801359450606088013591508082111561222c57600080fd5b506122398882890161216e565b969995985093965092949392505050565b6000806000806040858703121561226057600080fd5b84356001600160401b038082111561227757600080fd5b61228388838901611f6c565b9096509450602087013591508082111561229c57600080fd5b506122a98782880161216e565b95989497509550505050565b6020815260006104c16020830184612019565b80356001600160a01b03811681146122df57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561231c5761231c6122e4565b60405290565b604080519081016001600160401b038111828210171561231c5761231c6122e4565b60405160a081016001600160401b038111828210171561231c5761231c6122e4565b604051601f8201601f191681016001600160401b038111828210171561238e5761238e6122e4565b604052919050565b60006001600160401b038211156123af576123af6122e4565b50601f01601f191660200190565b600080604083850312156123d057600080fd5b6123d9836122c8565b915060208301356001600160401b038111156123f457600080fd5b8301601f8101851361240557600080fd5b803561241861241382612396565b612366565b81815286602083850101111561242d57600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561254b57603f19898403018552815160a0815181865261249a82870182612019565b91505088820151898601528782015188860152606080830151868303828801526124c48382612019565b92505050608080830151925085820381870152508082518083528a830191508a8160051b8401018b8501945060005b8281101561253457848203601f19018452855180518d84526125178e850182612019565b918f0151938f0193909352958d0195938d019391506001016124f3565b50988b019896505050928801925050600101612474565b509098975050505050505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561254b57888303603f19018552815180518785526125a688860182612019565b91890151858303868b01529190506125be8183612019565b968901969450505090860190600101612582565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561254b57603f1989840301855281516060815181865261262182870182612019565b915050888201518582038a8701526126398282612019565b915050878201519150848103888601526126538183612019565b9689019694505050908601906001016125fb565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080600080600060a086880312156126a057600080fd5b6126a9866122c8565b94506126b7602087016122c8565b93506126c5604087016122c8565b92506126d3606087016122c8565b91506126e1608087016122c8565b90509295509295909350565b6000602082840312156126ff57600080fd5b81356001600160401b0381111561271557600080fd5b820160a08185031215611f3c57600080fd5b60006020828403121561273957600080fd5b81356001600160401b0381111561274f57600080fd5b82016101008185031215611f3c57600080fd5b60008282518085526020808601955060208260051b8401016020860160005b848110156120c357601f1986840301895261279d838351612019565b98840198925090830190600101612781565b602081528151602082015260006020830151608060408401526127d560a0840182612019565b90506040840151601f19808584030160608601526127f38383612762565b92506060860151915080858403016080860152506107fc8282612762565b6000806000806080858703121561282757600080fd5b84356001600160401b038082111561283e57600080fd5b61284a88838901612144565b9550602087013591508082111561286057600080fd5b61286c8883890161215c565b945060408701359350606087013591508082111561288957600080fd5b506128968782880161215c565b91505092959194509250565b6000602082840312156128b457600080fd5b6104c1826122c8565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061067a6020830184866128bd565b60006001600160401b03821115612913576129136122e4565b5060051b60200190565b6001600160401b03811681146112c457600080fd5b600082601f83011261294357600080fd5b815161295161241382612396565b81815284602083860101111561296657600080fd5b61067a826020830160208701611ff5565b600082601f83011261298857600080fd5b81516020612998612413836128fa565b82815260059290921b840181019181810190868411156129b757600080fd5b8286015b84811015612a575780516001600160401b03808211156129db5760008081fd5b908801906080828b03601f19018113156129f55760008081fd5b6129fd6122fa565b87840151612a0a8161291d565b815260408481015184811115612a205760008081fd5b612a2e8e8b83890101612932565b838b015250606085810151918301919091529190930151908301525083529183019183016129bb565b509695505050505050565b600060208284031215612a7457600080fd5b81516001600160401b0380821115612a8b57600080fd5b9083019060408286031215612a9f57600080fd5b612aa7612322565b825182811115612ab657600080fd5b612ac287828601612977565b825250602083015182811115612ad757600080fd5b612ae387828601612977565b60208301525095945050505050565b600060208284031215612b0457600080fd5b81516001600160401b0380821115612b1b57600080fd5b9083019060408286031215612b2f57600080fd5b612b37612322565b825182811115612b4657600080fd5b612b5287828601612932565b82525060208301519250612b658361291d565b6020810192909252509392505050565b6000808335601e19843603018112612b8c57600080fd5b8301803591506001600160401b03821115612ba657600080fd5b602001915036819003821315611fad57600080fd5b60008235603e19833603018112612bd157600080fd5b90910192915050565b6000808335601e19843603018112612bf157600080fd5b83016020810192503590506001600160401b03811115612c1057600080fd5b803603821315611fad57600080fd5b6000612c2b8283612bda565b60408552612c3d6040860182846128bd565b915050612c4d6020840184612bda565b8583036020870152612c608382846128bd565b9695505050505050565b60006040808352612c7f6040840187896128bd565b602084820381860152818683528183019050818760051b8401018860005b89811015612cfe57858303601f19018452612cb8828c612bbb565b6001600160a01b03612cc9826122c8565b168452612cd886820182612bbb565b90508786850152612ceb88850182612c1f565b9486019493505090840190600101612c9d565b50909b9a5050505050505050505050565b60008060408385031215612d2257600080fd5b8251915060208301516001600160401b03811115612d3f57600080fd5b612d4b85828601612932565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c4576104c4612d55565b600060208284031215612d9057600080fd5b81518015158114611f3c57600080fd5b606081526000612db46060830187896128bd565b602083820381850152818683528183019050818760051b8401018860005b89811015612e3f57858303601f19018452612ded828c612bbb565b6040612df98283612bda565b828752612e0983880182846128bd565b92505050868201359150612e1c8261291d565b6001600160401b0391909116938601939093529284019290840190600101612dd2565b505080945050505050612c606040830184612667565b600060208284031215612e6757600080fd5b5051919050565b604081526000612e826040830185876128bd565b9050826020830152949350505050565b600082601f830112612ea357600080fd5b81516020612eb3612413836128fa565b82815260059290921b84018101918181019086841115612ed257600080fd5b8286015b84811015612a575780516001600160401b0380821115612ef65760008081fd5b908801906040828b03601f1901811315612f105760008081fd5b612f18612322565b8784015183811115612f2a5760008081fd5b612f388d8a83880101612932565b82525092015186830152508352918301918301612ed6565b600060208284031215612f6257600080fd5b81516001600160401b0380821115612f7957600080fd5b9083019060a08286031215612f8d57600080fd5b612f95612344565b825182811115612fa457600080fd5b612fb087828601612932565b8252506020830151602082015260408301516040820152606083015182811115612fd957600080fd5b612fe587828601612932565b606083015250608083015182811115612ffd57600080fd5b61300987828601612e92565b60808301525095945050505050565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121561304157600080fd5b82516001600160401b038082111561305857600080fd5b818501915085601f83011261306c57600080fd5b815161307a612413826128fa565b81815260059190911b8301840190848101908883111561309957600080fd5b8585015b8381101561312c578051858111156130b55760008081fd5b86016040818c03601f19018113156130cd5760008081fd5b6130d5612322565b89830151888111156130e75760008081fd5b6130f58e8c83870101612932565b82525090820151908782111561310b5760008081fd5b6131198d8b84860101612932565b818b01528552505091860191860161309d565b5098975050505050505050565b600181811c9082168061314d57607f821691505b60208210810361215657634e487b7160e01b600052602260045260246000fd5b6040815260006131816040830185876128bd565b905060018060a01b0383166020830152949350505050565b6000808335601e198436030181126131b057600080fd5b83016020810192503590506001600160401b038111156131cf57600080fd5b8060051b3603821315611fad57600080fd5b60008235607e19833603018112612bd157600080fd5b600081356132048161291d565b6001600160401b0316835261321c6020830183612bda565b608060208601526132316080860182846128bd565b91505060408301356040850152606083013560608501528091505092915050565b6000838385526020808601955060208560051b8301018460005b878110156120c357848303601f190189526132908361328b848a6131e1565b6131f7565b9884019892509083019060010161326c565b60006132ae8283613199565b604085526132c0604086018284613252565b9150506132d06020840184613199565b8583036020870152612c60838284613252565b60008383855260208086019550808560051b8301018460005b878110156120c357848303601f1901895261331782886131e1565b60806133238283612bda565b82875261333383880182846128bd565b9250505061334386830183612bda565b868303888801526133558382846128bd565b925050506040808301358187015250606061337281840184612bbb565b9250858203818701525061338681836132a2565b9a86019a94505050908301906001016132fc565b60008383855260208086019550808560051b830101846000805b8881101561343b57858403601f19018a52823536899003605e190181126133d9578283fd5b880160606133e78280612bda565b8288526133f783890182846128bd565b9250505061340787830183612bda565b878303898901526134198382846128bd565b60409485013598909401979097525050998501999350918401916001016133b4565b509198975050505050505050565b60008383855260208086019550808560051b830101846000805b8881101561343b57858403601f19018a5282353689900360fe19018112613488578283fd5b88016101006134978280612bda565b8288526134a783890182846128bd565b925050506134b787830183612bda565b878303898901526134c98382846128bd565b9250505060406134db81840184612bda565b888403838a01526134ed8482846128bd565b9350505050606061350081840184612bda565b888403838a01526135128482846128bd565b93505050506080613525818401846131e1565b8783038289015261353683826131f7565b9250505060a061354881840184612bda565b888403838a015261355a8482846128bd565b935050505060c061356d81840184612bda565b888403838a015261357f8482846128bd565b60e095860135999095019890985250505099850199935091840191600101613463565b60008383855260208086019550808560051b8301018460005b878110156120c357848303601f190189526135d682886131e1565b60806135e28283612bda565b8287526135f283880182846128bd565b9250505061360286830183612bda565b868303888801526136148382846128bd565b92505050604061362681840184612bda565b878403838901526136388482846128bd565b9350505050606061364b818401846131e1565b9250858203818701525061365f81836131f7565b9a86019a94505050908301906001016135bb565b6040815260006136838485613199565b60a0604085015260e08401818152610100850190506101008260051b8601018360005b8481101561380a5787830360ff1901845236869003609e19018235126136cb57600080fd5b6136d88235870180612bda565b60a085526136ea60a0860182846128bd565b91506136ff9050833588016020810190613199565b85830360208701528281845260208401905060208260051b8501018360005b8481101561377557868303601f190184526137398287612bbb565b6137438182612bda565b604086526137556040870182846128bd565b60209384013596840196909652505093840193919091019060010161371e565b50613789905087358c0160408101906131e1565b9450878103604089015261379d81866131f7565b94506137b59350505050833588016060810190612bda565b85830360608701526137c88382846128bd565b92506137de915050833588016080810190612bda565b85830360808701526137f18382846128bd565b60209788019790965094909401935050506001016136a6565b50506138196020890189613199565b94509250603f199150818682030160608701526138378185856132e3565b9350506138476040880188613199565b92508186850301608087015261385e84848361339a565b93505061386e6060880188613199565b9250818685030160a0870152613885848483613449565b9350506138956080880188613199565b9250818685030160c08701526138ac8484836135a2565b945050505050611f3c6020830184612667565b60a0815260006138d360a083018b8d6128bd565b82810360208401526138e6818a8c6128bd565b905082810360408401526138fb81888a6128bd565b905082810360608401526139108186886128bd565b91505060018060a01b03831660808301529a9950505050505050505050565b604081528235604082015260006139496020850185612bda565b610100806060860152613961610140860183856128bd565b92506139706040880188612bda565b9250603f198087860301608088015261398a8585846128bd565b945061399960608a018a612bda565b94509150808786030160a08801526139b28585846128bd565b94506139c160808a018a612bda565b94509150808786030160c08801526139da8585846128bd565b945060a089013560e088015260c0890135838801526139fc60e08a018a612bbb565b93508087860301610120880152505050613a1682826132a2565b92505050611f3c6020830184612667565b600082601f830112613a3857600080fd5b81516020613a48612413836128fa565b82815260059290921b84018101918181019086841115613a6757600080fd5b8286015b84811015612a575780516001600160401b03811115613a8a5760008081fd5b613a988986838b0101612932565b845250918301918301613a6b565b600060208284031215613ab857600080fd5b81516001600160401b0380821115613acf57600080fd5b9083019060808286031215613ae357600080fd5b613aeb6122fa565b82518152602083015182811115613b0157600080fd5b613b0d87828601612932565b602083015250604083015182811115613b2557600080fd5b613b3187828601613a27565b604083015250606083015182811115613b4957600080fd5b613b5587828601613a27565b60608301525095945050505050565b606081526000613b748586612bda565b606080850152613b8860c0850182846128bd565b915050613b986020870187612bda565b605f1980868503016080870152613bb08483856128bd565b9350613bbf60408a018a612bda565b93509150808685030160a087015250613bd98383836128bd565b925050508281036020840152613bef81866132a2565b915050826040830152949350505050565b606081526000613c146060830186886128bd565b6001600160a01b03851660208401528281036040840152613c358185612c1f565b979650505050505050565b600060208284031215613c5257600080fd5b815160ff81168114611f3c57600080fd5b606081526000613c776060830186886128bd565b6001600160a01b03949094166020830152506040015292915050565b8183823760009101908152919050565b818103818111156104c4576104c4612d55565b601f821115611c5d576000816000526020600020601f850160051c81016020861015613cdf5750805b601f850160051c820191505b81811015613cfe57828155600101613ceb565b505050505050565b6001600160401b03831115613d1d57613d1d6122e4565b613d3183613d2b8354613139565b83613cb6565b6000601f841160018114613d655760008515613d4d5750838201355b600019600387901b1c1916600186901b1783556105d5565b600083815260209020601f19861690835b82811015613d965786850135825560209485019460019092019101613d76565b5086821015613db35760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b604081526000613dd96040830185876128bd565b8281036020840152612c6081856132a2565b60008251613dfd818460208701611ff5565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220785a7a05f0228d0180325f5ada68b099bf48fb1a7a7a45cde824a23aa78b4d9164736f6c63430008170033","linkReferences":{},"deployedLinkReferences":{}}` -var ClaimsHelperArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"ClaimsHelper","sourceName":"contracts/ClaimsHelper.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"confirmedSignedBatches","outputs":[{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"currentBatchBlock","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_batchId","type":"uint256"}],"name":"getConfirmedSignedBatchData","outputs":[{"components":[{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.ConfirmedSignedBatchData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"address","name":"","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"name":"isClaimConfirmed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"numberOfVotes","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"resetCurrentBatchBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chain","type":"string"},{"internalType":"string","name":"_observerHash","type":"string"}],"name":"setClaimConfirmed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"destinationChainId","type":"string"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"string","name":"feePayerMultisigSignature","type":"string"},{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.SignedBatch","name":"_signedBatch","type":"tuple"}],"name":"setConfirmedSignedBatchData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_claimsAddress","type":"address"},{"internalType":"address","name":"_signedBatchesAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_id","type":"string"},{"internalType":"address","name":"_voter","type":"address"},{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"setVoted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"updateCurrentBatchBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611ef46100fd60003960008181610e4001528181610e690152610fa10152611ef46000f3fe6080604052600436106100f45760003560e01c806386e714771161009057806386e71477146102575780638da5cb5b146102995780639af06cd9146102bb578063ad3cb1cc14610306578063b9d808ff14610344578063ca68698214610364578063e038ab5514610384578063e2100f4d146103bc578063e87c28a7146103e9578063f2fde38b1461040957600080fd5b80630b502332146100f95780634a5d2b191461011b5780634f1ef2861461018857806351a6e1131461019b57806352d1902d146101bb57806364d06b05146101de578063715018a6146101fe5780637f9b665c146102135780638129fc1c14610242575b600080fd5b34801561010557600080fd5b5061011961011436600461135b565b610429565b005b34801561012757600080fd5b50610173610136366004611447565b8151602081840181018051600282529282019482019490942091909352815180830184018051928152908401929093019190912091525460ff1681565b60405190151581526020015b60405180910390f35b6101196101963660046114c6565b61047b565b3480156101a757600080fd5b506101196101b636600461151d565b61049a565b3480156101c757600080fd5b506101d0610536565b60405190815260200161017f565b3480156101ea57600080fd5b506101196101f9366004611588565b610553565b34801561020a57600080fd5b50610119610674565b34801561021f57600080fd5b5061023361022e3660046115c3565b610688565b60405161017f93929190611710565b34801561024e57600080fd5b506101196108fc565b34801561026357600080fd5b5061028761027236600461172f565b60066020526000908152604090205460ff1681565b60405160ff909116815260200161017f565b3480156102a557600080fd5b506102ae6109fd565b60405161017f9190611748565b3480156102c757600080fd5b506101736102d636600461175c565b81516020818401810180516005825292820194820194909420919093529091526000908152604090205460ff1681565b34801561031257600080fd5b50610337604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161017f91906117a9565b34801561035057600080fd5b506101d061035f3660046117bc565b610a18565b34801561037057600080fd5b5061011961037f36600461135b565b610ae7565b34801561039057600080fd5b506101d061039f366004611817565b805160208183018101805160048252928201919093012091525481565b3480156103c857600080fd5b506103dc6103d7366004611853565b610b27565b60405161017f919061189e565b3480156103f557600080fd5b506101196104043660046118cd565b610db8565b34801561041557600080fd5b506101196104243660046118f7565b610dee565b6001546001600160a01b031633146104545760405163a2f679e560e01b815260040160405180910390fd5b4360048383604051610467929190611912565b908152604051908190036020019020555050565b610483610e35565b61048c82610eda565b6104968282610ee2565b5050565b6001546001600160a01b031633148015906104c057506000546001600160a01b03163314155b156104de57604051639a4b386f60e01b815260040160405180910390fd5b6001600285856040516104f2929190611912565b90815260200160405180910390208383604051610510929190611912565b908152604051908190036020019020805491151560ff1990921691909117905550505050565b6000610540610f96565b50600080516020611e9f83398151915290565b6001546001600160a01b0316331480159061057957506000546001600160a01b03163314155b1561059757604051639a4b386f60e01b815260040160405180910390fd5b60a081013560036105ab6020840184611922565b6040516105b9929190611912565b908152604080516020928190038301902084356000908152908352209190915560c0820135906003906105ee90840184611922565b6040516105fc929190611912565b908152604080516020928190038301902084356000908152925290206001015561062960e0820182611968565b60036106386020840184611922565b604051610646929190611912565b9081526040805160209281900383019020843560009081529252902060020161066f8282611d05565b505050565b61067c610fdf565b6106866000611011565b565b8151602081840181018051600382529282019482019490942091909352825260009081526040808220805460018201548351600284018054978802820160609081018752958201888152939792969495919490938593909285929085015b828210156107d457600084815260209081902060408051608081019091526004850290910180546001600160401b03168252600181018054929391929184019161072f906119fd565b80601f016020809104026020016040519081016040528092919081815260200182805461075b906119fd565b80156107a85780601f1061077d576101008083540402835291602001916107a8565b820191906000526020600020905b81548152906001019060200180831161078b57829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906106e6565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b828210156108ef57600084815260209081902060408051608081019091526004850290910180546001600160401b03168252600181018054929391929184019161084a906119fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610876906119fd565b80156108c35780601f10610898576101008083540402835291602001916108c3565b820191906000526020600020905b8154815290600101906020018083116108a657829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610801565b5050505081525050905083565b600061090661106d565b805490915060ff600160401b82041615906001600160401b031660008115801561092d5750825b90506000826001600160401b031660011480156109495750303b155b905081158015610957575080155b156109755760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561099f57845460ff60401b1916600160401b1785555b6109a833611091565b6109b06110a2565b83156109f657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b600080610a086110aa565b546001600160a01b031692915050565b6001546000906001600160a01b03163314801590610a4157506000546001600160a01b03163314155b15610a5f57604051639a4b386f60e01b815260040160405180910390fd5b600160058686604051610a73929190611912565b90815260408051602092819003830190206001600160a01b0387166000908152908352818120805460ff1916941515949094179093558483526006909152812080548290610ac39060ff16611e54565b825460ff9182166101009390930a8381029202191617909155915050949350505050565b6000546001600160a01b03163314610b1257604051631ad2b5e160e31b815260040160405180910390fd5b60001960048383604051610467929190611912565b610b2f6112d8565b60038484604051610b41929190611912565b90815260408051602092819003830181206000868152908452828120606080840185528154845260018201548685015284516002830180549788028201830187528187018881529597939688019591949093859385929085015b82821015610c8957600084815260209081902060408051608081019091526004850290910180546001600160401b031682526001810180549293919291840191610be4906119fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610c10906119fd565b8015610c5d5780601f10610c3257610100808354040283529160200191610c5d565b820191906000526020600020905b815481529060010190602001808311610c4057829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610b9b565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015610da457600084815260209081902060408051608081019091526004850290910180546001600160401b031682526001810180549293919291840191610cff906119fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2b906119fd565b8015610d785780601f10610d4d57610100808354040283529160200191610d78565b820191906000526020600020905b815481529060010190602001808311610d5b57829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610cb6565b5050509152505090525090505b9392505050565b610dc0610fdf565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b610df6610fdf565b6001600160a01b038116610e29576000604051631e4fbdf760e01b8152600401610e209190611748565b60405180910390fd5b610e3281611011565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610ebc57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610eb0600080516020611e9f833981519152546001600160a01b031690565b6001600160a01b031614155b156106865760405163703e46dd60e11b815260040160405180910390fd5b610e32610fdf565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f3c575060408051601f3d908101601f19168201909252610f3991810190611e73565b60015b610f5b5781604051634c9c8ce360e01b8152600401610e209190611748565b600080516020611e9f8339815191528114610f8c57604051632a87526960e21b815260048101829052602401610e20565b61066f83836110ce565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106865760405163703e46dd60e11b815260040160405180910390fd5b33610fe86109fd565b6001600160a01b031614610686573360405163118cdaa760e01b8152600401610e209190611748565b600061101b6110aa565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b611099611124565b610e3281611149565b610686611124565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b6110d782611151565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561111c5761066f82826111ad565b610496611223565b61112c611242565b61068657604051631afcd79f60e31b815260040160405180910390fd5b610df6611124565b806001600160a01b03163b60000361117e5780604051634c9c8ce360e01b8152600401610e209190611748565b600080516020611e9f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516111ca9190611e8c565b600060405180830381855af49150503d8060008114611205576040519150601f19603f3d011682016040523d82523d6000602084013e61120a565b606091505b509150915061121a85838361125c565b95945050505050565b34156106865760405163b398979f60e01b815260040160405180910390fd5b600061124c61106d565b54600160401b900460ff16919050565b6060826112715761126c826112af565b610db1565b815115801561128857506001600160a01b0384163b155b156112a85783604051639996b31560e01b8152600401610e209190611748565b5080610db1565b8051156112bf5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518060600160405280600081526020016000815260200161130e604051806040016040528060608152602001606081525090565b905290565b60008083601f84011261132557600080fd5b5081356001600160401b0381111561133c57600080fd5b60208301915083602082850101111561135457600080fd5b9250929050565b6000806020838503121561136e57600080fd5b82356001600160401b0381111561138457600080fd5b61139085828601611313565b90969095509350505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156113cc576113cc61139c565b604051601f8501601f19908116603f011681019082821181831017156113f4576113f461139c565b8160405280935085815286868601111561140d57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261143857600080fd5b610db1838335602085016113b2565b6000806040838503121561145a57600080fd5b82356001600160401b038082111561147157600080fd5b61147d86838701611427565b9350602085013591508082111561149357600080fd5b506114a085828601611427565b9150509250929050565b80356001600160a01b03811681146114c157600080fd5b919050565b600080604083850312156114d957600080fd5b6114e2836114aa565b915060208301356001600160401b038111156114fd57600080fd5b8301601f8101851361150e57600080fd5b6114a0858235602084016113b2565b6000806000806040858703121561153357600080fd5b84356001600160401b038082111561154a57600080fd5b61155688838901611313565b9096509450602087013591508082111561156f57600080fd5b5061157c87828801611313565b95989497509550505050565b60006020828403121561159a57600080fd5b81356001600160401b038111156115b057600080fd5b82016101008185031215610db157600080fd5b600080604083850312156115d657600080fd5b82356001600160401b038111156115ec57600080fd5b6115f885828601611427565b95602094909401359450505050565b60005b8381101561162257818101518382015260200161160a565b50506000910152565b60008151808452611643816020860160208601611607565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156116d557601f19868403018952815160806001600160401b0382511685528582015181878701526116ab8287018261162b565b60408481015190880152606093840151939096019290925250509783019790830190600101611674565b5090979650505050505050565b60008151604084526116f76040850182611657565b90506020830151848203602086015261121a8282611657565b83815282602082015260606040820152600061121a60608301846116e2565b60006020828403121561174157600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6000806040838503121561176f57600080fd5b82356001600160401b0381111561178557600080fd5b61179185828601611427565b9250506117a0602084016114aa565b90509250929050565b602081526000610db1602083018461162b565b600080600080606085870312156117d257600080fd5b84356001600160401b038111156117e857600080fd5b6117f487828801611313565b90955093506118079050602086016114aa565b9396929550929360400135925050565b60006020828403121561182957600080fd5b81356001600160401b0381111561183f57600080fd5b61184b84828501611427565b949350505050565b60008060006040848603121561186857600080fd5b83356001600160401b0381111561187e57600080fd5b61188a86828701611313565b909790965060209590950135949350505050565b6020815281516020820152602082015160408201526000604083015160608084015261184b60808401826116e2565b600080604083850312156118e057600080fd5b6118e9836114aa565b91506117a0602084016114aa565b60006020828403121561190957600080fd5b610db1826114aa565b8183823760009101908152919050565b6000808335601e1984360301811261193957600080fd5b8301803591506001600160401b0382111561195357600080fd5b60200191503681900382131561135457600080fd5b60008235603e1983360301811261197e57600080fd5b9190910192915050565b6000808335601e1984360301811261199f57600080fd5b8301803591506001600160401b038211156119b957600080fd5b6020019150600581901b360382131561135457600080fd5b60008235607e1983360301811261197e57600080fd5b634e487b7160e01b600052601160045260246000fd5b600181811c90821680611a1157607f821691505b602082108103611a3157634e487b7160e01b600052602260045260246000fd5b50919050565b5b818110156104965760008155600101611a38565b601f82111561066f57806000526020600020601f840160051c81016020851015611a735750805b6109f6601f850160051c830182611a37565b6001600160401b03831115611a9c57611a9c61139c565b611ab083611aaa83546119fd565b83611a4c565b6000601f841160018114611ae45760008515611acc5750838201355b600019600387901b1c1916600186901b1783556109f6565b600083815260209020601f19861690835b82811015611b155786850135825560209485019460019092019101611af5565b5086821015611b325760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81356001600160401b03808216808314611b5d57600080fd5b835467ffffffffffffffff19161783556020840135915036849003601e19018212611b8757600080fd5b90830190813581811115611b9a57600080fd5b602083019250803603831315611baf57600080fd5b611bbd818460018701611a85565b50505060408201356002820155606082013560038201555050565b600160401b831115611bec57611bec61139c565b805483825580841015611cbf5760026001600160fe1b038281168314611c1457611c146119e7565b8086168614611c2557611c256119e7565b506000838152602081208360021b81018760021b820191505b80821015611cba578282556001808301611c5881546119fd565b8015611ca157601f80821160018114611c7357878455611c9e565b600084815260209020611c8f83850160051c8201878301611a37565b50600084815260208120818655555b50505b5050508284830155826003830155600482019150611c3e565b505050505b5060008181526020812083915b85811015611cfd57611ce7611ce184876119d1565b83611b44565b6020929092019160049190910190600101611ccc565b505050505050565b611d0f8283611988565b600160401b811115611d2357611d2361139c565b825481845580821015611df65760026001600160fe1b038281168314611d4b57611d4b6119e7565b8084168414611d5c57611d5c6119e7565b506000858152602081208360021b81018560021b820191505b80821015611df1578282556001808301611d8f81546119fd565b8015611dd857601f80821160018114611daa57878455611dd5565b600084815260209020611dc683850160051c8201878301611a37565b50600084815260208120818655555b50505b5050508284830155826003830155600482019150611d75565b505050505b5060008381526020812083915b83811015611e2e57611e18611ce184876119d1565b6020929092019160049190910190600101611e03565b5050505050611e406020830183611988565b611e4e818360018601611bd8565b50505050565b600060ff821660ff8103611e6a57611e6a6119e7565b60010192915050565b600060208284031215611e8557600080fd5b5051919050565b6000825161197e81846020870161160756fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220453270f75614af349989df9ccef7028fec6bc1f7f4c48a761412f9480d05faf664736f6c63430008170033","deployedBytecode":"0x6080604052600436106100f45760003560e01c806386e714771161009057806386e71477146102575780638da5cb5b146102995780639af06cd9146102bb578063ad3cb1cc14610306578063b9d808ff14610344578063ca68698214610364578063e038ab5514610384578063e2100f4d146103bc578063e87c28a7146103e9578063f2fde38b1461040957600080fd5b80630b502332146100f95780634a5d2b191461011b5780634f1ef2861461018857806351a6e1131461019b57806352d1902d146101bb57806364d06b05146101de578063715018a6146101fe5780637f9b665c146102135780638129fc1c14610242575b600080fd5b34801561010557600080fd5b5061011961011436600461135b565b610429565b005b34801561012757600080fd5b50610173610136366004611447565b8151602081840181018051600282529282019482019490942091909352815180830184018051928152908401929093019190912091525460ff1681565b60405190151581526020015b60405180910390f35b6101196101963660046114c6565b61047b565b3480156101a757600080fd5b506101196101b636600461151d565b61049a565b3480156101c757600080fd5b506101d0610536565b60405190815260200161017f565b3480156101ea57600080fd5b506101196101f9366004611588565b610553565b34801561020a57600080fd5b50610119610674565b34801561021f57600080fd5b5061023361022e3660046115c3565b610688565b60405161017f93929190611710565b34801561024e57600080fd5b506101196108fc565b34801561026357600080fd5b5061028761027236600461172f565b60066020526000908152604090205460ff1681565b60405160ff909116815260200161017f565b3480156102a557600080fd5b506102ae6109fd565b60405161017f9190611748565b3480156102c757600080fd5b506101736102d636600461175c565b81516020818401810180516005825292820194820194909420919093529091526000908152604090205460ff1681565b34801561031257600080fd5b50610337604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161017f91906117a9565b34801561035057600080fd5b506101d061035f3660046117bc565b610a18565b34801561037057600080fd5b5061011961037f36600461135b565b610ae7565b34801561039057600080fd5b506101d061039f366004611817565b805160208183018101805160048252928201919093012091525481565b3480156103c857600080fd5b506103dc6103d7366004611853565b610b27565b60405161017f919061189e565b3480156103f557600080fd5b506101196104043660046118cd565b610db8565b34801561041557600080fd5b506101196104243660046118f7565b610dee565b6001546001600160a01b031633146104545760405163a2f679e560e01b815260040160405180910390fd5b4360048383604051610467929190611912565b908152604051908190036020019020555050565b610483610e35565b61048c82610eda565b6104968282610ee2565b5050565b6001546001600160a01b031633148015906104c057506000546001600160a01b03163314155b156104de57604051639a4b386f60e01b815260040160405180910390fd5b6001600285856040516104f2929190611912565b90815260200160405180910390208383604051610510929190611912565b908152604051908190036020019020805491151560ff1990921691909117905550505050565b6000610540610f96565b50600080516020611e9f83398151915290565b6001546001600160a01b0316331480159061057957506000546001600160a01b03163314155b1561059757604051639a4b386f60e01b815260040160405180910390fd5b60a081013560036105ab6020840184611922565b6040516105b9929190611912565b908152604080516020928190038301902084356000908152908352209190915560c0820135906003906105ee90840184611922565b6040516105fc929190611912565b908152604080516020928190038301902084356000908152925290206001015561062960e0820182611968565b60036106386020840184611922565b604051610646929190611912565b9081526040805160209281900383019020843560009081529252902060020161066f8282611d05565b505050565b61067c610fdf565b6106866000611011565b565b8151602081840181018051600382529282019482019490942091909352825260009081526040808220805460018201548351600284018054978802820160609081018752958201888152939792969495919490938593909285929085015b828210156107d457600084815260209081902060408051608081019091526004850290910180546001600160401b03168252600181018054929391929184019161072f906119fd565b80601f016020809104026020016040519081016040528092919081815260200182805461075b906119fd565b80156107a85780601f1061077d576101008083540402835291602001916107a8565b820191906000526020600020905b81548152906001019060200180831161078b57829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906106e6565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b828210156108ef57600084815260209081902060408051608081019091526004850290910180546001600160401b03168252600181018054929391929184019161084a906119fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610876906119fd565b80156108c35780601f10610898576101008083540402835291602001916108c3565b820191906000526020600020905b8154815290600101906020018083116108a657829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610801565b5050505081525050905083565b600061090661106d565b805490915060ff600160401b82041615906001600160401b031660008115801561092d5750825b90506000826001600160401b031660011480156109495750303b155b905081158015610957575080155b156109755760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561099f57845460ff60401b1916600160401b1785555b6109a833611091565b6109b06110a2565b83156109f657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b600080610a086110aa565b546001600160a01b031692915050565b6001546000906001600160a01b03163314801590610a4157506000546001600160a01b03163314155b15610a5f57604051639a4b386f60e01b815260040160405180910390fd5b600160058686604051610a73929190611912565b90815260408051602092819003830190206001600160a01b0387166000908152908352818120805460ff1916941515949094179093558483526006909152812080548290610ac39060ff16611e54565b825460ff9182166101009390930a8381029202191617909155915050949350505050565b6000546001600160a01b03163314610b1257604051631ad2b5e160e31b815260040160405180910390fd5b60001960048383604051610467929190611912565b610b2f6112d8565b60038484604051610b41929190611912565b90815260408051602092819003830181206000868152908452828120606080840185528154845260018201548685015284516002830180549788028201830187528187018881529597939688019591949093859385929085015b82821015610c8957600084815260209081902060408051608081019091526004850290910180546001600160401b031682526001810180549293919291840191610be4906119fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610c10906119fd565b8015610c5d5780601f10610c3257610100808354040283529160200191610c5d565b820191906000526020600020905b815481529060010190602001808311610c4057829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610b9b565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015610da457600084815260209081902060408051608081019091526004850290910180546001600160401b031682526001810180549293919291840191610cff906119fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2b906119fd565b8015610d785780601f10610d4d57610100808354040283529160200191610d78565b820191906000526020600020905b815481529060010190602001808311610d5b57829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610cb6565b5050509152505090525090505b9392505050565b610dc0610fdf565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b610df6610fdf565b6001600160a01b038116610e29576000604051631e4fbdf760e01b8152600401610e209190611748565b60405180910390fd5b610e3281611011565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610ebc57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610eb0600080516020611e9f833981519152546001600160a01b031690565b6001600160a01b031614155b156106865760405163703e46dd60e11b815260040160405180910390fd5b610e32610fdf565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f3c575060408051601f3d908101601f19168201909252610f3991810190611e73565b60015b610f5b5781604051634c9c8ce360e01b8152600401610e209190611748565b600080516020611e9f8339815191528114610f8c57604051632a87526960e21b815260048101829052602401610e20565b61066f83836110ce565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106865760405163703e46dd60e11b815260040160405180910390fd5b33610fe86109fd565b6001600160a01b031614610686573360405163118cdaa760e01b8152600401610e209190611748565b600061101b6110aa565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b611099611124565b610e3281611149565b610686611124565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b6110d782611151565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561111c5761066f82826111ad565b610496611223565b61112c611242565b61068657604051631afcd79f60e31b815260040160405180910390fd5b610df6611124565b806001600160a01b03163b60000361117e5780604051634c9c8ce360e01b8152600401610e209190611748565b600080516020611e9f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516111ca9190611e8c565b600060405180830381855af49150503d8060008114611205576040519150601f19603f3d011682016040523d82523d6000602084013e61120a565b606091505b509150915061121a85838361125c565b95945050505050565b34156106865760405163b398979f60e01b815260040160405180910390fd5b600061124c61106d565b54600160401b900460ff16919050565b6060826112715761126c826112af565b610db1565b815115801561128857506001600160a01b0384163b155b156112a85783604051639996b31560e01b8152600401610e209190611748565b5080610db1565b8051156112bf5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518060600160405280600081526020016000815260200161130e604051806040016040528060608152602001606081525090565b905290565b60008083601f84011261132557600080fd5b5081356001600160401b0381111561133c57600080fd5b60208301915083602082850101111561135457600080fd5b9250929050565b6000806020838503121561136e57600080fd5b82356001600160401b0381111561138457600080fd5b61139085828601611313565b90969095509350505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156113cc576113cc61139c565b604051601f8501601f19908116603f011681019082821181831017156113f4576113f461139c565b8160405280935085815286868601111561140d57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261143857600080fd5b610db1838335602085016113b2565b6000806040838503121561145a57600080fd5b82356001600160401b038082111561147157600080fd5b61147d86838701611427565b9350602085013591508082111561149357600080fd5b506114a085828601611427565b9150509250929050565b80356001600160a01b03811681146114c157600080fd5b919050565b600080604083850312156114d957600080fd5b6114e2836114aa565b915060208301356001600160401b038111156114fd57600080fd5b8301601f8101851361150e57600080fd5b6114a0858235602084016113b2565b6000806000806040858703121561153357600080fd5b84356001600160401b038082111561154a57600080fd5b61155688838901611313565b9096509450602087013591508082111561156f57600080fd5b5061157c87828801611313565b95989497509550505050565b60006020828403121561159a57600080fd5b81356001600160401b038111156115b057600080fd5b82016101008185031215610db157600080fd5b600080604083850312156115d657600080fd5b82356001600160401b038111156115ec57600080fd5b6115f885828601611427565b95602094909401359450505050565b60005b8381101561162257818101518382015260200161160a565b50506000910152565b60008151808452611643816020860160208601611607565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156116d557601f19868403018952815160806001600160401b0382511685528582015181878701526116ab8287018261162b565b60408481015190880152606093840151939096019290925250509783019790830190600101611674565b5090979650505050505050565b60008151604084526116f76040850182611657565b90506020830151848203602086015261121a8282611657565b83815282602082015260606040820152600061121a60608301846116e2565b60006020828403121561174157600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6000806040838503121561176f57600080fd5b82356001600160401b0381111561178557600080fd5b61179185828601611427565b9250506117a0602084016114aa565b90509250929050565b602081526000610db1602083018461162b565b600080600080606085870312156117d257600080fd5b84356001600160401b038111156117e857600080fd5b6117f487828801611313565b90955093506118079050602086016114aa565b9396929550929360400135925050565b60006020828403121561182957600080fd5b81356001600160401b0381111561183f57600080fd5b61184b84828501611427565b949350505050565b60008060006040848603121561186857600080fd5b83356001600160401b0381111561187e57600080fd5b61188a86828701611313565b909790965060209590950135949350505050565b6020815281516020820152602082015160408201526000604083015160608084015261184b60808401826116e2565b600080604083850312156118e057600080fd5b6118e9836114aa565b91506117a0602084016114aa565b60006020828403121561190957600080fd5b610db1826114aa565b8183823760009101908152919050565b6000808335601e1984360301811261193957600080fd5b8301803591506001600160401b0382111561195357600080fd5b60200191503681900382131561135457600080fd5b60008235603e1983360301811261197e57600080fd5b9190910192915050565b6000808335601e1984360301811261199f57600080fd5b8301803591506001600160401b038211156119b957600080fd5b6020019150600581901b360382131561135457600080fd5b60008235607e1983360301811261197e57600080fd5b634e487b7160e01b600052601160045260246000fd5b600181811c90821680611a1157607f821691505b602082108103611a3157634e487b7160e01b600052602260045260246000fd5b50919050565b5b818110156104965760008155600101611a38565b601f82111561066f57806000526020600020601f840160051c81016020851015611a735750805b6109f6601f850160051c830182611a37565b6001600160401b03831115611a9c57611a9c61139c565b611ab083611aaa83546119fd565b83611a4c565b6000601f841160018114611ae45760008515611acc5750838201355b600019600387901b1c1916600186901b1783556109f6565b600083815260209020601f19861690835b82811015611b155786850135825560209485019460019092019101611af5565b5086821015611b325760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81356001600160401b03808216808314611b5d57600080fd5b835467ffffffffffffffff19161783556020840135915036849003601e19018212611b8757600080fd5b90830190813581811115611b9a57600080fd5b602083019250803603831315611baf57600080fd5b611bbd818460018701611a85565b50505060408201356002820155606082013560038201555050565b600160401b831115611bec57611bec61139c565b805483825580841015611cbf5760026001600160fe1b038281168314611c1457611c146119e7565b8086168614611c2557611c256119e7565b506000838152602081208360021b81018760021b820191505b80821015611cba578282556001808301611c5881546119fd565b8015611ca157601f80821160018114611c7357878455611c9e565b600084815260209020611c8f83850160051c8201878301611a37565b50600084815260208120818655555b50505b5050508284830155826003830155600482019150611c3e565b505050505b5060008181526020812083915b85811015611cfd57611ce7611ce184876119d1565b83611b44565b6020929092019160049190910190600101611ccc565b505050505050565b611d0f8283611988565b600160401b811115611d2357611d2361139c565b825481845580821015611df65760026001600160fe1b038281168314611d4b57611d4b6119e7565b8084168414611d5c57611d5c6119e7565b506000858152602081208360021b81018560021b820191505b80821015611df1578282556001808301611d8f81546119fd565b8015611dd857601f80821160018114611daa57878455611dd5565b600084815260209020611dc683850160051c8201878301611a37565b50600084815260208120818655555b50505b5050508284830155826003830155600482019150611d75565b505050505b5060008381526020812083915b83811015611e2e57611e18611ce184876119d1565b6020929092019160049190910190600101611e03565b5050505050611e406020830183611988565b611e4e818360018601611bd8565b50505050565b600060ff821660ff8103611e6a57611e6a6119e7565b60010192915050565b600060208284031215611e8557600080fd5b5051919050565b6000825161197e81846020870161160756fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220453270f75614af349989df9ccef7028fec6bc1f7f4c48a761412f9480d05faf664736f6c63430008170033","linkReferences":{},"deployedLinkReferences":{}}` -var ClaimsArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"Claims","sourceName":"contracts/Claims.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"chainTokenQuantity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"getBatchingTxsCount","outputs":[{"internalType":"uint256","name":"counterConfirmedTransactions","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getConfirmedTransaction","outputs":[{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"blockHeight","type":"uint256"},{"internalType":"string","name":"sourceChainID","type":"string"},{"components":[{"internalType":"string","name":"destinationAddress","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.Receiver[]","name":"receivers","type":"tuple[]"}],"internalType":"struct IBridgeStructs.ConfirmedTransaction","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getTokenAmountFromSignedBatch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_id","type":"string"},{"internalType":"address","name":"_voter","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_maxNumberOfTransactions","type":"uint16"},{"internalType":"uint8","name":"_timeoutBlocksNumber","type":"uint8"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"isBatchCreated","outputs":[{"internalType":"bool","name":"batch","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"isChainRegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"lastBatchedTxNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"lastConfirmedTxNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxNumberOfTransactions","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"nextTimeoutBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"resetCurrentBatchBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"setChainRegistered","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"},{"internalType":"address","name":"_claimsHelperAddress","type":"address"},{"internalType":"address","name":"_utxosc","type":"address"},{"internalType":"address","name":"_validatorsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_blockNumber","type":"uint256"}],"name":"setNextTimeoutBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"internalType":"uint256","name":"_tokenQuantity","type":"uint256"}],"name":"setTokenQuantity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_id","type":"string"},{"internalType":"address","name":"_voter","type":"address"},{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"setVoted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"shouldCreateBatch","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"components":[{"internalType":"string","name":"destinationAddress","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.Receiver[]","name":"receivers","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"outputUTXO","type":"tuple"},{"internalType":"string","name":"sourceChainID","type":"string"},{"internalType":"string","name":"destinationChainID","type":"string"}],"internalType":"struct IBridgeStructs.BridgingRequestClaim[]","name":"bridgingRequestClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"uint256","name":"batchNonceID","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"outputUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.BatchExecutedClaim[]","name":"batchExecutedClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"uint256","name":"batchNonceID","type":"uint256"}],"internalType":"struct IBridgeStructs.BatchExecutionFailedClaim[]","name":"batchExecutionFailedClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"previousRefundTxHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"string","name":"receiver","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"utxo","type":"tuple"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"uint256","name":"retryCounter","type":"uint256"}],"internalType":"struct IBridgeStructs.RefundRequestClaim[]","name":"refundRequestClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"string","name":"refundTxHash","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"utxo","type":"tuple"}],"internalType":"struct IBridgeStructs.RefundExecutedClaim[]","name":"refundExecutedClaims","type":"tuple[]"}],"internalType":"struct IBridgeStructs.ValidatorClaims","name":"_claims","type":"tuple"},{"internalType":"address","name":"_caller","type":"address"}],"name":"submitClaims","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"timeoutBlocksNumber","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161449a6200010460003960008181611aa601528181611acf0152611c07015261449a6000f3fe60806040526004361061014c5760003560e01c8063715018a6116100bc578063715018a61461039857806374cff92e146103ad57806377968b34146103cd5780638da5cb5b146103ed5780639af06cd91461040f578063a474cd9d1461042f578063ad3cb1cc1461044f578063b9d808ff1461048d578063c3487255146104ad578063ca686982146104db578063d9dee844146104fb578063e3aa21f41461051b578063eab481c31461053b578063f2fde38b1461055b57600080fd5b80630d32b63e1461015157806318c586cd146101735780631d530f12146101c357806334d58140146102095780633bde7d2e1461023b57806344e3bd221461025b5780634ae4dd7c1461027b5780634b4c1f84146102b35780634f1ef286146102eb57806352d1902d146102fe5780635673ee67146103135780636cabee01146103335780636cc8f8c714610360575b600080fd5b34801561015d57600080fd5b5061017161016c366004613023565b61057b565b005b34801561017f57600080fd5b506101ae61018e3660046131a5565b805160208183018101805160048252928201919093012091525460ff1681565b60405190151581526020015b60405180910390f35b3480156101cf57600080fd5b506101fb6101de3660046131a5565b8051602081830181018051600a8252928201919093012091525481565b6040519081526020016101ba565b34801561021557600080fd5b506006546102299062010000900460ff1681565b60405160ff90911681526020016101ba565b34801561024757600080fd5b506101716102563660046131f5565b6105e3565b34801561026757600080fd5b506101fb610276366004613249565b61063b565b34801561028757600080fd5b506101fb6102963660046131a5565b805160208183018101805160058252928201919093012091525481565b3480156102bf57600080fd5b506101fb6102ce3660046131a5565b805160208183018101805160098252928201919093012091525481565b6101716102f936600461328a565b61075f565b34801561030a57600080fd5b506101fb61077e565b34801561031f57600080fd5b5061017161032e3660046132eb565b61079b565b34801561033f57600080fd5b5061035361034e366004613023565b611126565b6040516101ba919061338d565b34801561036c57600080fd5b506101fb61037b3660046131a5565b805160208183018101805160078252928201919093012091525481565b3480156103a457600080fd5b506101716113c9565b3480156103b957600080fd5b506101ae6103c8366004613249565b6113dd565b3480156103d957600080fd5b506101ae6103e8366004613249565b611462565b3480156103f957600080fd5b506104026114ba565b6040516101ba9190613458565b34801561041b57600080fd5b506101ae61042a36600461346c565b6114d5565b34801561043b57600080fd5b506101fb61044a366004613023565b61154b565b34801561045b57600080fd5b50610480604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101ba91906134bf565b34801561049957600080fd5b506101fb6104a83660046134d2565b611728565b3480156104b957600080fd5b506006546104c89061ffff1681565b60405161ffff90911681526020016101ba565b3480156104e757600080fd5b506101716104f6366004613249565b6117d6565b34801561050757600080fd5b5061017161051636600461353c565b611869565b34801561052757600080fd5b50610171610536366004613023565b61198a565b34801561054757600080fd5b50610171610556366004613249565b6119c8565b34801561056757600080fd5b5061017161057636600461357c565b611a2b565b6000546001600160a01b031633146105a657604051637fea9dc560e01b815260040160405180910390fd5b6006546105bc9062010000900460ff16826135ad565b600584846040516105ce9291906135c0565b90815260405190819003602001902055505050565b6105eb611a69565b600080546001600160a01b039586166001600160a01b0319918216179091556001805494861694821694909417909355600280549285169284169290921790915560038054919093169116179055565b600080600984846040516106509291906135c0565b90815260200160405180910390205490506000600a85856040516106759291906135c0565b9081526040519081900360200190205460065490915060009061ffff1661069c83856135d0565b10156106b1576106ac82846135d0565b6106b9565b60065461ffff165b9050600093505b80841015610756576000600887876040516106dc9291906135c0565b90815260405190819003602001902060006106f787866135ad565b6107029060016135ad565b8152602001908152602001600020600201549050600587876040516107289291906135c0565b90815260200160405180910390205481106107435750610756565b8461074d816135e3565b955050506106c0565b50505092915050565b610767611a9b565b61077082611b40565b61077a8282611b48565b5050565b6000610788611bfc565b5060008051602061444583398151915290565b6000546001600160a01b031633146107c657604051637fea9dc560e01b815260040160405180910390fd5b60005b6107d383806135fc565b9050811015610a3557366107e784806135fc565b838181106107f7576107f7613645565b9050602002810190610809919061365b565b9050600461081a606083018361367b565b6040516108289291906135c0565b9081526040519081900360200190205460ff166108705761084c606082018261367b565b60405163af0ab70960e01b81526004016108679291906136ea565b60405180910390fd5b600461087f608083018361367b565b60405161088d9291906135c0565b9081526040519081900360200190205460ff166108b15761084c608082018261367b565b6001546001600160a01b0316639af06cd96108cc838061367b565b866040518463ffffffff1660e01b81526004016108eb939291906136fe565b602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c919061372a565b156109375750610a2d565b6001546001600160a01b0316634a5d2b19610955608084018461367b565b61095f858061367b565b6040518563ffffffff1660e01b815260040161097e949392919061374c565b602060405180830381865afa15801561099b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bf919061372a565b156109ca5750610a2d565b6109e86109da60208301836135fc565b6109e3916137a1565b611c45565b60076109f7606084018461367b565b604051610a059291906135c0565b9081526020016040518091039020541015610a205750610a2d565b610a2b848385611c8e565b505b6001016107c9565b5060005b610a4660208401846135fc565b9050811015610bf05736610a5d60208501856135fc565b83818110610a6d57610a6d613645565b9050602002810190610a7f919061384e565b90506004610a90602083018361367b565b604051610a9e9291906135c0565b9081526040519081900360200190205460ff16610ac25761084c602082018261367b565b6001546001600160a01b0316639af06cd9610add838061367b565b866040518463ffffffff1660e01b8152600401610afc939291906136fe565b602060405180830381865afa158015610b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3d919061372a565b15610b485750610be8565b6001546001600160a01b0316634a5d2b19610b66602084018461367b565b610b70858061367b565b6040518563ffffffff1660e01b8152600401610b8f949392919061374c565b602060405180830381865afa158015610bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd0919061372a565b15610bdb5750610be8565b610be6848385612066565b505b600101610a39565b5060005b610c0160408401846135fc565b9050811015610dab5736610c1860408501856135fc565b83818110610c2857610c28613645565b9050602002810190610c3a9190613864565b90506004610c4b602083018361367b565b604051610c599291906135c0565b9081526040519081900360200190205460ff16610c7d5761084c602082018261367b565b6001546001600160a01b0316639af06cd9610c98838061367b565b866040518463ffffffff1660e01b8152600401610cb7939291906136fe565b602060405180830381865afa158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf8919061372a565b15610d035750610da3565b6001546001600160a01b0316634a5d2b19610d21602084018461367b565b610d2b858061367b565b6040518563ffffffff1660e01b8152600401610d4a949392919061374c565b602060405180830381865afa158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b919061372a565b15610d965750610da3565b610da184838561250e565b505b600101610bf4565b5060005b610dbc60608401846135fc565b9050811015610f665736610dd360608501856135fc565b83818110610de357610de3613645565b9050602002810190610df5919061387a565b90506004610e06604083018361367b565b604051610e149291906135c0565b9081526040519081900360200190205460ff16610e385761084c604082018261367b565b6001546001600160a01b0316639af06cd9610e53838061367b565b866040518463ffffffff1660e01b8152600401610e72939291906136fe565b602060405180830381865afa158015610e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb3919061372a565b15610ebe5750610f5e565b6001546001600160a01b0316634a5d2b19610edc604084018461367b565b610ee6858061367b565b6040518563ffffffff1660e01b8152600401610f05949392919061374c565b602060405180830381865afa158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f46919061372a565b15610f515750610f5e565b610f5c8483856127a6565b505b600101610daf565b5060005b610f7760808401846135fc565b90508110156111215736610f8e60808501856135fc565b83818110610f9e57610f9e613645565b9050602002810190610fb0919061384e565b90506004610fc1602083018361367b565b604051610fcf9291906135c0565b9081526040519081900360200190205460ff16610ff35761084c602082018261367b565b6001546001600160a01b0316639af06cd961100e838061367b565b866040518463ffffffff1660e01b815260040161102d939291906136fe565b602060405180830381865afa15801561104a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106e919061372a565b156110795750611119565b6001546001600160a01b0316634a5d2b19611097602084018461367b565b6110a1858061367b565b6040518563ffffffff1660e01b81526004016110c0949392919061374c565b602060405180830381865afa1580156110dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611101919061372a565b1561110c5750611119565b61111784838561298b565b505b600101610f6a565b505050565b6111586040518060a0016040528060608152602001600081526020016000815260200160608152602001606081525090565b6008848460405161116a9291906135c0565b9081526040805191829003602090810183206000868152915281902060a0830190915280548290829061119c90613890565b80601f01602080910402602001604051908101604052809291908181526020018280546111c890613890565b80156112155780601f106111ea57610100808354040283529160200191611215565b820191906000526020600020905b8154815290600101906020018083116111f857829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201805461124290613890565b80601f016020809104026020016040519081016040528092919081815260200182805461126e90613890565b80156112bb5780601f10611290576101008083540402835291602001916112bb565b820191906000526020600020905b81548152906001019060200180831161129e57829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156113b7578382906000526020600020906002020160405180604001604052908160008201805461131c90613890565b80601f016020809104026020016040519081016040528092919081815260200182805461134890613890565b80156113955780601f1061136a57610100808354040283529160200191611395565b820191906000526020600020905b81548152906001019060200180831161137857829003601f168201915b50505050508152602001600182015481525050815260200190600101906112e9565b505050508152505090505b9392505050565b6113d1611a69565b6113db6000612b0d565b565b60015460405163e038ab5560e01b8152600091600019916001600160a01b039091169063e038ab559061141690879087906004016136ea565b602060405180830381865afa158015611433573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145791906138ca565b141590505b92915050565b60008061146f848461063b565b60065490915061ffff16811015806114b257506000811180156114b257506005848460405161149f9291906135c0565b9081526020016040518091039020544310155b949350505050565b6000806114c5612b69565b546001600160a01b031692915050565b600154604051639af06cd960e01b81526000916001600160a01b031690639af06cd99061150a908790879087906004016136fe565b602060405180830381865afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b2919061372a565b60015460405163e2100f4d60e01b8152600091829182916001600160a01b03169063e2100f4d90611584908990899089906004016138e3565b600060405180830381865afa1580156115a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115c99190810190613a41565b8051602082015191925090815b81811161171b576116fd60088a8a6040516115f29291906135c0565b9081526040805191829003602090810183206000868152908252828120600401805480840286018401909452838552929184015b828210156116f4578382906000526020600020906002020160405180604001604052908160008201805461165990613890565b80601f016020809104026020016040519081016040528092919081815260200182805461168590613890565b80156116d25780601f106116a7576101008083540402835291602001916116d2565b820191906000526020600020905b8154815290600101906020018083116116b557829003601f168201915b5050505050815260200160018201548152505081526020019060010190611626565b50505050611c45565b61170790866135ad565b945080611713816135e3565b9150506115d6565b5092979650505050505050565b600080546001600160a01b0316331461175457604051637fea9dc560e01b815260040160405180910390fd5b60015460405163b9d808ff60e01b81526001600160a01b039091169063b9d808ff9061178a908890889088908890600401613b13565b6020604051808303816000875af11580156117a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cd91906138ca565b95945050505050565b6000546001600160a01b0316331461180157604051637fea9dc560e01b815260040160405180910390fd5b60015460405163653434c160e11b81526001600160a01b039091169063ca6869829061183390859085906004016136ea565b600060405180830381600087803b15801561184d57600080fd5b505af1158015611861573d6000803e3d6000fd5b505050505050565b6000611873612b8d565b805490915060ff600160401b82041615906001600160401b031660008115801561189a5750825b90506000826001600160401b031660011480156118b65750303b155b9050811580156118c4575080155b156118e25760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561190c57845460ff60401b1916600160401b1785555b61191533612bb1565b61191d612bc2565b6006805460ff8816620100000262ffffff1990911661ffff8a1617179055831561198157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6000546001600160a01b031633146119b557604051637fea9dc560e01b815260040160405180910390fd5b80600784846040516105ce9291906135c0565b6000546001600160a01b031633146119f357604051637fea9dc560e01b815260040160405180910390fd5b600160048383604051611a079291906135c0565b908152604051908190036020019020805491151560ff199092169190911790555050565b611a33611a69565b6001600160a01b038116611a5d576000604051631e4fbdf760e01b81526004016108679190613458565b611a6681612b0d565b50565b33611a726114ba565b6001600160a01b0316146113db573360405163118cdaa760e01b81526004016108679190613458565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611b2257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611b16600080516020614445833981519152546001600160a01b031690565b6001600160a01b031614155b156113db5760405163703e46dd60e11b815260040160405180910390fd5b611a66611a69565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611ba2575060408051601f3d908101601f19168201909252611b9f918101906138ca565b60015b611bc15781604051634c9c8ce360e01b81526004016108679190613458565b6000805160206144458339815191528114611bf257604051632a87526960e21b815260048101829052602401610867565b6111218383612bca565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113db5760405163703e46dd60e11b815260040160405180910390fd5b60008060005b8351811015611c8757838181518110611c6657611c66613645565b60200260200101516020015182611c7d91906135ad565b9150600101611c4b565b5092915050565b36611c9984806135fc565b84818110611ca957611ca9613645565b9050602002810190611cbb919061365b565b9050600081604051602001611cd09190613c60565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff611d09858061367b565b87866040518563ffffffff1660e01b8152600401611d2a9493929190613b13565b6020604051808303816000875af1158015611d49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d6d91906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de69190613d8d565b60ff16811061186157611dff6109da60208501856135fc565b6007611e0e606086018661367b565b604051611e1c9291906135c0565b90815260200160405180910390206000828254611e3991906135d0565b90915550506002546001600160a01b031663bb1da9c9611e5c606086018661367b565b611e69604088018861384e565b6040518463ffffffff1660e01b8152600401611e8793929190613daa565b600060405180830381600087803b158015611ea157600080fd5b505af1158015611eb5573d6000803e3d6000fd5b505050506000611ece848060800190610276919061367b565b9050611ed984612c20565b6001546001600160a01b03166351a6e113611ef7608087018761367b565b611f01888061367b565b6040518563ffffffff1660e01b8152600401611f20949392919061374c565b600060405180830381600087803b158015611f3a57600080fd5b505af1158015611f4e573d6000803e3d6000fd5b50506001546001600160a01b0316915063e038ab559050611f72608087018761367b565b6040518363ffffffff1660e01b8152600401611f8f9291906136ea565b602060405180830381865afa158015611fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd091906138ca565b600019148015611fde575080155b801561201557506005611ff4608086018661367b565b6040516120029291906135c0565b9081526020016040518091039020544310155b15611981576006546120309062010000900460ff16436135ad565b600561203f608087018761367b565b60405161204d9291906135c0565b9081526040519081900360200190205550505050505050565b3661207460208501856135fc565b8481811061208457612084613645565b9050602002810190612096919061384e565b90506000816040516020016120ab9190613e6e565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff6120e4858061367b565b87866040518563ffffffff1660e01b81526004016121059493929190613b13565b6020604051808303816000875af1158015612124573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214891906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561219d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c19190613d8d565b60ff168110611861576121e46121da602085018561367b565b856040013561154b565b60076121f3602086018661367b565b6040516122019291906135c0565b9081526020016040518091039020600082825461221e91906135ad565b90915550506001546001600160a01b03166351a6e113612241602086018661367b565b61224b878061367b565b6040518563ffffffff1660e01b815260040161226a949392919061374c565b600060405180830381600087803b15801561228457600080fd5b505af1158015612298573d6000803e3d6000fd5b50506001546001600160a01b0316915063ca68698290506122bc602086018661367b565b6040518363ffffffff1660e01b81526004016122d99291906136ea565b600060405180830381600087803b1580156122f357600080fd5b505af1158015612307573d6000803e3d6000fd5b5050600154600092506001600160a01b0316905063e2100f4d61232d602087018761367b565b87604001356040518463ffffffff1660e01b8152600401612350939291906138e3565b600060405180830381865afa15801561236d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123959190810190613a41565b90508060200151600a8580602001906123ae919061367b565b6040516123bc9291906135c0565b908152604051908190036020019020556006546123e39060ff6201000090910416436135ad565b60056123f2602087018761367b565b6040516124009291906135c0565b90815260405160209181900382019020919091556002546001600160a01b03169063b1f08d6b906124339087018761367b565b6124406060890189613eec565b6040518463ffffffff1660e01b815260040161245e93929190613f02565b600060405180830381600087803b15801561247857600080fd5b505af115801561248c573d6000803e3d6000fd5b50506002546001600160a01b03169150631754a61f90506124b0602087018761367b565b84604001516040518463ffffffff1660e01b81526004016124d393929190613fa6565b600060405180830381600087803b1580156124ed57600080fd5b505af1158015612501573d6000803e3d6000fd5b5050505050505050505050565b3661251c60408501856135fc565b8481811061252c5761252c613645565b905060200281019061253e9190613864565b90506000816040516020016125539190613ffa565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff61258c858061367b565b87866040518563ffffffff1660e01b81526004016125ad9493929190613b13565b6020604051808303816000875af11580156125cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f091906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126699190613d8d565b60ff168110611861576001546001600160a01b03166351a6e113612690602086018661367b565b61269a878061367b565b6040518563ffffffff1660e01b81526004016126b9949392919061374c565b600060405180830381600087803b1580156126d357600080fd5b505af11580156126e7573d6000803e3d6000fd5b50506001546001600160a01b0316915063ca686982905061270b602086018661367b565b6040518363ffffffff1660e01b81526004016127289291906136ea565b600060405180830381600087803b15801561274257600080fd5b505af1158015612756573d6000803e3d6000fd5b5050600654612771925062010000900460ff169050436135ad565b6005612780602086018661367b565b60405161278e9291906135c0565b90815260405190819003602001902055505050505050565b366127b460608501856135fc565b848181106127c4576127c4613645565b90506020028101906127d6919061387a565b90506000816040516020016127eb919061405e565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff612824858061367b565b87866040518563ffffffff1660e01b81526004016128459493929190613b13565b6020604051808303816000875af1158015612864573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061288891906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129019190613d8d565b60ff168110611861576001546001600160a01b03166351a6e113612928604086018661367b565b612932878061367b565b6040518563ffffffff1660e01b8152600401612951949392919061374c565b600060405180830381600087803b15801561296b57600080fd5b505af115801561297f573d6000803e3d6000fd5b50505050505050505050565b3661299960808501856135fc565b848181106129a9576129a9613645565b90506020028101906129bb919061384e565b90506000816040516020016129d0919061418d565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff612a09858061367b565b87866040518563ffffffff1660e01b8152600401612a2a9493929190613b13565b6020604051808303816000875af1158015612a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6d91906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190613d8d565b60ff168110611861576001546001600160a01b03166351a6e113612928602086018661367b565b6000612b17612b69565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b612bb9612e30565b611a6681612e55565b6113db612e30565b612bd382612e5d565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115612c18576111218282612eb9565b61077a612f26565b60006009612c31608084018461367b565b604051612c3f9291906135c0565b908152602001604051809103902060008154612c5a906135e3565b91829055509050612c6b828061367b565b6008612c7a608086018661367b565b604051612c889291906135c0565b908152604080516020928190038301902060008681529252902091612cae919083614286565b50612cbc606083018361367b565b6008612ccb608086018661367b565b604051612cd99291906135c0565b908152604080516020928190038301902060008681529252902060030191612d02919083614286565b50806008612d13608085018561367b565b604051612d219291906135c0565b9081526040805160209281900383019020600085815292528120600101919091555b612d5060208401846135fc565b9050811015612dee576008612d68608085018561367b565b604051612d769291906135c0565b908152604080516020928190038301902060008581529083522060040190612da0908501856135fc565b83818110612db057612db0613645565b9050602002810190612dc29190613eec565b815460018101835560009283526020909220909160020201612de48282614340565b5050600101612d43565b50436008612dff608085018561367b565b604051612e0d9291906135c0565b908152604080516020928190038301902060009485529091529091206002015550565b612e38612f45565b6113db57604051631afcd79f60e31b815260040160405180910390fd5b611a33612e30565b806001600160a01b03163b600003612e8a5780604051634c9c8ce360e01b81526004016108679190613458565b60008051602061444583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051612ed69190614432565b600060405180830381855af49150503d8060008114612f11576040519150601f19603f3d011682016040523d82523d6000602084013e612f16565b606091505b50915091506117cd858383612f5f565b34156113db5760405163b398979f60e01b815260040160405180910390fd5b6000612f4f612b8d565b54600160401b900460ff16919050565b606082612f7457612f6f82612fb2565b6113c2565b8151158015612f8b57506001600160a01b0384163b155b15612fab5783604051639996b31560e01b81526004016108679190613458565b50806113c2565b805115612fc25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60008083601f840112612fed57600080fd5b5081356001600160401b0381111561300457600080fd5b60208301915083602082850101111561301c57600080fd5b9250929050565b60008060006040848603121561303857600080fd5b83356001600160401b0381111561304e57600080fd5b61305a86828701612fdb565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156130a6576130a661306e565b60405290565b604051608081016001600160401b03811182821017156130a6576130a661306e565b604051606081016001600160401b03811182821017156130a6576130a661306e565b604051601f8201601f191681016001600160401b03811182821017156131185761311861306e565b604052919050565b60006001600160401b038211156131395761313961306e565b50601f01601f191660200190565b600061315a61315584613120565b6130f0565b905082815283838301111561316e57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261319657600080fd5b6113c283833560208501613147565b6000602082840312156131b757600080fd5b81356001600160401b038111156131cd57600080fd5b6114b284828501613185565b80356001600160a01b03811681146131f057600080fd5b919050565b6000806000806080858703121561320b57600080fd5b613214856131d9565b9350613222602086016131d9565b9250613230604086016131d9565b915061323e606086016131d9565b905092959194509250565b6000806020838503121561325c57600080fd5b82356001600160401b0381111561327257600080fd5b61327e85828601612fdb565b90969095509350505050565b6000806040838503121561329d57600080fd5b6132a6836131d9565b915060208301356001600160401b038111156132c157600080fd5b8301601f810185136132d257600080fd5b6132e185823560208401613147565b9150509250929050565b600080604083850312156132fe57600080fd5b82356001600160401b0381111561331457600080fd5b830160a0818603121561332657600080fd5b9150613334602084016131d9565b90509250929050565b60005b83811015613358578181015183820152602001613340565b50506000910152565b6000815180845261337981602086016020860161333d565b601f01601f19169290920160200192915050565b60006020808352835160a0828501526133a960c0850182613361565b90508185015160408160408701526040870151606087015260608701519150601f19808785030160808801526133df8484613361565b6080890151888203830160a08a015280518083529195508601935085850190600581901b8601870160005b8281101561344957848883030184528651805187845261342c88850182613361565b918b0151938b01939093529689019693890193915060010161340a565b509a9950505050505050505050565b6001600160a01b0391909116815260200190565b60008060006040848603121561348157600080fd5b83356001600160401b0381111561349757600080fd5b6134a386828701612fdb565b90945092506134b69050602085016131d9565b90509250925092565b6020815260006113c26020830184613361565b600080600080606085870312156134e857600080fd5b84356001600160401b038111156134fe57600080fd5b61350a87828801612fdb565b909550935061351d9050602086016131d9565b9396929550929360400135925050565b60ff81168114611a6657600080fd5b6000806040838503121561354f57600080fd5b823561ffff8116811461356157600080fd5b915060208301356135718161352d565b809150509250929050565b60006020828403121561358e57600080fd5b6113c2826131d9565b634e487b7160e01b600052601160045260246000fd5b8082018082111561145c5761145c613597565b8183823760009101908152919050565b8181038181111561145c5761145c613597565b6000600182016135f5576135f5613597565b5060010190565b6000808335601e1984360301811261361357600080fd5b8301803591506001600160401b0382111561362d57600080fd5b6020019150600581901b360382131561301c57600080fd5b634e487b7160e01b600052603260045260246000fd5b60008235609e1983360301811261367157600080fd5b9190910192915050565b6000808335601e1984360301811261369257600080fd5b8301803591506001600160401b038211156136ac57600080fd5b60200191503681900382131561301c57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006114b26020830184866136c1565b6040815260006137126040830185876136c1565b905060018060a01b0383166020830152949350505050565b60006020828403121561373c57600080fd5b815180151581146113c257600080fd5b6040815260006137606040830186886136c1565b82810360208401526137738185876136c1565b979650505050505050565b60006001600160401b038211156137975761379761306e565b5060051b60200190565b60006137af6131558461377e565b80848252602080830192508560051b8501368111156137cd57600080fd5b855b818110156138425780356001600160401b03808211156137ef5760008081fd5b8189019150604082360312156138055760008081fd5b61380d613084565b82358281111561381d5760008081fd5b61382936828601613185565b82525091850135858301525085529382019382016137cf565b50919695505050505050565b60008235607e1983360301811261367157600080fd5b60008235605e1983360301811261367157600080fd5b6000823560fe1983360301811261367157600080fd5b600181811c908216806138a457607f821691505b6020821081036138c457634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156138dc57600080fd5b5051919050565b6040815260006138f76040830185876136c1565b9050826020830152949350505050565b6001600160401b0381168114611a6657600080fd5b600082601f83011261392d57600080fd5b8151602061393d6131558361377e565b82815260059290921b8401810191818101908684111561395c57600080fd5b8286015b84811015613a365780516001600160401b03808211156139805760008081fd5b908801906080828b03601f190181131561399a5760008081fd5b6139a26130ac565b878401516139af81613907565b8152604084810151848111156139c55760008081fd5b85019350603f84018d136139d95760008081fd5b888401516139e961315582613120565b8181528e838388010111156139fe5760008081fd5b613a0d828c830185890161333d565b838b01525060608581015191830191909152919093015190830152508352918301918301613960565b509695505050505050565b600060208284031215613a5357600080fd5b81516001600160401b0380821115613a6a57600080fd5b9083019060608286031215613a7e57600080fd5b613a866130ce565b8251815260208301516020820152604083015182811115613aa657600080fd5b929092019160408387031215613abb57600080fd5b613ac3613084565b835183811115613ad257600080fd5b613ade8882870161391c565b825250602084015183811115613af357600080fd5b613aff8882870161391c565b602083015250604082015295945050505050565b606081526000613b276060830186886136c1565b6001600160a01b03949094166020830152506040015292915050565b6000808335601e19843603018112613b5a57600080fd5b83016020810192503590506001600160401b03811115613b7957600080fd5b80360382131561301c57600080fd5b6000808335601e19843603018112613b9f57600080fd5b83016020810192503590506001600160401b03811115613bbe57600080fd5b8060051b360382131561301c57600080fd5b60008235603e19833603018112613be657600080fd5b90910192915050565b60008235607e19833603018112613be657600080fd5b60008135613c1281613907565b6001600160401b03168352613c2a6020830183613b43565b60806020860152613c3f6080860182846136c1565b91505060408301356040850152606083013560608501528091505092915050565b60006020808352613c718485613b43565b60a083860152613c8560c0860182846136c1565b915050613c9482860186613b88565b601f19604081888603016040890152848386528686019050868460051b8701018560005b86811015613d095785898403018452613cd18289613bd0565b613cdb8182613b43565b878652613ceb88870182846136c1565b928d0135958d019590955250938a0193925090890190600101613cb8565b5050613d1860408c018c613bef565b9750838a82030160608b0152613d2e8189613c05565b9750505050613d406060890189613b43565b9450925080878603016080880152613d598585856136c1565b9450613d686080890189613b43565b94509250808786030160a08801525050613d838383836136c1565b9695505050505050565b600060208284031215613d9f57600080fd5b81516113c28161352d565b604081526000613dbe6040830185876136c1565b8281036020840152613d838185613c05565b6000838385526020808601955060208560051b8301018460005b87811015613e2057848303601f19018952613e0e83613e09848a613bef565b613c05565b98840198925090830190600101613dea565b5090979650505050505050565b6000613e398283613b88565b60408552613e4b604086018284613dd0565b915050613e5b6020840184613b88565b8583036020870152613d83838284613dd0565b602081526000613e7e8384613b43565b60806020850152613e9360a0850182846136c1565b915050613ea36020850185613b43565b601f1980868503016040870152613ebb8483856136c1565b935060408701356060870152613ed46060880188613bd0565b92508086850301608087015250506117cd8282613e2d565b60008235603e1983360301811261367157600080fd5b604081526000613f166040830185876136c1565b8281036020840152613d838185613e2d565b600082825180855260208086019550808260051b84010181860160005b84811015613e2057601f19868403018952815160806001600160401b038251168552858201518187870152613f7c82870182613361565b60408481015190880152606093840151939096019290925250509783019790830190600101613f45565b604081526000613fba6040830185876136c1565b8281036020840152835160408252613fd56040830182613f28565b905060208501518282036020840152613fee8282613f28565b98975050505050505050565b60208152600061400a8384613b43565b6060602085015261401f6080850182846136c1565b91505061402f6020850185613b43565b848303601f190160408601526140468382846136c1565b92505050604084013560608401528091505092915050565b60208152600061406e8384613b43565b610100806020860152614086610120860183856136c1565b92506140956020870187613b43565b9250601f19808786030160408801526140af8585846136c1565b94506140be6040890189613b43565b94509150808786030160608801526140d78585846136c1565b94506140e66060890189613b43565b94509150808786030160808801526140ff8585846136c1565b945061410e6080890189613bef565b9350808786030160a08801526141248585613c05565b945061413360a0890189613b43565b94509150808786030160c088015261414c8585846136c1565b945061415b60c0890189613b43565b94509150808786030160e0880152506141758484836136c1565b93505060e08601358186015250508091505092915050565b60208152600061419d8384613b43565b608060208501526141b260a0850182846136c1565b9150506141c26020850185613b43565b601f19808685030160408701526141da8483856136c1565b93506141e96040880188613b43565b93509150808685030160608701526142028484846136c1565b93506142116060880188613bef565b92508086850301608087015250506117cd8282613c05565b601f821115611121576000816000526020600020601f850160051c810160208610156142525750805b601f850160051c820191505b818110156118615782815560010161425e565b600019600383901b1c191660019190911b1790565b6001600160401b0383111561429d5761429d61306e565b6142b1836142ab8354613890565b83614229565b6000601f8411600181146142df57600085156142cd5750838201355b6142d78682614271565b845550614339565b600083815260209020601f19861690835b8281101561431057868501358255602094850194600190920191016142f0565b508682101561432d5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8135601e1983360301811261435457600080fd5b820180356001600160401b0381111561436c57600080fd5b6020813603818401131561437f57600080fd5b6143938261438d8654613890565b86614229565b6000601f8311600181146143c357600084156143b157508482018301355b6143bb8582614271565b875550614420565b600086815260209020601f19851690835b828110156143f55787850186013582559385019360019091019085016143d4565b50858210156144145760001960f88760031b161c198585890101351681555b505060018460011b0186555b50508085013560018501555050505050565b6000825161367181846020870161333d56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122017811ea0b69609d4b63cf57d37f37872c8c2088e4e04e51dcfeff7e6b9859d9364736f6c63430008170033","deployedBytecode":"0x60806040526004361061014c5760003560e01c8063715018a6116100bc578063715018a61461039857806374cff92e146103ad57806377968b34146103cd5780638da5cb5b146103ed5780639af06cd91461040f578063a474cd9d1461042f578063ad3cb1cc1461044f578063b9d808ff1461048d578063c3487255146104ad578063ca686982146104db578063d9dee844146104fb578063e3aa21f41461051b578063eab481c31461053b578063f2fde38b1461055b57600080fd5b80630d32b63e1461015157806318c586cd146101735780631d530f12146101c357806334d58140146102095780633bde7d2e1461023b57806344e3bd221461025b5780634ae4dd7c1461027b5780634b4c1f84146102b35780634f1ef286146102eb57806352d1902d146102fe5780635673ee67146103135780636cabee01146103335780636cc8f8c714610360575b600080fd5b34801561015d57600080fd5b5061017161016c366004613023565b61057b565b005b34801561017f57600080fd5b506101ae61018e3660046131a5565b805160208183018101805160048252928201919093012091525460ff1681565b60405190151581526020015b60405180910390f35b3480156101cf57600080fd5b506101fb6101de3660046131a5565b8051602081830181018051600a8252928201919093012091525481565b6040519081526020016101ba565b34801561021557600080fd5b506006546102299062010000900460ff1681565b60405160ff90911681526020016101ba565b34801561024757600080fd5b506101716102563660046131f5565b6105e3565b34801561026757600080fd5b506101fb610276366004613249565b61063b565b34801561028757600080fd5b506101fb6102963660046131a5565b805160208183018101805160058252928201919093012091525481565b3480156102bf57600080fd5b506101fb6102ce3660046131a5565b805160208183018101805160098252928201919093012091525481565b6101716102f936600461328a565b61075f565b34801561030a57600080fd5b506101fb61077e565b34801561031f57600080fd5b5061017161032e3660046132eb565b61079b565b34801561033f57600080fd5b5061035361034e366004613023565b611126565b6040516101ba919061338d565b34801561036c57600080fd5b506101fb61037b3660046131a5565b805160208183018101805160078252928201919093012091525481565b3480156103a457600080fd5b506101716113c9565b3480156103b957600080fd5b506101ae6103c8366004613249565b6113dd565b3480156103d957600080fd5b506101ae6103e8366004613249565b611462565b3480156103f957600080fd5b506104026114ba565b6040516101ba9190613458565b34801561041b57600080fd5b506101ae61042a36600461346c565b6114d5565b34801561043b57600080fd5b506101fb61044a366004613023565b61154b565b34801561045b57600080fd5b50610480604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101ba91906134bf565b34801561049957600080fd5b506101fb6104a83660046134d2565b611728565b3480156104b957600080fd5b506006546104c89061ffff1681565b60405161ffff90911681526020016101ba565b3480156104e757600080fd5b506101716104f6366004613249565b6117d6565b34801561050757600080fd5b5061017161051636600461353c565b611869565b34801561052757600080fd5b50610171610536366004613023565b61198a565b34801561054757600080fd5b50610171610556366004613249565b6119c8565b34801561056757600080fd5b5061017161057636600461357c565b611a2b565b6000546001600160a01b031633146105a657604051637fea9dc560e01b815260040160405180910390fd5b6006546105bc9062010000900460ff16826135ad565b600584846040516105ce9291906135c0565b90815260405190819003602001902055505050565b6105eb611a69565b600080546001600160a01b039586166001600160a01b0319918216179091556001805494861694821694909417909355600280549285169284169290921790915560038054919093169116179055565b600080600984846040516106509291906135c0565b90815260200160405180910390205490506000600a85856040516106759291906135c0565b9081526040519081900360200190205460065490915060009061ffff1661069c83856135d0565b10156106b1576106ac82846135d0565b6106b9565b60065461ffff165b9050600093505b80841015610756576000600887876040516106dc9291906135c0565b90815260405190819003602001902060006106f787866135ad565b6107029060016135ad565b8152602001908152602001600020600201549050600587876040516107289291906135c0565b90815260200160405180910390205481106107435750610756565b8461074d816135e3565b955050506106c0565b50505092915050565b610767611a9b565b61077082611b40565b61077a8282611b48565b5050565b6000610788611bfc565b5060008051602061444583398151915290565b6000546001600160a01b031633146107c657604051637fea9dc560e01b815260040160405180910390fd5b60005b6107d383806135fc565b9050811015610a3557366107e784806135fc565b838181106107f7576107f7613645565b9050602002810190610809919061365b565b9050600461081a606083018361367b565b6040516108289291906135c0565b9081526040519081900360200190205460ff166108705761084c606082018261367b565b60405163af0ab70960e01b81526004016108679291906136ea565b60405180910390fd5b600461087f608083018361367b565b60405161088d9291906135c0565b9081526040519081900360200190205460ff166108b15761084c608082018261367b565b6001546001600160a01b0316639af06cd96108cc838061367b565b866040518463ffffffff1660e01b81526004016108eb939291906136fe565b602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c919061372a565b156109375750610a2d565b6001546001600160a01b0316634a5d2b19610955608084018461367b565b61095f858061367b565b6040518563ffffffff1660e01b815260040161097e949392919061374c565b602060405180830381865afa15801561099b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bf919061372a565b156109ca5750610a2d565b6109e86109da60208301836135fc565b6109e3916137a1565b611c45565b60076109f7606084018461367b565b604051610a059291906135c0565b9081526020016040518091039020541015610a205750610a2d565b610a2b848385611c8e565b505b6001016107c9565b5060005b610a4660208401846135fc565b9050811015610bf05736610a5d60208501856135fc565b83818110610a6d57610a6d613645565b9050602002810190610a7f919061384e565b90506004610a90602083018361367b565b604051610a9e9291906135c0565b9081526040519081900360200190205460ff16610ac25761084c602082018261367b565b6001546001600160a01b0316639af06cd9610add838061367b565b866040518463ffffffff1660e01b8152600401610afc939291906136fe565b602060405180830381865afa158015610b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3d919061372a565b15610b485750610be8565b6001546001600160a01b0316634a5d2b19610b66602084018461367b565b610b70858061367b565b6040518563ffffffff1660e01b8152600401610b8f949392919061374c565b602060405180830381865afa158015610bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd0919061372a565b15610bdb5750610be8565b610be6848385612066565b505b600101610a39565b5060005b610c0160408401846135fc565b9050811015610dab5736610c1860408501856135fc565b83818110610c2857610c28613645565b9050602002810190610c3a9190613864565b90506004610c4b602083018361367b565b604051610c599291906135c0565b9081526040519081900360200190205460ff16610c7d5761084c602082018261367b565b6001546001600160a01b0316639af06cd9610c98838061367b565b866040518463ffffffff1660e01b8152600401610cb7939291906136fe565b602060405180830381865afa158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf8919061372a565b15610d035750610da3565b6001546001600160a01b0316634a5d2b19610d21602084018461367b565b610d2b858061367b565b6040518563ffffffff1660e01b8152600401610d4a949392919061374c565b602060405180830381865afa158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b919061372a565b15610d965750610da3565b610da184838561250e565b505b600101610bf4565b5060005b610dbc60608401846135fc565b9050811015610f665736610dd360608501856135fc565b83818110610de357610de3613645565b9050602002810190610df5919061387a565b90506004610e06604083018361367b565b604051610e149291906135c0565b9081526040519081900360200190205460ff16610e385761084c604082018261367b565b6001546001600160a01b0316639af06cd9610e53838061367b565b866040518463ffffffff1660e01b8152600401610e72939291906136fe565b602060405180830381865afa158015610e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb3919061372a565b15610ebe5750610f5e565b6001546001600160a01b0316634a5d2b19610edc604084018461367b565b610ee6858061367b565b6040518563ffffffff1660e01b8152600401610f05949392919061374c565b602060405180830381865afa158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f46919061372a565b15610f515750610f5e565b610f5c8483856127a6565b505b600101610daf565b5060005b610f7760808401846135fc565b90508110156111215736610f8e60808501856135fc565b83818110610f9e57610f9e613645565b9050602002810190610fb0919061384e565b90506004610fc1602083018361367b565b604051610fcf9291906135c0565b9081526040519081900360200190205460ff16610ff35761084c602082018261367b565b6001546001600160a01b0316639af06cd961100e838061367b565b866040518463ffffffff1660e01b815260040161102d939291906136fe565b602060405180830381865afa15801561104a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106e919061372a565b156110795750611119565b6001546001600160a01b0316634a5d2b19611097602084018461367b565b6110a1858061367b565b6040518563ffffffff1660e01b81526004016110c0949392919061374c565b602060405180830381865afa1580156110dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611101919061372a565b1561110c5750611119565b61111784838561298b565b505b600101610f6a565b505050565b6111586040518060a0016040528060608152602001600081526020016000815260200160608152602001606081525090565b6008848460405161116a9291906135c0565b9081526040805191829003602090810183206000868152915281902060a0830190915280548290829061119c90613890565b80601f01602080910402602001604051908101604052809291908181526020018280546111c890613890565b80156112155780601f106111ea57610100808354040283529160200191611215565b820191906000526020600020905b8154815290600101906020018083116111f857829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201805461124290613890565b80601f016020809104026020016040519081016040528092919081815260200182805461126e90613890565b80156112bb5780601f10611290576101008083540402835291602001916112bb565b820191906000526020600020905b81548152906001019060200180831161129e57829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156113b7578382906000526020600020906002020160405180604001604052908160008201805461131c90613890565b80601f016020809104026020016040519081016040528092919081815260200182805461134890613890565b80156113955780601f1061136a57610100808354040283529160200191611395565b820191906000526020600020905b81548152906001019060200180831161137857829003601f168201915b50505050508152602001600182015481525050815260200190600101906112e9565b505050508152505090505b9392505050565b6113d1611a69565b6113db6000612b0d565b565b60015460405163e038ab5560e01b8152600091600019916001600160a01b039091169063e038ab559061141690879087906004016136ea565b602060405180830381865afa158015611433573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145791906138ca565b141590505b92915050565b60008061146f848461063b565b60065490915061ffff16811015806114b257506000811180156114b257506005848460405161149f9291906135c0565b9081526020016040518091039020544310155b949350505050565b6000806114c5612b69565b546001600160a01b031692915050565b600154604051639af06cd960e01b81526000916001600160a01b031690639af06cd99061150a908790879087906004016136fe565b602060405180830381865afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b2919061372a565b60015460405163e2100f4d60e01b8152600091829182916001600160a01b03169063e2100f4d90611584908990899089906004016138e3565b600060405180830381865afa1580156115a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115c99190810190613a41565b8051602082015191925090815b81811161171b576116fd60088a8a6040516115f29291906135c0565b9081526040805191829003602090810183206000868152908252828120600401805480840286018401909452838552929184015b828210156116f4578382906000526020600020906002020160405180604001604052908160008201805461165990613890565b80601f016020809104026020016040519081016040528092919081815260200182805461168590613890565b80156116d25780601f106116a7576101008083540402835291602001916116d2565b820191906000526020600020905b8154815290600101906020018083116116b557829003601f168201915b5050505050815260200160018201548152505081526020019060010190611626565b50505050611c45565b61170790866135ad565b945080611713816135e3565b9150506115d6565b5092979650505050505050565b600080546001600160a01b0316331461175457604051637fea9dc560e01b815260040160405180910390fd5b60015460405163b9d808ff60e01b81526001600160a01b039091169063b9d808ff9061178a908890889088908890600401613b13565b6020604051808303816000875af11580156117a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cd91906138ca565b95945050505050565b6000546001600160a01b0316331461180157604051637fea9dc560e01b815260040160405180910390fd5b60015460405163653434c160e11b81526001600160a01b039091169063ca6869829061183390859085906004016136ea565b600060405180830381600087803b15801561184d57600080fd5b505af1158015611861573d6000803e3d6000fd5b505050505050565b6000611873612b8d565b805490915060ff600160401b82041615906001600160401b031660008115801561189a5750825b90506000826001600160401b031660011480156118b65750303b155b9050811580156118c4575080155b156118e25760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561190c57845460ff60401b1916600160401b1785555b61191533612bb1565b61191d612bc2565b6006805460ff8816620100000262ffffff1990911661ffff8a1617179055831561198157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6000546001600160a01b031633146119b557604051637fea9dc560e01b815260040160405180910390fd5b80600784846040516105ce9291906135c0565b6000546001600160a01b031633146119f357604051637fea9dc560e01b815260040160405180910390fd5b600160048383604051611a079291906135c0565b908152604051908190036020019020805491151560ff199092169190911790555050565b611a33611a69565b6001600160a01b038116611a5d576000604051631e4fbdf760e01b81526004016108679190613458565b611a6681612b0d565b50565b33611a726114ba565b6001600160a01b0316146113db573360405163118cdaa760e01b81526004016108679190613458565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611b2257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611b16600080516020614445833981519152546001600160a01b031690565b6001600160a01b031614155b156113db5760405163703e46dd60e11b815260040160405180910390fd5b611a66611a69565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611ba2575060408051601f3d908101601f19168201909252611b9f918101906138ca565b60015b611bc15781604051634c9c8ce360e01b81526004016108679190613458565b6000805160206144458339815191528114611bf257604051632a87526960e21b815260048101829052602401610867565b6111218383612bca565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113db5760405163703e46dd60e11b815260040160405180910390fd5b60008060005b8351811015611c8757838181518110611c6657611c66613645565b60200260200101516020015182611c7d91906135ad565b9150600101611c4b565b5092915050565b36611c9984806135fc565b84818110611ca957611ca9613645565b9050602002810190611cbb919061365b565b9050600081604051602001611cd09190613c60565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff611d09858061367b565b87866040518563ffffffff1660e01b8152600401611d2a9493929190613b13565b6020604051808303816000875af1158015611d49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d6d91906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de69190613d8d565b60ff16811061186157611dff6109da60208501856135fc565b6007611e0e606086018661367b565b604051611e1c9291906135c0565b90815260200160405180910390206000828254611e3991906135d0565b90915550506002546001600160a01b031663bb1da9c9611e5c606086018661367b565b611e69604088018861384e565b6040518463ffffffff1660e01b8152600401611e8793929190613daa565b600060405180830381600087803b158015611ea157600080fd5b505af1158015611eb5573d6000803e3d6000fd5b505050506000611ece848060800190610276919061367b565b9050611ed984612c20565b6001546001600160a01b03166351a6e113611ef7608087018761367b565b611f01888061367b565b6040518563ffffffff1660e01b8152600401611f20949392919061374c565b600060405180830381600087803b158015611f3a57600080fd5b505af1158015611f4e573d6000803e3d6000fd5b50506001546001600160a01b0316915063e038ab559050611f72608087018761367b565b6040518363ffffffff1660e01b8152600401611f8f9291906136ea565b602060405180830381865afa158015611fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd091906138ca565b600019148015611fde575080155b801561201557506005611ff4608086018661367b565b6040516120029291906135c0565b9081526020016040518091039020544310155b15611981576006546120309062010000900460ff16436135ad565b600561203f608087018761367b565b60405161204d9291906135c0565b9081526040519081900360200190205550505050505050565b3661207460208501856135fc565b8481811061208457612084613645565b9050602002810190612096919061384e565b90506000816040516020016120ab9190613e6e565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff6120e4858061367b565b87866040518563ffffffff1660e01b81526004016121059493929190613b13565b6020604051808303816000875af1158015612124573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214891906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561219d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c19190613d8d565b60ff168110611861576121e46121da602085018561367b565b856040013561154b565b60076121f3602086018661367b565b6040516122019291906135c0565b9081526020016040518091039020600082825461221e91906135ad565b90915550506001546001600160a01b03166351a6e113612241602086018661367b565b61224b878061367b565b6040518563ffffffff1660e01b815260040161226a949392919061374c565b600060405180830381600087803b15801561228457600080fd5b505af1158015612298573d6000803e3d6000fd5b50506001546001600160a01b0316915063ca68698290506122bc602086018661367b565b6040518363ffffffff1660e01b81526004016122d99291906136ea565b600060405180830381600087803b1580156122f357600080fd5b505af1158015612307573d6000803e3d6000fd5b5050600154600092506001600160a01b0316905063e2100f4d61232d602087018761367b565b87604001356040518463ffffffff1660e01b8152600401612350939291906138e3565b600060405180830381865afa15801561236d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123959190810190613a41565b90508060200151600a8580602001906123ae919061367b565b6040516123bc9291906135c0565b908152604051908190036020019020556006546123e39060ff6201000090910416436135ad565b60056123f2602087018761367b565b6040516124009291906135c0565b90815260405160209181900382019020919091556002546001600160a01b03169063b1f08d6b906124339087018761367b565b6124406060890189613eec565b6040518463ffffffff1660e01b815260040161245e93929190613f02565b600060405180830381600087803b15801561247857600080fd5b505af115801561248c573d6000803e3d6000fd5b50506002546001600160a01b03169150631754a61f90506124b0602087018761367b565b84604001516040518463ffffffff1660e01b81526004016124d393929190613fa6565b600060405180830381600087803b1580156124ed57600080fd5b505af1158015612501573d6000803e3d6000fd5b5050505050505050505050565b3661251c60408501856135fc565b8481811061252c5761252c613645565b905060200281019061253e9190613864565b90506000816040516020016125539190613ffa565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff61258c858061367b565b87866040518563ffffffff1660e01b81526004016125ad9493929190613b13565b6020604051808303816000875af11580156125cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f091906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126699190613d8d565b60ff168110611861576001546001600160a01b03166351a6e113612690602086018661367b565b61269a878061367b565b6040518563ffffffff1660e01b81526004016126b9949392919061374c565b600060405180830381600087803b1580156126d357600080fd5b505af11580156126e7573d6000803e3d6000fd5b50506001546001600160a01b0316915063ca686982905061270b602086018661367b565b6040518363ffffffff1660e01b81526004016127289291906136ea565b600060405180830381600087803b15801561274257600080fd5b505af1158015612756573d6000803e3d6000fd5b5050600654612771925062010000900460ff169050436135ad565b6005612780602086018661367b565b60405161278e9291906135c0565b90815260405190819003602001902055505050505050565b366127b460608501856135fc565b848181106127c4576127c4613645565b90506020028101906127d6919061387a565b90506000816040516020016127eb919061405e565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff612824858061367b565b87866040518563ffffffff1660e01b81526004016128459493929190613b13565b6020604051808303816000875af1158015612864573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061288891906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129019190613d8d565b60ff168110611861576001546001600160a01b03166351a6e113612928604086018661367b565b612932878061367b565b6040518563ffffffff1660e01b8152600401612951949392919061374c565b600060405180830381600087803b15801561296b57600080fd5b505af115801561297f573d6000803e3d6000fd5b50505050505050505050565b3661299960808501856135fc565b848181106129a9576129a9613645565b90506020028101906129bb919061384e565b90506000816040516020016129d0919061418d565b60408051601f1981840301815291905280516020909101206001549091506000906001600160a01b031663b9d808ff612a09858061367b565b87866040518563ffffffff1660e01b8152600401612a2a9493929190613b13565b6020604051808303816000875af1158015612a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6d91906138ca565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190613d8d565b60ff168110611861576001546001600160a01b03166351a6e113612928602086018661367b565b6000612b17612b69565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b612bb9612e30565b611a6681612e55565b6113db612e30565b612bd382612e5d565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115612c18576111218282612eb9565b61077a612f26565b60006009612c31608084018461367b565b604051612c3f9291906135c0565b908152602001604051809103902060008154612c5a906135e3565b91829055509050612c6b828061367b565b6008612c7a608086018661367b565b604051612c889291906135c0565b908152604080516020928190038301902060008681529252902091612cae919083614286565b50612cbc606083018361367b565b6008612ccb608086018661367b565b604051612cd99291906135c0565b908152604080516020928190038301902060008681529252902060030191612d02919083614286565b50806008612d13608085018561367b565b604051612d219291906135c0565b9081526040805160209281900383019020600085815292528120600101919091555b612d5060208401846135fc565b9050811015612dee576008612d68608085018561367b565b604051612d769291906135c0565b908152604080516020928190038301902060008581529083522060040190612da0908501856135fc565b83818110612db057612db0613645565b9050602002810190612dc29190613eec565b815460018101835560009283526020909220909160020201612de48282614340565b5050600101612d43565b50436008612dff608085018561367b565b604051612e0d9291906135c0565b908152604080516020928190038301902060009485529091529091206002015550565b612e38612f45565b6113db57604051631afcd79f60e31b815260040160405180910390fd5b611a33612e30565b806001600160a01b03163b600003612e8a5780604051634c9c8ce360e01b81526004016108679190613458565b60008051602061444583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051612ed69190614432565b600060405180830381855af49150503d8060008114612f11576040519150601f19603f3d011682016040523d82523d6000602084013e612f16565b606091505b50915091506117cd858383612f5f565b34156113db5760405163b398979f60e01b815260040160405180910390fd5b6000612f4f612b8d565b54600160401b900460ff16919050565b606082612f7457612f6f82612fb2565b6113c2565b8151158015612f8b57506001600160a01b0384163b155b15612fab5783604051639996b31560e01b81526004016108679190613458565b50806113c2565b805115612fc25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60008083601f840112612fed57600080fd5b5081356001600160401b0381111561300457600080fd5b60208301915083602082850101111561301c57600080fd5b9250929050565b60008060006040848603121561303857600080fd5b83356001600160401b0381111561304e57600080fd5b61305a86828701612fdb565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156130a6576130a661306e565b60405290565b604051608081016001600160401b03811182821017156130a6576130a661306e565b604051606081016001600160401b03811182821017156130a6576130a661306e565b604051601f8201601f191681016001600160401b03811182821017156131185761311861306e565b604052919050565b60006001600160401b038211156131395761313961306e565b50601f01601f191660200190565b600061315a61315584613120565b6130f0565b905082815283838301111561316e57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261319657600080fd5b6113c283833560208501613147565b6000602082840312156131b757600080fd5b81356001600160401b038111156131cd57600080fd5b6114b284828501613185565b80356001600160a01b03811681146131f057600080fd5b919050565b6000806000806080858703121561320b57600080fd5b613214856131d9565b9350613222602086016131d9565b9250613230604086016131d9565b915061323e606086016131d9565b905092959194509250565b6000806020838503121561325c57600080fd5b82356001600160401b0381111561327257600080fd5b61327e85828601612fdb565b90969095509350505050565b6000806040838503121561329d57600080fd5b6132a6836131d9565b915060208301356001600160401b038111156132c157600080fd5b8301601f810185136132d257600080fd5b6132e185823560208401613147565b9150509250929050565b600080604083850312156132fe57600080fd5b82356001600160401b0381111561331457600080fd5b830160a0818603121561332657600080fd5b9150613334602084016131d9565b90509250929050565b60005b83811015613358578181015183820152602001613340565b50506000910152565b6000815180845261337981602086016020860161333d565b601f01601f19169290920160200192915050565b60006020808352835160a0828501526133a960c0850182613361565b90508185015160408160408701526040870151606087015260608701519150601f19808785030160808801526133df8484613361565b6080890151888203830160a08a015280518083529195508601935085850190600581901b8601870160005b8281101561344957848883030184528651805187845261342c88850182613361565b918b0151938b01939093529689019693890193915060010161340a565b509a9950505050505050505050565b6001600160a01b0391909116815260200190565b60008060006040848603121561348157600080fd5b83356001600160401b0381111561349757600080fd5b6134a386828701612fdb565b90945092506134b69050602085016131d9565b90509250925092565b6020815260006113c26020830184613361565b600080600080606085870312156134e857600080fd5b84356001600160401b038111156134fe57600080fd5b61350a87828801612fdb565b909550935061351d9050602086016131d9565b9396929550929360400135925050565b60ff81168114611a6657600080fd5b6000806040838503121561354f57600080fd5b823561ffff8116811461356157600080fd5b915060208301356135718161352d565b809150509250929050565b60006020828403121561358e57600080fd5b6113c2826131d9565b634e487b7160e01b600052601160045260246000fd5b8082018082111561145c5761145c613597565b8183823760009101908152919050565b8181038181111561145c5761145c613597565b6000600182016135f5576135f5613597565b5060010190565b6000808335601e1984360301811261361357600080fd5b8301803591506001600160401b0382111561362d57600080fd5b6020019150600581901b360382131561301c57600080fd5b634e487b7160e01b600052603260045260246000fd5b60008235609e1983360301811261367157600080fd5b9190910192915050565b6000808335601e1984360301811261369257600080fd5b8301803591506001600160401b038211156136ac57600080fd5b60200191503681900382131561301c57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006114b26020830184866136c1565b6040815260006137126040830185876136c1565b905060018060a01b0383166020830152949350505050565b60006020828403121561373c57600080fd5b815180151581146113c257600080fd5b6040815260006137606040830186886136c1565b82810360208401526137738185876136c1565b979650505050505050565b60006001600160401b038211156137975761379761306e565b5060051b60200190565b60006137af6131558461377e565b80848252602080830192508560051b8501368111156137cd57600080fd5b855b818110156138425780356001600160401b03808211156137ef5760008081fd5b8189019150604082360312156138055760008081fd5b61380d613084565b82358281111561381d5760008081fd5b61382936828601613185565b82525091850135858301525085529382019382016137cf565b50919695505050505050565b60008235607e1983360301811261367157600080fd5b60008235605e1983360301811261367157600080fd5b6000823560fe1983360301811261367157600080fd5b600181811c908216806138a457607f821691505b6020821081036138c457634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156138dc57600080fd5b5051919050565b6040815260006138f76040830185876136c1565b9050826020830152949350505050565b6001600160401b0381168114611a6657600080fd5b600082601f83011261392d57600080fd5b8151602061393d6131558361377e565b82815260059290921b8401810191818101908684111561395c57600080fd5b8286015b84811015613a365780516001600160401b03808211156139805760008081fd5b908801906080828b03601f190181131561399a5760008081fd5b6139a26130ac565b878401516139af81613907565b8152604084810151848111156139c55760008081fd5b85019350603f84018d136139d95760008081fd5b888401516139e961315582613120565b8181528e838388010111156139fe5760008081fd5b613a0d828c830185890161333d565b838b01525060608581015191830191909152919093015190830152508352918301918301613960565b509695505050505050565b600060208284031215613a5357600080fd5b81516001600160401b0380821115613a6a57600080fd5b9083019060608286031215613a7e57600080fd5b613a866130ce565b8251815260208301516020820152604083015182811115613aa657600080fd5b929092019160408387031215613abb57600080fd5b613ac3613084565b835183811115613ad257600080fd5b613ade8882870161391c565b825250602084015183811115613af357600080fd5b613aff8882870161391c565b602083015250604082015295945050505050565b606081526000613b276060830186886136c1565b6001600160a01b03949094166020830152506040015292915050565b6000808335601e19843603018112613b5a57600080fd5b83016020810192503590506001600160401b03811115613b7957600080fd5b80360382131561301c57600080fd5b6000808335601e19843603018112613b9f57600080fd5b83016020810192503590506001600160401b03811115613bbe57600080fd5b8060051b360382131561301c57600080fd5b60008235603e19833603018112613be657600080fd5b90910192915050565b60008235607e19833603018112613be657600080fd5b60008135613c1281613907565b6001600160401b03168352613c2a6020830183613b43565b60806020860152613c3f6080860182846136c1565b91505060408301356040850152606083013560608501528091505092915050565b60006020808352613c718485613b43565b60a083860152613c8560c0860182846136c1565b915050613c9482860186613b88565b601f19604081888603016040890152848386528686019050868460051b8701018560005b86811015613d095785898403018452613cd18289613bd0565b613cdb8182613b43565b878652613ceb88870182846136c1565b928d0135958d019590955250938a0193925090890190600101613cb8565b5050613d1860408c018c613bef565b9750838a82030160608b0152613d2e8189613c05565b9750505050613d406060890189613b43565b9450925080878603016080880152613d598585856136c1565b9450613d686080890189613b43565b94509250808786030160a08801525050613d838383836136c1565b9695505050505050565b600060208284031215613d9f57600080fd5b81516113c28161352d565b604081526000613dbe6040830185876136c1565b8281036020840152613d838185613c05565b6000838385526020808601955060208560051b8301018460005b87811015613e2057848303601f19018952613e0e83613e09848a613bef565b613c05565b98840198925090830190600101613dea565b5090979650505050505050565b6000613e398283613b88565b60408552613e4b604086018284613dd0565b915050613e5b6020840184613b88565b8583036020870152613d83838284613dd0565b602081526000613e7e8384613b43565b60806020850152613e9360a0850182846136c1565b915050613ea36020850185613b43565b601f1980868503016040870152613ebb8483856136c1565b935060408701356060870152613ed46060880188613bd0565b92508086850301608087015250506117cd8282613e2d565b60008235603e1983360301811261367157600080fd5b604081526000613f166040830185876136c1565b8281036020840152613d838185613e2d565b600082825180855260208086019550808260051b84010181860160005b84811015613e2057601f19868403018952815160806001600160401b038251168552858201518187870152613f7c82870182613361565b60408481015190880152606093840151939096019290925250509783019790830190600101613f45565b604081526000613fba6040830185876136c1565b8281036020840152835160408252613fd56040830182613f28565b905060208501518282036020840152613fee8282613f28565b98975050505050505050565b60208152600061400a8384613b43565b6060602085015261401f6080850182846136c1565b91505061402f6020850185613b43565b848303601f190160408601526140468382846136c1565b92505050604084013560608401528091505092915050565b60208152600061406e8384613b43565b610100806020860152614086610120860183856136c1565b92506140956020870187613b43565b9250601f19808786030160408801526140af8585846136c1565b94506140be6040890189613b43565b94509150808786030160608801526140d78585846136c1565b94506140e66060890189613b43565b94509150808786030160808801526140ff8585846136c1565b945061410e6080890189613bef565b9350808786030160a08801526141248585613c05565b945061413360a0890189613b43565b94509150808786030160c088015261414c8585846136c1565b945061415b60c0890189613b43565b94509150808786030160e0880152506141758484836136c1565b93505060e08601358186015250508091505092915050565b60208152600061419d8384613b43565b608060208501526141b260a0850182846136c1565b9150506141c26020850185613b43565b601f19808685030160408701526141da8483856136c1565b93506141e96040880188613b43565b93509150808685030160608701526142028484846136c1565b93506142116060880188613bef565b92508086850301608087015250506117cd8282613c05565b601f821115611121576000816000526020600020601f850160051c810160208610156142525750805b601f850160051c820191505b818110156118615782815560010161425e565b600019600383901b1c191660019190911b1790565b6001600160401b0383111561429d5761429d61306e565b6142b1836142ab8354613890565b83614229565b6000601f8411600181146142df57600085156142cd5750838201355b6142d78682614271565b845550614339565b600083815260209020601f19861690835b8281101561431057868501358255602094850194600190920191016142f0565b508682101561432d5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8135601e1983360301811261435457600080fd5b820180356001600160401b0381111561436c57600080fd5b6020813603818401131561437f57600080fd5b6143938261438d8654613890565b86614229565b6000601f8311600181146143c357600084156143b157508482018301355b6143bb8582614271565b875550614420565b600086815260209020601f19851690835b828110156143f55787850186013582559385019360019091019085016143d4565b50858210156144145760001960f88760031b161c198585890101351681555b505060018460011b0186555b50508085013560018501555050505050565b6000825161367181846020870161333d56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122017811ea0b69609d4b63cf57d37f37872c8c2088e4e04e51dcfeff7e6b9859d9364736f6c63430008170033","linkReferences":{},"deployedLinkReferences":{}}` -var SignedBatchesArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"SignedBatches","sourceName":"contracts/SignedBatches.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getConfirmedBatch","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string[]","name":"multisigSignatures","type":"string[]"},{"internalType":"string[]","name":"feePayerMultisigSignatures","type":"string[]"}],"internalType":"struct IBridgeStructs.ConfirmedBatch","name":"batch","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"},{"internalType":"address","name":"addr","type":"address"}],"name":"isBatchAlreadySubmittedBy","outputs":[{"internalType":"bool","name":"ok","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"lastConfirmedBatch","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"rawTransaction","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"},{"internalType":"address","name":"_claimsHelperAddress","type":"address"},{"internalType":"address","name":"_validatorsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"destinationChainId","type":"string"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"string","name":"feePayerMultisigSignature","type":"string"},{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.SignedBatch","name":"_signedBatch","type":"tuple"},{"internalType":"address","name":"_caller","type":"address"}],"name":"submitSignedBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125c06200010460003960008181610a0c01528181610a350152610b7201526125c06000f3fe6080604052600436106100975760003560e01c80631c8f27751461009c5780634f1ef286146100d357806352d1902d146100e8578063715018a61461010b5780638129fc1c146101205780638da5cb5b14610135578063ad3cb1cc14610157578063b52d326c14610195578063d254f6f2146101b5578063d52c54c4146101d5578063df04b2ae14610202578063f2fde38b14610232575b600080fd5b3480156100a857600080fd5b506100bc6100b73660046118de565b610252565b6040516100ca92919061196a565b60405180910390f35b6100e66100e136600461199f565b610302565b005b3480156100f457600080fd5b506100fd610321565b6040519081526020016100ca565b34801561011757600080fd5b506100e661033e565b34801561012c57600080fd5b506100e6610352565b34801561014157600080fd5b5061014a610453565b6040516100ca9190611a00565b34801561016357600080fd5b50610188604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ca9190611a14565b3480156101a157600080fd5b506100e66101b0366004611a27565b61046e565b3480156101c157600080fd5b506100e66101d0366004611a6a565b6104b5565b3480156101e157600080fd5b506101f56101f0366004611b05565b610657565b6040516100ca9190611ba0565b34801561020e57600080fd5b5061022261021d366004611c02565b610904565b60405190151581526020016100ca565b34801561023e57600080fd5b506100e661024d366004611c4c565b6109ba565b80516020818301810180516005825292820191909301209152805460018201805491929161027f90611c67565b80601f01602080910402602001604051908101604052809291908181526020018280546102ab90611c67565b80156102f85780601f106102cd576101008083540402835291602001916102f8565b820191906000526020600020905b8154815290600101906020018083116102db57829003601f168201915b5050505050905082565b61030a610a01565b61031382610aa6565b61031d8282610aae565b5050565b600061032b610b67565b5060008051602061256b83398151915290565b610346610bb0565b6103506000610be2565b565b600061035c610c3e565b805490915060ff600160401b82041615906001600160401b03166000811580156103835750825b90506000826001600160401b0316600114801561039f5750303b155b9050811580156103ad575080155b156103cb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103f557845460ff60401b1916600160401b1785555b6103fe33610c62565b610406610c73565b831561044c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b60008061045e610c7b565b546001600160a01b031692915050565b610476610bb0565b600080546001600160a01b039485166001600160a01b031991821617909155600180549385169382169390931790925560028054919093169116179055565b6000546001600160a01b031633146104e057604051637fea9dc560e01b815260040160405180910390fd5b3660006104f06020850185611ca1565b909250905060006105018535610c9f565b9050600060058484604051610517929190611ce7565b908152604051908190036020019020549050610534816001611cf7565b86351461054357505050505050565b600154604051639af06cd960e01b81526001600160a01b0390911690639af06cd9906105759085908990600401611d18565b602060405180830381865afa158015610592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b69190611d42565b156105c357505050505050565b600154604051634a5d2b1960e01b81526001600160a01b0390911690634a5d2b19906105f790879087908790600401611d8d565b602060405180830381865afa158015610614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106389190611d42565b1561064557505050505050565b61064f8683610d31565b505050505050565b6106826040518060800160405280600081526020016060815260200160608152602001606081525090565b60058383604051610694929190611ce7565b9081526020016040518091039020604051806080016040529081600082015481526020016001820180546106c790611c67565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611c67565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b8282101561081a57838290600052602060002001805461078d90611c67565b80601f01602080910402602001604051908101604052809291908181526020018280546107b990611c67565b80156108065780601f106107db57610100808354040283529160200191610806565b820191906000526020600020905b8154815290600101906020018083116107e957829003601f168201915b50505050508152602001906001019061076e565b50505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156108f357838290600052602060002001805461086690611c67565b80601f016020809104026020016040519081016040528092919081815260200182805461089290611c67565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081526020019060010190610847565b505050508152505090505b92915050565b6001546040516000916001600160a01b031690639af06cd990610951906005906109319089908990611ce7565b9081526040519081900360200190205461094c906001611cf7565b610c9f565b846040518363ffffffff1660e01b815260040161096f929190611d18565b602060405180830381865afa15801561098c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b09190611d42565b90505b9392505050565b6109c2610bb0565b6001600160a01b0381166109f5576000604051631e4fbdf760e01b81526004016109ec9190611a00565b60405180910390fd5b6109fe81610be2565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610a8857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a7c60008051602061256b833981519152546001600160a01b031690565b6001600160a01b031614155b156103505760405163703e46dd60e11b815260040160405180910390fd5b6109fe610bb0565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b08575060408051601f3d908101601f19168201909252610b0591810190611dbd565b60015b610b275781604051634c9c8ce360e01b81526004016109ec9190611a00565b60008051602061256b8339815191528114610b5857604051632a87526960e21b8152600481018290526024016109ec565b610b62838361145c565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103505760405163703e46dd60e11b815260040160405180910390fd5b33610bb9610453565b6001600160a01b031614610350573360405163118cdaa760e01b81526004016109ec9190611a00565b6000610bec610c7b565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b610c6a6114b2565b6109fe816114d7565b6103506114b2565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b60606000610cac836114df565b60010190506000816001600160401b03811115610ccb57610ccb6117f9565b6040519080825280601f01601f191660200182016040528015610cf5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610cff57509392505050565b60006040518060c0016040528084600001358152602001848060200190610d589190611ca1565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001610d9f6040860186611ca1565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060a0850135602082015260c08501356040820152606001610dfa60e0860186611dd6565b610e0390611f06565b8152509050600081604051602001610e1b9190612009565b6040516020818303038152906040528051906020012090506003848060200190610e459190611ca1565b604051610e53929190611ce7565b9081526040805160209281900383019020600084815292529020610e7a6060860186611ca1565b82546001810184556000938452602090932090920191610e9a9183612100565b506004610eaa6020860186611ca1565b604051610eb8929190611ce7565b9081526040805160209281900383019020600084815292529020610edf6080860186611ca1565b82546001810184556000938452602090932090920191610eff9183612100565b5060015460405163b9d808ff60e01b81526000916001600160a01b03169063b9d808ff90610f35908790339087906004016121b9565b6020604051808303816000875af1158015610f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f789190611dbd565b9050600260009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff191906121e7565b60ff16811061044c576001546040516364d06b0560e01b81526001600160a01b03909116906364d06b059061102a9088906004016123a5565b600060405180830381600087803b15801561104457600080fd5b505af1158015611058573d6000803e3d6000fd5b50506001546001600160a01b031691506351a6e113905061107c6020880188611ca1565b876040518463ffffffff1660e01b815260040161109b93929190611d8d565b600060405180830381600087803b1580156110b557600080fd5b505af11580156110c9573d6000803e3d6000fd5b50505050604051806080016040528060058780602001906110ea9190611ca1565b6040516110f8929190611ce7565b90815260405190819003602001902054611113906001611cf7565b81526020016111256040880188611ca1565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060209081019060039061117190890189611ca1565b60405161117f929190611ce7565b9081526040805191829003602090810183206000888152908252828120805480840286018401909452838552929184015b8282101561125c5783829060005260206000200180546111cf90611c67565b80601f01602080910402602001604051908101604052809291908181526020018280546111fb90611c67565b80156112485780601f1061121d57610100808354040283529160200191611248565b820191906000526020600020905b81548152906001019060200180831161122b57829003601f168201915b5050505050815260200190600101906111b0565b50505050815260200160048780602001906112779190611ca1565b604051611285929190611ce7565b9081526040805191829003602090810183206000888152908252828120805480840286018401909452838552929184015b828210156113625783829060005260206000200180546112d590611c67565b80601f016020809104026020016040519081016040528092919081815260200182805461130190611c67565b801561134e5780601f106113235761010080835404028352916020019161134e565b820191906000526020600020905b81548152906001019060200180831161133157829003601f168201915b5050505050815260200190600101906112b6565b50505091525060056113776020880188611ca1565b604051611385929190611ce7565b90815260405160209181900382019020825181559082015160018201906113ac908261248b565b50604082015180516113c891600284019160209091019061173c565b50606082015180516113e491600384019160209091019061173c565b50506001546001600160a01b03169050630b5023326114066020880188611ca1565b6040518363ffffffff1660e01b8152600401611423929190612544565b600060405180830381600087803b15801561143d57600080fd5b505af1158015611451573d6000803e3d6000fd5b505050505050505050565b611465826115b5565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156114aa57610b628282611611565b61031d611687565b6114ba6116a6565b61035057604051631afcd79f60e31b815260040160405180910390fd5b6109c26114b2565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061151e5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310611548576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061156657662386f26fc10000830492506010015b6305f5e100831061157e576305f5e100830492506008015b612710831061159257612710830492506004015b606483106115a4576064830492506002015b600a83106108fe5760010192915050565b806001600160a01b03163b6000036115e25780604051634c9c8ce360e01b81526004016109ec9190611a00565b60008051602061256b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161162e9190612558565b600060405180830381855af49150503d8060008114611669576040519150601f19603f3d011682016040523d82523d6000602084013e61166e565b606091505b509150915061167e8583836116c0565b95945050505050565b34156103505760405163b398979f60e01b815260040160405180910390fd5b60006116b0610c3e565b54600160401b900460ff16919050565b6060826116d5576116d082611713565b6109b3565b81511580156116ec57506001600160a01b0384163b155b1561170c5783604051639996b31560e01b81526004016109ec9190611a00565b50806109b3565b8051156117235780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b828054828255906000526020600020908101928215611782579160200282015b828111156117825782518290611772908261248b565b509160200191906001019061175c565b5061178e929150611792565b5090565b8082111561178e5760006117a682826117af565b50600101611792565b5080546117bb90611c67565b6000825580601f106117cb575050565b601f0160209004906000526020600020908101906109fe91905b8082111561178e57600081556001016117e5565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715611831576118316117f9565b60405290565b604051601f8201601f191681016001600160401b038111828210171561185f5761185f6117f9565b604052919050565b60006001600160401b03831115611880576118806117f9565b611893601f8401601f1916602001611837565b90508281528383830111156118a757600080fd5b828260208301376000602084830101529392505050565b600082601f8301126118cf57600080fd5b6109b383833560208501611867565b6000602082840312156118f057600080fd5b81356001600160401b0381111561190657600080fd5b611912848285016118be565b949350505050565b60005b8381101561193557818101518382015260200161191d565b50506000910152565b6000815180845261195681602086016020860161191a565b601f01601f19169290920160200192915050565b8281526040602082015260006109b0604083018461193e565b80356001600160a01b038116811461199a57600080fd5b919050565b600080604083850312156119b257600080fd5b6119bb83611983565b915060208301356001600160401b038111156119d657600080fd5b8301601f810185136119e757600080fd5b6119f685823560208401611867565b9150509250929050565b6001600160a01b0391909116815260200190565b6020815260006109b3602083018461193e565b600080600060608486031215611a3c57600080fd5b611a4584611983565b9250611a5360208501611983565b9150611a6160408501611983565b90509250925092565b60008060408385031215611a7d57600080fd5b82356001600160401b03811115611a9357600080fd5b83016101008186031215611aa657600080fd5b9150611ab460208401611983565b90509250929050565b60008083601f840112611acf57600080fd5b5081356001600160401b03811115611ae657600080fd5b602083019150836020828501011115611afe57600080fd5b9250929050565b60008060208385031215611b1857600080fd5b82356001600160401b03811115611b2e57600080fd5b611b3a85828601611abd565b90969095509350505050565b60008282518085526020808601955060208260051b8401016020860160005b84811015611b9357601f19868403018952611b8183835161193e565b98840198925090830190600101611b65565b5090979650505050505050565b60208152815160208201526000602083015160806040840152611bc660a084018261193e565b90506040840151601f1980858403016060860152611be48383611b46565b925060608601519150808584030160808601525061167e8282611b46565b600080600060408486031215611c1757600080fd5b83356001600160401b03811115611c2d57600080fd5b611c3986828701611abd565b9094509250611a61905060208501611983565b600060208284031215611c5e57600080fd5b6109b382611983565b600181811c90821680611c7b57607f821691505b602082108103611c9b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e19843603018112611cb857600080fd5b8301803591506001600160401b03821115611cd257600080fd5b602001915036819003821315611afe57600080fd5b8183823760009101908152919050565b808201808211156108fe57634e487b7160e01b600052601160045260246000fd5b604081526000611d2b604083018561193e565b905060018060a01b03831660208301529392505050565b600060208284031215611d5457600080fd5b815180151581146109b357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611da1604083018587611d64565b8281036020840152611db3818561193e565b9695505050505050565b600060208284031215611dcf57600080fd5b5051919050565b60008235603e19833603018112611dec57600080fd5b9190910192915050565b80356001600160401b038116811461199a57600080fd5b600082601f830112611e1e57600080fd5b813560206001600160401b0380831115611e3a57611e3a6117f9565b8260051b611e49838201611837565b9384528581018301938381019088861115611e6357600080fd5b84880192505b85831015611efa57823584811115611e815760008081fd5b88016080818b03601f1901811315611e995760008081fd5b611ea161180f565b611eac888401611df6565b815260408084013588811115611ec25760008081fd5b611ed08e8b838801016118be565b838b0152506060848101359183019190915291909201359082015282529184019190840190611e69565b98975050505050505050565b600060408236031215611f1857600080fd5b604051604081016001600160401b038282108183111715611f3b57611f3b6117f9565b816040528435915080821115611f5057600080fd5b611f5c36838701611e0d565b83526020850135915080821115611f7257600080fd5b50611f7f36828601611e0d565b60208301525092915050565b600082825180855260208086019550808260051b84010181860160005b84811015611b9357601f19868403018952815160806001600160401b038251168552858201518187870152611fdf8287018261193e565b60408481015190880152606093840151939096019290925250509783019790830190600101611fa8565b60208152815160208201526000602083015160c0604084015261202f60e084018261193e565b90506040840151601f198085840301606086015261204d838361193e565b925060608601516080860152608086015160a086015260a08601519150808584030160c0860152508051604083526120886040840182611f8b565b9050602082015191508281036020840152611db38183611f8b565b601f821115610b62576000816000526020600020601f850160051c810160208610156120cc5750805b601f850160051c820191505b8181101561064f578281556001016120d8565b600019600383901b1c191660019190911b1790565b6001600160401b03831115612117576121176117f9565b61212b836121258354611c67565b836120a3565b6000601f84116001811461215957600085156121475750838201355b61215186826120eb565b84555061044c565b600083815260209020601f19861690835b8281101561218a578685013582556020948501946001909201910161216a565b50868210156121a75760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6060815260006121cc606083018661193e565b6001600160a01b039490941660208301525060400152919050565b6000602082840312156121f957600080fd5b815160ff811681146109b357600080fd5b6000808335601e1984360301811261222157600080fd5b83016020810192503590506001600160401b0381111561224057600080fd5b803603821315611afe57600080fd5b60008235603e1983360301811261226557600080fd5b90910192915050565b6000808335601e1984360301811261228557600080fd5b83016020810192503590506001600160401b038111156122a457600080fd5b8060051b3603821315611afe57600080fd5b60008383855260208086019550808560051b830101846000805b8881101561235657858403601f19018a52823536899003607e190181126122f5578283fd5b880160806001600160401b0361230a83611df6565b1686526123198783018361220a565b828989015261232b8389018284611d64565b604085810135908a0152606094850135949098019390935250505098840198918401916001016122d0565b509198975050505050505050565b6000612370828361226e565b604085526123826040860182846122b6565b915050612392602084018461226e565b8583036020870152611db38382846122b6565b602081528135602082015260006123bf602084018461220a565b6101008060408601526123d761012086018385611d64565b92506123e6604087018761220a565b9250601f1980878603016060880152612400858584611d64565b945061240f606089018961220a565b9450915080878603016080880152612428858584611d64565b9450612437608089018961220a565b94509150808786030160a0880152612450858584611d64565b945060a088013560c088015260c088013560e088015261247360e089018961224f565b935080878603018388015250505061167e8282612364565b81516001600160401b038111156124a4576124a46117f9565b6124b8816124b28454611c67565b846120a3565b602080601f8311600181146124e757600084156124d55750858301515b6124df85826120eb565b86555061064f565b600085815260208120601f198616915b82811015612516578886015182559484019460019091019084016124f7565b50858210156125345787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260006109b0602083018486611d64565b60008251611dec81846020870161191a56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d0f3a82fb90cfe91712b8ea96d49c1f71bd5eca4b7c21ad47b517aa0d39163fe64736f6c63430008170033","deployedBytecode":"0x6080604052600436106100975760003560e01c80631c8f27751461009c5780634f1ef286146100d357806352d1902d146100e8578063715018a61461010b5780638129fc1c146101205780638da5cb5b14610135578063ad3cb1cc14610157578063b52d326c14610195578063d254f6f2146101b5578063d52c54c4146101d5578063df04b2ae14610202578063f2fde38b14610232575b600080fd5b3480156100a857600080fd5b506100bc6100b73660046118de565b610252565b6040516100ca92919061196a565b60405180910390f35b6100e66100e136600461199f565b610302565b005b3480156100f457600080fd5b506100fd610321565b6040519081526020016100ca565b34801561011757600080fd5b506100e661033e565b34801561012c57600080fd5b506100e6610352565b34801561014157600080fd5b5061014a610453565b6040516100ca9190611a00565b34801561016357600080fd5b50610188604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100ca9190611a14565b3480156101a157600080fd5b506100e66101b0366004611a27565b61046e565b3480156101c157600080fd5b506100e66101d0366004611a6a565b6104b5565b3480156101e157600080fd5b506101f56101f0366004611b05565b610657565b6040516100ca9190611ba0565b34801561020e57600080fd5b5061022261021d366004611c02565b610904565b60405190151581526020016100ca565b34801561023e57600080fd5b506100e661024d366004611c4c565b6109ba565b80516020818301810180516005825292820191909301209152805460018201805491929161027f90611c67565b80601f01602080910402602001604051908101604052809291908181526020018280546102ab90611c67565b80156102f85780601f106102cd576101008083540402835291602001916102f8565b820191906000526020600020905b8154815290600101906020018083116102db57829003601f168201915b5050505050905082565b61030a610a01565b61031382610aa6565b61031d8282610aae565b5050565b600061032b610b67565b5060008051602061256b83398151915290565b610346610bb0565b6103506000610be2565b565b600061035c610c3e565b805490915060ff600160401b82041615906001600160401b03166000811580156103835750825b90506000826001600160401b0316600114801561039f5750303b155b9050811580156103ad575080155b156103cb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103f557845460ff60401b1916600160401b1785555b6103fe33610c62565b610406610c73565b831561044c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b60008061045e610c7b565b546001600160a01b031692915050565b610476610bb0565b600080546001600160a01b039485166001600160a01b031991821617909155600180549385169382169390931790925560028054919093169116179055565b6000546001600160a01b031633146104e057604051637fea9dc560e01b815260040160405180910390fd5b3660006104f06020850185611ca1565b909250905060006105018535610c9f565b9050600060058484604051610517929190611ce7565b908152604051908190036020019020549050610534816001611cf7565b86351461054357505050505050565b600154604051639af06cd960e01b81526001600160a01b0390911690639af06cd9906105759085908990600401611d18565b602060405180830381865afa158015610592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b69190611d42565b156105c357505050505050565b600154604051634a5d2b1960e01b81526001600160a01b0390911690634a5d2b19906105f790879087908790600401611d8d565b602060405180830381865afa158015610614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106389190611d42565b1561064557505050505050565b61064f8683610d31565b505050505050565b6106826040518060800160405280600081526020016060815260200160608152602001606081525090565b60058383604051610694929190611ce7565b9081526020016040518091039020604051806080016040529081600082015481526020016001820180546106c790611c67565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611c67565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b8282101561081a57838290600052602060002001805461078d90611c67565b80601f01602080910402602001604051908101604052809291908181526020018280546107b990611c67565b80156108065780601f106107db57610100808354040283529160200191610806565b820191906000526020600020905b8154815290600101906020018083116107e957829003601f168201915b50505050508152602001906001019061076e565b50505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156108f357838290600052602060002001805461086690611c67565b80601f016020809104026020016040519081016040528092919081815260200182805461089290611c67565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081526020019060010190610847565b505050508152505090505b92915050565b6001546040516000916001600160a01b031690639af06cd990610951906005906109319089908990611ce7565b9081526040519081900360200190205461094c906001611cf7565b610c9f565b846040518363ffffffff1660e01b815260040161096f929190611d18565b602060405180830381865afa15801561098c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b09190611d42565b90505b9392505050565b6109c2610bb0565b6001600160a01b0381166109f5576000604051631e4fbdf760e01b81526004016109ec9190611a00565b60405180910390fd5b6109fe81610be2565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610a8857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a7c60008051602061256b833981519152546001600160a01b031690565b6001600160a01b031614155b156103505760405163703e46dd60e11b815260040160405180910390fd5b6109fe610bb0565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b08575060408051601f3d908101601f19168201909252610b0591810190611dbd565b60015b610b275781604051634c9c8ce360e01b81526004016109ec9190611a00565b60008051602061256b8339815191528114610b5857604051632a87526960e21b8152600481018290526024016109ec565b610b62838361145c565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103505760405163703e46dd60e11b815260040160405180910390fd5b33610bb9610453565b6001600160a01b031614610350573360405163118cdaa760e01b81526004016109ec9190611a00565b6000610bec610c7b565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b610c6a6114b2565b6109fe816114d7565b6103506114b2565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b60606000610cac836114df565b60010190506000816001600160401b03811115610ccb57610ccb6117f9565b6040519080825280601f01601f191660200182016040528015610cf5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610cff57509392505050565b60006040518060c0016040528084600001358152602001848060200190610d589190611ca1565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001610d9f6040860186611ca1565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060a0850135602082015260c08501356040820152606001610dfa60e0860186611dd6565b610e0390611f06565b8152509050600081604051602001610e1b9190612009565b6040516020818303038152906040528051906020012090506003848060200190610e459190611ca1565b604051610e53929190611ce7565b9081526040805160209281900383019020600084815292529020610e7a6060860186611ca1565b82546001810184556000938452602090932090920191610e9a9183612100565b506004610eaa6020860186611ca1565b604051610eb8929190611ce7565b9081526040805160209281900383019020600084815292529020610edf6080860186611ca1565b82546001810184556000938452602090932090920191610eff9183612100565b5060015460405163b9d808ff60e01b81526000916001600160a01b03169063b9d808ff90610f35908790339087906004016121b9565b6020604051808303816000875af1158015610f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f789190611dbd565b9050600260009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff191906121e7565b60ff16811061044c576001546040516364d06b0560e01b81526001600160a01b03909116906364d06b059061102a9088906004016123a5565b600060405180830381600087803b15801561104457600080fd5b505af1158015611058573d6000803e3d6000fd5b50506001546001600160a01b031691506351a6e113905061107c6020880188611ca1565b876040518463ffffffff1660e01b815260040161109b93929190611d8d565b600060405180830381600087803b1580156110b557600080fd5b505af11580156110c9573d6000803e3d6000fd5b50505050604051806080016040528060058780602001906110ea9190611ca1565b6040516110f8929190611ce7565b90815260405190819003602001902054611113906001611cf7565b81526020016111256040880188611ca1565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060209081019060039061117190890189611ca1565b60405161117f929190611ce7565b9081526040805191829003602090810183206000888152908252828120805480840286018401909452838552929184015b8282101561125c5783829060005260206000200180546111cf90611c67565b80601f01602080910402602001604051908101604052809291908181526020018280546111fb90611c67565b80156112485780601f1061121d57610100808354040283529160200191611248565b820191906000526020600020905b81548152906001019060200180831161122b57829003601f168201915b5050505050815260200190600101906111b0565b50505050815260200160048780602001906112779190611ca1565b604051611285929190611ce7565b9081526040805191829003602090810183206000888152908252828120805480840286018401909452838552929184015b828210156113625783829060005260206000200180546112d590611c67565b80601f016020809104026020016040519081016040528092919081815260200182805461130190611c67565b801561134e5780601f106113235761010080835404028352916020019161134e565b820191906000526020600020905b81548152906001019060200180831161133157829003601f168201915b5050505050815260200190600101906112b6565b50505091525060056113776020880188611ca1565b604051611385929190611ce7565b90815260405160209181900382019020825181559082015160018201906113ac908261248b565b50604082015180516113c891600284019160209091019061173c565b50606082015180516113e491600384019160209091019061173c565b50506001546001600160a01b03169050630b5023326114066020880188611ca1565b6040518363ffffffff1660e01b8152600401611423929190612544565b600060405180830381600087803b15801561143d57600080fd5b505af1158015611451573d6000803e3d6000fd5b505050505050505050565b611465826115b5565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156114aa57610b628282611611565b61031d611687565b6114ba6116a6565b61035057604051631afcd79f60e31b815260040160405180910390fd5b6109c26114b2565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061151e5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310611548576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061156657662386f26fc10000830492506010015b6305f5e100831061157e576305f5e100830492506008015b612710831061159257612710830492506004015b606483106115a4576064830492506002015b600a83106108fe5760010192915050565b806001600160a01b03163b6000036115e25780604051634c9c8ce360e01b81526004016109ec9190611a00565b60008051602061256b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161162e9190612558565b600060405180830381855af49150503d8060008114611669576040519150601f19603f3d011682016040523d82523d6000602084013e61166e565b606091505b509150915061167e8583836116c0565b95945050505050565b34156103505760405163b398979f60e01b815260040160405180910390fd5b60006116b0610c3e565b54600160401b900460ff16919050565b6060826116d5576116d082611713565b6109b3565b81511580156116ec57506001600160a01b0384163b155b1561170c5783604051639996b31560e01b81526004016109ec9190611a00565b50806109b3565b8051156117235780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b828054828255906000526020600020908101928215611782579160200282015b828111156117825782518290611772908261248b565b509160200191906001019061175c565b5061178e929150611792565b5090565b8082111561178e5760006117a682826117af565b50600101611792565b5080546117bb90611c67565b6000825580601f106117cb575050565b601f0160209004906000526020600020908101906109fe91905b8082111561178e57600081556001016117e5565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715611831576118316117f9565b60405290565b604051601f8201601f191681016001600160401b038111828210171561185f5761185f6117f9565b604052919050565b60006001600160401b03831115611880576118806117f9565b611893601f8401601f1916602001611837565b90508281528383830111156118a757600080fd5b828260208301376000602084830101529392505050565b600082601f8301126118cf57600080fd5b6109b383833560208501611867565b6000602082840312156118f057600080fd5b81356001600160401b0381111561190657600080fd5b611912848285016118be565b949350505050565b60005b8381101561193557818101518382015260200161191d565b50506000910152565b6000815180845261195681602086016020860161191a565b601f01601f19169290920160200192915050565b8281526040602082015260006109b0604083018461193e565b80356001600160a01b038116811461199a57600080fd5b919050565b600080604083850312156119b257600080fd5b6119bb83611983565b915060208301356001600160401b038111156119d657600080fd5b8301601f810185136119e757600080fd5b6119f685823560208401611867565b9150509250929050565b6001600160a01b0391909116815260200190565b6020815260006109b3602083018461193e565b600080600060608486031215611a3c57600080fd5b611a4584611983565b9250611a5360208501611983565b9150611a6160408501611983565b90509250925092565b60008060408385031215611a7d57600080fd5b82356001600160401b03811115611a9357600080fd5b83016101008186031215611aa657600080fd5b9150611ab460208401611983565b90509250929050565b60008083601f840112611acf57600080fd5b5081356001600160401b03811115611ae657600080fd5b602083019150836020828501011115611afe57600080fd5b9250929050565b60008060208385031215611b1857600080fd5b82356001600160401b03811115611b2e57600080fd5b611b3a85828601611abd565b90969095509350505050565b60008282518085526020808601955060208260051b8401016020860160005b84811015611b9357601f19868403018952611b8183835161193e565b98840198925090830190600101611b65565b5090979650505050505050565b60208152815160208201526000602083015160806040840152611bc660a084018261193e565b90506040840151601f1980858403016060860152611be48383611b46565b925060608601519150808584030160808601525061167e8282611b46565b600080600060408486031215611c1757600080fd5b83356001600160401b03811115611c2d57600080fd5b611c3986828701611abd565b9094509250611a61905060208501611983565b600060208284031215611c5e57600080fd5b6109b382611983565b600181811c90821680611c7b57607f821691505b602082108103611c9b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e19843603018112611cb857600080fd5b8301803591506001600160401b03821115611cd257600080fd5b602001915036819003821315611afe57600080fd5b8183823760009101908152919050565b808201808211156108fe57634e487b7160e01b600052601160045260246000fd5b604081526000611d2b604083018561193e565b905060018060a01b03831660208301529392505050565b600060208284031215611d5457600080fd5b815180151581146109b357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611da1604083018587611d64565b8281036020840152611db3818561193e565b9695505050505050565b600060208284031215611dcf57600080fd5b5051919050565b60008235603e19833603018112611dec57600080fd5b9190910192915050565b80356001600160401b038116811461199a57600080fd5b600082601f830112611e1e57600080fd5b813560206001600160401b0380831115611e3a57611e3a6117f9565b8260051b611e49838201611837565b9384528581018301938381019088861115611e6357600080fd5b84880192505b85831015611efa57823584811115611e815760008081fd5b88016080818b03601f1901811315611e995760008081fd5b611ea161180f565b611eac888401611df6565b815260408084013588811115611ec25760008081fd5b611ed08e8b838801016118be565b838b0152506060848101359183019190915291909201359082015282529184019190840190611e69565b98975050505050505050565b600060408236031215611f1857600080fd5b604051604081016001600160401b038282108183111715611f3b57611f3b6117f9565b816040528435915080821115611f5057600080fd5b611f5c36838701611e0d565b83526020850135915080821115611f7257600080fd5b50611f7f36828601611e0d565b60208301525092915050565b600082825180855260208086019550808260051b84010181860160005b84811015611b9357601f19868403018952815160806001600160401b038251168552858201518187870152611fdf8287018261193e565b60408481015190880152606093840151939096019290925250509783019790830190600101611fa8565b60208152815160208201526000602083015160c0604084015261202f60e084018261193e565b90506040840151601f198085840301606086015261204d838361193e565b925060608601516080860152608086015160a086015260a08601519150808584030160c0860152508051604083526120886040840182611f8b565b9050602082015191508281036020840152611db38183611f8b565b601f821115610b62576000816000526020600020601f850160051c810160208610156120cc5750805b601f850160051c820191505b8181101561064f578281556001016120d8565b600019600383901b1c191660019190911b1790565b6001600160401b03831115612117576121176117f9565b61212b836121258354611c67565b836120a3565b6000601f84116001811461215957600085156121475750838201355b61215186826120eb565b84555061044c565b600083815260209020601f19861690835b8281101561218a578685013582556020948501946001909201910161216a565b50868210156121a75760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6060815260006121cc606083018661193e565b6001600160a01b039490941660208301525060400152919050565b6000602082840312156121f957600080fd5b815160ff811681146109b357600080fd5b6000808335601e1984360301811261222157600080fd5b83016020810192503590506001600160401b0381111561224057600080fd5b803603821315611afe57600080fd5b60008235603e1983360301811261226557600080fd5b90910192915050565b6000808335601e1984360301811261228557600080fd5b83016020810192503590506001600160401b038111156122a457600080fd5b8060051b3603821315611afe57600080fd5b60008383855260208086019550808560051b830101846000805b8881101561235657858403601f19018a52823536899003607e190181126122f5578283fd5b880160806001600160401b0361230a83611df6565b1686526123198783018361220a565b828989015261232b8389018284611d64565b604085810135908a0152606094850135949098019390935250505098840198918401916001016122d0565b509198975050505050505050565b6000612370828361226e565b604085526123826040860182846122b6565b915050612392602084018461226e565b8583036020870152611db38382846122b6565b602081528135602082015260006123bf602084018461220a565b6101008060408601526123d761012086018385611d64565b92506123e6604087018761220a565b9250601f1980878603016060880152612400858584611d64565b945061240f606089018961220a565b9450915080878603016080880152612428858584611d64565b9450612437608089018961220a565b94509150808786030160a0880152612450858584611d64565b945060a088013560c088015260c088013560e088015261247360e089018961224f565b935080878603018388015250505061167e8282612364565b81516001600160401b038111156124a4576124a46117f9565b6124b8816124b28454611c67565b846120a3565b602080601f8311600181146124e757600084156124d55750858301515b6124df85826120eb565b86555061064f565b600085815260208120601f198616915b82811015612516578886015182559484019460019091019084016124f7565b50858210156125345787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260006109b0602083018486611d64565b60008251611dec81846020870161191a56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d0f3a82fb90cfe91712b8ea96d49c1f71bd5eca4b7c21ad47b517aa0d39163fe64736f6c63430008170033","linkReferences":{},"deployedLinkReferences":{}}` -var SlotsArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"Slots","sourceName":"contracts/Slots.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"chainID","type":"string"}],"name":"getLastObservedBlock","outputs":[{"components":[{"internalType":"string","name":"blockHash","type":"string"},{"internalType":"uint64","name":"blockSlot","type":"uint64"}],"internalType":"struct IBridgeStructs.CardanoBlock","name":"cb","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"},{"internalType":"address","name":"_validatorsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"chainID","type":"string"},{"components":[{"internalType":"string","name":"blockHash","type":"string"},{"internalType":"uint64","name":"blockSlot","type":"uint64"}],"internalType":"struct IBridgeStructs.CardanoBlock[]","name":"blocks","type":"tuple[]"},{"internalType":"address","name":"_caller","type":"address"}],"name":"updateBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516112e06100fd600039600081816107b1015281816107da015261091701526112e06000f3fe6080604052600436106100815760003560e01c80632175c3f7146100865780634f1ef286146100bc57806352d1902d146100d1578063715018a6146100f45780638129fc1c146101095780638da5cb5b1461011e578063ad3cb1cc14610140578063e87c28a71461017e578063ecc155dd1461019e578063f2fde38b146101be575b600080fd5b34801561009257600080fd5b506100a66100a1366004610c99565b6101de565b6040516100b39190610d2a565b60405180910390f35b6100cf6100ca366004610d97565b6102cc565b005b3480156100dd57600080fd5b506100e66102eb565b6040519081526020016100b3565b34801561010057600080fd5b506100cf610308565b34801561011557600080fd5b506100cf61031c565b34801561012a57600080fd5b5061013361041d565b6040516100b39190610e58565b34801561014c57600080fd5b50610171604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100b39190610e6c565b34801561018a57600080fd5b506100cf610199366004610e7f565b610438565b3480156101aa57600080fd5b506100cf6101b9366004610eb2565b61046e565b3480156101ca57600080fd5b506100cf6101d9366004610f62565b61075f565b60408051808201909152606081526000602082015260028383604051610205929190610f7d565b908152602001604051809103902060405180604001604052908160008201805461022e90610f8d565b80601f016020809104026020016040519081016040528092919081815260200182805461025a90610f8d565b80156102a75780601f1061027c576101008083540402835291602001916102a7565b820191906000526020600020905b81548152906001019060200180831161028a57829003601f168201915b5050509183525050600191909101546001600160401b03166020909101529392505050565b6102d46107a6565b6102dd8261084b565b6102e78282610853565b5050565b60006102f561090c565b5060008051602061128b83398151915290565b610310610955565b61031a6000610987565b565b60006103266109e3565b805490915060ff600160401b82041615906001600160401b031660008115801561034d5750825b90506000826001600160401b031660011480156103695750303b155b905081158015610377575080155b156103955760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103bf57845460ff60401b1916600160401b1785555b6103c833610a07565b6103d0610a18565b831561041657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b600080610428610a20565b546001600160a01b031692915050565b610440610955565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6000546001600160a01b0316331461049957604051637fea9dc560e01b815260040160405180910390fd5b60005b8281101561075757368484838181106104b7576104b7610fc7565b90506020028101906104c99190610fdd565b905060006104d78280610ffd565b6104e76040850160208601611058565b6040516020016104f993929190611075565b60405160208183030381529060405280519060200120905060048888604051610523929190610f7d565b908152604080516020928190038301902060008481529083528181206001600160a01b038816825290925290205460ff161561056057505061074f565b600160048989604051610574929190610f7d565b908152604080516020928190038301812060008681529084528281206001600160a01b038a1682529093529120805460ff1916921515929092179091556003906105c1908a908a90610f7d565b908152604080516020928190038301902060008481529252812080546001600160401b0316916105f083611096565b91906101000a8154816001600160401b0302191690836001600160401b0316021790555050600160009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c91906110ca565b60ff16600389896040516106a1929190610f7d565b9081526040805160209281900383019020600085815292529020546001600160401b0316108015906107185750600288886040516106e0929190610f7d565b9081526040805160209281900383019020600101546001600160401b03169161070d918501908501611058565b6001600160401b0316115b1561074c578160028989604051610730929190610f7d565b9081526040519081900360200190206107498282611148565b50505b50505b60010161049c565b505050505050565b610767610955565b6001600160a01b03811661079a576000604051631e4fbdf760e01b81526004016107919190610e58565b60405180910390fd5b6107a381610987565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061082d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661082160008051602061128b833981519152546001600160a01b031690565b6001600160a01b031614155b1561031a5760405163703e46dd60e11b815260040160405180910390fd5b6107a3610955565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156108ad575060408051601f3d908101601f191682019092526108aa9181019061125f565b60015b6108cc5781604051634c9c8ce360e01b81526004016107919190610e58565b60008051602061128b83398151915281146108fd57604051632a87526960e21b815260048101829052602401610791565b6109078383610a44565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461031a5760405163703e46dd60e11b815260040160405180910390fd5b3361095e61041d565b6001600160a01b03161461031a573360405163118cdaa760e01b81526004016107919190610e58565b6000610991610a20565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b610a0f610a9a565b6107a381610abf565b61031a610a9a565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b610a4d82610ac7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610a92576109078282610b23565b6102e7610b99565b610aa2610bb8565b61031a57604051631afcd79f60e31b815260040160405180910390fd5b610767610a9a565b806001600160a01b03163b600003610af45780604051634c9c8ce360e01b81526004016107919190610e58565b60008051602061128b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610b409190611278565b600060405180830381855af49150503d8060008114610b7b576040519150601f19603f3d011682016040523d82523d6000602084013e610b80565b606091505b5091509150610b90858383610bd2565b95945050505050565b341561031a5760405163b398979f60e01b815260040160405180910390fd5b6000610bc26109e3565b54600160401b900460ff16919050565b606082610be757610be282610c28565b610c21565b8151158015610bfe57506001600160a01b0384163b155b15610c1e5783604051639996b31560e01b81526004016107919190610e58565b50805b9392505050565b805115610c385780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60008083601f840112610c6357600080fd5b5081356001600160401b03811115610c7a57600080fd5b602083019150836020828501011115610c9257600080fd5b9250929050565b60008060208385031215610cac57600080fd5b82356001600160401b03811115610cc257600080fd5b610cce85828601610c51565b90969095509350505050565b60005b83811015610cf5578181015183820152602001610cdd565b50506000910152565b60008151808452610d16816020860160208601610cda565b601f01601f19169290920160200192915050565b602081526000825160406020840152610d466060840182610cfe565b90506001600160401b0360208501511660408401528091505092915050565b80356001600160a01b0381168114610d7c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610daa57600080fd5b610db383610d65565b915060208301356001600160401b0380821115610dcf57600080fd5b818501915085601f830112610de357600080fd5b813581811115610df557610df5610d81565b604051601f8201601f19908116603f01168101908382118183101715610e1d57610e1d610d81565b81604052828152886020848701011115610e3657600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6001600160a01b0391909116815260200190565b602081526000610c216020830184610cfe565b60008060408385031215610e9257600080fd5b610e9b83610d65565b9150610ea960208401610d65565b90509250929050565b600080600080600060608688031215610eca57600080fd5b85356001600160401b0380821115610ee157600080fd5b610eed89838a01610c51565b90975095506020880135915080821115610f0657600080fd5b818801915088601f830112610f1a57600080fd5b813581811115610f2957600080fd5b8960208260051b8501011115610f3e57600080fd5b602083019550809450505050610f5660408701610d65565b90509295509295909350565b600060208284031215610f7457600080fd5b610c2182610d65565b8183823760009101908152919050565b600181811c90821680610fa157607f821691505b602082108103610fc157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610ff357600080fd5b9190910192915050565b6000808335601e1984360301811261101457600080fd5b8301803591506001600160401b0382111561102e57600080fd5b602001915036819003821315610c9257600080fd5b6001600160401b03811681146107a357600080fd5b60006020828403121561106a57600080fd5b8135610c2181611043565b8284823760c09190911b6001600160c01b0319169101908152600801919050565b60006001600160401b038083168181036110c057634e487b7160e01b600052601160045260246000fd5b6001019392505050565b6000602082840312156110dc57600080fd5b815160ff81168114610c2157600080fd5b601f821115610907576000816000526020600020601f850160051c810160208610156111165750805b601f850160051c820191505b8181101561075757828155600101611122565b6000813561114281611043565b92915050565b8135601e1983360301811261115c57600080fd5b820180356001600160401b0381111561117457600080fd5b6020813603818401131561118757600080fd5b61119b826111958654610f8d565b866110ed565b6000601f8311600181146111d157600084156111b957508482018301355b600019600386901b1c1916600185901b17865561122e565b600086815260209020601f19851690835b828110156112035787850186013582559385019360019091019085016111e2565b50858210156112225760001960f88760031b161c198585890101351681555b505060018460011b0186555b505061041661123e828701611135565b600186016001600160401b0382166001600160401b03198254161781555050565b60006020828403121561127157600080fd5b5051919050565b60008251610ff3818460208701610cda56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220a847188f16dbbe1d6c04cdb89d76feb46d49e3b4c0cfb1ca3988bd63aeac7ba664736f6c63430008170033","deployedBytecode":"0x6080604052600436106100815760003560e01c80632175c3f7146100865780634f1ef286146100bc57806352d1902d146100d1578063715018a6146100f45780638129fc1c146101095780638da5cb5b1461011e578063ad3cb1cc14610140578063e87c28a71461017e578063ecc155dd1461019e578063f2fde38b146101be575b600080fd5b34801561009257600080fd5b506100a66100a1366004610c99565b6101de565b6040516100b39190610d2a565b60405180910390f35b6100cf6100ca366004610d97565b6102cc565b005b3480156100dd57600080fd5b506100e66102eb565b6040519081526020016100b3565b34801561010057600080fd5b506100cf610308565b34801561011557600080fd5b506100cf61031c565b34801561012a57600080fd5b5061013361041d565b6040516100b39190610e58565b34801561014c57600080fd5b50610171604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100b39190610e6c565b34801561018a57600080fd5b506100cf610199366004610e7f565b610438565b3480156101aa57600080fd5b506100cf6101b9366004610eb2565b61046e565b3480156101ca57600080fd5b506100cf6101d9366004610f62565b61075f565b60408051808201909152606081526000602082015260028383604051610205929190610f7d565b908152602001604051809103902060405180604001604052908160008201805461022e90610f8d565b80601f016020809104026020016040519081016040528092919081815260200182805461025a90610f8d565b80156102a75780601f1061027c576101008083540402835291602001916102a7565b820191906000526020600020905b81548152906001019060200180831161028a57829003601f168201915b5050509183525050600191909101546001600160401b03166020909101529392505050565b6102d46107a6565b6102dd8261084b565b6102e78282610853565b5050565b60006102f561090c565b5060008051602061128b83398151915290565b610310610955565b61031a6000610987565b565b60006103266109e3565b805490915060ff600160401b82041615906001600160401b031660008115801561034d5750825b90506000826001600160401b031660011480156103695750303b155b905081158015610377575080155b156103955760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103bf57845460ff60401b1916600160401b1785555b6103c833610a07565b6103d0610a18565b831561041657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b600080610428610a20565b546001600160a01b031692915050565b610440610955565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6000546001600160a01b0316331461049957604051637fea9dc560e01b815260040160405180910390fd5b60005b8281101561075757368484838181106104b7576104b7610fc7565b90506020028101906104c99190610fdd565b905060006104d78280610ffd565b6104e76040850160208601611058565b6040516020016104f993929190611075565b60405160208183030381529060405280519060200120905060048888604051610523929190610f7d565b908152604080516020928190038301902060008481529083528181206001600160a01b038816825290925290205460ff161561056057505061074f565b600160048989604051610574929190610f7d565b908152604080516020928190038301812060008681529084528281206001600160a01b038a1682529093529120805460ff1916921515929092179091556003906105c1908a908a90610f7d565b908152604080516020928190038301902060008481529252812080546001600160401b0316916105f083611096565b91906101000a8154816001600160401b0302191690836001600160401b0316021790555050600160009054906101000a90046001600160a01b03166001600160a01b031663d8718da06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c91906110ca565b60ff16600389896040516106a1929190610f7d565b9081526040805160209281900383019020600085815292529020546001600160401b0316108015906107185750600288886040516106e0929190610f7d565b9081526040805160209281900383019020600101546001600160401b03169161070d918501908501611058565b6001600160401b0316115b1561074c578160028989604051610730929190610f7d565b9081526040519081900360200190206107498282611148565b50505b50505b60010161049c565b505050505050565b610767610955565b6001600160a01b03811661079a576000604051631e4fbdf760e01b81526004016107919190610e58565b60405180910390fd5b6107a381610987565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061082d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661082160008051602061128b833981519152546001600160a01b031690565b6001600160a01b031614155b1561031a5760405163703e46dd60e11b815260040160405180910390fd5b6107a3610955565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156108ad575060408051601f3d908101601f191682019092526108aa9181019061125f565b60015b6108cc5781604051634c9c8ce360e01b81526004016107919190610e58565b60008051602061128b83398151915281146108fd57604051632a87526960e21b815260048101829052602401610791565b6109078383610a44565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461031a5760405163703e46dd60e11b815260040160405180910390fd5b3361095e61041d565b6001600160a01b03161461031a573360405163118cdaa760e01b81526004016107919190610e58565b6000610991610a20565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b610a0f610a9a565b6107a381610abf565b61031a610a9a565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b610a4d82610ac7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610a92576109078282610b23565b6102e7610b99565b610aa2610bb8565b61031a57604051631afcd79f60e31b815260040160405180910390fd5b610767610a9a565b806001600160a01b03163b600003610af45780604051634c9c8ce360e01b81526004016107919190610e58565b60008051602061128b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610b409190611278565b600060405180830381855af49150503d8060008114610b7b576040519150601f19603f3d011682016040523d82523d6000602084013e610b80565b606091505b5091509150610b90858383610bd2565b95945050505050565b341561031a5760405163b398979f60e01b815260040160405180910390fd5b6000610bc26109e3565b54600160401b900460ff16919050565b606082610be757610be282610c28565b610c21565b8151158015610bfe57506001600160a01b0384163b155b15610c1e5783604051639996b31560e01b81526004016107919190610e58565b50805b9392505050565b805115610c385780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60008083601f840112610c6357600080fd5b5081356001600160401b03811115610c7a57600080fd5b602083019150836020828501011115610c9257600080fd5b9250929050565b60008060208385031215610cac57600080fd5b82356001600160401b03811115610cc257600080fd5b610cce85828601610c51565b90969095509350505050565b60005b83811015610cf5578181015183820152602001610cdd565b50506000910152565b60008151808452610d16816020860160208601610cda565b601f01601f19169290920160200192915050565b602081526000825160406020840152610d466060840182610cfe565b90506001600160401b0360208501511660408401528091505092915050565b80356001600160a01b0381168114610d7c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610daa57600080fd5b610db383610d65565b915060208301356001600160401b0380821115610dcf57600080fd5b818501915085601f830112610de357600080fd5b813581811115610df557610df5610d81565b604051601f8201601f19908116603f01168101908382118183101715610e1d57610e1d610d81565b81604052828152886020848701011115610e3657600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6001600160a01b0391909116815260200190565b602081526000610c216020830184610cfe565b60008060408385031215610e9257600080fd5b610e9b83610d65565b9150610ea960208401610d65565b90509250929050565b600080600080600060608688031215610eca57600080fd5b85356001600160401b0380821115610ee157600080fd5b610eed89838a01610c51565b90975095506020880135915080821115610f0657600080fd5b818801915088601f830112610f1a57600080fd5b813581811115610f2957600080fd5b8960208260051b8501011115610f3e57600080fd5b602083019550809450505050610f5660408701610d65565b90509295509295909350565b600060208284031215610f7457600080fd5b610c2182610d65565b8183823760009101908152919050565b600181811c90821680610fa157607f821691505b602082108103610fc157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610ff357600080fd5b9190910192915050565b6000808335601e1984360301811261101457600080fd5b8301803591506001600160401b0382111561102e57600080fd5b602001915036819003821315610c9257600080fd5b6001600160401b03811681146107a357600080fd5b60006020828403121561106a57600080fd5b8135610c2181611043565b8284823760c09190911b6001600160c01b0319169101908152600801919050565b60006001600160401b038083168181036110c057634e487b7160e01b600052601160045260246000fd5b6001019392505050565b6000602082840312156110dc57600080fd5b815160ff81168114610c2157600080fd5b601f821115610907576000816000526020600020601f850160051c810160208610156111165750805b601f850160051c820191505b8181101561075757828155600101611122565b6000813561114281611043565b92915050565b8135601e1983360301811261115c57600080fd5b820180356001600160401b0381111561117457600080fd5b6020813603818401131561118757600080fd5b61119b826111958654610f8d565b866110ed565b6000601f8311600181146111d157600084156111b957508482018301355b600019600386901b1c1916600185901b17865561122e565b600086815260209020601f19851690835b828110156112035787850186013582559385019360019091019085016111e2565b50858210156112225760001960f88760031b161c198585890101351681555b505060018460011b0186555b505061041661123e828701611135565b600186016001600160401b0382166001600160401b03198254161781555050565b60006020828403121561127157600080fd5b5051919050565b60008251610ff3818460208701610cda56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220a847188f16dbbe1d6c04cdb89d76feb46d49e3b4c0cfb1ca3988bd63aeac7ba664736f6c63430008170033","linkReferences":{},"deployedLinkReferences":{}}` -var UTXOscArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"UTXOsc","sourceName":"contracts/UTXOsc.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"_utxo","type":"tuple"}],"name":"addNewBridgingUTXO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_outputUTXOs","type":"tuple"}],"name":"addUTXOs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"a","type":"tuple"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"b","type":"tuple"}],"name":"equalUTXO","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"}],"name":"getChainUTXOs","outputs":[{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_utxos","type":"tuple"}],"name":"removeUsedUTXOs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"},{"internalType":"address","name":"_claimsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_UTXOs","type":"tuple"}],"name":"setInitialUTxOs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611ea66100fd60003960008181610e5d01528181610e860152610fbe0152611ea66000f3fe6080604052600436106100ad5760003560e01c80631754a61f146100b257806334c39084146100d45780633ce68a811461010a5780634f1ef2861461013a57806352d1902d1461014d578063715018a6146101705780637e31e3fd146101855780638129fc1c146101a55780638da5cb5b146101ba578063ad3cb1cc146101dc578063b1f08d6b1461021a578063bb1da9c91461023a578063e87c28a71461025a578063f2fde38b1461027a575b600080fd5b3480156100be57600080fd5b506100d26100cd3660046115d9565b61029a565b005b3480156100e057600080fd5b506100f46100ef366004611648565b6102f5565b6040516101019190611764565b60405180910390f35b34801561011657600080fd5b5061012a6101253660046118f3565b610565565b6040519015158152602001610101565b6100d2610148366004611972565b6105e3565b34801561015957600080fd5b50610162610602565b604051908152602001610101565b34801561017c57600080fd5b506100d261061f565b34801561019157600080fd5b506100d26101a03660046115d9565b610633565b3480156101b157600080fd5b506100d2610669565b3480156101c657600080fd5b506101cf610769565b60405161010191906119c9565b3480156101e857600080fd5b5061020d604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161010191906119dd565b34801561022657600080fd5b506100d26102353660046115d9565b610784565b34801561024657600080fd5b506100d26102553660046119f0565b6107af565b34801561026657600080fd5b506100d2610275366004611a58565b6108b4565b34801561028657600080fd5b506100d2610295366004611a8b565b6108ea565b6001546001600160a01b031633146102c557604051631ad2b5e160e31b815260040160405180910390fd5b6102d983836102d48480611aa6565b610931565b6102f083836102eb6020850185611aa6565b610c30565b505050565b60408051808201909152606080825260208201526002838360405161031b929190611aef565b908152604080519182900360209081018320805460609281028501830184529284018381529092849284919060009085015b8282101561043b57600084815260209081902060408051608081019091526004850290910180546001600160401b03168252600181018054929391929184019161039690611aff565b80601f01602080910402602001604051908101604052809291908181526020018280546103c290611aff565b801561040f5780601f106103e45761010080835404028352916020019161040f565b820191906000526020600020905b8154815290600101906020018083116103f257829003601f168201915b50505050508152602001600282015481526020016003820154815250508152602001906001019061034d565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b8282101561055657600084815260209081902060408051608081019091526004850290910180546001600160401b0316825260018101805492939192918401916104b190611aff565b80601f01602080910402602001604051908101604052809291908181526020018280546104dd90611aff565b801561052a5780601f106104ff5761010080835404028352916020019161052a565b820191906000526020600020905b81548152906001019060200180831161050d57829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610468565b50505091525090949350505050565b6020808201515160009161057b90850185611b33565b90501480156105b657506020808301518051908201209061059e90850185611b33565b6040516105ac929190611aef565b6040518091039020145b80156105c9575081604001518360400135145b80156105dc575081606001518360600135145b9392505050565b6105eb610e52565b6105f482610ef7565b6105fe8282610eff565b5050565b600061060c610fb3565b50600080516020611e5183398151915290565b610627610ffc565b610631600061102e565b565b6000546001600160a01b0316331461065e57604051637fea9dc560e01b815260040160405180910390fd5b6102f083838361108a565b60006106736112d8565b805490915060ff600160401b82041615906001600160401b031660008115801561069a5750825b90506000826001600160401b031660011480156106b65750303b155b9050811580156106c4575080155b156106e25760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561070b57845460ff60401b1916600160401b1785555b610714336112fc565b61071c61130d565b831561076257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b600080610774611315565b546001600160a01b031692915050565b6001546001600160a01b0316331461065e57604051631ad2b5e160e31b815260040160405180910390fd5b6001546001600160a01b031633146107da57604051631ad2b5e160e31b815260040160405180910390fd5b60006107e582611b79565b90506001601481819054906101000a90046001600160401b031661080890611ba1565b82546001600160401b039182166101009390930a8381029202191617909155815260405160029061083c9086908690611aef565b90815260405160209181900382019020805460018082018355600092835291839020845160049092020180546001600160401b0319166001600160401b03909216919091178155918301518392918201906108979082611c24565b506040820151816002015560608201518160030155505050505050565b6108bc610ffc565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6108f2610ffc565b6001600160a01b038116610925576000604051631e4fbdf760e01b815260040161091c91906119c9565b60405180910390fd5b61092e8161102e565b50565b60008060028686604051610946929190611aef565b9081526040519081900360200190205490505b80821015610c28576000805b84811015610ab957610aa386868381811061098257610982611cdd565b90506020028101906109949190611cf3565b60028a8a6040516109a6929190611aef565b908152602001604051809103902060000186815481106109c8576109c8611cdd565b6000918252602091829020604080516080810190915260049092020180546001600160401b031682526001810180549293919291840191610a0890611aff565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3490611aff565b8015610a815780601f10610a5657610100808354040283529160200191610a81565b820191906000526020600020905b815481529060010190602001808311610a6457829003601f168201915b5050505050815260200160028201548152602001600382015481525050610565565b15610ab15760019150610ab9565b600101610965565b508015610c145781610aca81611d13565b92505060028787604051610adf929190611aef565b90815260200160405180910390206000018281548110610b0157610b01611cdd565b906000526020600020906004020160028888604051610b21929190611aef565b90815260200160405180910390206000018481548110610b4357610b43611cdd565b60009182526020909120825460049092020180546001600160401b0319166001600160401b03909216919091178155600180820190610b8490840182611d2a565b50600282015481600201556003820154816003015590505060028787604051610bae929190611aef565b908152604051908190036020019020805480610bcc57610bcc611df6565b60008281526020812060046000199093019283020180546001600160401b031916815590610bfd6001830182611543565b506000600282018190556003909101559055610c22565b82610c1e81611e0c565b9350505b50610959565b505050505050565b600060028585604051610c44929190611aef565b90815260405190819003602001902060010154905060005b81811015610c28576000805b84811015610ce157610ccb868683818110610c8557610c85611cdd565b9050602002810190610c979190611cf3565b60028a8a604051610ca9929190611aef565b908152602001604051809103902060010185815481106109c8576109c8611cdd565b15610cd95760019150610ce1565b600101610c68565b508015610e3e5782610cf281611d13565b93505060028787604051610d07929190611aef565b90815260200160405180910390206001018381548110610d2957610d29611cdd565b906000526020600020906004020160028888604051610d49929190611aef565b90815260200160405180910390206001018381548110610d6b57610d6b611cdd565b60009182526020909120825460049092020180546001600160401b0319166001600160401b03909216919091178155600180820190610dac90840182611d2a565b50600282015481600201556003820154816003015590505060028787604051610dd6929190611aef565b9081526020016040518091039020600101805480610df657610df6611df6565b60008281526020812060046000199093019283020180546001600160401b031916815590610e276001830182611543565b506000600282018190556003909101559055610e4c565b81610e4881611e0c565b9250505b50610c5c565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610ed957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ecd600080516020611e51833981519152546001600160a01b031690565b6001600160a01b031614155b156106315760405163703e46dd60e11b815260040160405180910390fd5b61092e610ffc565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f59575060408051601f3d908101601f19168201909252610f5691810190611e25565b60015b610f785781604051634c9c8ce360e01b815260040161091c91906119c9565b600080516020611e518339815191528114610fa957604051632a87526960e21b81526004810182905260240161091c565b6102f08383611339565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106315760405163703e46dd60e11b815260040160405180910390fd5b33611005610769565b6001600160a01b031614610631573360405163118cdaa760e01b815260040161091c91906119c9565b6000611038611315565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b6110978280611aa6565b90508110156111a95760006110ac8380611aa6565b838181106110bc576110bc611cdd565b90506020028101906110ce9190611cf3565b6110d790611b79565b90506001601481819054906101000a90046001600160401b03166110fa90611ba1565b82546001600160401b039182166101009390930a8381029202191617909155815260405160029061112e9087908790611aef565b90815260405160209181900382019020805460018082018355600092835291839020845160049092020180546001600160401b0319166001600160401b03909216919091178155918301518392918201906111899082611c24565b50604082015160028201556060909101516003909101555060010161108d565b5060005b6111ba6020830183611aa6565b90508110156112d25760006111d26020840184611aa6565b838181106111e2576111e2611cdd565b90506020028101906111f49190611cf3565b6111fd90611b79565b90506001601481819054906101000a90046001600160401b031661122090611ba1565b82546001600160401b039182166101009390930a838102920219161790915581526040516002906112549087908790611aef565b90815260405160209181900382019020600190810180548083018255600091825290839020845160049092020180546001600160401b0319166001600160401b03909216919091178155918301518392918201906112b29082611c24565b5060408201516002820155606090910151600390910155506001016111ad565b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b61130461138f565b61092e816113b4565b61063161138f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b611342826113bc565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611387576102f08282611418565b6105fe61148e565b6113976114ad565b61063157604051631afcd79f60e31b815260040160405180910390fd5b6108f261138f565b806001600160a01b03163b6000036113e95780604051634c9c8ce360e01b815260040161091c91906119c9565b600080516020611e5183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516114359190611e3e565b600060405180830381855af49150503d8060008114611470576040519150601f19603f3d011682016040523d82523d6000602084013e611475565b606091505b50915091506114858583836114c7565b95945050505050565b34156106315760405163b398979f60e01b815260040160405180910390fd5b60006114b76112d8565b54600160401b900460ff16919050565b6060826114dc576114d78261151a565b6105dc565b81511580156114f357506001600160a01b0384163b155b156115135783604051639996b31560e01b815260040161091c91906119c9565b5092915050565b80511561152a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50805461154f90611aff565b6000825580601f1061155f575050565b601f01602090049060005260206000209081019061092e91905b8082111561158d5760008155600101611579565b5090565b60008083601f8401126115a357600080fd5b5081356001600160401b038111156115ba57600080fd5b6020830191508360208285010111156115d257600080fd5b9250929050565b6000806000604084860312156115ee57600080fd5b83356001600160401b038082111561160557600080fd5b61161187838801611591565b9095509350602086013591508082111561162a57600080fd5b5084016040818703121561163d57600080fd5b809150509250925092565b6000806020838503121561165b57600080fd5b82356001600160401b0381111561167157600080fd5b61167d85828601611591565b90969095509350505050565b60005b838110156116a457818101518382015260200161168c565b50506000910152565b600081518084526116c5816020860160208601611689565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561175757601f19868403018952815160806001600160401b03825116855285820151818787015261172d828701826116ad565b604084810151908801526060938401519390960192909252505097830197908301906001016116f6565b5090979650505050505050565b60208152600082516040602084015261178060608401826116d9565b90506020840151601f1984830301604085015261148582826116d9565b6000608082840312156117af57600080fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156117ed576117ed6117b5565b60405290565b60006001600160401b038084111561180d5761180d6117b5565b604051601f8501601f19908116603f01168101908282118183101715611835576118356117b5565b8160405280935085815286868601111561184e57600080fd5b858560208301376000602087830101525050509392505050565b60006080828403121561187a57600080fd5b6118826117cb565b905081356001600160401b03808216821461189c57600080fd5b908252602083013590808211156118b257600080fd5b508201601f810184136118c457600080fd5b6118d3848235602084016117f3565b602083015250604082013560408201526060820135606082015292915050565b6000806040838503121561190657600080fd5b82356001600160401b038082111561191d57600080fd5b6119298683870161179d565b9350602085013591508082111561193f57600080fd5b5061194c85828601611868565b9150509250929050565b80356001600160a01b038116811461196d57600080fd5b919050565b6000806040838503121561198557600080fd5b61198e83611956565b915060208301356001600160401b038111156119a957600080fd5b8301601f810185136119ba57600080fd5b61194c858235602084016117f3565b6001600160a01b0391909116815260200190565b6020815260006105dc60208301846116ad565b600080600060408486031215611a0557600080fd5b83356001600160401b0380821115611a1c57600080fd5b611a2887838801611591565b90955093506020860135915080821115611a4157600080fd5b50611a4e8682870161179d565b9150509250925092565b60008060408385031215611a6b57600080fd5b611a7483611956565b9150611a8260208401611956565b90509250929050565b600060208284031215611a9d57600080fd5b6105dc82611956565b6000808335601e19843603018112611abd57600080fd5b8301803591506001600160401b03821115611ad757600080fd5b6020019150600581901b36038213156115d257600080fd5b8183823760009101908152919050565b600181811c90821680611b1357607f821691505b6020821081036117af57634e487b7160e01b600052602260045260246000fd5b6000808335601e19843603018112611b4a57600080fd5b8301803591506001600160401b03821115611b6457600080fd5b6020019150368190038213156115d257600080fd5b6000611b853683611868565b92915050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818103611bbd57611bbd611b8b565b6001019392505050565b601f8211156102f0576000816000526020600020601f850160051c81016020861015611bf05750805b601f850160051c820191505b81811015610c2857828155600101611bfc565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115611c3d57611c3d6117b5565b611c5181611c4b8454611aff565b84611bc7565b602080601f831160018114611c805760008415611c6e5750858301515b611c788582611c0f565b865550610c28565b600085815260208120601f198616915b82811015611caf57888601518255948401946001909101908401611c90565b5085821015611ccd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b60008235607e19833603018112611d0957600080fd5b9190910192915050565b600081611d2257611d22611b8b565b506000190190565b818103611d35575050565b611d3f8254611aff565b6001600160401b03811115611d5657611d566117b5565b611d6481611c4b8454611aff565b6000601f821160018114611d925760008315611d805750848201545b611d8a8482611c0f565b855550610762565b600085815260209020601f19841690600086815260209020845b83811015611dcc5782860154825560019586019590910190602001611dac565b5085831015611ccd5793015460001960f8600387901b161c19169092555050600190811b01905550565b634e487b7160e01b600052603160045260246000fd5b600060018201611e1e57611e1e611b8b565b5060010190565b600060208284031215611e3757600080fd5b5051919050565b60008251611d0981846020870161168956fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220ff5c6801c558193e693c4290bd07d121dda312c7f74265de29481fab55a2e82064736f6c63430008170033","deployedBytecode":"0x6080604052600436106100ad5760003560e01c80631754a61f146100b257806334c39084146100d45780633ce68a811461010a5780634f1ef2861461013a57806352d1902d1461014d578063715018a6146101705780637e31e3fd146101855780638129fc1c146101a55780638da5cb5b146101ba578063ad3cb1cc146101dc578063b1f08d6b1461021a578063bb1da9c91461023a578063e87c28a71461025a578063f2fde38b1461027a575b600080fd5b3480156100be57600080fd5b506100d26100cd3660046115d9565b61029a565b005b3480156100e057600080fd5b506100f46100ef366004611648565b6102f5565b6040516101019190611764565b60405180910390f35b34801561011657600080fd5b5061012a6101253660046118f3565b610565565b6040519015158152602001610101565b6100d2610148366004611972565b6105e3565b34801561015957600080fd5b50610162610602565b604051908152602001610101565b34801561017c57600080fd5b506100d261061f565b34801561019157600080fd5b506100d26101a03660046115d9565b610633565b3480156101b157600080fd5b506100d2610669565b3480156101c657600080fd5b506101cf610769565b60405161010191906119c9565b3480156101e857600080fd5b5061020d604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161010191906119dd565b34801561022657600080fd5b506100d26102353660046115d9565b610784565b34801561024657600080fd5b506100d26102553660046119f0565b6107af565b34801561026657600080fd5b506100d2610275366004611a58565b6108b4565b34801561028657600080fd5b506100d2610295366004611a8b565b6108ea565b6001546001600160a01b031633146102c557604051631ad2b5e160e31b815260040160405180910390fd5b6102d983836102d48480611aa6565b610931565b6102f083836102eb6020850185611aa6565b610c30565b505050565b60408051808201909152606080825260208201526002838360405161031b929190611aef565b908152604080519182900360209081018320805460609281028501830184529284018381529092849284919060009085015b8282101561043b57600084815260209081902060408051608081019091526004850290910180546001600160401b03168252600181018054929391929184019161039690611aff565b80601f01602080910402602001604051908101604052809291908181526020018280546103c290611aff565b801561040f5780601f106103e45761010080835404028352916020019161040f565b820191906000526020600020905b8154815290600101906020018083116103f257829003601f168201915b50505050508152602001600282015481526020016003820154815250508152602001906001019061034d565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b8282101561055657600084815260209081902060408051608081019091526004850290910180546001600160401b0316825260018101805492939192918401916104b190611aff565b80601f01602080910402602001604051908101604052809291908181526020018280546104dd90611aff565b801561052a5780601f106104ff5761010080835404028352916020019161052a565b820191906000526020600020905b81548152906001019060200180831161050d57829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610468565b50505091525090949350505050565b6020808201515160009161057b90850185611b33565b90501480156105b657506020808301518051908201209061059e90850185611b33565b6040516105ac929190611aef565b6040518091039020145b80156105c9575081604001518360400135145b80156105dc575081606001518360600135145b9392505050565b6105eb610e52565b6105f482610ef7565b6105fe8282610eff565b5050565b600061060c610fb3565b50600080516020611e5183398151915290565b610627610ffc565b610631600061102e565b565b6000546001600160a01b0316331461065e57604051637fea9dc560e01b815260040160405180910390fd5b6102f083838361108a565b60006106736112d8565b805490915060ff600160401b82041615906001600160401b031660008115801561069a5750825b90506000826001600160401b031660011480156106b65750303b155b9050811580156106c4575080155b156106e25760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561070b57845460ff60401b1916600160401b1785555b610714336112fc565b61071c61130d565b831561076257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b600080610774611315565b546001600160a01b031692915050565b6001546001600160a01b0316331461065e57604051631ad2b5e160e31b815260040160405180910390fd5b6001546001600160a01b031633146107da57604051631ad2b5e160e31b815260040160405180910390fd5b60006107e582611b79565b90506001601481819054906101000a90046001600160401b031661080890611ba1565b82546001600160401b039182166101009390930a8381029202191617909155815260405160029061083c9086908690611aef565b90815260405160209181900382019020805460018082018355600092835291839020845160049092020180546001600160401b0319166001600160401b03909216919091178155918301518392918201906108979082611c24565b506040820151816002015560608201518160030155505050505050565b6108bc610ffc565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6108f2610ffc565b6001600160a01b038116610925576000604051631e4fbdf760e01b815260040161091c91906119c9565b60405180910390fd5b61092e8161102e565b50565b60008060028686604051610946929190611aef565b9081526040519081900360200190205490505b80821015610c28576000805b84811015610ab957610aa386868381811061098257610982611cdd565b90506020028101906109949190611cf3565b60028a8a6040516109a6929190611aef565b908152602001604051809103902060000186815481106109c8576109c8611cdd565b6000918252602091829020604080516080810190915260049092020180546001600160401b031682526001810180549293919291840191610a0890611aff565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3490611aff565b8015610a815780601f10610a5657610100808354040283529160200191610a81565b820191906000526020600020905b815481529060010190602001808311610a6457829003601f168201915b5050505050815260200160028201548152602001600382015481525050610565565b15610ab15760019150610ab9565b600101610965565b508015610c145781610aca81611d13565b92505060028787604051610adf929190611aef565b90815260200160405180910390206000018281548110610b0157610b01611cdd565b906000526020600020906004020160028888604051610b21929190611aef565b90815260200160405180910390206000018481548110610b4357610b43611cdd565b60009182526020909120825460049092020180546001600160401b0319166001600160401b03909216919091178155600180820190610b8490840182611d2a565b50600282015481600201556003820154816003015590505060028787604051610bae929190611aef565b908152604051908190036020019020805480610bcc57610bcc611df6565b60008281526020812060046000199093019283020180546001600160401b031916815590610bfd6001830182611543565b506000600282018190556003909101559055610c22565b82610c1e81611e0c565b9350505b50610959565b505050505050565b600060028585604051610c44929190611aef565b90815260405190819003602001902060010154905060005b81811015610c28576000805b84811015610ce157610ccb868683818110610c8557610c85611cdd565b9050602002810190610c979190611cf3565b60028a8a604051610ca9929190611aef565b908152602001604051809103902060010185815481106109c8576109c8611cdd565b15610cd95760019150610ce1565b600101610c68565b508015610e3e5782610cf281611d13565b93505060028787604051610d07929190611aef565b90815260200160405180910390206001018381548110610d2957610d29611cdd565b906000526020600020906004020160028888604051610d49929190611aef565b90815260200160405180910390206001018381548110610d6b57610d6b611cdd565b60009182526020909120825460049092020180546001600160401b0319166001600160401b03909216919091178155600180820190610dac90840182611d2a565b50600282015481600201556003820154816003015590505060028787604051610dd6929190611aef565b9081526020016040518091039020600101805480610df657610df6611df6565b60008281526020812060046000199093019283020180546001600160401b031916815590610e276001830182611543565b506000600282018190556003909101559055610e4c565b81610e4881611e0c565b9250505b50610c5c565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610ed957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ecd600080516020611e51833981519152546001600160a01b031690565b6001600160a01b031614155b156106315760405163703e46dd60e11b815260040160405180910390fd5b61092e610ffc565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f59575060408051601f3d908101601f19168201909252610f5691810190611e25565b60015b610f785781604051634c9c8ce360e01b815260040161091c91906119c9565b600080516020611e518339815191528114610fa957604051632a87526960e21b81526004810182905260240161091c565b6102f08383611339565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106315760405163703e46dd60e11b815260040160405180910390fd5b33611005610769565b6001600160a01b031614610631573360405163118cdaa760e01b815260040161091c91906119c9565b6000611038611315565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b6110978280611aa6565b90508110156111a95760006110ac8380611aa6565b838181106110bc576110bc611cdd565b90506020028101906110ce9190611cf3565b6110d790611b79565b90506001601481819054906101000a90046001600160401b03166110fa90611ba1565b82546001600160401b039182166101009390930a8381029202191617909155815260405160029061112e9087908790611aef565b90815260405160209181900382019020805460018082018355600092835291839020845160049092020180546001600160401b0319166001600160401b03909216919091178155918301518392918201906111899082611c24565b50604082015160028201556060909101516003909101555060010161108d565b5060005b6111ba6020830183611aa6565b90508110156112d25760006111d26020840184611aa6565b838181106111e2576111e2611cdd565b90506020028101906111f49190611cf3565b6111fd90611b79565b90506001601481819054906101000a90046001600160401b031661122090611ba1565b82546001600160401b039182166101009390930a838102920219161790915581526040516002906112549087908790611aef565b90815260405160209181900382019020600190810180548083018255600091825290839020845160049092020180546001600160401b0319166001600160401b03909216919091178155918301518392918201906112b29082611c24565b5060408201516002820155606090910151600390910155506001016111ad565b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b61130461138f565b61092e816113b4565b61063161138f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b611342826113bc565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611387576102f08282611418565b6105fe61148e565b6113976114ad565b61063157604051631afcd79f60e31b815260040160405180910390fd5b6108f261138f565b806001600160a01b03163b6000036113e95780604051634c9c8ce360e01b815260040161091c91906119c9565b600080516020611e5183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516114359190611e3e565b600060405180830381855af49150503d8060008114611470576040519150601f19603f3d011682016040523d82523d6000602084013e611475565b606091505b50915091506114858583836114c7565b95945050505050565b34156106315760405163b398979f60e01b815260040160405180910390fd5b60006114b76112d8565b54600160401b900460ff16919050565b6060826114dc576114d78261151a565b6105dc565b81511580156114f357506001600160a01b0384163b155b156115135783604051639996b31560e01b815260040161091c91906119c9565b5092915050565b80511561152a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50805461154f90611aff565b6000825580601f1061155f575050565b601f01602090049060005260206000209081019061092e91905b8082111561158d5760008155600101611579565b5090565b60008083601f8401126115a357600080fd5b5081356001600160401b038111156115ba57600080fd5b6020830191508360208285010111156115d257600080fd5b9250929050565b6000806000604084860312156115ee57600080fd5b83356001600160401b038082111561160557600080fd5b61161187838801611591565b9095509350602086013591508082111561162a57600080fd5b5084016040818703121561163d57600080fd5b809150509250925092565b6000806020838503121561165b57600080fd5b82356001600160401b0381111561167157600080fd5b61167d85828601611591565b90969095509350505050565b60005b838110156116a457818101518382015260200161168c565b50506000910152565b600081518084526116c5816020860160208601611689565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561175757601f19868403018952815160806001600160401b03825116855285820151818787015261172d828701826116ad565b604084810151908801526060938401519390960192909252505097830197908301906001016116f6565b5090979650505050505050565b60208152600082516040602084015261178060608401826116d9565b90506020840151601f1984830301604085015261148582826116d9565b6000608082840312156117af57600080fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156117ed576117ed6117b5565b60405290565b60006001600160401b038084111561180d5761180d6117b5565b604051601f8501601f19908116603f01168101908282118183101715611835576118356117b5565b8160405280935085815286868601111561184e57600080fd5b858560208301376000602087830101525050509392505050565b60006080828403121561187a57600080fd5b6118826117cb565b905081356001600160401b03808216821461189c57600080fd5b908252602083013590808211156118b257600080fd5b508201601f810184136118c457600080fd5b6118d3848235602084016117f3565b602083015250604082013560408201526060820135606082015292915050565b6000806040838503121561190657600080fd5b82356001600160401b038082111561191d57600080fd5b6119298683870161179d565b9350602085013591508082111561193f57600080fd5b5061194c85828601611868565b9150509250929050565b80356001600160a01b038116811461196d57600080fd5b919050565b6000806040838503121561198557600080fd5b61198e83611956565b915060208301356001600160401b038111156119a957600080fd5b8301601f810185136119ba57600080fd5b61194c858235602084016117f3565b6001600160a01b0391909116815260200190565b6020815260006105dc60208301846116ad565b600080600060408486031215611a0557600080fd5b83356001600160401b0380821115611a1c57600080fd5b611a2887838801611591565b90955093506020860135915080821115611a4157600080fd5b50611a4e8682870161179d565b9150509250925092565b60008060408385031215611a6b57600080fd5b611a7483611956565b9150611a8260208401611956565b90509250929050565b600060208284031215611a9d57600080fd5b6105dc82611956565b6000808335601e19843603018112611abd57600080fd5b8301803591506001600160401b03821115611ad757600080fd5b6020019150600581901b36038213156115d257600080fd5b8183823760009101908152919050565b600181811c90821680611b1357607f821691505b6020821081036117af57634e487b7160e01b600052602260045260246000fd5b6000808335601e19843603018112611b4a57600080fd5b8301803591506001600160401b03821115611b6457600080fd5b6020019150368190038213156115d257600080fd5b6000611b853683611868565b92915050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818103611bbd57611bbd611b8b565b6001019392505050565b601f8211156102f0576000816000526020600020601f850160051c81016020861015611bf05750805b601f850160051c820191505b81811015610c2857828155600101611bfc565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115611c3d57611c3d6117b5565b611c5181611c4b8454611aff565b84611bc7565b602080601f831160018114611c805760008415611c6e5750858301515b611c788582611c0f565b865550610c28565b600085815260208120601f198616915b82811015611caf57888601518255948401946001909101908401611c90565b5085821015611ccd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b60008235607e19833603018112611d0957600080fd5b9190910192915050565b600081611d2257611d22611b8b565b506000190190565b818103611d35575050565b611d3f8254611aff565b6001600160401b03811115611d5657611d566117b5565b611d6481611c4b8454611aff565b6000601f821160018114611d925760008315611d805750848201545b611d8a8482611c0f565b855550610762565b600085815260209020601f19841690600086815260209020845b83811015611dcc5782860154825560019586019590910190602001611dac565b5085831015611ccd5793015460001960f8600387901b161c19169092555050600190811b01905550565b634e487b7160e01b600052603160045260246000fd5b600060018201611e1e57611e1e611b8b565b5060010190565b600060208284031215611e3757600080fd5b5051919050565b60008251611d0981846020870161168956fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220ff5c6801c558193e693c4290bd07d121dda312c7f74265de29481fab55a2e82064736f6c63430008170033","linkReferences":{},"deployedLinkReferences":{}}` -var ValidatorsArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"Validators","sourceName":"contracts/Validators.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"address","name":"addr","type":"address"},{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData","name":"data","type":"tuple"}],"name":"addValidatorCardanoData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getQuorumNumberOfValidators","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"getValidatorsCardanoData","outputs":[{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getValidatorsCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_validators","type":"address[]"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"string","name":"_txRaw","type":"string"},{"internalType":"string","name":"_signature","type":"string"},{"internalType":"string","name":"_signatureFee","type":"string"},{"internalType":"address","name":"_validatorAddr","type":"address"}],"name":"isSignatureValid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isValidator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData","name":"data","type":"tuple"}],"internalType":"struct IBridgeStructs.ValidatorAddressCardanoData[]","name":"validatorAddressCardanoData","type":"tuple[]"}],"name":"setValidatorsCardanoData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"validatorsCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}],"bytecode":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611c816100fd60003960008181610c7601528181610c9f0152610ddc0152611c816000f3fe6080604052600436106100d35760003560e01c80638389cb181161007a5780638389cb18146101ed5780638da5cb5b1461020d578063a224cee71461022f578063ad3cb1cc1461024f578063d8718da01461028d578063ed612f8c146102a2578063f2fde38b146102bc578063facd743b146102dc57600080fd5b806327498240146100d857806332bae10d1461010357806334a1a095146101255780634f1ef2861461014557806352d1902d14610158578063636b8a0d1461017b578063715018a6146101a857806381b6ecf5146101bd575b600080fd5b3480156100e457600080fd5b5060055460ff165b60405160ff90911681526020015b60405180910390f35b34801561010f57600080fd5b5061012361011e3660046112f1565b610315565b005b34801561013157600080fd5b50610123610140366004611378565b610440565b61012361015336600461140f565b6104b9565b34801561016457600080fd5b5061016d6104d8565b6040519081526020016100fa565b34801561018757600080fd5b5061019b6101963660046114d0565b6104f5565b6040516100fa9190611561565b3480156101b457600080fd5b5061012361069a565b3480156101c957600080fd5b506101dd6101d83660046115e8565b6106ae565b60405190151581526020016100fa565b3480156101f957600080fd5b506101236102083660046116bb565b610850565b34801561021957600080fd5b5061022261087a565b6040516100fa91906116d6565b34801561023b57600080fd5b5061012361024a3660046116ea565b610895565b34801561025b57600080fd5b50610280604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100fa919061171f565b34801561029957600080fd5b506100ec610a69565b3480156102ae57600080fd5b506005546100ec9060ff1681565b3480156102c857600080fd5b506101236102d73660046116bb565b610a9a565b3480156102e857600080fd5b506101dd6102f73660046116bb565b6001600160a01b031660009081526004602052604090205460ff1690565b6000546001600160a01b0316331461034057604051637fea9dc560e01b815260040160405180910390fd5b60055460ff16811461038d5760405163180a097760e01b815260206004820152601060248201526f1d985b1a59185d1bdc9cc818dbdd5b9d60821b60448201526064015b60405180910390fd5b60005b8181101561042f57368383838181106103ab576103ab611732565b90506020028101906103bd9190611748565b90506103cc6020820182611748565b600187876040516103de929190611768565b9081526020016040518091039020600083600001602081019061040191906116bb565b6001600160a01b0316815260208101919091526040016000206104248282611917565b505050600101610390565b5061043a8484610ad8565b50505050565b6000546001600160a01b0316331461046b57604051637fea9dc560e01b815260040160405180910390fd5b806001858560405161047e929190611768565b90815260408051602092819003830190206001600160a01b0386166000908152925290206104ac8282611917565b90505061043a8484610ad8565b6104c1610c6b565b6104ca82610d10565b6104d48282610d18565b5050565b60006104e2610dd1565b50600080516020611c2c83398151915290565b606060028383604051610509929190611768565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b8282101561068d578382906000526020600020906002020160405180604001604052908160008201805461056a906117be565b80601f0160208091040260200160405190810160405280929190818152602001828054610596906117be565b80156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b505050505081526020016001820180546105fc906117be565b80601f0160208091040260200160405190810160405280929190818152602001828054610628906117be565b80156106755780601f1061064a57610100808354040283529160200191610675565b820191906000526020600020905b81548152906001019060200180831161065857829003601f168201915b50505050508152505081526020019060010190610537565b5050505090505b92915050565b6106a2610e1a565b6106ac6000610e4c565b565b60008060018b8b6040516106c3929190611768565b9081526040805191829003602090810183206001600160a01b038716600090815291528190208282019091528054829082906106fe906117be565b80601f016020809104026020016040519081016040528092919081815260200182805461072a906117be565b80156107775780601f1061074c57610100808354040283529160200191610777565b820191906000526020600020905b81548152906001019060200180831161075a57829003601f168201915b50505050508152602001600182018054610790906117be565b80601f01602080910402602001604051908101604052809291908181526020018280546107bc906117be565b80156108095780601f106107de57610100808354040283529160200191610809565b820191906000526020600020905b8154815290600101906020018083116107ec57829003601f168201915b50505050508152505090506108278989898985600001516001610ea8565b801561084157506108418989878785602001516001610ea8565b9b9a5050505050505050505050565b610858610e1a565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610885610f61565b546001600160a01b031692915050565b600061089f610f85565b805490915060ff600160401b82041615906001600160401b03166000811580156108c65750825b90506000826001600160401b031660011480156108e25750303b155b9050811580156108f0575080155b1561090e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561093857845460ff60401b1916600160401b1785555b61094133610fa9565b610949610fba565b60005b86811015610a0a576001600460008a8a8581811061096c5761096c611732565b905060200201602081019061098191906116bb565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905560038888838181106109bd576109bd611732565b90506020020160208101906109d291906116bb565b815460018082018455600093845260209093200180546001600160a01b0319166001600160a01b03929092169190911790550161094c565b506005805460ff191660ff88161790558315610a6057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600554600090600390610a809060ff166002611a09565b610a8b906002611a2c565b610a959190611a45565b905090565b610aa2610e1a565b6001600160a01b038116610acc576000604051631e4fbdf760e01b815260040161038491906116d6565b610ad581610e4c565b50565b6000805b600354811015610b6a57600060018585604051610afa929190611768565b9081526020016040518091039020600060038481548110610b1d57610b1d611732565b60009182526020808320909101546001600160a01b0316835282019290925260400190208054610b4c906117be565b90501115610b625781610b5e81611a75565b9250505b600101610adc565b506003548114610b7957505050565b60028383604051610b8b929190611768565b90815260200160405180910390206000610ba591906111cf565b60005b60035481101561043a5760028484604051610bc4929190611768565b908152602001604051809103902060018585604051610be4929190611768565b9081526020016040518091039020600060038481548110610c0757610c07611732565b60009182526020808320909101546001600160a01b031683528281019390935260409091018120835460018101855593825291902090916002020180610c4d8382611a8e565b50600181810190610c6090840182611a8e565b505050600101610ba8565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610cf257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ce6600080516020611c2c833981519152546001600160a01b031690565b6001600160a01b031614155b156106ac5760405163703e46dd60e11b815260040160405180910390fd5b610ad5610e1a565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d72575060408051601f3d908101601f19168201909252610d6f91810190611b64565b60015b610d915781604051634c9c8ce360e01b815260040161038491906116d6565b600080516020611c2c8339815191528114610dc257604051632a87526960e21b815260048101829052602401610384565b610dcc8383610fc2565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106ac5760405163703e46dd60e11b815260040160405180910390fd5b33610e2361087a565b6001600160a01b0316146106ac573360405163118cdaa760e01b815260040161038491906116d6565b6000610e56610f61565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60008060006120506001600160a01b0316620249f08a8a8a8a8a8a604051602001610ed896959493929190611ba6565b60408051601f1981840301815290829052610ef291611bf7565b6000604051808303818686fa925050503d8060008114610f2e576040519150601f19603f3d011682016040523d82523d6000602084013e610f33565b606091505b5091509150818015610f54575080806020019051810190610f549190611c09565b9998505050505050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b610fb1611018565b610ad58161103d565b6106ac611018565b610fcb82611045565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561101057610dcc82826110a1565b6104d4611117565b611020611136565b6106ac57604051631afcd79f60e31b815260040160405180910390fd5b610aa2611018565b806001600160a01b03163b6000036110725780604051634c9c8ce360e01b815260040161038491906116d6565b600080516020611c2c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516110be9190611bf7565b600060405180830381855af49150503d80600081146110f9576040519150601f19603f3d011682016040523d82523d6000602084013e6110fe565b606091505b509150915061110e858383611150565b95945050505050565b34156106ac5760405163b398979f60e01b815260040160405180910390fd5b6000611140610f85565b54600160401b900460ff16919050565b60608261116557611160826111a6565b61119f565b815115801561117c57506001600160a01b0384163b155b1561119c5783604051639996b31560e01b815260040161038491906116d6565b50805b9392505050565b8051156111b65780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5080546000825560020290600052602060002090810190610ad591905b80821115611217576000611200828261121b565b61120e60018301600061121b565b506002016111ec565b5090565b508054611227906117be565b6000825580601f10611237575050565b601f016020900490600052602060002090810190610ad591905b808211156112175760008155600101611251565b60008083601f84011261127757600080fd5b5081356001600160401b0381111561128e57600080fd5b6020830191508360208285010111156112a657600080fd5b9250929050565b60008083601f8401126112bf57600080fd5b5081356001600160401b038111156112d657600080fd5b6020830191508360208260051b85010111156112a657600080fd5b6000806000806040858703121561130757600080fd5b84356001600160401b038082111561131e57600080fd5b61132a88838901611265565b9096509450602087013591508082111561134357600080fd5b50611350878288016112ad565b95989497509550505050565b80356001600160a01b038116811461137357600080fd5b919050565b6000806000806060858703121561138e57600080fd5b84356001600160401b03808211156113a557600080fd5b6113b188838901611265565b90965094508491506113c56020880161135c565b935060408701359150808211156113db57600080fd5b508501604081880312156113ee57600080fd5b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561142257600080fd5b61142b8361135c565b915060208301356001600160401b038082111561144757600080fd5b818501915085601f83011261145b57600080fd5b81358181111561146d5761146d6113f9565b604051601f8201601f19908116603f01168101908382118183101715611495576114956113f9565b816040528281528860208487010111156114ae57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080602083850312156114e357600080fd5b82356001600160401b038111156114f957600080fd5b61150585828601611265565b90969095509350505050565b60005b8381101561152c578181015183820152602001611514565b50506000910152565b6000815180845261154d816020860160208601611511565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156115da57888303603f19018552815180518785526115ae88860182611535565b91890151858303868b01529190506115c68183611535565b96890196945050509086019060010161158a565b509098975050505050505050565b600080600080600080600080600060a08a8c03121561160657600080fd5b89356001600160401b038082111561161d57600080fd5b6116298d838e01611265565b909b50995060208c013591508082111561164257600080fd5b61164e8d838e01611265565b909950975060408c013591508082111561166757600080fd5b6116738d838e01611265565b909750955060608c013591508082111561168c57600080fd5b506116998c828d01611265565b90945092506116ac905060808b0161135c565b90509295985092959850929598565b6000602082840312156116cd57600080fd5b61119f8261135c565b6001600160a01b0391909116815260200190565b600080602083850312156116fd57600080fd5b82356001600160401b0381111561171357600080fd5b611505858286016112ad565b60208152600061119f6020830184611535565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261175e57600080fd5b9190910192915050565b8183823760009101908152919050565b6000808335601e1984360301811261178f57600080fd5b8301803591506001600160401b038211156117a957600080fd5b6020019150368190038213156112a657600080fd5b600181811c908216806117d257607f821691505b6020821081036117f257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610dcc576000816000526020600020601f850160051c810160208610156118215750805b601f850160051c820191505b818110156118405782815560010161182d565b505050505050565b600019600383901b1c191660019190911b1790565b6001600160401b03831115611874576118746113f9565b6118888361188283546117be565b836117f8565b6000601f8411600181146118b657600085156118a45750838201355b6118ae8682611848565b845550611910565b600083815260209020601f19861690835b828110156118e757868501358255602094850194600190920191016118c7565b50868210156119045760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6119218283611778565b6001600160401b03811115611938576119386113f9565b61194c8161194685546117be565b856117f8565b6000601f82116001811461197a57600083156119685750838201355b6119728482611848565b8655506119d4565b600085815260209020601f19841690835b828110156119ab578685013582556020948501946001909201910161198b565b50848210156119c85760001960f88660031b161c19848701351681555b505060018360011b0185555b505050506119e56020830183611778565b61043a81836001860161185d565b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160290811690818114611a2557611a256119f3565b5092915050565b60ff8181168382160190811115610694576106946119f3565b600060ff831680611a6657634e487b7160e01b600052601260045260246000fd5b8060ff84160491505092915050565b600060018201611a8757611a876119f3565b5060010190565b818103611a99575050565b611aa382546117be565b6001600160401b03811115611aba57611aba6113f9565b611ace81611ac884546117be565b846117f8565b6000601f821160018114611afc5760008315611aea5750848201545b611af48482611848565b855550611910565b600085815260209020601f19841690600086815260209020845b83811015611b365782860154825560019586019590910190602001611b16565b5085831015611b545781850154600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611b7657600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611bba60808301888a611b7d565b8281036020840152611bcd818789611b7d565b90508281036040840152611be18186611535565b9150508215156060830152979650505050505050565b6000825161175e818460208701611511565b600060208284031215611c1b57600080fd5b8151801515811461119f57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220754674f08af227e4572755460279a83b110ed33dac40b36676aa27cf21c2f36464736f6c63430008170033","deployedBytecode":"0x6080604052600436106100d35760003560e01c80638389cb181161007a5780638389cb18146101ed5780638da5cb5b1461020d578063a224cee71461022f578063ad3cb1cc1461024f578063d8718da01461028d578063ed612f8c146102a2578063f2fde38b146102bc578063facd743b146102dc57600080fd5b806327498240146100d857806332bae10d1461010357806334a1a095146101255780634f1ef2861461014557806352d1902d14610158578063636b8a0d1461017b578063715018a6146101a857806381b6ecf5146101bd575b600080fd5b3480156100e457600080fd5b5060055460ff165b60405160ff90911681526020015b60405180910390f35b34801561010f57600080fd5b5061012361011e3660046112f1565b610315565b005b34801561013157600080fd5b50610123610140366004611378565b610440565b61012361015336600461140f565b6104b9565b34801561016457600080fd5b5061016d6104d8565b6040519081526020016100fa565b34801561018757600080fd5b5061019b6101963660046114d0565b6104f5565b6040516100fa9190611561565b3480156101b457600080fd5b5061012361069a565b3480156101c957600080fd5b506101dd6101d83660046115e8565b6106ae565b60405190151581526020016100fa565b3480156101f957600080fd5b506101236102083660046116bb565b610850565b34801561021957600080fd5b5061022261087a565b6040516100fa91906116d6565b34801561023b57600080fd5b5061012361024a3660046116ea565b610895565b34801561025b57600080fd5b50610280604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100fa919061171f565b34801561029957600080fd5b506100ec610a69565b3480156102ae57600080fd5b506005546100ec9060ff1681565b3480156102c857600080fd5b506101236102d73660046116bb565b610a9a565b3480156102e857600080fd5b506101dd6102f73660046116bb565b6001600160a01b031660009081526004602052604090205460ff1690565b6000546001600160a01b0316331461034057604051637fea9dc560e01b815260040160405180910390fd5b60055460ff16811461038d5760405163180a097760e01b815260206004820152601060248201526f1d985b1a59185d1bdc9cc818dbdd5b9d60821b60448201526064015b60405180910390fd5b60005b8181101561042f57368383838181106103ab576103ab611732565b90506020028101906103bd9190611748565b90506103cc6020820182611748565b600187876040516103de929190611768565b9081526020016040518091039020600083600001602081019061040191906116bb565b6001600160a01b0316815260208101919091526040016000206104248282611917565b505050600101610390565b5061043a8484610ad8565b50505050565b6000546001600160a01b0316331461046b57604051637fea9dc560e01b815260040160405180910390fd5b806001858560405161047e929190611768565b90815260408051602092819003830190206001600160a01b0386166000908152925290206104ac8282611917565b90505061043a8484610ad8565b6104c1610c6b565b6104ca82610d10565b6104d48282610d18565b5050565b60006104e2610dd1565b50600080516020611c2c83398151915290565b606060028383604051610509929190611768565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b8282101561068d578382906000526020600020906002020160405180604001604052908160008201805461056a906117be565b80601f0160208091040260200160405190810160405280929190818152602001828054610596906117be565b80156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b505050505081526020016001820180546105fc906117be565b80601f0160208091040260200160405190810160405280929190818152602001828054610628906117be565b80156106755780601f1061064a57610100808354040283529160200191610675565b820191906000526020600020905b81548152906001019060200180831161065857829003601f168201915b50505050508152505081526020019060010190610537565b5050505090505b92915050565b6106a2610e1a565b6106ac6000610e4c565b565b60008060018b8b6040516106c3929190611768565b9081526040805191829003602090810183206001600160a01b038716600090815291528190208282019091528054829082906106fe906117be565b80601f016020809104026020016040519081016040528092919081815260200182805461072a906117be565b80156107775780601f1061074c57610100808354040283529160200191610777565b820191906000526020600020905b81548152906001019060200180831161075a57829003601f168201915b50505050508152602001600182018054610790906117be565b80601f01602080910402602001604051908101604052809291908181526020018280546107bc906117be565b80156108095780601f106107de57610100808354040283529160200191610809565b820191906000526020600020905b8154815290600101906020018083116107ec57829003601f168201915b50505050508152505090506108278989898985600001516001610ea8565b801561084157506108418989878785602001516001610ea8565b9b9a5050505050505050505050565b610858610e1a565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610885610f61565b546001600160a01b031692915050565b600061089f610f85565b805490915060ff600160401b82041615906001600160401b03166000811580156108c65750825b90506000826001600160401b031660011480156108e25750303b155b9050811580156108f0575080155b1561090e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561093857845460ff60401b1916600160401b1785555b61094133610fa9565b610949610fba565b60005b86811015610a0a576001600460008a8a8581811061096c5761096c611732565b905060200201602081019061098191906116bb565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905560038888838181106109bd576109bd611732565b90506020020160208101906109d291906116bb565b815460018082018455600093845260209093200180546001600160a01b0319166001600160a01b03929092169190911790550161094c565b506005805460ff191660ff88161790558315610a6057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600554600090600390610a809060ff166002611a09565b610a8b906002611a2c565b610a959190611a45565b905090565b610aa2610e1a565b6001600160a01b038116610acc576000604051631e4fbdf760e01b815260040161038491906116d6565b610ad581610e4c565b50565b6000805b600354811015610b6a57600060018585604051610afa929190611768565b9081526020016040518091039020600060038481548110610b1d57610b1d611732565b60009182526020808320909101546001600160a01b0316835282019290925260400190208054610b4c906117be565b90501115610b625781610b5e81611a75565b9250505b600101610adc565b506003548114610b7957505050565b60028383604051610b8b929190611768565b90815260200160405180910390206000610ba591906111cf565b60005b60035481101561043a5760028484604051610bc4929190611768565b908152602001604051809103902060018585604051610be4929190611768565b9081526020016040518091039020600060038481548110610c0757610c07611732565b60009182526020808320909101546001600160a01b031683528281019390935260409091018120835460018101855593825291902090916002020180610c4d8382611a8e565b50600181810190610c6090840182611a8e565b505050600101610ba8565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610cf257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ce6600080516020611c2c833981519152546001600160a01b031690565b6001600160a01b031614155b156106ac5760405163703e46dd60e11b815260040160405180910390fd5b610ad5610e1a565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d72575060408051601f3d908101601f19168201909252610d6f91810190611b64565b60015b610d915781604051634c9c8ce360e01b815260040161038491906116d6565b600080516020611c2c8339815191528114610dc257604051632a87526960e21b815260048101829052602401610384565b610dcc8383610fc2565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106ac5760405163703e46dd60e11b815260040160405180910390fd5b33610e2361087a565b6001600160a01b0316146106ac573360405163118cdaa760e01b815260040161038491906116d6565b6000610e56610f61565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60008060006120506001600160a01b0316620249f08a8a8a8a8a8a604051602001610ed896959493929190611ba6565b60408051601f1981840301815290829052610ef291611bf7565b6000604051808303818686fa925050503d8060008114610f2e576040519150601f19603f3d011682016040523d82523d6000602084013e610f33565b606091505b5091509150818015610f54575080806020019051810190610f549190611c09565b9998505050505050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b610fb1611018565b610ad58161103d565b6106ac611018565b610fcb82611045565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561101057610dcc82826110a1565b6104d4611117565b611020611136565b6106ac57604051631afcd79f60e31b815260040160405180910390fd5b610aa2611018565b806001600160a01b03163b6000036110725780604051634c9c8ce360e01b815260040161038491906116d6565b600080516020611c2c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516110be9190611bf7565b600060405180830381855af49150503d80600081146110f9576040519150601f19603f3d011682016040523d82523d6000602084013e6110fe565b606091505b509150915061110e858383611150565b95945050505050565b34156106ac5760405163b398979f60e01b815260040160405180910390fd5b6000611140610f85565b54600160401b900460ff16919050565b60608261116557611160826111a6565b61119f565b815115801561117c57506001600160a01b0384163b155b1561119c5783604051639996b31560e01b815260040161038491906116d6565b50805b9392505050565b8051156111b65780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5080546000825560020290600052602060002090810190610ad591905b80821115611217576000611200828261121b565b61120e60018301600061121b565b506002016111ec565b5090565b508054611227906117be565b6000825580601f10611237575050565b601f016020900490600052602060002090810190610ad591905b808211156112175760008155600101611251565b60008083601f84011261127757600080fd5b5081356001600160401b0381111561128e57600080fd5b6020830191508360208285010111156112a657600080fd5b9250929050565b60008083601f8401126112bf57600080fd5b5081356001600160401b038111156112d657600080fd5b6020830191508360208260051b85010111156112a657600080fd5b6000806000806040858703121561130757600080fd5b84356001600160401b038082111561131e57600080fd5b61132a88838901611265565b9096509450602087013591508082111561134357600080fd5b50611350878288016112ad565b95989497509550505050565b80356001600160a01b038116811461137357600080fd5b919050565b6000806000806060858703121561138e57600080fd5b84356001600160401b03808211156113a557600080fd5b6113b188838901611265565b90965094508491506113c56020880161135c565b935060408701359150808211156113db57600080fd5b508501604081880312156113ee57600080fd5b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561142257600080fd5b61142b8361135c565b915060208301356001600160401b038082111561144757600080fd5b818501915085601f83011261145b57600080fd5b81358181111561146d5761146d6113f9565b604051601f8201601f19908116603f01168101908382118183101715611495576114956113f9565b816040528281528860208487010111156114ae57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080602083850312156114e357600080fd5b82356001600160401b038111156114f957600080fd5b61150585828601611265565b90969095509350505050565b60005b8381101561152c578181015183820152602001611514565b50506000910152565b6000815180845261154d816020860160208601611511565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156115da57888303603f19018552815180518785526115ae88860182611535565b91890151858303868b01529190506115c68183611535565b96890196945050509086019060010161158a565b509098975050505050505050565b600080600080600080600080600060a08a8c03121561160657600080fd5b89356001600160401b038082111561161d57600080fd5b6116298d838e01611265565b909b50995060208c013591508082111561164257600080fd5b61164e8d838e01611265565b909950975060408c013591508082111561166757600080fd5b6116738d838e01611265565b909750955060608c013591508082111561168c57600080fd5b506116998c828d01611265565b90945092506116ac905060808b0161135c565b90509295985092959850929598565b6000602082840312156116cd57600080fd5b61119f8261135c565b6001600160a01b0391909116815260200190565b600080602083850312156116fd57600080fd5b82356001600160401b0381111561171357600080fd5b611505858286016112ad565b60208152600061119f6020830184611535565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261175e57600080fd5b9190910192915050565b8183823760009101908152919050565b6000808335601e1984360301811261178f57600080fd5b8301803591506001600160401b038211156117a957600080fd5b6020019150368190038213156112a657600080fd5b600181811c908216806117d257607f821691505b6020821081036117f257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610dcc576000816000526020600020601f850160051c810160208610156118215750805b601f850160051c820191505b818110156118405782815560010161182d565b505050505050565b600019600383901b1c191660019190911b1790565b6001600160401b03831115611874576118746113f9565b6118888361188283546117be565b836117f8565b6000601f8411600181146118b657600085156118a45750838201355b6118ae8682611848565b845550611910565b600083815260209020601f19861690835b828110156118e757868501358255602094850194600190920191016118c7565b50868210156119045760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6119218283611778565b6001600160401b03811115611938576119386113f9565b61194c8161194685546117be565b856117f8565b6000601f82116001811461197a57600083156119685750838201355b6119728482611848565b8655506119d4565b600085815260209020601f19841690835b828110156119ab578685013582556020948501946001909201910161198b565b50848210156119c85760001960f88660031b161c19848701351681555b505060018360011b0185555b505050506119e56020830183611778565b61043a81836001860161185d565b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160290811690818114611a2557611a256119f3565b5092915050565b60ff8181168382160190811115610694576106946119f3565b600060ff831680611a6657634e487b7160e01b600052601260045260246000fd5b8060ff84160491505092915050565b600060018201611a8757611a876119f3565b5060010190565b818103611a99575050565b611aa382546117be565b6001600160401b03811115611aba57611aba6113f9565b611ace81611ac884546117be565b846117f8565b6000601f821160018114611afc5760008315611aea5750848201545b611af48482611848565b855550611910565b600085815260209020601f19841690600086815260209020845b83811015611b365782860154825560019586019590910190602001611b16565b5085831015611b545781850154600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611b7657600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611bba60808301888a611b7d565b8281036020840152611bcd818789611b7d565b90508281036040840152611be18186611535565b9150508215156060830152979650505050505050565b6000825161175e818460208701611511565b600060208284031215611c1b57600080fd5b8151801515811461119f57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220754674f08af227e4572755460279a83b110ed33dac40b36676aa27cf21c2f36464736f6c63430008170033","linkReferences":{},"deployedLinkReferences":{}}` +var BridgeArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"Bridge","sourceName":"contracts/Bridge.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllRegisteredChains","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"addressMultisig","type":"string"},{"internalType":"string","name":"addressFeePayer","type":"string"}],"internalType":"struct IBridgeStructs.Chain[]","name":"_chains","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getAvailableUTXOs","outputs":[{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"availableUTXOs","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getConfirmedBatch","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string[]","name":"multisigSignatures","type":"string[]"},{"internalType":"string[]","name":"feePayerMultisigSignatures","type":"string[]"}],"internalType":"struct IBridgeStructs.ConfirmedBatch","name":"batch","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getConfirmedTransactions","outputs":[{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"blockHeight","type":"uint256"},{"internalType":"string","name":"sourceChainID","type":"string"},{"components":[{"internalType":"string","name":"destinationAddress","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.Receiver[]","name":"receivers","type":"tuple[]"}],"internalType":"struct IBridgeStructs.ConfirmedTransaction[]","name":"_confirmedTransactions","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_sourceChain","type":"string"}],"name":"getLastObservedBlock","outputs":[{"components":[{"internalType":"string","name":"blockHash","type":"string"},{"internalType":"uint64","name":"blockSlot","type":"uint64"}],"internalType":"struct IBridgeStructs.CardanoBlock","name":"cblock","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getNextBatchId","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getRawTransactionFromLastBatch","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"getValidatorsCardanoData","outputs":[{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData[]","name":"validatorCardanoData","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"addressMultisig","type":"string"},{"internalType":"string","name":"addressFeePayer","type":"string"}],"internalType":"struct IBridgeStructs.Chain","name":"_chain","type":"tuple"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_initialUTXOs","type":"tuple"},{"internalType":"uint256","name":"_tokenQuantity","type":"uint256"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData","name":"data","type":"tuple"}],"internalType":"struct IBridgeStructs.ValidatorAddressCardanoData[]","name":"_validatorsAddressCardanoData","type":"tuple[]"}],"name":"registerChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"addressMultisig","type":"string"},{"internalType":"string","name":"addressFeePayer","type":"string"}],"internalType":"struct IBridgeStructs.Chain","name":"_chain","type":"tuple"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_initialUTXOs","type":"tuple"},{"internalType":"uint256","name":"_tokenQuantity","type":"uint256"},{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData","name":"_validatorCardanoData","type":"tuple"}],"name":"registerChainGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_claimsAddress","type":"address"},{"internalType":"address","name":"_signedBatchesAddress","type":"address"},{"internalType":"address","name":"_slotsAddress","type":"address"},{"internalType":"address","name":"_utxoscAddress","type":"address"},{"internalType":"address","name":"_validatorsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"shouldCreateBatch","outputs":[{"internalType":"bool","name":"batch","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"components":[{"internalType":"string","name":"destinationAddress","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.Receiver[]","name":"receivers","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"outputUTXO","type":"tuple"},{"internalType":"string","name":"sourceChainID","type":"string"},{"internalType":"string","name":"destinationChainID","type":"string"}],"internalType":"struct IBridgeStructs.BridgingRequestClaim[]","name":"bridgingRequestClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"uint256","name":"batchNonceID","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"outputUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.BatchExecutedClaim[]","name":"batchExecutedClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"uint256","name":"batchNonceID","type":"uint256"}],"internalType":"struct IBridgeStructs.BatchExecutionFailedClaim[]","name":"batchExecutionFailedClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"previousRefundTxHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"string","name":"receiver","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"utxo","type":"tuple"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"uint256","name":"retryCounter","type":"uint256"}],"internalType":"struct IBridgeStructs.RefundRequestClaim[]","name":"refundRequestClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"string","name":"refundTxHash","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"utxo","type":"tuple"}],"internalType":"struct IBridgeStructs.RefundExecutedClaim[]","name":"refundExecutedClaims","type":"tuple[]"}],"internalType":"struct IBridgeStructs.ValidatorClaims","name":"_claims","type":"tuple"}],"name":"submitClaims","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"chainID","type":"string"},{"components":[{"internalType":"string","name":"blockHash","type":"string"},{"internalType":"uint64","name":"blockSlot","type":"uint64"}],"internalType":"struct IBridgeStructs.CardanoBlock[]","name":"blocks","type":"tuple[]"}],"name":"submitLastObservedBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"destinationChainId","type":"string"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"string","name":"feePayerMultisigSignature","type":"string"},{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.SignedBatch","name":"_signedBatch","type":"tuple"}],"name":"submitSignedBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516142136200010460003960008181611e5e01528181611e87015261200a01526142136000f3fe6080604052600436106101755760003560e01c8063715018a6116100cb578063ad3cb1cc1161007f578063d52c54c411610059578063d52c54c414610468578063e3d5853914610495578063f2fde38b146104b557600080fd5b8063ad3cb1cc146103df578063b95a432c14610428578063cbb0ff791461044857600080fd5b80638129fc1c116100b05780638129fc1c146103635780638da5cb5b14610378578063997ef201146103bf57600080fd5b8063715018a61461031e57806377968b341461033357600080fd5b806349187cd91161012d578063595051f911610107578063595051f9146102a2578063636b8a0d146102cf57806367f0cc44146102fc57600080fd5b806349187cd91461024d5780634f1ef2861461027a57806352d1902d1461028d57600080fd5b806333552ec51161015e57806333552ec5146101dd5780633cd9ae3e146101ff578063406f8f041461022d57600080fd5b806303fe69ae1461017a5780632175c3f7146101b0575b600080fd5b34801561018657600080fd5b5061019a6101953660046123d0565b6104d5565b6040516101a791906124ee565b60405180910390f35b3480156101bc57600080fd5b506101d06101cb3660046123d0565b610580565b6040516101a79190612527565b3480156101e957600080fd5b506101fd6101f83660046125d2565b610623565b005b34801561020b57600080fd5b5061021f61021a3660046123d0565b6106ab565b6040519081526020016101a7565b34801561023957600080fd5b506101fd61024836600461266b565b6107b9565b34801561025957600080fd5b5061026d6102683660046123d0565b6108cc565b6040516101a791906126d7565b6101fd6102883660046127e4565b610952565b34801561029957600080fd5b5061021f610971565b3480156102ae57600080fd5b506102c26102bd3660046123d0565b6109a0565b6040516101a79190612875565b3480156102db57600080fd5b506102ef6102ea3660046123d0565b610cbb565b6040516101a79190612981565b34801561030857600080fd5b50610311610d4d565b6040516101a791906129fa565b34801561032a57600080fd5b506101fd610f62565b34801561033f57600080fd5b5061035361034e3660046123d0565b610f76565b60405190151581526020016101a7565b34801561036f57600080fd5b506101fd610fea565b34801561038457600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016101a7565b3480156103cb57600080fd5b506101fd6103da366004612a8f565b61112d565b3480156103eb57600080fd5b5061026d6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561043457600080fd5b506101fd610443366004612af4565b6111a1565b34801561045457600080fd5b506101fd610463366004612b2f565b6112a4565b34801561047457600080fd5b506104886104833660046123d0565b6114de565b6040516101a79190612bb8565b3480156104a157600080fd5b506101fd6104b0366004612c1a565b611599565b3480156104c157600080fd5b506101fd6104d0366004612cac565b6119ea565b6040805180820182526060808252602082015260035491517f34c3908400000000000000000000000000000000000000000000000000000000815290916001600160a01b0316906334c39084906105329086908690600401612cf0565b600060405180830381865afa15801561054f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105779190810190612e6f565b90505b92915050565b604080518082018252606081526000602082015260025491517f2175c3f700000000000000000000000000000000000000000000000000000000815290916001600160a01b031690632175c3f7906105de9086908690600401612cf0565b600060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105779190810190612f00565b61062b611a3e565b6004546001600160a01b03166332bae10d6106468780612f84565b85856040518563ffffffff1660e01b8152600401610667949392919061307b565b600060405180830381600087803b15801561068157600080fd5b505af1158015610695573d6000803e3d6000fd5b505050506106a4858585611ab2565b5050505050565b60008054604051631de5a2cd60e21b81526001600160a01b03909116906377968b34906106de9086908690600401612cf0565b602060405180830381865afa1580156106fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071f9190613120565b61072b5750600061057a565b600154604051631c8f277560e01b81526000916001600160a01b031690631c8f27759061075e9087908790600401612cf0565b600060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107a39190810190613142565b5090506107b181600161319f565b949350505050565b6004805460405163facd743b60e01b815233928101929092526001600160a01b03169063facd743b90602401602060405180830381865afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108269190613120565b61084357604051632ec5b44960e01b815260040160405180910390fd5b6002546040517fecc155dd0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ecc155dd9061089490879087908790879033906004016131b2565b600060405180830381600087803b1580156108ae57600080fd5b505af11580156108c2573d6000803e3d6000fd5b5050505050505050565b600154604051631c8f277560e01b81526060916000916001600160a01b0390911690631c8f2775906109049087908790600401612cf0565b600060405180830381865afa158015610921573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109499190810190613142565b95945050505050565b61095a611e53565b61096382611f0a565b61096d8282611f12565b5050565b600061097b611fff565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600054604051631de5a2cd60e21b81526060916001600160a01b0316906377968b34906109d39086908690600401612cf0565b602060405180830381865afa1580156109f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a149190613120565b610a575782826040517fa87b2dd8000000000000000000000000000000000000000000000000000000008152600401610a4e929190612cf0565b60405180910390fd5b600080546040517f1d530f120000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690631d530f1290610aa39087908790600401612cf0565b602060405180830381865afa158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae4919061326e565b610aef90600161319f565b600080546040517f44e3bd2200000000000000000000000000000000000000000000000000000000815292935090916001600160a01b03909116906344e3bd2290610b409088908890600401612cf0565b602060405180830381865afa158015610b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b81919061326e565b90508067ffffffffffffffff811115610b9c57610b9c612706565b604051908082528060200260200182016040528015610bff57816020015b610bec6040518060a0016040528060608152602001600081526020016000815260200160608152602001606081525090565b815260200190600190039081610bba5790505b50925060005b81811015610cb2576000546001600160a01b0316636cabee018787610c2a858861319f565b6040518463ffffffff1660e01b8152600401610c4893929190613287565b600060405180830381865afa158015610c65573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c8d919081019061336a565b848281518110610c9f57610c9f613433565b6020908102919091010152600101610c05565b50505092915050565b600480546040517f636b8a0d0000000000000000000000000000000000000000000000000000000081526060926001600160a01b039092169163636b8a0d91610d08918791879101612cf0565b600060405180830381865afa158015610d25573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105779190810190613449565b60606005805480602002602001604051908101604052809291908181526020016000905b82821015610f595783829060005260206000209060030201604051806060016040529081600082018054610da490613555565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd090613555565b8015610e1d5780601f10610df257610100808354040283529160200191610e1d565b820191906000526020600020905b815481529060010190602001808311610e0057829003601f168201915b50505050508152602001600182018054610e3690613555565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6290613555565b8015610eaf5780601f10610e8457610100808354040283529160200191610eaf565b820191906000526020600020905b815481529060010190602001808311610e9257829003601f168201915b50505050508152602001600282018054610ec890613555565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef490613555565b8015610f415780601f10610f1657610100808354040283529160200191610f41565b820191906000526020600020905b815481529060010190602001808311610f2457829003601f168201915b50505050508152505081526020019060010190610d71565b50505050905090565b610f6a611a3e565b610f746000612048565b565b60008054604051631de5a2cd60e21b81526001600160a01b03909116906377968b3490610fa99086908690600401612cf0565b602060405180830381865afa158015610fc6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190613120565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156110355750825b905060008267ffffffffffffffff1660011480156110525750303b155b905081158015611060575080155b15611097576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156110cb57845468ff00000000000000001916680100000000000000001785555b6110d4336120c6565b6110dc6120d7565b83156106a457845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b611135611a3e565b6000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03978816179091556001805482169587169590951790945560028054851693861693909317909255600380548416918516919091179055600480549092169216919091179055565b6004805460405163facd743b60e01b815233928101929092526001600160a01b03169063facd743b90602401602060405180830381865afa1580156111ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120e9190613120565b61122b57604051632ec5b44960e01b815260040160405180910390fd5b6000546040517f5673ee670000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690635673ee67906112769084903390600401613a65565b600060405180830381600087803b15801561129057600080fd5b505af11580156106a4573d6000803e3d6000fd5b6004805460405163facd743b60e01b815233928101929092526001600160a01b03169063facd743b90602401602060405180830381865afa1580156112ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113119190613120565b61132e57604051632ec5b44960e01b815260040160405180910390fd5b6000546001600160a01b03166377968b3461134c6020840184612f84565b6040518363ffffffff1660e01b8152600401611369929190612cf0565b602060405180830381865afa158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa9190613120565b156114db576004546001600160a01b03166381b6ecf56113cd6020840184612f84565b6113da6040860186612f84565b6113e76060880188612f84565b6113f460808a018a612f84565b336040518a63ffffffff1660e01b815260040161141999989796959493929190613cb9565b602060405180830381865afa158015611436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145a9190613120565b611490576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517fd254f6f20000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063d254f6f2906112769084903390600401613d2a565b50565b6115096040518060800160405280600081526020016060815260200160608152602001606081525090565b6001546040517fd52c54c40000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063d52c54c4906115549086908690600401612cf0565b600060405180830381865afa158015611571573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105779190810190613eaa565b6004805460405163facd743b60e01b815233928101929092526001600160a01b03169063facd743b90602401602060405180830381865afa1580156115e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116069190613120565b61162357604051632ec5b44960e01b815260040160405180910390fd5b3660006116308680612f84565b6000546040517f18c586cd0000000000000000000000000000000000000000000000000000000081529294509092506001600160a01b0316906318c586cd9061167f9085908590600401612cf0565b602060405180830381865afa15801561169c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c09190613120565b156116fb5781816040517fc4a32e49000000000000000000000000000000000000000000000000000000008152600401610a4e929190612cf0565b600086868660405160200161171293929190613f69565b60408051808303601f190181529082905280516020909101206000547faadc3b72000000000000000000000000000000000000000000000000000000008352600483018290523360248401529092506001600160a01b03169063aadc3b7290604401602060405180830381865afa158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b59190613120565b156117f05782826040517fc113c1e3000000000000000000000000000000000000000000000000000000008152600401610a4e929190612cf0565b600480546040517f34a1a0950000000000000000000000000000000000000000000000000000000081526001600160a01b03909116916334a1a0959161183e918791879133918b9101614005565b600060405180830381600087803b15801561185857600080fd5b505af115801561186c573d6000803e3d6000fd5b505060048054604080517f2749824000000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921694506327498240935080830192602092918290030181865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f49190614045565b6000546040517f4d3f9c8e0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260ff92909216916001600160a01b0390911690634d3f9c8e906044016020604051808303816000875af1158015611965573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611989919061326e565b0361199e57611999878787611ab2565b6119e1565b60405133906119b09085908590614068565b604051908190038120907f99960385426dfd945f1af41c805b3ce369f9f0585b1a7f48ed778e026d2caaae90600090a35b50505050505050565b6119f2611a3e565b6001600160a01b038116611a35576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610a4e565b6114db81612048565b33611a707f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610f74576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610a4e565b366000611abf8580612f84565b6000546040517feab481c30000000000000000000000000000000000000000000000000000000081529294509092506001600160a01b03169063eab481c390611b0e9085908590600401612cf0565b600060405180830381600087803b158015611b2857600080fd5b505af1158015611b3c573d6000803e3d6000fd5b50506005805460019081018083556000928352919350611b5d925090614078565b9050828260058381548110611b7457611b74613433565b90600052602060002090600302016000019182611b929291906140db565b50611ba06020870187612f84565b60058381548110611bb357611bb3613433565b90600052602060002090600302016001019182611bd19291906140db565b50611bdf6040870187612f84565b60058381548110611bf257611bf2613433565b90600052602060002090600302016002019182611c109291906140db565b506003546040517f7e31e3fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637e31e3fd90611c5e90869086908a9060040161419b565b600060405180830381600087803b158015611c7857600080fd5b505af1158015611c8c573d6000803e3d6000fd5b50506000546040517fe3aa21f40000000000000000000000000000000000000000000000000000000081526001600160a01b03909116925063e3aa21f49150611cdd90869086908990600401613287565b600060405180830381600087803b158015611cf757600080fd5b505af1158015611d0b573d6000803e3d6000fd5b50506000546040517fca6869820000000000000000000000000000000000000000000000000000000081526001600160a01b03909116925063ca6869829150611d5a9086908690600401612cf0565b600060405180830381600087803b158015611d7457600080fd5b505af1158015611d88573d6000803e3d6000fd5b50506000546040517f0d32b63e0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250630d32b63e9150611dd990869086904390600401613287565b600060405180830381600087803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b505050508282604051611e1b929190614068565b604051908190038120907f3cbe969d5c5f2c70c7cfb293cd355d3fcc80a852eac9bee1c1c317dc302f199d90600090a2505050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611eec57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611ee07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15610f745760405163703e46dd60e11b815260040160405180910390fd5b6114db611a3e565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611f6c575060408051601f3d908101601f19168201909252611f699181019061326e565b60015b611f9457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610a4e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611ff0576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610a4e565b611ffa83836120df565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f745760405163703e46dd60e11b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6120ce612135565b6114db8161219c565b610f74612135565b6120e8826121a4565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561212d57611ffa8282612228565b61096d612295565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610f74576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119f2612135565b806001600160a01b03163b6000036121da57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610a4e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161224591906141c1565b600060405180830381855af49150503d8060008114612280576040519150601f19603f3d011682016040523d82523d6000602084013e612285565b606091505b50915091506109498583836122cd565b3415610f74576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826122e2576122dd82612345565b61233e565b81511580156122f957506001600160a01b0384163b155b1561233b576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610a4e565b50805b9392505050565b8051156123555780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008083601f84011261239957600080fd5b50813567ffffffffffffffff8111156123b157600080fd5b6020830191508360208285010111156123c957600080fd5b9250929050565b600080602083850312156123e357600080fd5b823567ffffffffffffffff8111156123fa57600080fd5b61240685828601612387565b90969095509350505050565b60005b8381101561242d578181015183820152602001612415565b50506000910152565b6000815180845261244e816020860160208601612412565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156124e157601f198684030189528151608067ffffffffffffffff82511685528582015181878701526124b782870182612436565b6040848101519088015260609384015193909601929092525050978301979083019060010161247f565b5090979650505050505050565b60208152600082516040602084015261250a6060840182612462565b90506020840151601f198483030160408501526109498282612462565b6020815260008251604060208401526125436060840182612436565b905067ffffffffffffffff60208501511660408401528091505092915050565b60006060828403121561257557600080fd5b50919050565b60006040828403121561257557600080fd5b60008083601f84011261259f57600080fd5b50813567ffffffffffffffff8111156125b757600080fd5b6020830191508360208260051b85010111156123c957600080fd5b6000806000806000608086880312156125ea57600080fd5b853567ffffffffffffffff8082111561260257600080fd5b61260e89838a01612563565b9650602088013591508082111561262457600080fd5b61263089838a0161257b565b955060408801359450606088013591508082111561264d57600080fd5b5061265a8882890161258d565b969995985093965092949392505050565b6000806000806040858703121561268157600080fd5b843567ffffffffffffffff8082111561269957600080fd5b6126a588838901612387565b909650945060208701359150808211156126be57600080fd5b506126cb8782880161258d565b95989497509550505050565b6020815260006105776020830184612436565b80356001600160a01b038116811461270157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561273f5761273f612706565b60405290565b6040805190810167ffffffffffffffff8111828210171561273f5761273f612706565b60405160a0810167ffffffffffffffff8111828210171561273f5761273f612706565b604051601f8201601f1916810167ffffffffffffffff811182821017156127b4576127b4612706565b604052919050565b600067ffffffffffffffff8211156127d6576127d6612706565b50601f01601f191660200190565b600080604083850312156127f757600080fd5b612800836126ea565b9150602083013567ffffffffffffffff81111561281c57600080fd5b8301601f8101851361282d57600080fd5b803561284061283b826127bc565b61278b565b81815286602083850101111561285557600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561297357603f19898403018552815160a081518186526128c282870182612436565b91505088820151898601528782015188860152606080830151868303828801526128ec8382612436565b92505050608080830151925085820381870152508082518083528a830191508a8160051b8401018b8501945060005b8281101561295c57848203601f19018452855180518d845261293f8e850182612436565b918f0151938f0193909352958d0195938d0193915060010161291b565b50988b01989650505092880192505060010161289c565b509098975050505050505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561297357888303603f19018552815180518785526129ce88860182612436565b91890151858303868b01529190506129e68183612436565b9689019694505050908601906001016129aa565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561297357603f19898403018552815160608151818652612a4982870182612436565b915050888201518582038a870152612a618282612436565b91505087820151915084810388860152612a7b8183612436565b968901969450505090860190600101612a23565b600080600080600060a08688031215612aa757600080fd5b612ab0866126ea565b9450612abe602087016126ea565b9350612acc604087016126ea565b9250612ada606087016126ea565b9150612ae8608087016126ea565b90509295509295909350565b600060208284031215612b0657600080fd5b813567ffffffffffffffff811115612b1d57600080fd5b820160a0818503121561233e57600080fd5b600060208284031215612b4157600080fd5b813567ffffffffffffffff811115612b5857600080fd5b8201610100818503121561233e57600080fd5b60008282518085526020808601955060208260051b8401016020860160005b848110156124e157601f19868403018952612ba6838351612436565b98840198925090830190600101612b8a565b60208152815160208201526000602083015160806040840152612bde60a0840182612436565b90506040840151601f1980858403016060860152612bfc8383612b6b565b92506060860151915080858403016080860152506109498282612b6b565b60008060008060808587031215612c3057600080fd5b843567ffffffffffffffff80821115612c4857600080fd5b612c5488838901612563565b95506020870135915080821115612c6a57600080fd5b612c768883890161257b565b9450604087013593506060870135915080821115612c9357600080fd5b50612ca08782880161257b565b91505092959194509250565b600060208284031215612cbe57600080fd5b610577826126ea565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006107b1602083018486612cc7565b600067ffffffffffffffff821115612d1e57612d1e612706565b5060051b60200190565b67ffffffffffffffff811681146114db57600080fd5b600082601f830112612d4f57600080fd5b8151612d5d61283b826127bc565b818152846020838601011115612d7257600080fd5b6107b1826020830160208701612412565b600082601f830112612d9457600080fd5b81516020612da461283b83612d04565b82815260059290921b84018101918181019086841115612dc357600080fd5b8286015b84811015612e6457805167ffffffffffffffff80821115612de85760008081fd5b908801906080828b03601f1901811315612e025760008081fd5b612e0a61271c565b87840151612e1781612d28565b815260408481015184811115612e2d5760008081fd5b612e3b8e8b83890101612d3e565b838b01525060608581015191830191909152919093015190830152508352918301918301612dc7565b509695505050505050565b600060208284031215612e8157600080fd5b815167ffffffffffffffff80821115612e9957600080fd5b9083019060408286031215612ead57600080fd5b612eb5612745565b825182811115612ec457600080fd5b612ed087828601612d83565b825250602083015182811115612ee557600080fd5b612ef187828601612d83565b60208301525095945050505050565b600060208284031215612f1257600080fd5b815167ffffffffffffffff80821115612f2a57600080fd5b9083019060408286031215612f3e57600080fd5b612f46612745565b825182811115612f5557600080fd5b612f6187828601612d3e565b82525060208301519250612f7483612d28565b6020810192909252509392505050565b6000808335601e19843603018112612f9b57600080fd5b83018035915067ffffffffffffffff821115612fb657600080fd5b6020019150368190038213156123c957600080fd5b60008235603e19833603018112612fe157600080fd5b90910192915050565b6000808335601e1984360301811261300157600080fd5b830160208101925035905067ffffffffffffffff81111561302157600080fd5b8036038213156123c957600080fd5b600061303c8283612fea565b6040855261304e604086018284612cc7565b91505061305e6020840184612fea565b8583036020870152613071838284612cc7565b9695505050505050565b60006040808352613090604084018789612cc7565b602084820381860152818683528183019050818760051b8401018860005b8981101561310f57858303601f190184526130c9828c612fcb565b6001600160a01b036130da826126ea565b1684526130e986820182612fcb565b905087868501526130fc88850182613030565b94860194935050908401906001016130ae565b50909b9a5050505050505050505050565b60006020828403121561313257600080fd5b8151801515811461233e57600080fd5b6000806040838503121561315557600080fd5b82519150602083015167ffffffffffffffff81111561317357600080fd5b61317f85828601612d3e565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561057a5761057a613189565b6060815260006131c6606083018789612cc7565b602083820381850152818683528183019050818760051b8401018860005b8981101561325257858303601f190184526131ff828c612fcb565b604061320b8283612fea565b82875261321b8388018284612cc7565b9250505086820135915061322e82612d28565b67ffffffffffffffff919091169386019390935292840192908401906001016131e4565b50506001600160a01b0387166040870152935061307192505050565b60006020828403121561328057600080fd5b5051919050565b60408152600061329b604083018587612cc7565b9050826020830152949350505050565b600082601f8301126132bc57600080fd5b815160206132cc61283b83612d04565b82815260059290921b840181019181810190868411156132eb57600080fd5b8286015b84811015612e6457805167ffffffffffffffff808211156133105760008081fd5b908801906040828b03601f190181131561332a5760008081fd5b613332612745565b87840151838111156133445760008081fd5b6133528d8a83880101612d3e565b825250920151868301525083529183019183016132ef565b60006020828403121561337c57600080fd5b815167ffffffffffffffff8082111561339457600080fd5b9083019060a082860312156133a857600080fd5b6133b0612768565b8251828111156133bf57600080fd5b6133cb87828601612d3e565b82525060208301516020820152604083015160408201526060830151828111156133f457600080fd5b61340087828601612d3e565b60608301525060808301518281111561341857600080fd5b613424878286016132ab565b60808301525095945050505050565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121561345c57600080fd5b825167ffffffffffffffff8082111561347457600080fd5b818501915085601f83011261348857600080fd5b815161349661283b82612d04565b81815260059190911b830184019084810190888311156134b557600080fd5b8585015b83811015613548578051858111156134d15760008081fd5b86016040818c03601f19018113156134e95760008081fd5b6134f1612745565b89830151888111156135035760008081fd5b6135118e8c83870101612d3e565b8252509082015190878211156135275760008081fd5b6135358d8b84860101612d3e565b818b0152855250509186019186016134b9565b5098975050505050505050565b600181811c9082168061356957607f821691505b60208210810361257557634e487b7160e01b600052602260045260246000fd5b6000808335601e198436030181126135a057600080fd5b830160208101925035905067ffffffffffffffff8111156135c057600080fd5b8060051b36038213156123c957600080fd5b60008235607e19833603018112612fe157600080fd5b600081356135f581612d28565b67ffffffffffffffff16835261360e6020830183612fea565b60806020860152613623608086018284612cc7565b91505060408301356040850152606083013560608501528091505092915050565b6000838385526020808601955060208560051b8301018460005b878110156124e157848303601f190189526136828361367d848a6135d2565b6135e8565b9884019892509083019060010161365e565b60006136a08283613589565b604085526136b2604086018284613644565b9150506136c26020840184613589565b8583036020870152613071838284613644565b60008383855260208086019550808560051b8301018460005b878110156124e157848303601f1901895261370982886135d2565b60806137158283612fea565b8287526137258388018284612cc7565b9250505061373586830183612fea565b86830388880152613747838284612cc7565b925050506040808301358187015250606061376481840184612fcb565b925085820381870152506137788183613694565b9a86019a94505050908301906001016136ee565b60008383855260208086019550808560051b830101846000805b8881101561382d57858403601f19018a52823536899003605e190181126137cb578283fd5b880160606137d98280612fea565b8288526137e98389018284612cc7565b925050506137f987830183612fea565b8783038989015261380b838284612cc7565b60409485013598909401979097525050998501999350918401916001016137a6565b509198975050505050505050565b60008383855260208086019550808560051b830101846000805b8881101561382d57858403601f19018a5282353689900360fe1901811261387a578283fd5b88016101006138898280612fea565b8288526138998389018284612cc7565b925050506138a987830183612fea565b878303898901526138bb838284612cc7565b9250505060406138cd81840184612fea565b888403838a01526138df848284612cc7565b935050505060606138f281840184612fea565b888403838a0152613904848284612cc7565b93505050506080613917818401846135d2565b8783038289015261392883826135e8565b9250505060a061393a81840184612fea565b888403838a015261394c848284612cc7565b935050505060c061395f81840184612fea565b888403838a0152613971848284612cc7565b60e095860135999095019890985250505099850199935091840191600101613855565b60008383855260208086019550808560051b8301018460005b878110156124e157848303601f190189526139c882886135d2565b60806139d48283612fea565b8287526139e48388018284612cc7565b925050506139f486830183612fea565b86830388880152613a06838284612cc7565b925050506040613a1881840184612fea565b87840383890152613a2a848284612cc7565b93505050506060613a3d818401846135d2565b92508582038187015250613a5181836135e8565b9a86019a94505050908301906001016139ad565b604081526000613a758485613589565b60a0604085015260e08401818152610100850190506101008260051b8601018360005b84811015613bfc5787830360ff1901845236869003609e1901823512613abd57600080fd5b613aca8235870180612fea565b60a08552613adc60a086018284612cc7565b9150613af19050833588016020810190613589565b85830360208701528281845260208401905060208260051b8501018360005b84811015613b6757868303601f19018452613b2b8287612fcb565b613b358182612fea565b60408652613b47604087018284612cc7565b602093840135968401969096525050938401939190910190600101613b10565b50613b7b905087358c0160408101906135d2565b94508781036040890152613b8f81866135e8565b9450613ba79350505050833588016060810190612fea565b8583036060870152613bba838284612cc7565b9250613bd0915050833588016080810190612fea565b8583036080870152613be3838284612cc7565b6020978801979096509490940193505050600101613a98565b5050613c0b6020890189613589565b94509250603f19915081868203016060870152613c298185856136d5565b935050613c396040880188613589565b925081868503016080870152613c5084848361378c565b935050613c606060880188613589565b9250818685030160a0870152613c7784848361383b565b935050613c876080880188613589565b9250818685030160c0870152613c9e848483613994565b94505050505061233e60208301846001600160a01b03169052565b60a081526000613ccd60a083018b8d612cc7565b8281036020840152613ce0818a8c612cc7565b90508281036040840152613cf581888a612cc7565b90508281036060840152613d0a818688612cc7565b9150506001600160a01b03831660808301529a9950505050505050505050565b60408152823560408201526000613d446020850185612fea565b610100806060860152613d5c61014086018385612cc7565b9250613d6b6040880188612fea565b9250603f1980878603016080880152613d85858584612cc7565b9450613d9460608a018a612fea565b94509150808786030160a0880152613dad858584612cc7565b9450613dbc60808a018a612fea565b94509150808786030160c0880152613dd5858584612cc7565b945060a089013560e088015260c089013583880152613df760e08a018a612fcb565b93508087860301610120880152505050613e118282613694565b9250505061233e60208301846001600160a01b03169052565b600082601f830112613e3b57600080fd5b81516020613e4b61283b83612d04565b82815260059290921b84018101918181019086841115613e6a57600080fd5b8286015b84811015612e6457805167ffffffffffffffff811115613e8e5760008081fd5b613e9c8986838b0101612d3e565b845250918301918301613e6e565b600060208284031215613ebc57600080fd5b815167ffffffffffffffff80821115613ed457600080fd5b9083019060808286031215613ee857600080fd5b613ef061271c565b82518152602083015182811115613f0657600080fd5b613f1287828601612d3e565b602083015250604083015182811115613f2a57600080fd5b613f3687828601613e2a565b604083015250606083015182811115613f4e57600080fd5b613f5a87828601613e2a565b60608301525095945050505050565b606081526000613f798586612fea565b606080850152613f8d60c085018284612cc7565b915050613f9d6020870187612fea565b605f1980868503016080870152613fb5848385612cc7565b9350613fc460408a018a612fea565b93509150808685030160a087015250613fde838383612cc7565b925050508281036020840152613ff48186613694565b915050826040830152949350505050565b606081526000614019606083018688612cc7565b6001600160a01b0385166020840152828103604084015261403a8185613030565b979650505050505050565b60006020828403121561405757600080fd5b815160ff8116811461233e57600080fd5b8183823760009101908152919050565b8181038181111561057a5761057a613189565b601f821115611ffa576000816000526020600020601f850160051c810160208610156140b45750805b601f850160051c820191505b818110156140d3578281556001016140c0565b505050505050565b67ffffffffffffffff8311156140f3576140f3612706565b614107836141018354613555565b8361408b565b6000601f84116001811461413b57600085156141235750838201355b600019600387901b1c1916600186901b1783556106a4565b600083815260209020601f19861690835b8281101561416c578685013582556020948501946001909201910161414c565b50868210156141895760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6040815260006141af604083018587612cc7565b82810360208401526130718185613694565b600082516141d3818460208701612412565b919091019291505056fea26469706673582212201d5e996ea7f6fe77d4859da1c28a8cd3b7e2d169289d24f122c5f09414e4e25764736f6c63430008180033","deployedBytecode":"0x6080604052600436106101755760003560e01c8063715018a6116100cb578063ad3cb1cc1161007f578063d52c54c411610059578063d52c54c414610468578063e3d5853914610495578063f2fde38b146104b557600080fd5b8063ad3cb1cc146103df578063b95a432c14610428578063cbb0ff791461044857600080fd5b80638129fc1c116100b05780638129fc1c146103635780638da5cb5b14610378578063997ef201146103bf57600080fd5b8063715018a61461031e57806377968b341461033357600080fd5b806349187cd91161012d578063595051f911610107578063595051f9146102a2578063636b8a0d146102cf57806367f0cc44146102fc57600080fd5b806349187cd91461024d5780634f1ef2861461027a57806352d1902d1461028d57600080fd5b806333552ec51161015e57806333552ec5146101dd5780633cd9ae3e146101ff578063406f8f041461022d57600080fd5b806303fe69ae1461017a5780632175c3f7146101b0575b600080fd5b34801561018657600080fd5b5061019a6101953660046123d0565b6104d5565b6040516101a791906124ee565b60405180910390f35b3480156101bc57600080fd5b506101d06101cb3660046123d0565b610580565b6040516101a79190612527565b3480156101e957600080fd5b506101fd6101f83660046125d2565b610623565b005b34801561020b57600080fd5b5061021f61021a3660046123d0565b6106ab565b6040519081526020016101a7565b34801561023957600080fd5b506101fd61024836600461266b565b6107b9565b34801561025957600080fd5b5061026d6102683660046123d0565b6108cc565b6040516101a791906126d7565b6101fd6102883660046127e4565b610952565b34801561029957600080fd5b5061021f610971565b3480156102ae57600080fd5b506102c26102bd3660046123d0565b6109a0565b6040516101a79190612875565b3480156102db57600080fd5b506102ef6102ea3660046123d0565b610cbb565b6040516101a79190612981565b34801561030857600080fd5b50610311610d4d565b6040516101a791906129fa565b34801561032a57600080fd5b506101fd610f62565b34801561033f57600080fd5b5061035361034e3660046123d0565b610f76565b60405190151581526020016101a7565b34801561036f57600080fd5b506101fd610fea565b34801561038457600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016101a7565b3480156103cb57600080fd5b506101fd6103da366004612a8f565b61112d565b3480156103eb57600080fd5b5061026d6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561043457600080fd5b506101fd610443366004612af4565b6111a1565b34801561045457600080fd5b506101fd610463366004612b2f565b6112a4565b34801561047457600080fd5b506104886104833660046123d0565b6114de565b6040516101a79190612bb8565b3480156104a157600080fd5b506101fd6104b0366004612c1a565b611599565b3480156104c157600080fd5b506101fd6104d0366004612cac565b6119ea565b6040805180820182526060808252602082015260035491517f34c3908400000000000000000000000000000000000000000000000000000000815290916001600160a01b0316906334c39084906105329086908690600401612cf0565b600060405180830381865afa15801561054f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105779190810190612e6f565b90505b92915050565b604080518082018252606081526000602082015260025491517f2175c3f700000000000000000000000000000000000000000000000000000000815290916001600160a01b031690632175c3f7906105de9086908690600401612cf0565b600060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105779190810190612f00565b61062b611a3e565b6004546001600160a01b03166332bae10d6106468780612f84565b85856040518563ffffffff1660e01b8152600401610667949392919061307b565b600060405180830381600087803b15801561068157600080fd5b505af1158015610695573d6000803e3d6000fd5b505050506106a4858585611ab2565b5050505050565b60008054604051631de5a2cd60e21b81526001600160a01b03909116906377968b34906106de9086908690600401612cf0565b602060405180830381865afa1580156106fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071f9190613120565b61072b5750600061057a565b600154604051631c8f277560e01b81526000916001600160a01b031690631c8f27759061075e9087908790600401612cf0565b600060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107a39190810190613142565b5090506107b181600161319f565b949350505050565b6004805460405163facd743b60e01b815233928101929092526001600160a01b03169063facd743b90602401602060405180830381865afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108269190613120565b61084357604051632ec5b44960e01b815260040160405180910390fd5b6002546040517fecc155dd0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ecc155dd9061089490879087908790879033906004016131b2565b600060405180830381600087803b1580156108ae57600080fd5b505af11580156108c2573d6000803e3d6000fd5b5050505050505050565b600154604051631c8f277560e01b81526060916000916001600160a01b0390911690631c8f2775906109049087908790600401612cf0565b600060405180830381865afa158015610921573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109499190810190613142565b95945050505050565b61095a611e53565b61096382611f0a565b61096d8282611f12565b5050565b600061097b611fff565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600054604051631de5a2cd60e21b81526060916001600160a01b0316906377968b34906109d39086908690600401612cf0565b602060405180830381865afa1580156109f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a149190613120565b610a575782826040517fa87b2dd8000000000000000000000000000000000000000000000000000000008152600401610a4e929190612cf0565b60405180910390fd5b600080546040517f1d530f120000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690631d530f1290610aa39087908790600401612cf0565b602060405180830381865afa158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae4919061326e565b610aef90600161319f565b600080546040517f44e3bd2200000000000000000000000000000000000000000000000000000000815292935090916001600160a01b03909116906344e3bd2290610b409088908890600401612cf0565b602060405180830381865afa158015610b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b81919061326e565b90508067ffffffffffffffff811115610b9c57610b9c612706565b604051908082528060200260200182016040528015610bff57816020015b610bec6040518060a0016040528060608152602001600081526020016000815260200160608152602001606081525090565b815260200190600190039081610bba5790505b50925060005b81811015610cb2576000546001600160a01b0316636cabee018787610c2a858861319f565b6040518463ffffffff1660e01b8152600401610c4893929190613287565b600060405180830381865afa158015610c65573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c8d919081019061336a565b848281518110610c9f57610c9f613433565b6020908102919091010152600101610c05565b50505092915050565b600480546040517f636b8a0d0000000000000000000000000000000000000000000000000000000081526060926001600160a01b039092169163636b8a0d91610d08918791879101612cf0565b600060405180830381865afa158015610d25573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105779190810190613449565b60606005805480602002602001604051908101604052809291908181526020016000905b82821015610f595783829060005260206000209060030201604051806060016040529081600082018054610da490613555565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd090613555565b8015610e1d5780601f10610df257610100808354040283529160200191610e1d565b820191906000526020600020905b815481529060010190602001808311610e0057829003601f168201915b50505050508152602001600182018054610e3690613555565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6290613555565b8015610eaf5780601f10610e8457610100808354040283529160200191610eaf565b820191906000526020600020905b815481529060010190602001808311610e9257829003601f168201915b50505050508152602001600282018054610ec890613555565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef490613555565b8015610f415780601f10610f1657610100808354040283529160200191610f41565b820191906000526020600020905b815481529060010190602001808311610f2457829003601f168201915b50505050508152505081526020019060010190610d71565b50505050905090565b610f6a611a3e565b610f746000612048565b565b60008054604051631de5a2cd60e21b81526001600160a01b03909116906377968b3490610fa99086908690600401612cf0565b602060405180830381865afa158015610fc6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190613120565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156110355750825b905060008267ffffffffffffffff1660011480156110525750303b155b905081158015611060575080155b15611097576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156110cb57845468ff00000000000000001916680100000000000000001785555b6110d4336120c6565b6110dc6120d7565b83156106a457845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b611135611a3e565b6000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03978816179091556001805482169587169590951790945560028054851693861693909317909255600380548416918516919091179055600480549092169216919091179055565b6004805460405163facd743b60e01b815233928101929092526001600160a01b03169063facd743b90602401602060405180830381865afa1580156111ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120e9190613120565b61122b57604051632ec5b44960e01b815260040160405180910390fd5b6000546040517f5673ee670000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690635673ee67906112769084903390600401613a65565b600060405180830381600087803b15801561129057600080fd5b505af11580156106a4573d6000803e3d6000fd5b6004805460405163facd743b60e01b815233928101929092526001600160a01b03169063facd743b90602401602060405180830381865afa1580156112ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113119190613120565b61132e57604051632ec5b44960e01b815260040160405180910390fd5b6000546001600160a01b03166377968b3461134c6020840184612f84565b6040518363ffffffff1660e01b8152600401611369929190612cf0565b602060405180830381865afa158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa9190613120565b156114db576004546001600160a01b03166381b6ecf56113cd6020840184612f84565b6113da6040860186612f84565b6113e76060880188612f84565b6113f460808a018a612f84565b336040518a63ffffffff1660e01b815260040161141999989796959493929190613cb9565b602060405180830381865afa158015611436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145a9190613120565b611490576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517fd254f6f20000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063d254f6f2906112769084903390600401613d2a565b50565b6115096040518060800160405280600081526020016060815260200160608152602001606081525090565b6001546040517fd52c54c40000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063d52c54c4906115549086908690600401612cf0565b600060405180830381865afa158015611571573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105779190810190613eaa565b6004805460405163facd743b60e01b815233928101929092526001600160a01b03169063facd743b90602401602060405180830381865afa1580156115e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116069190613120565b61162357604051632ec5b44960e01b815260040160405180910390fd5b3660006116308680612f84565b6000546040517f18c586cd0000000000000000000000000000000000000000000000000000000081529294509092506001600160a01b0316906318c586cd9061167f9085908590600401612cf0565b602060405180830381865afa15801561169c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c09190613120565b156116fb5781816040517fc4a32e49000000000000000000000000000000000000000000000000000000008152600401610a4e929190612cf0565b600086868660405160200161171293929190613f69565b60408051808303601f190181529082905280516020909101206000547faadc3b72000000000000000000000000000000000000000000000000000000008352600483018290523360248401529092506001600160a01b03169063aadc3b7290604401602060405180830381865afa158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b59190613120565b156117f05782826040517fc113c1e3000000000000000000000000000000000000000000000000000000008152600401610a4e929190612cf0565b600480546040517f34a1a0950000000000000000000000000000000000000000000000000000000081526001600160a01b03909116916334a1a0959161183e918791879133918b9101614005565b600060405180830381600087803b15801561185857600080fd5b505af115801561186c573d6000803e3d6000fd5b505060048054604080517f2749824000000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921694506327498240935080830192602092918290030181865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f49190614045565b6000546040517f4d3f9c8e0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260ff92909216916001600160a01b0390911690634d3f9c8e906044016020604051808303816000875af1158015611965573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611989919061326e565b0361199e57611999878787611ab2565b6119e1565b60405133906119b09085908590614068565b604051908190038120907f99960385426dfd945f1af41c805b3ce369f9f0585b1a7f48ed778e026d2caaae90600090a35b50505050505050565b6119f2611a3e565b6001600160a01b038116611a35576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610a4e565b6114db81612048565b33611a707f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610f74576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610a4e565b366000611abf8580612f84565b6000546040517feab481c30000000000000000000000000000000000000000000000000000000081529294509092506001600160a01b03169063eab481c390611b0e9085908590600401612cf0565b600060405180830381600087803b158015611b2857600080fd5b505af1158015611b3c573d6000803e3d6000fd5b50506005805460019081018083556000928352919350611b5d925090614078565b9050828260058381548110611b7457611b74613433565b90600052602060002090600302016000019182611b929291906140db565b50611ba06020870187612f84565b60058381548110611bb357611bb3613433565b90600052602060002090600302016001019182611bd19291906140db565b50611bdf6040870187612f84565b60058381548110611bf257611bf2613433565b90600052602060002090600302016002019182611c109291906140db565b506003546040517f7e31e3fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637e31e3fd90611c5e90869086908a9060040161419b565b600060405180830381600087803b158015611c7857600080fd5b505af1158015611c8c573d6000803e3d6000fd5b50506000546040517fe3aa21f40000000000000000000000000000000000000000000000000000000081526001600160a01b03909116925063e3aa21f49150611cdd90869086908990600401613287565b600060405180830381600087803b158015611cf757600080fd5b505af1158015611d0b573d6000803e3d6000fd5b50506000546040517fca6869820000000000000000000000000000000000000000000000000000000081526001600160a01b03909116925063ca6869829150611d5a9086908690600401612cf0565b600060405180830381600087803b158015611d7457600080fd5b505af1158015611d88573d6000803e3d6000fd5b50506000546040517f0d32b63e0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250630d32b63e9150611dd990869086904390600401613287565b600060405180830381600087803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b505050508282604051611e1b929190614068565b604051908190038120907f3cbe969d5c5f2c70c7cfb293cd355d3fcc80a852eac9bee1c1c317dc302f199d90600090a2505050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611eec57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611ee07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15610f745760405163703e46dd60e11b815260040160405180910390fd5b6114db611a3e565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611f6c575060408051601f3d908101601f19168201909252611f699181019061326e565b60015b611f9457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610a4e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611ff0576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610a4e565b611ffa83836120df565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f745760405163703e46dd60e11b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6120ce612135565b6114db8161219c565b610f74612135565b6120e8826121a4565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561212d57611ffa8282612228565b61096d612295565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610f74576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119f2612135565b806001600160a01b03163b6000036121da57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610a4e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161224591906141c1565b600060405180830381855af49150503d8060008114612280576040519150601f19603f3d011682016040523d82523d6000602084013e612285565b606091505b50915091506109498583836122cd565b3415610f74576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826122e2576122dd82612345565b61233e565b81511580156122f957506001600160a01b0384163b155b1561233b576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610a4e565b50805b9392505050565b8051156123555780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008083601f84011261239957600080fd5b50813567ffffffffffffffff8111156123b157600080fd5b6020830191508360208285010111156123c957600080fd5b9250929050565b600080602083850312156123e357600080fd5b823567ffffffffffffffff8111156123fa57600080fd5b61240685828601612387565b90969095509350505050565b60005b8381101561242d578181015183820152602001612415565b50506000910152565b6000815180845261244e816020860160208601612412565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156124e157601f198684030189528151608067ffffffffffffffff82511685528582015181878701526124b782870182612436565b6040848101519088015260609384015193909601929092525050978301979083019060010161247f565b5090979650505050505050565b60208152600082516040602084015261250a6060840182612462565b90506020840151601f198483030160408501526109498282612462565b6020815260008251604060208401526125436060840182612436565b905067ffffffffffffffff60208501511660408401528091505092915050565b60006060828403121561257557600080fd5b50919050565b60006040828403121561257557600080fd5b60008083601f84011261259f57600080fd5b50813567ffffffffffffffff8111156125b757600080fd5b6020830191508360208260051b85010111156123c957600080fd5b6000806000806000608086880312156125ea57600080fd5b853567ffffffffffffffff8082111561260257600080fd5b61260e89838a01612563565b9650602088013591508082111561262457600080fd5b61263089838a0161257b565b955060408801359450606088013591508082111561264d57600080fd5b5061265a8882890161258d565b969995985093965092949392505050565b6000806000806040858703121561268157600080fd5b843567ffffffffffffffff8082111561269957600080fd5b6126a588838901612387565b909650945060208701359150808211156126be57600080fd5b506126cb8782880161258d565b95989497509550505050565b6020815260006105776020830184612436565b80356001600160a01b038116811461270157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561273f5761273f612706565b60405290565b6040805190810167ffffffffffffffff8111828210171561273f5761273f612706565b60405160a0810167ffffffffffffffff8111828210171561273f5761273f612706565b604051601f8201601f1916810167ffffffffffffffff811182821017156127b4576127b4612706565b604052919050565b600067ffffffffffffffff8211156127d6576127d6612706565b50601f01601f191660200190565b600080604083850312156127f757600080fd5b612800836126ea565b9150602083013567ffffffffffffffff81111561281c57600080fd5b8301601f8101851361282d57600080fd5b803561284061283b826127bc565b61278b565b81815286602083850101111561285557600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561297357603f19898403018552815160a081518186526128c282870182612436565b91505088820151898601528782015188860152606080830151868303828801526128ec8382612436565b92505050608080830151925085820381870152508082518083528a830191508a8160051b8401018b8501945060005b8281101561295c57848203601f19018452855180518d845261293f8e850182612436565b918f0151938f0193909352958d0195938d0193915060010161291b565b50988b01989650505092880192505060010161289c565b509098975050505050505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561297357888303603f19018552815180518785526129ce88860182612436565b91890151858303868b01529190506129e68183612436565b9689019694505050908601906001016129aa565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561297357603f19898403018552815160608151818652612a4982870182612436565b915050888201518582038a870152612a618282612436565b91505087820151915084810388860152612a7b8183612436565b968901969450505090860190600101612a23565b600080600080600060a08688031215612aa757600080fd5b612ab0866126ea565b9450612abe602087016126ea565b9350612acc604087016126ea565b9250612ada606087016126ea565b9150612ae8608087016126ea565b90509295509295909350565b600060208284031215612b0657600080fd5b813567ffffffffffffffff811115612b1d57600080fd5b820160a0818503121561233e57600080fd5b600060208284031215612b4157600080fd5b813567ffffffffffffffff811115612b5857600080fd5b8201610100818503121561233e57600080fd5b60008282518085526020808601955060208260051b8401016020860160005b848110156124e157601f19868403018952612ba6838351612436565b98840198925090830190600101612b8a565b60208152815160208201526000602083015160806040840152612bde60a0840182612436565b90506040840151601f1980858403016060860152612bfc8383612b6b565b92506060860151915080858403016080860152506109498282612b6b565b60008060008060808587031215612c3057600080fd5b843567ffffffffffffffff80821115612c4857600080fd5b612c5488838901612563565b95506020870135915080821115612c6a57600080fd5b612c768883890161257b565b9450604087013593506060870135915080821115612c9357600080fd5b50612ca08782880161257b565b91505092959194509250565b600060208284031215612cbe57600080fd5b610577826126ea565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006107b1602083018486612cc7565b600067ffffffffffffffff821115612d1e57612d1e612706565b5060051b60200190565b67ffffffffffffffff811681146114db57600080fd5b600082601f830112612d4f57600080fd5b8151612d5d61283b826127bc565b818152846020838601011115612d7257600080fd5b6107b1826020830160208701612412565b600082601f830112612d9457600080fd5b81516020612da461283b83612d04565b82815260059290921b84018101918181019086841115612dc357600080fd5b8286015b84811015612e6457805167ffffffffffffffff80821115612de85760008081fd5b908801906080828b03601f1901811315612e025760008081fd5b612e0a61271c565b87840151612e1781612d28565b815260408481015184811115612e2d5760008081fd5b612e3b8e8b83890101612d3e565b838b01525060608581015191830191909152919093015190830152508352918301918301612dc7565b509695505050505050565b600060208284031215612e8157600080fd5b815167ffffffffffffffff80821115612e9957600080fd5b9083019060408286031215612ead57600080fd5b612eb5612745565b825182811115612ec457600080fd5b612ed087828601612d83565b825250602083015182811115612ee557600080fd5b612ef187828601612d83565b60208301525095945050505050565b600060208284031215612f1257600080fd5b815167ffffffffffffffff80821115612f2a57600080fd5b9083019060408286031215612f3e57600080fd5b612f46612745565b825182811115612f5557600080fd5b612f6187828601612d3e565b82525060208301519250612f7483612d28565b6020810192909252509392505050565b6000808335601e19843603018112612f9b57600080fd5b83018035915067ffffffffffffffff821115612fb657600080fd5b6020019150368190038213156123c957600080fd5b60008235603e19833603018112612fe157600080fd5b90910192915050565b6000808335601e1984360301811261300157600080fd5b830160208101925035905067ffffffffffffffff81111561302157600080fd5b8036038213156123c957600080fd5b600061303c8283612fea565b6040855261304e604086018284612cc7565b91505061305e6020840184612fea565b8583036020870152613071838284612cc7565b9695505050505050565b60006040808352613090604084018789612cc7565b602084820381860152818683528183019050818760051b8401018860005b8981101561310f57858303601f190184526130c9828c612fcb565b6001600160a01b036130da826126ea565b1684526130e986820182612fcb565b905087868501526130fc88850182613030565b94860194935050908401906001016130ae565b50909b9a5050505050505050505050565b60006020828403121561313257600080fd5b8151801515811461233e57600080fd5b6000806040838503121561315557600080fd5b82519150602083015167ffffffffffffffff81111561317357600080fd5b61317f85828601612d3e565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561057a5761057a613189565b6060815260006131c6606083018789612cc7565b602083820381850152818683528183019050818760051b8401018860005b8981101561325257858303601f190184526131ff828c612fcb565b604061320b8283612fea565b82875261321b8388018284612cc7565b9250505086820135915061322e82612d28565b67ffffffffffffffff919091169386019390935292840192908401906001016131e4565b50506001600160a01b0387166040870152935061307192505050565b60006020828403121561328057600080fd5b5051919050565b60408152600061329b604083018587612cc7565b9050826020830152949350505050565b600082601f8301126132bc57600080fd5b815160206132cc61283b83612d04565b82815260059290921b840181019181810190868411156132eb57600080fd5b8286015b84811015612e6457805167ffffffffffffffff808211156133105760008081fd5b908801906040828b03601f190181131561332a5760008081fd5b613332612745565b87840151838111156133445760008081fd5b6133528d8a83880101612d3e565b825250920151868301525083529183019183016132ef565b60006020828403121561337c57600080fd5b815167ffffffffffffffff8082111561339457600080fd5b9083019060a082860312156133a857600080fd5b6133b0612768565b8251828111156133bf57600080fd5b6133cb87828601612d3e565b82525060208301516020820152604083015160408201526060830151828111156133f457600080fd5b61340087828601612d3e565b60608301525060808301518281111561341857600080fd5b613424878286016132ab565b60808301525095945050505050565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121561345c57600080fd5b825167ffffffffffffffff8082111561347457600080fd5b818501915085601f83011261348857600080fd5b815161349661283b82612d04565b81815260059190911b830184019084810190888311156134b557600080fd5b8585015b83811015613548578051858111156134d15760008081fd5b86016040818c03601f19018113156134e95760008081fd5b6134f1612745565b89830151888111156135035760008081fd5b6135118e8c83870101612d3e565b8252509082015190878211156135275760008081fd5b6135358d8b84860101612d3e565b818b0152855250509186019186016134b9565b5098975050505050505050565b600181811c9082168061356957607f821691505b60208210810361257557634e487b7160e01b600052602260045260246000fd5b6000808335601e198436030181126135a057600080fd5b830160208101925035905067ffffffffffffffff8111156135c057600080fd5b8060051b36038213156123c957600080fd5b60008235607e19833603018112612fe157600080fd5b600081356135f581612d28565b67ffffffffffffffff16835261360e6020830183612fea565b60806020860152613623608086018284612cc7565b91505060408301356040850152606083013560608501528091505092915050565b6000838385526020808601955060208560051b8301018460005b878110156124e157848303601f190189526136828361367d848a6135d2565b6135e8565b9884019892509083019060010161365e565b60006136a08283613589565b604085526136b2604086018284613644565b9150506136c26020840184613589565b8583036020870152613071838284613644565b60008383855260208086019550808560051b8301018460005b878110156124e157848303601f1901895261370982886135d2565b60806137158283612fea565b8287526137258388018284612cc7565b9250505061373586830183612fea565b86830388880152613747838284612cc7565b925050506040808301358187015250606061376481840184612fcb565b925085820381870152506137788183613694565b9a86019a94505050908301906001016136ee565b60008383855260208086019550808560051b830101846000805b8881101561382d57858403601f19018a52823536899003605e190181126137cb578283fd5b880160606137d98280612fea565b8288526137e98389018284612cc7565b925050506137f987830183612fea565b8783038989015261380b838284612cc7565b60409485013598909401979097525050998501999350918401916001016137a6565b509198975050505050505050565b60008383855260208086019550808560051b830101846000805b8881101561382d57858403601f19018a5282353689900360fe1901811261387a578283fd5b88016101006138898280612fea565b8288526138998389018284612cc7565b925050506138a987830183612fea565b878303898901526138bb838284612cc7565b9250505060406138cd81840184612fea565b888403838a01526138df848284612cc7565b935050505060606138f281840184612fea565b888403838a0152613904848284612cc7565b93505050506080613917818401846135d2565b8783038289015261392883826135e8565b9250505060a061393a81840184612fea565b888403838a015261394c848284612cc7565b935050505060c061395f81840184612fea565b888403838a0152613971848284612cc7565b60e095860135999095019890985250505099850199935091840191600101613855565b60008383855260208086019550808560051b8301018460005b878110156124e157848303601f190189526139c882886135d2565b60806139d48283612fea565b8287526139e48388018284612cc7565b925050506139f486830183612fea565b86830388880152613a06838284612cc7565b925050506040613a1881840184612fea565b87840383890152613a2a848284612cc7565b93505050506060613a3d818401846135d2565b92508582038187015250613a5181836135e8565b9a86019a94505050908301906001016139ad565b604081526000613a758485613589565b60a0604085015260e08401818152610100850190506101008260051b8601018360005b84811015613bfc5787830360ff1901845236869003609e1901823512613abd57600080fd5b613aca8235870180612fea565b60a08552613adc60a086018284612cc7565b9150613af19050833588016020810190613589565b85830360208701528281845260208401905060208260051b8501018360005b84811015613b6757868303601f19018452613b2b8287612fcb565b613b358182612fea565b60408652613b47604087018284612cc7565b602093840135968401969096525050938401939190910190600101613b10565b50613b7b905087358c0160408101906135d2565b94508781036040890152613b8f81866135e8565b9450613ba79350505050833588016060810190612fea565b8583036060870152613bba838284612cc7565b9250613bd0915050833588016080810190612fea565b8583036080870152613be3838284612cc7565b6020978801979096509490940193505050600101613a98565b5050613c0b6020890189613589565b94509250603f19915081868203016060870152613c298185856136d5565b935050613c396040880188613589565b925081868503016080870152613c5084848361378c565b935050613c606060880188613589565b9250818685030160a0870152613c7784848361383b565b935050613c876080880188613589565b9250818685030160c0870152613c9e848483613994565b94505050505061233e60208301846001600160a01b03169052565b60a081526000613ccd60a083018b8d612cc7565b8281036020840152613ce0818a8c612cc7565b90508281036040840152613cf581888a612cc7565b90508281036060840152613d0a818688612cc7565b9150506001600160a01b03831660808301529a9950505050505050505050565b60408152823560408201526000613d446020850185612fea565b610100806060860152613d5c61014086018385612cc7565b9250613d6b6040880188612fea565b9250603f1980878603016080880152613d85858584612cc7565b9450613d9460608a018a612fea565b94509150808786030160a0880152613dad858584612cc7565b9450613dbc60808a018a612fea565b94509150808786030160c0880152613dd5858584612cc7565b945060a089013560e088015260c089013583880152613df760e08a018a612fcb565b93508087860301610120880152505050613e118282613694565b9250505061233e60208301846001600160a01b03169052565b600082601f830112613e3b57600080fd5b81516020613e4b61283b83612d04565b82815260059290921b84018101918181019086841115613e6a57600080fd5b8286015b84811015612e6457805167ffffffffffffffff811115613e8e5760008081fd5b613e9c8986838b0101612d3e565b845250918301918301613e6e565b600060208284031215613ebc57600080fd5b815167ffffffffffffffff80821115613ed457600080fd5b9083019060808286031215613ee857600080fd5b613ef061271c565b82518152602083015182811115613f0657600080fd5b613f1287828601612d3e565b602083015250604083015182811115613f2a57600080fd5b613f3687828601613e2a565b604083015250606083015182811115613f4e57600080fd5b613f5a87828601613e2a565b60608301525095945050505050565b606081526000613f798586612fea565b606080850152613f8d60c085018284612cc7565b915050613f9d6020870187612fea565b605f1980868503016080870152613fb5848385612cc7565b9350613fc460408a018a612fea565b93509150808685030160a087015250613fde838383612cc7565b925050508281036020840152613ff48186613694565b915050826040830152949350505050565b606081526000614019606083018688612cc7565b6001600160a01b0385166020840152828103604084015261403a8185613030565b979650505050505050565b60006020828403121561405757600080fd5b815160ff8116811461233e57600080fd5b8183823760009101908152919050565b8181038181111561057a5761057a613189565b601f821115611ffa576000816000526020600020601f850160051c810160208610156140b45750805b601f850160051c820191505b818110156140d3578281556001016140c0565b505050505050565b67ffffffffffffffff8311156140f3576140f3612706565b614107836141018354613555565b8361408b565b6000601f84116001811461413b57600085156141235750838201355b600019600387901b1c1916600186901b1783556106a4565b600083815260209020601f19861690835b8281101561416c578685013582556020948501946001909201910161414c565b50868210156141895760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6040815260006141af604083018587612cc7565b82810360208401526130718185613694565b600082516141d3818460208701612412565b919091019291505056fea26469706673582212201d5e996ea7f6fe77d4859da1c28a8cd3b7e2d169289d24f122c5f09414e4e25764736f6c63430008180033","linkReferences":{},"deployedLinkReferences":{}}` +var ClaimsHelperArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"ClaimsHelper","sourceName":"contracts/ClaimsHelper.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"confirmedSignedBatches","outputs":[{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"currentBatchBlock","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_batchId","type":"uint256"}],"name":"getConfirmedSignedBatchData","outputs":[{"components":[{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.ConfirmedSignedBatchData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"numberOfVotes","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"resetCurrentBatchBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"destinationChainId","type":"string"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"string","name":"feePayerMultisigSignature","type":"string"},{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.SignedBatch","name":"_signedBatch","type":"tuple"}],"name":"setConfirmedSignedBatchData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_claimsAddress","type":"address"},{"internalType":"address","name":"_signedBatchesAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"},{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"setVoted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"},{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"uint256","name":"_quorumCnt","type":"uint256"}],"name":"setVotedOnlyIfNeeded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611f996100fd60003960008181610ea801528181610ed101526110540152611f996000f3fe60806040526004361061010e5760003560e01c806386e71477116100a5578063ca68698211610074578063e2100f4d11610059578063e2100f4d1461038b578063e87c28a7146103b8578063f2fde38b146103d857600080fd5b8063ca68698214610333578063e038ab551461035357600080fd5b806386e71477146102195780638da5cb5b1461025b578063aadc3b72146102a2578063ad3cb1cc146102dd57600080fd5b806364d06b05116100e157806364d06b05146101a0578063715018a6146101c05780637f9b665c146101d55780638129fc1c1461020457600080fd5b806336bf07d3146101135780634d3f9c8e146101485780634f1ef2861461017657806352d1902d1461018b575b600080fd5b34801561011f57600080fd5b5061013361012e3660046114a2565b6103f8565b60405190151581526020015b60405180910390f35b34801561015457600080fd5b506101686101633660046114d5565b6104fc565b60405190815260200161013f565b61018961018436600461158b565b6105ac565b005b34801561019757600080fd5b506101686105cb565b3480156101ac57600080fd5b506101896101bb3660046115ed565b6105fa565b3480156101cc57600080fd5b50610189610733565b3480156101e157600080fd5b506101f56101f0366004611649565b610747565b60405161013f93929190611798565b34801561021057600080fd5b506101896109bc565b34801561022557600080fd5b506102496102343660046117b7565b60056020526000908152604090205460ff1681565b60405160ff909116815260200161013f565b34801561026757600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b03909116815260200161013f565b3480156102ae57600080fd5b506101336102bd3660046117d0565b600460209081526000928352604080842090915290825290205460ff1681565b3480156102e957600080fd5b506103266040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161013f91906117fc565b34801561033f57600080fd5b5061018961034e366004611858565b610b00565b34801561035f57600080fd5b5061016861036e36600461189a565b805160208183018101805160038252928201919093012091525481565b34801561039757600080fd5b506103ab6103a63660046118d7565b610b6d565b60405161013f9190611923565b3480156103c457600080fd5b506101896103d3366004611952565b610dfe565b3480156103e457600080fd5b506101896103f336600461197c565b610e41565b6001546000906001600160a01b0316331480159061042157506000546001600160a01b03163314155b1561043f57604051639a4b386f60e01b815260040160405180910390fd5b60008381526004602090815260408083206001600160a01b038816845290915290205460ff1680610481575060008381526005602052604090205460ff168211155b1561048e575060006104f5565b60008381526004602090815260408083206001600160a01b03881684528252808320805460ff191660011790558583526005909152812080548492906104d69060ff166119ad565b91906101000a81548160ff021916908360ff160217905560ff16101590505b9392505050565b6001546000906001600160a01b0316331480159061052557506000546001600160a01b03163314155b1561054357604051639a4b386f60e01b815260040160405180910390fd5b60008281526004602090815260408083206001600160a01b03871684528252808320805460ff19166001179055848352600590915281208054829061058a9060ff166119ad565b825460ff9182166101009390930a838102920219161790915591505092915050565b6105b4610e9d565b6105bd82610f54565b6105c78282610f5c565b5050565b60006105d5611049565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6001546001600160a01b0316331480159061062057506000546001600160a01b03163314155b1561063e57604051639a4b386f60e01b815260040160405180910390fd5b36600061064e60208401846119cc565b604051919350915083359060a08501359060029061066f9086908690611a13565b90815260408051918290036020908101832060008681529152209190915560c0850135906002906106a39086908690611a13565b9081526040805160209281900383019020600085815292529020600101556106ce60e0850185611a23565b600284846040516106e0929190611a13565b90815260408051602092819003830190206000858152925290206002016107078282611dcb565b905050436003848460405161071d929190611a13565b9081526040519081900360200190205550505050565b61073b611092565b6107456000611106565b565b81518083016020908101805160028083529383019583019590952094905292835260009182526040808320805460018201548351948301805460609881028701890186529486018581529297919693959490938593928592919085015b82821015610893576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff16825260018101805492939192918401916107ee90611aa3565b80601f016020809104026020016040519081016040528092919081815260200182805461081a90611aa3565b80156108675780601f1061083c57610100808354040283529160200191610867565b820191906000526020600020905b81548152906001019060200180831161084a57829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906107a4565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b828210156109af576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff168252600181018054929391929184019161090a90611aa3565b80601f016020809104026020016040519081016040528092919081815260200182805461093690611aa3565b80156109835780601f1061095857610100808354040283529160200191610983565b820191906000526020600020905b81548152906001019060200180831161096657829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906108c0565b5050505081525050905083565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff16600081158015610a075750825b905060008267ffffffffffffffff166001148015610a245750303b155b905081158015610a32575080155b15610a69576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610a9d57845468ff00000000000000001916680100000000000000001785555b610aa633611184565b610aae611195565b8315610af957845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000546001600160a01b03163314610b44576040517fd695af0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60001960038383604051610b59929190611a13565b908152604051908190036020019020555050565b610b7561144b565b60028484604051610b87929190611a13565b90815260408051602092819003830181206000868152908452828120606080840185528154845260018201548685015284516002830180549788028201830187528187018881529597939688019591949093859385929085015b82821015610cd0576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff1682526001810180549293919291840191610c2b90611aa3565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5790611aa3565b8015610ca45780601f10610c7957610100808354040283529160200191610ca4565b820191906000526020600020905b815481529060010190602001808311610c8757829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610be1565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015610dec576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff1682526001810180549293919291840191610d4790611aa3565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7390611aa3565b8015610dc05780601f10610d9557610100808354040283529160200191610dc0565b820191906000526020600020905b815481529060010190602001808311610da357829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610cfd565b50505091525050905250949350505050565b610e06611092565b600080546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560018054929093169116179055565b610e49611092565b6001600160a01b038116610e91576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610e9a81611106565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610f3657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f2a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156107455760405163703e46dd60e11b815260040160405180910390fd5b610e9a611092565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fb6575060408051601f3d908101601f19168201909252610fb391810190611f38565b60015b610fde57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610e88565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461103a576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610e88565b611044838361119d565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107455760405163703e46dd60e11b815260040160405180910390fd5b336110c47f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610745576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610e88565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b61118c6111f3565b610e9a8161125a565b6107456111f3565b6111a682611262565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156111eb5761104482826112e6565b6105c761135c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610745576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e496111f3565b806001600160a01b03163b60000361129857604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610e88565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516113039190611f51565b600060405180830381855af49150503d806000811461133e576040519150601f19603f3d011682016040523d82523d6000602084013e611343565b606091505b5091509150611353858383611394565b95945050505050565b3415610745576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826113a9576113a482611409565b6104f5565b81511580156113c057506001600160a01b0384163b155b15611402576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610e88565b50806104f5565b8051156114195780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180606001604052806000815260200160008152602001611481604051806040016040528060608152602001606081525090565b905290565b80356001600160a01b038116811461149d57600080fd5b919050565b6000806000606084860312156114b757600080fd5b6114c084611486565b95602085013595506040909401359392505050565b600080604083850312156114e857600080fd5b6114f183611486565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611530576115306114ff565b604051601f8501601f19908116603f01168101908282118183101715611558576115586114ff565b8160405280935085815286868601111561157157600080fd5b858560208301376000602087830101525050509392505050565b6000806040838503121561159e57600080fd5b6115a783611486565b9150602083013567ffffffffffffffff8111156115c357600080fd5b8301601f810185136115d457600080fd5b6115e385823560208401611515565b9150509250929050565b6000602082840312156115ff57600080fd5b813567ffffffffffffffff81111561161657600080fd5b820161010081850312156104f557600080fd5b600082601f83011261163a57600080fd5b6104f583833560208501611515565b6000806040838503121561165c57600080fd5b823567ffffffffffffffff81111561167357600080fd5b61167f85828601611629565b95602094909401359450505050565b60005b838110156116a9578181015183820152602001611691565b50506000910152565b600081518084526116ca81602086016020860161168e565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561175d57601f198684030189528151608067ffffffffffffffff8251168552858201518187870152611733828701826116b2565b604084810151908801526060938401519390960192909252505097830197908301906001016116fb565b5090979650505050505050565b600081516040845261177f60408501826116de565b90506020830151848203602086015261135382826116de565b838152826020820152606060408201526000611353606083018461176a565b6000602082840312156117c957600080fd5b5035919050565b600080604083850312156117e357600080fd5b823591506117f360208401611486565b90509250929050565b6020815260006104f560208301846116b2565b60008083601f84011261182157600080fd5b50813567ffffffffffffffff81111561183957600080fd5b60208301915083602082850101111561185157600080fd5b9250929050565b6000806020838503121561186b57600080fd5b823567ffffffffffffffff81111561188257600080fd5b61188e8582860161180f565b90969095509350505050565b6000602082840312156118ac57600080fd5b813567ffffffffffffffff8111156118c357600080fd5b6118cf84828501611629565b949350505050565b6000806000604084860312156118ec57600080fd5b833567ffffffffffffffff81111561190357600080fd5b61190f8682870161180f565b909790965060209590950135949350505050565b602081528151602082015260208201516040820152600060408301516060808401526118cf608084018261176a565b6000806040838503121561196557600080fd5b61196e83611486565b91506117f360208401611486565b60006020828403121561198e57600080fd5b6104f582611486565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036119c3576119c3611997565b60010192915050565b6000808335601e198436030181126119e357600080fd5b83018035915067ffffffffffffffff8211156119fe57600080fd5b60200191503681900382131561185157600080fd5b8183823760009101908152919050565b60008235603e19833603018112611a3957600080fd5b9190910192915050565b6000808335601e19843603018112611a5a57600080fd5b83018035915067ffffffffffffffff821115611a7557600080fd5b6020019150600581901b360382131561185157600080fd5b60008235607e19833603018112611a3957600080fd5b600181811c90821680611ab757607f821691505b602082108103611ad757634e487b7160e01b600052602260045260246000fd5b50919050565b5b818110156105c75760008155600101611ade565b601f82111561104457806000526020600020601f840160051c81016020851015611b195750805b610af9601f850160051c830182611add565b67ffffffffffffffff831115611b4357611b436114ff565b611b5783611b518354611aa3565b83611af2565b6000601f841160018114611b8b5760008515611b735750838201355b600019600387901b1c1916600186901b178355610af9565b600083815260209020601f19861690835b82811015611bbc5786850135825560209485019460019092019101611b9c565b5086821015611bd95760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b813567ffffffffffffffff808216808314611c0557600080fd5b835467ffffffffffffffff19161783556020840135915036849003601e19018212611c2f57600080fd5b90830190813581811115611c4257600080fd5b602083019250803603831315611c5757600080fd5b611c65818460018701611b2b565b50505060408201356002820155606082013560038201555050565b68010000000000000000831115611c9957611c996114ff565b805483825580841015611d855760027f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083168314611cda57611cda611997565b8086168614611ceb57611ceb611997565b506000838152602081208360021b81018760021b820191505b80821015611d80578282556001808301611d1e8154611aa3565b8015611d6757601f80821160018114611d3957878455611d64565b600084815260209020611d5583850160051c8201878301611add565b50600084815260208120818655555b50505b5050508284830155826003830155600482019150611d04565b505050505b5060008181526020812083915b85811015611dc357611dad611da78487611a8d565b83611beb565b6020929092019160049190910190600101611d92565b505050505050565b611dd58283611a43565b68010000000000000000811115611dee57611dee6114ff565b825481845580821015611eda5760027f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083168314611e2f57611e2f611997565b8084168414611e4057611e40611997565b506000858152602081208360021b81018560021b820191505b80821015611ed5578282556001808301611e738154611aa3565b8015611ebc57601f80821160018114611e8e57878455611eb9565b600084815260209020611eaa83850160051c8201878301611add565b50600084815260208120818655555b50505b5050508284830155826003830155600482019150611e59565b505050505b5060008381526020812083915b83811015611f1257611efc611da78487611a8d565b6020929092019160049190910190600101611ee7565b5050505050611f246020830183611a43565b611f32818360018601611c80565b50505050565b600060208284031215611f4a57600080fd5b5051919050565b60008251611a3981846020870161168e56fea264697066735822122006e0af27223409af232d1ac9a43b9818b6ca89a72f905ca017ac0c3263715be164736f6c63430008180033","deployedBytecode":"0x60806040526004361061010e5760003560e01c806386e71477116100a5578063ca68698211610074578063e2100f4d11610059578063e2100f4d1461038b578063e87c28a7146103b8578063f2fde38b146103d857600080fd5b8063ca68698214610333578063e038ab551461035357600080fd5b806386e71477146102195780638da5cb5b1461025b578063aadc3b72146102a2578063ad3cb1cc146102dd57600080fd5b806364d06b05116100e157806364d06b05146101a0578063715018a6146101c05780637f9b665c146101d55780638129fc1c1461020457600080fd5b806336bf07d3146101135780634d3f9c8e146101485780634f1ef2861461017657806352d1902d1461018b575b600080fd5b34801561011f57600080fd5b5061013361012e3660046114a2565b6103f8565b60405190151581526020015b60405180910390f35b34801561015457600080fd5b506101686101633660046114d5565b6104fc565b60405190815260200161013f565b61018961018436600461158b565b6105ac565b005b34801561019757600080fd5b506101686105cb565b3480156101ac57600080fd5b506101896101bb3660046115ed565b6105fa565b3480156101cc57600080fd5b50610189610733565b3480156101e157600080fd5b506101f56101f0366004611649565b610747565b60405161013f93929190611798565b34801561021057600080fd5b506101896109bc565b34801561022557600080fd5b506102496102343660046117b7565b60056020526000908152604090205460ff1681565b60405160ff909116815260200161013f565b34801561026757600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b03909116815260200161013f565b3480156102ae57600080fd5b506101336102bd3660046117d0565b600460209081526000928352604080842090915290825290205460ff1681565b3480156102e957600080fd5b506103266040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161013f91906117fc565b34801561033f57600080fd5b5061018961034e366004611858565b610b00565b34801561035f57600080fd5b5061016861036e36600461189a565b805160208183018101805160038252928201919093012091525481565b34801561039757600080fd5b506103ab6103a63660046118d7565b610b6d565b60405161013f9190611923565b3480156103c457600080fd5b506101896103d3366004611952565b610dfe565b3480156103e457600080fd5b506101896103f336600461197c565b610e41565b6001546000906001600160a01b0316331480159061042157506000546001600160a01b03163314155b1561043f57604051639a4b386f60e01b815260040160405180910390fd5b60008381526004602090815260408083206001600160a01b038816845290915290205460ff1680610481575060008381526005602052604090205460ff168211155b1561048e575060006104f5565b60008381526004602090815260408083206001600160a01b03881684528252808320805460ff191660011790558583526005909152812080548492906104d69060ff166119ad565b91906101000a81548160ff021916908360ff160217905560ff16101590505b9392505050565b6001546000906001600160a01b0316331480159061052557506000546001600160a01b03163314155b1561054357604051639a4b386f60e01b815260040160405180910390fd5b60008281526004602090815260408083206001600160a01b03871684528252808320805460ff19166001179055848352600590915281208054829061058a9060ff166119ad565b825460ff9182166101009390930a838102920219161790915591505092915050565b6105b4610e9d565b6105bd82610f54565b6105c78282610f5c565b5050565b60006105d5611049565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6001546001600160a01b0316331480159061062057506000546001600160a01b03163314155b1561063e57604051639a4b386f60e01b815260040160405180910390fd5b36600061064e60208401846119cc565b604051919350915083359060a08501359060029061066f9086908690611a13565b90815260408051918290036020908101832060008681529152209190915560c0850135906002906106a39086908690611a13565b9081526040805160209281900383019020600085815292529020600101556106ce60e0850185611a23565b600284846040516106e0929190611a13565b90815260408051602092819003830190206000858152925290206002016107078282611dcb565b905050436003848460405161071d929190611a13565b9081526040519081900360200190205550505050565b61073b611092565b6107456000611106565b565b81518083016020908101805160028083529383019583019590952094905292835260009182526040808320805460018201548351948301805460609881028701890186529486018581529297919693959490938593928592919085015b82821015610893576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff16825260018101805492939192918401916107ee90611aa3565b80601f016020809104026020016040519081016040528092919081815260200182805461081a90611aa3565b80156108675780601f1061083c57610100808354040283529160200191610867565b820191906000526020600020905b81548152906001019060200180831161084a57829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906107a4565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b828210156109af576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff168252600181018054929391929184019161090a90611aa3565b80601f016020809104026020016040519081016040528092919081815260200182805461093690611aa3565b80156109835780601f1061095857610100808354040283529160200191610983565b820191906000526020600020905b81548152906001019060200180831161096657829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906108c0565b5050505081525050905083565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff16600081158015610a075750825b905060008267ffffffffffffffff166001148015610a245750303b155b905081158015610a32575080155b15610a69576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610a9d57845468ff00000000000000001916680100000000000000001785555b610aa633611184565b610aae611195565b8315610af957845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000546001600160a01b03163314610b44576040517fd695af0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60001960038383604051610b59929190611a13565b908152604051908190036020019020555050565b610b7561144b565b60028484604051610b87929190611a13565b90815260408051602092819003830181206000868152908452828120606080840185528154845260018201548685015284516002830180549788028201830187528187018881529597939688019591949093859385929085015b82821015610cd0576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff1682526001810180549293919291840191610c2b90611aa3565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5790611aa3565b8015610ca45780601f10610c7957610100808354040283529160200191610ca4565b820191906000526020600020905b815481529060010190602001808311610c8757829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610be1565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015610dec576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff1682526001810180549293919291840191610d4790611aa3565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7390611aa3565b8015610dc05780601f10610d9557610100808354040283529160200191610dc0565b820191906000526020600020905b815481529060010190602001808311610da357829003601f168201915b505050505081526020016002820154815260200160038201548152505081526020019060010190610cfd565b50505091525050905250949350505050565b610e06611092565b600080546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560018054929093169116179055565b610e49611092565b6001600160a01b038116610e91576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610e9a81611106565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610f3657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f2a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156107455760405163703e46dd60e11b815260040160405180910390fd5b610e9a611092565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fb6575060408051601f3d908101601f19168201909252610fb391810190611f38565b60015b610fde57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610e88565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461103a576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610e88565b611044838361119d565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107455760405163703e46dd60e11b815260040160405180910390fd5b336110c47f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610745576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610e88565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b61118c6111f3565b610e9a8161125a565b6107456111f3565b6111a682611262565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156111eb5761104482826112e6565b6105c761135c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610745576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e496111f3565b806001600160a01b03163b60000361129857604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610e88565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516113039190611f51565b600060405180830381855af49150503d806000811461133e576040519150601f19603f3d011682016040523d82523d6000602084013e611343565b606091505b5091509150611353858383611394565b95945050505050565b3415610745576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826113a9576113a482611409565b6104f5565b81511580156113c057506001600160a01b0384163b155b15611402576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610e88565b50806104f5565b8051156114195780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180606001604052806000815260200160008152602001611481604051806040016040528060608152602001606081525090565b905290565b80356001600160a01b038116811461149d57600080fd5b919050565b6000806000606084860312156114b757600080fd5b6114c084611486565b95602085013595506040909401359392505050565b600080604083850312156114e857600080fd5b6114f183611486565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611530576115306114ff565b604051601f8501601f19908116603f01168101908282118183101715611558576115586114ff565b8160405280935085815286868601111561157157600080fd5b858560208301376000602087830101525050509392505050565b6000806040838503121561159e57600080fd5b6115a783611486565b9150602083013567ffffffffffffffff8111156115c357600080fd5b8301601f810185136115d457600080fd5b6115e385823560208401611515565b9150509250929050565b6000602082840312156115ff57600080fd5b813567ffffffffffffffff81111561161657600080fd5b820161010081850312156104f557600080fd5b600082601f83011261163a57600080fd5b6104f583833560208501611515565b6000806040838503121561165c57600080fd5b823567ffffffffffffffff81111561167357600080fd5b61167f85828601611629565b95602094909401359450505050565b60005b838110156116a9578181015183820152602001611691565b50506000910152565b600081518084526116ca81602086016020860161168e565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561175d57601f198684030189528151608067ffffffffffffffff8251168552858201518187870152611733828701826116b2565b604084810151908801526060938401519390960192909252505097830197908301906001016116fb565b5090979650505050505050565b600081516040845261177f60408501826116de565b90506020830151848203602086015261135382826116de565b838152826020820152606060408201526000611353606083018461176a565b6000602082840312156117c957600080fd5b5035919050565b600080604083850312156117e357600080fd5b823591506117f360208401611486565b90509250929050565b6020815260006104f560208301846116b2565b60008083601f84011261182157600080fd5b50813567ffffffffffffffff81111561183957600080fd5b60208301915083602082850101111561185157600080fd5b9250929050565b6000806020838503121561186b57600080fd5b823567ffffffffffffffff81111561188257600080fd5b61188e8582860161180f565b90969095509350505050565b6000602082840312156118ac57600080fd5b813567ffffffffffffffff8111156118c357600080fd5b6118cf84828501611629565b949350505050565b6000806000604084860312156118ec57600080fd5b833567ffffffffffffffff81111561190357600080fd5b61190f8682870161180f565b909790965060209590950135949350505050565b602081528151602082015260208201516040820152600060408301516060808401526118cf608084018261176a565b6000806040838503121561196557600080fd5b61196e83611486565b91506117f360208401611486565b60006020828403121561198e57600080fd5b6104f582611486565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036119c3576119c3611997565b60010192915050565b6000808335601e198436030181126119e357600080fd5b83018035915067ffffffffffffffff8211156119fe57600080fd5b60200191503681900382131561185157600080fd5b8183823760009101908152919050565b60008235603e19833603018112611a3957600080fd5b9190910192915050565b6000808335601e19843603018112611a5a57600080fd5b83018035915067ffffffffffffffff821115611a7557600080fd5b6020019150600581901b360382131561185157600080fd5b60008235607e19833603018112611a3957600080fd5b600181811c90821680611ab757607f821691505b602082108103611ad757634e487b7160e01b600052602260045260246000fd5b50919050565b5b818110156105c75760008155600101611ade565b601f82111561104457806000526020600020601f840160051c81016020851015611b195750805b610af9601f850160051c830182611add565b67ffffffffffffffff831115611b4357611b436114ff565b611b5783611b518354611aa3565b83611af2565b6000601f841160018114611b8b5760008515611b735750838201355b600019600387901b1c1916600186901b178355610af9565b600083815260209020601f19861690835b82811015611bbc5786850135825560209485019460019092019101611b9c565b5086821015611bd95760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b813567ffffffffffffffff808216808314611c0557600080fd5b835467ffffffffffffffff19161783556020840135915036849003601e19018212611c2f57600080fd5b90830190813581811115611c4257600080fd5b602083019250803603831315611c5757600080fd5b611c65818460018701611b2b565b50505060408201356002820155606082013560038201555050565b68010000000000000000831115611c9957611c996114ff565b805483825580841015611d855760027f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083168314611cda57611cda611997565b8086168614611ceb57611ceb611997565b506000838152602081208360021b81018760021b820191505b80821015611d80578282556001808301611d1e8154611aa3565b8015611d6757601f80821160018114611d3957878455611d64565b600084815260209020611d5583850160051c8201878301611add565b50600084815260208120818655555b50505b5050508284830155826003830155600482019150611d04565b505050505b5060008181526020812083915b85811015611dc357611dad611da78487611a8d565b83611beb565b6020929092019160049190910190600101611d92565b505050505050565b611dd58283611a43565b68010000000000000000811115611dee57611dee6114ff565b825481845580821015611eda5760027f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083168314611e2f57611e2f611997565b8084168414611e4057611e40611997565b506000858152602081208360021b81018560021b820191505b80821015611ed5578282556001808301611e738154611aa3565b8015611ebc57601f80821160018114611e8e57878455611eb9565b600084815260209020611eaa83850160051c8201878301611add565b50600084815260208120818655555b50505b5050508284830155826003830155600482019150611e59565b505050505b5060008381526020812083915b83811015611f1257611efc611da78487611a8d565b6020929092019160049190910190600101611ee7565b5050505050611f246020830183611a43565b611f32818360018601611c80565b50505050565b600060208284031215611f4a57600080fd5b5051919050565b60008251611a3981846020870161168e56fea264697066735822122006e0af27223409af232d1ac9a43b9818b6ca89a72f905ca017ac0c3263715be164736f6c63430008180033","linkReferences":{},"deployedLinkReferences":{}}` +var ClaimsArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"Claims","sourceName":"contracts/Claims.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"chainTokenQuantity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"getBatchingTxsCount","outputs":[{"internalType":"uint256","name":"counterConfirmedTransactions","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getConfirmedTransaction","outputs":[{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"blockHeight","type":"uint256"},{"internalType":"string","name":"sourceChainID","type":"string"},{"components":[{"internalType":"string","name":"destinationAddress","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.Receiver[]","name":"receivers","type":"tuple[]"}],"internalType":"struct IBridgeStructs.ConfirmedTransaction","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"getTokenQuantity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"address","name":"_voter","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_maxNumberOfTransactions","type":"uint16"},{"internalType":"uint8","name":"_timeoutBlocksNumber","type":"uint8"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"isChainRegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"lastBatchedTxNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"lastConfirmedTxNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxNumberOfTransactions","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"nextTimeoutBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"resetCurrentBatchBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"setChainRegistered","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"},{"internalType":"address","name":"_claimsHelperAddress","type":"address"},{"internalType":"address","name":"_utxosc","type":"address"},{"internalType":"address","name":"_validatorsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_blockNumber","type":"uint256"}],"name":"setNextTimeoutBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"internalType":"uint256","name":"_tokenQuantity","type":"uint256"}],"name":"setTokenQuantity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"},{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"setVoted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"shouldCreateBatch","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"components":[{"internalType":"string","name":"destinationAddress","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.Receiver[]","name":"receivers","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"outputUTXO","type":"tuple"},{"internalType":"string","name":"sourceChainID","type":"string"},{"internalType":"string","name":"destinationChainID","type":"string"}],"internalType":"struct IBridgeStructs.BridgingRequestClaim[]","name":"bridgingRequestClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"uint256","name":"batchNonceID","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"outputUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.BatchExecutedClaim[]","name":"batchExecutedClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"uint256","name":"batchNonceID","type":"uint256"}],"internalType":"struct IBridgeStructs.BatchExecutionFailedClaim[]","name":"batchExecutionFailedClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"previousRefundTxHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"string","name":"receiver","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"utxo","type":"tuple"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"uint256","name":"retryCounter","type":"uint256"}],"internalType":"struct IBridgeStructs.RefundRequestClaim[]","name":"refundRequestClaims","type":"tuple[]"},{"components":[{"internalType":"string","name":"observedTransactionHash","type":"string"},{"internalType":"string","name":"chainID","type":"string"},{"internalType":"string","name":"refundTxHash","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"utxo","type":"tuple"}],"internalType":"struct IBridgeStructs.RefundExecutedClaim[]","name":"refundExecutedClaims","type":"tuple[]"}],"internalType":"struct IBridgeStructs.ValidatorClaims","name":"_claims","type":"tuple"},{"internalType":"address","name":"_caller","type":"address"}],"name":"submitClaims","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"timeoutBlocksNumber","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051613b4b62000104600039600081816115060152818161152f01526116b20152613b4b6000f3fe6080604052600436106101a15760003560e01c80636cabee01116100e1578063ad3cb1cc1161008a578063d9dee84411610064578063d9dee8441461056d578063e3aa21f41461058d578063eab481c3146105ad578063f2fde38b146105cd57600080fd5b8063ad3cb1cc146104c9578063c34872551461051f578063ca6869821461054d57600080fd5b806377968b34116100bb57806377968b34146104425780638da5cb5b14610462578063aadc3b72146104a957600080fd5b80636cabee01146103c85780636cc8f8c7146103f5578063715018a61461042d57600080fd5b806344e3bd221161014e5780634d3f9c8e116101285780634d3f9c8e146103605780634f1ef2861461038057806352d1902d146103935780635673ee67146103a857600080fd5b806344e3bd22146102d05780634ae4dd7c146102f05780634b4c1f841461032857600080fd5b80631d530f121161017f5780631d530f121461024657806334d581401461027e5780633bde7d2e146102b057600080fd5b80630a19c4d2146101a65780630d32b63e146101d957806318c586cd146101fb575b600080fd5b3480156101b257600080fd5b506101c66101c13660046127ea565b6105ed565b6040519081526020015b60405180910390f35b3480156101e557600080fd5b506101f96101f436600461282c565b610619565b005b34801561020757600080fd5b506102366102163660046129b4565b805160208183018101805160048252928201919093012091525460ff1681565b60405190151581526020016101d0565b34801561025257600080fd5b506101c66102613660046129b4565b8051602081830181018051600a8252928201919093012091525481565b34801561028a57600080fd5b5060065461029e9062010000900460ff1681565b60405160ff90911681526020016101d0565b3480156102bc57600080fd5b506101f96102cb366004612a05565b610681565b3480156102dc57600080fd5b506101c66102eb3660046127ea565b6106e6565b3480156102fc57600080fd5b506101c661030b3660046129b4565b805160208183018101805160058252928201919093012091525481565b34801561033457600080fd5b506101c66103433660046129b4565b805160208183018101805160098252928201919093012091525481565b34801561036c57600080fd5b506101c661037b366004612a59565b61080a565b6101f961038e366004612a83565b6108cd565b34801561039f57600080fd5b506101c66108ec565b3480156103b457600080fd5b506101f96103c3366004612ae5565b61091b565b3480156103d457600080fd5b506103e86103e336600461282c565b610d76565b6040516101d09190612b88565b34801561040157600080fd5b506101c66104103660046129b4565b805160208183018101805160078252928201919093012091525481565b34801561043957600080fd5b506101f9611017565b34801561044e57600080fd5b5061023661045d3660046127ea565b61102b565b34801561046e57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016101d0565b3480156104b557600080fd5b506102366104c4366004612c53565b611109565b3480156104d557600080fd5b506105126040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101d09190612c76565b34801561052b57600080fd5b5060065461053a9061ffff1681565b60405161ffff90911681526020016101d0565b34801561055957600080fd5b506101f96105683660046127ea565b611198565b34801561057957600080fd5b506101f9610588366004612c98565b61122b565b34801561059957600080fd5b506101f96105a836600461282c565b61138f565b3480156105b957600080fd5b506101f96105c83660046127ea565b6113cd565b3480156105d957600080fd5b506101f96105e8366004612cd8565b611430565b600060078383604051610601929190612cf3565b90815260200160405180910390205490505b92915050565b6000546001600160a01b0316331461064457604051637fea9dc560e01b815260040160405180910390fd5b60065461065a9062010000900460ff1682612d19565b6005848460405161066c929190612cf3565b90815260405190819003602001902055505050565b610689611487565b600080546001600160a01b0395861673ffffffffffffffffffffffffffffffffffffffff19918216179091556001805494861694821694909417909355600280549285169284169290921790915560038054919093169116179055565b600080600984846040516106fb929190612cf3565b90815260200160405180910390205490506000600a8585604051610720929190612cf3565b9081526040519081900360200190205460065490915060009061ffff166107478385612d2c565b101561075c576107578284612d2c565b610764565b60065461ffff165b9050600093505b8084101561080157600060088787604051610787929190612cf3565b90815260405190819003602001902060006107a28786612d19565b6107ad906001612d19565b8152602001908152602001600020600201549050600587876040516107d3929190612cf3565b90815260200160405180910390205481106107ee5750610801565b846107f881612d3f565b9550505061076b565b50505092915050565b600080546001600160a01b0316331461083657604051637fea9dc560e01b815260040160405180910390fd5b6001546040517f4d3f9c8e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820185905290911690634d3f9c8e906044016020604051808303816000875af11580156108a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c69190612d58565b9392505050565b6108d56114fb565b6108de826115b2565b6108e882826115ba565b5050565b60006108f66116a7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6000546001600160a01b0316331461094657604051637fea9dc560e01b815260040160405180910390fd5b60006109528380612d71565b9050905060005b81811015610abd573661096c8580612d71565b8381811061097c5761097c612dbb565b905060200281019061098e9190612dd1565b90503660006109a06060840184612df1565b90925090503660006109b56080860186612df1565b91509150600484846040516109cb929190612cf3565b9081526040519081900360200190205460ff16610a0857838360405163af0ab70960e01b81526004016109ff929190612e61565b60405180910390fd5b60048282604051610a1a929190612cf3565b9081526040519081900360200190205460ff16610a4e57818160405163af0ab70960e01b81526004016109ff929190612e61565b6000610a6e610a606020880188612d71565b610a6991612e99565b6116f0565b90508060078686604051610a83929190612cf3565b9081526020016040518091039020541015610aa357505050505050610ab5565b610aae868a8361173d565b5050505050505b600101610959565b506000610acd6020850185612d71565b9050905060005b81811015610b7d5736610aea6020870187612d71565b83818110610afa57610afa612dbb565b9050602002810190610b0c9190612f47565b90506004610b1d6020830183612df1565b604051610b2b929190612cf3565b9081526040519081900360200190205460ff16610b6a57610b4f6020820182612df1565b60405163af0ab70960e01b81526004016109ff929190612e61565b610b748186611a43565b50600101610ad4565b506000610b8d6040860186612d71565b9050905060005b81811015610c225736610baa6040880188612d71565b83818110610bba57610bba612dbb565b9050602002810190610bcc9190612f5d565b90506004610bdd6020830183612df1565b604051610beb929190612cf3565b9081526040519081900360200190205460ff16610c0f57610b4f6020820182612df1565b610c198187611f56565b50600101610b94565b506000610c326060870187612d71565b9050905060005b81811015610cc75736610c4f6060890189612d71565b83818110610c5f57610c5f612dbb565b9050602002810190610c719190612f73565b90506004610c826040830183612df1565b604051610c90929190612cf3565b9081526040519081900360200190205460ff16610cb457610b4f6040820182612df1565b610cbe8188612138565b50600101610c39565b506000610cd76080880188612d71565b9050905060005b81811015610d6c5736610cf460808a018a612d71565b83818110610d0457610d04612dbb565b9050602002810190610d169190612f47565b90506004610d276020830183612df1565b604051610d35929190612cf3565b9081526040519081900360200190205460ff16610d5957610b4f6020820182612df1565b610d638189612257565b50600101610cde565b5050505050505050565b610da86040518060a0016040528060608152602001600081526020016000815260200160608152602001606081525090565b60088484604051610dba929190612cf3565b9081526040805191829003602090810183206000868152915281902060a08301909152805482908290610dec90612f89565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1890612f89565b8015610e655780601f10610e3a57610100808354040283529160200191610e65565b820191906000526020600020905b815481529060010190602001808311610e4857829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382018054610e9290612f89565b80601f0160208091040260200160405190810160405280929190818152602001828054610ebe90612f89565b8015610f0b5780601f10610ee057610100808354040283529160200191610f0b565b820191906000526020600020905b815481529060010190602001808311610eee57829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156110075783829060005260206000209060020201604051806040016040529081600082018054610f6c90612f89565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9890612f89565b8015610fe55780601f10610fba57610100808354040283529160200191610fe5565b820191906000526020600020905b815481529060010190602001808311610fc857829003601f168201915b5050505050815260200160018201548152505081526020019060010190610f39565b5050509152509095945050505050565b61101f611487565b611029600061226a565b565b60015460405163e038ab5560e01b8152600091600019916001600160a01b039091169063e038ab55906110649087908790600401612e61565b602060405180830381865afa158015611081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a59190612d58565b146110b257506000610613565b60006110be84846106e6565b60065490915061ffff168110158061110157506000811180156111015750600584846040516110ee929190612cf3565b9081526020016040518091039020544310155b949350505050565b6001546040517faadc3b72000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b038381166024830152600092169063aadc3b7290604401602060405180830381865afa158015611174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c69190612fc3565b6000546001600160a01b031633146111c357604051637fea9dc560e01b815260040160405180910390fd5b60015460405163653434c160e11b81526001600160a01b039091169063ca686982906111f59085908590600401612e61565b600060405180830381600087803b15801561120f57600080fd5b505af1158015611223573d6000803e3d6000fd5b505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112765750825b905060008267ffffffffffffffff1660011480156112935750303b155b9050811580156112a1575080155b156112d8576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561130c57845468ff00000000000000001916680100000000000000001785555b611315336122e8565b61131d6122f9565b6006805460ff8816620100000262ffffff1990911661ffff8a1617179055831561138657845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6000546001600160a01b031633146113ba57604051637fea9dc560e01b815260040160405180910390fd5b806007848460405161066c929190612cf3565b6000546001600160a01b031633146113f857604051637fea9dc560e01b815260040160405180910390fd5b60016004838360405161140c929190612cf3565b908152604051908190036020019020805491151560ff199092169190911790555050565b611438611487565b6001600160a01b03811661147b576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024016109ff565b6114848161226a565b50565b336114b97f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614611029576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016109ff565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061159457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166115887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156110295760405163703e46dd60e11b815260040160405180910390fd5b611484611487565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611614575060408051601f3d908101601f1916820190925261161191810190612d58565b60015b61163c57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016109ff565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611698576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016109ff565b6116a28383612301565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110295760405163703e46dd60e11b815260040160405180910390fd5b80516000908190815b818110156117345784818151811061171357611713612dbb565b6020026020010151602001518361172a9190612d19565b92506001016116f9565b50909392505050565b600083604051602001611750919061311b565b60408051808303601f1901815282825280516020918201206001546003546306c38c6d60e51b865293519195506000946001600160a01b03918216946336bf07d3948a9489949092169263d8718da092600480830193928290030181865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190613248565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260ff1660448201526064016020604051808303816000875af115801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185e9190612fc3565b90508015611a3c573660006118766080880188612df1565b909250905036600061188b60608a018a612df1565b9150915086600783836040516118a2929190612cf3565b908152602001604051809103902060008282546118bf9190612d2c565b90915550506002546001600160a01b031663bb1da9c983836118e460408e018e612f47565b6040518463ffffffff1660e01b815260040161190293929190613265565b600060405180830381600087803b15801561191c57600080fd5b505af1158015611930573d6000803e3d6000fd5b50505050600061194085856106e6565b905061194b8a612357565b60015460405163e038ab5560e01b81526001600160a01b039091169063e038ab559061197d9088908890600401612e61565b602060405180830381865afa15801561199a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119be9190612d58565b6000191480156119cc575080155b80156119f85750600585856040516119e5929190612cf3565b9081526020016040518091039020544310155b15611a3657600654611a139062010000900460ff1643612d19565b60058686604051611a25929190612cf3565b908152604051908190036020019020555b50505050505b5050505050565b600082604051602001611a569190613329565b60408051808303601f1901815282825280516020918201206001546003546306c38c6d60e51b865293519195506000946001600160a01b03918216946336bf07d394899489949092169263d8718da092600480830193928290030181865afa158015611ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aea9190613248565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260ff1660448201526064016020604051808303816000875af1158015611b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b649190612fc3565b90508015611f5057366000611b7c6020870187612df1565b60015460405163653434c160e11b81529294509092506001600160a01b03169063ca68698290611bb29085908590600401612e61565b600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b5050600154604080517fe2100f4d000000000000000000000000000000000000000000000000000000008152600094506001600160a01b03909216925063e2100f4d91611c3791879187918d0135906004016133a7565b600060405180830381865afa158015611c54573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c7c91908101906134f1565b8051602082015191925090815b818111611df757611db060088787604051611ca5929190612cf3565b9081526040805191829003602090810183206000868152908252828120600401805480840286018401909452838552929184015b82821015611da75783829060005260206000209060020201604051806040016040529081600082018054611d0c90612f89565b80601f0160208091040260200160405190810160405280929190818152602001828054611d3890612f89565b8015611d855780601f10611d5a57610100808354040283529160200191611d85565b820191906000526020600020905b815481529060010190602001808311611d6857829003601f168201915b5050505050815260200160018201548152505081526020019060010190611cd9565b505050506116f0565b60078787604051611dc2929190612cf3565b90815260200160405180910390206000828254611ddf9190612d19565b90915550819050611def81612d3f565b915050611c89565b508260200151600a8686604051611e0f929190612cf3565b90815260405190819003602001902055600654611e369060ff620100009091041643612d19565b60058686604051611e48929190612cf3565b908152604051908190036020019020556002546001600160a01b031663b1f08d6b8686611e7860608e018e6135c4565b6040518463ffffffff1660e01b8152600401611e96939291906135da565b600060405180830381600087803b158015611eb057600080fd5b505af1158015611ec4573d6000803e3d6000fd5b505060025460408087015190517f1754a61f0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169350631754a61f9250611f18918991899160040161367f565b600060405180830381600087803b158015611f3257600080fd5b505af1158015611f46573d6000803e3d6000fd5b5050505050505050505b50505050565b600082604051602001611f6991906136d3565b60408051808303601f1901815282825280516020918201206001546003546306c38c6d60e51b865293519195506000946001600160a01b03918216946336bf07d394899489949092169263d8718da092600480830193928290030181865afa158015611fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffd9190613248565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260ff1660448201526064016020604051808303816000875af1158015612053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120779190612fc3565b90508015611f505736600061208f6020870187612df1565b60015460405163653434c160e11b81529294509092506001600160a01b03169063ca686982906120c59085908590600401612e61565b600060405180830381600087803b1580156120df57600080fd5b505af11580156120f3573d6000803e3d6000fd5b505060065461210e925062010000900460ff16905043612d19565b60058383604051612120929190612cf3565b90815260405190819003602001902055505050505050565b60008260405160200161214b9190613737565b60408051601f1981840301815282825280516020918201206001546003546306c38c6d60e51b865293519195506001600160a01b03908116946336bf07d39488948894919093169263d8718da092600480820193918290030181865afa1580156121b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121dd9190613248565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260ff1660448201526064016020604051808303816000875af1158015612233573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f509190612fc3565b60008260405160200161214b9190613866565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6122f0612549565b611484816125b0565b611029612549565b61230a826125b8565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561234f576116a2828261263c565b6108e86126b2565b3660006123676080840184612df1565b9150915060006009838360405161237f929190612cf3565b90815260200160405180910390206000815461239a90612d3f565b918290555090506123ab8480612df1565b600885856040516123bd929190612cf3565b9081526040805160209281900383019020600086815292529020916123e391908361394a565b506123f16060850185612df1565b60088585604051612403929190612cf3565b90815260408051602092819003830190206000868152925290206003019161242c91908361394a565b508060088484604051612440929190612cf3565b908152604080516020928190038301902060008581529083529081206001019290925561246f90860186612d71565b9050905060005b818110156125085760088585604051612490929190612cf3565b9081526040805160209281900383019020600086815290835220600401906124ba90880188612d71565b838181106124ca576124ca612dbb565b90506020028101906124dc91906135c4565b8154600181018355600092835260209092209091600202016124fe8282613a0a565b5050600101612476565b50436008858560405161251c929190612cf3565b90815260200160405180910390206000848152602001908152602001600020600201819055505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16611029576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611438612549565b806001600160a01b03163b6000036125ee57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016109ff565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516126599190613b03565b600060405180830381855af49150503d8060008114612694576040519150601f19603f3d011682016040523d82523d6000602084013e612699565b606091505b50915091506126a98583836126ea565b95945050505050565b3415611029576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826126ff576126fa8261275f565b6108c6565b815115801561271657506001600160a01b0384163b155b15612758576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016109ff565b50806108c6565b80511561276f5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008083601f8401126127b357600080fd5b50813567ffffffffffffffff8111156127cb57600080fd5b6020830191508360208285010111156127e357600080fd5b9250929050565b600080602083850312156127fd57600080fd5b823567ffffffffffffffff81111561281457600080fd5b612820858286016127a1565b90969095509350505050565b60008060006040848603121561284157600080fd5b833567ffffffffffffffff81111561285857600080fd5b612864868287016127a1565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128b1576128b1612878565b60405290565b6040516080810167ffffffffffffffff811182821017156128b1576128b1612878565b6040516060810167ffffffffffffffff811182821017156128b1576128b1612878565b604051601f8201601f1916810167ffffffffffffffff8111828210171561292657612926612878565b604052919050565b600067ffffffffffffffff82111561294857612948612878565b50601f01601f191660200190565b60006129696129648461292e565b6128fd565b905082815283838301111561297d57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126129a557600080fd5b6108c683833560208501612956565b6000602082840312156129c657600080fd5b813567ffffffffffffffff8111156129dd57600080fd5b61110184828501612994565b80356001600160a01b0381168114612a0057600080fd5b919050565b60008060008060808587031215612a1b57600080fd5b612a24856129e9565b9350612a32602086016129e9565b9250612a40604086016129e9565b9150612a4e606086016129e9565b905092959194509250565b60008060408385031215612a6c57600080fd5b612a75836129e9565b946020939093013593505050565b60008060408385031215612a9657600080fd5b612a9f836129e9565b9150602083013567ffffffffffffffff811115612abb57600080fd5b8301601f81018513612acc57600080fd5b612adb85823560208401612956565b9150509250929050565b60008060408385031215612af857600080fd5b823567ffffffffffffffff811115612b0f57600080fd5b830160a08186031215612b2157600080fd5b9150612b2f602084016129e9565b90509250929050565b60005b83811015612b53578181015183820152602001612b3b565b50506000910152565b60008151808452612b74816020860160208601612b38565b601f01601f19169290920160200192915050565b60006020808352835160a082850152612ba460c0850182612b5c565b90508185015160408160408701526040870151606087015260608701519150601f1980878503016080880152612bda8484612b5c565b6080890151888203830160a08a015280518083529195508601935085850190600581901b8601870160005b82811015612c44578488830301845286518051878452612c2788850182612b5c565b918b0151938b019390935296890196938901939150600101612c05565b509a9950505050505050505050565b60008060408385031215612c6657600080fd5b82359150612b2f602084016129e9565b6020815260006108c66020830184612b5c565b60ff8116811461148457600080fd5b60008060408385031215612cab57600080fd5b823561ffff81168114612cbd57600080fd5b91506020830135612ccd81612c89565b809150509250929050565b600060208284031215612cea57600080fd5b6108c6826129e9565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561061357610613612d03565b8181038181111561061357610613612d03565b600060018201612d5157612d51612d03565b5060010190565b600060208284031215612d6a57600080fd5b5051919050565b6000808335601e19843603018112612d8857600080fd5b83018035915067ffffffffffffffff821115612da357600080fd5b6020019150600581901b36038213156127e357600080fd5b634e487b7160e01b600052603260045260246000fd5b60008235609e19833603018112612de757600080fd5b9190910192915050565b6000808335601e19843603018112612e0857600080fd5b83018035915067ffffffffffffffff821115612e2357600080fd5b6020019150368190038213156127e357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000611101602083018486612e38565b600067ffffffffffffffff821115612e8f57612e8f612878565b5060051b60200190565b6000612ea761296484612e75565b80848252602080830192508560051b850136811115612ec557600080fd5b855b81811015612f3b57803567ffffffffffffffff80821115612ee85760008081fd5b818901915060408236031215612efe5760008081fd5b612f0661288e565b823582811115612f165760008081fd5b612f2236828601612994565b8252509185013585830152508552938201938201612ec7565b50919695505050505050565b60008235607e19833603018112612de757600080fd5b60008235605e19833603018112612de757600080fd5b6000823560fe19833603018112612de757600080fd5b600181811c90821680612f9d57607f821691505b602082108103612fbd57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612fd557600080fd5b815180151581146108c657600080fd5b6000808335601e19843603018112612ffc57600080fd5b830160208101925035905067ffffffffffffffff81111561301c57600080fd5b8036038213156127e357600080fd5b6000808335601e1984360301811261304257600080fd5b830160208101925035905067ffffffffffffffff81111561306257600080fd5b8060051b36038213156127e357600080fd5b60008235603e1983360301811261308a57600080fd5b90910192915050565b60008235607e1983360301811261308a57600080fd5b67ffffffffffffffff8116811461148457600080fd5b600081356130cc816130a9565b67ffffffffffffffff1683526130e56020830183612fe5565b608060208601526130fa608086018284612e38565b91505060408301356040850152606083013560608501528091505092915050565b6000602080835261312c8485612fe5565b60a08386015261314060c086018284612e38565b91505061314f8286018661302b565b601f19604081888603016040890152848386528686019050868460051b8701018560005b868110156131c4578589840301845261318c8289613074565b6131968182612fe5565b8786526131a68887018284612e38565b928d0135958d019590955250938a0193925090890190600101613173565b50506131d360408c018c613093565b9750838a82030160608b01526131e981896130bf565b97505050506131fb6060890189612fe5565b9450925080878603016080880152613214858585612e38565b94506132236080890189612fe5565b94509250808786030160a0880152505061323e838383612e38565b9695505050505050565b60006020828403121561325a57600080fd5b81516108c681612c89565b604081526000613279604083018587612e38565b828103602084015261323e81856130bf565b6000838385526020808601955060208560051b8301018460005b878110156132db57848303601f190189526132c9836132c4848a613093565b6130bf565b988401989250908301906001016132a5565b5090979650505050505050565b60006132f4828361302b565b6040855261330660408601828461328b565b915050613316602084018461302b565b858303602087015261323e83828461328b565b6020815260006133398384612fe5565b6080602085015261334e60a085018284612e38565b91505061335e6020850185612fe5565b601f1980868503016040870152613376848385612e38565b93506040870135606087015261338f6060880188613074565b92508086850301608087015250506126a982826132e8565b6040815260006133bb604083018587612e38565b9050826020830152949350505050565b600082601f8301126133dc57600080fd5b815160206133ec61296483612e75565b82815260059290921b8401810191818101908684111561340b57600080fd5b8286015b848110156134e657805167ffffffffffffffff808211156134305760008081fd5b908801906080828b03601f190181131561344a5760008081fd5b6134526128b7565b8784015161345f816130a9565b8152604084810151848111156134755760008081fd5b85019350603f84018d136134895760008081fd5b888401516134996129648261292e565b8181528e838388010111156134ae5760008081fd5b6134bd828c8301858901612b38565b838b0152506060858101519183019190915291909301519083015250835291830191830161340f565b509695505050505050565b60006020828403121561350357600080fd5b815167ffffffffffffffff8082111561351b57600080fd5b908301906060828603121561352f57600080fd5b6135376128da565b825181526020830151602082015260408301518281111561355757600080fd5b92909201916040838703121561356c57600080fd5b61357461288e565b83518381111561358357600080fd5b61358f888287016133cb565b8252506020840151838111156135a457600080fd5b6135b0888287016133cb565b602083015250604082015295945050505050565b60008235603e19833603018112612de757600080fd5b6040815260006135ee604083018587612e38565b828103602084015261323e81856132e8565b600082825180855260208086019550808260051b84010181860160005b848110156132db57601f198684030189528151608067ffffffffffffffff825116855285820151818787015261365582870182612b5c565b6040848101519088015260609384015193909601929092525050978301979083019060010161361d565b604081526000613693604083018587612e38565b82810360208401528351604082526136ae6040830182613600565b9050602085015182820360208401526136c78282613600565b98975050505050505050565b6020815260006136e38384612fe5565b606060208501526136f8608085018284612e38565b9150506137086020850185612fe5565b848303601f1901604086015261371f838284612e38565b92505050604084013560608401528091505092915050565b6020815260006137478384612fe5565b61010080602086015261375f61012086018385612e38565b925061376e6020870187612fe5565b9250601f1980878603016040880152613788858584612e38565b94506137976040890189612fe5565b94509150808786030160608801526137b0858584612e38565b94506137bf6060890189612fe5565b94509150808786030160808801526137d8858584612e38565b94506137e76080890189613093565b9350808786030160a08801526137fd85856130bf565b945061380c60a0890189612fe5565b94509150808786030160c0880152613825858584612e38565b945061383460c0890189612fe5565b94509150808786030160e08801525061384e848483612e38565b93505060e08601358186015250508091505092915050565b6020815260006138768384612fe5565b6080602085015261388b60a085018284612e38565b91505061389b6020850185612fe5565b601f19808685030160408701526138b3848385612e38565b93506138c26040880188612fe5565b93509150808685030160608701526138db848484612e38565b93506138ea6060880188613093565b92508086850301608087015250506126a982826130bf565b601f8211156116a2576000816000526020600020601f850160051c8101602086101561392b5750805b601f850160051c820191505b8181101561122357828155600101613937565b67ffffffffffffffff83111561396257613962612878565b613976836139708354612f89565b83613902565b6000601f8411600181146139aa57600085156139925750838201355b600019600387901b1c1916600186901b178355611a3c565b600083815260209020601f19861690835b828110156139db57868501358255602094850194600190920191016139bb565b50868210156139f85760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8135601e19833603018112613a1e57600080fd5b8201803567ffffffffffffffff811115613a3757600080fd5b60208136038184011315613a4a57600080fd5b613a5e82613a588654612f89565b86613902565b6000601f831160018114613a945760008415613a7c57508482018301355b600019600386901b1c1916600185901b178655613af1565b600086815260209020601f19851690835b82811015613ac6578785018601358255938501936001909101908501613aa5565b5085821015613ae55760001960f88760031b161c198585890101351681555b505060018460011b0186555b50508085013560018501555050505050565b60008251612de7818460208701612b3856fea264697066735822122085870283a494f4a4dfbc83aa25709e6fd7fe7df1343d0aee3c77b460eb64661664736f6c63430008180033","deployedBytecode":"0x6080604052600436106101a15760003560e01c80636cabee01116100e1578063ad3cb1cc1161008a578063d9dee84411610064578063d9dee8441461056d578063e3aa21f41461058d578063eab481c3146105ad578063f2fde38b146105cd57600080fd5b8063ad3cb1cc146104c9578063c34872551461051f578063ca6869821461054d57600080fd5b806377968b34116100bb57806377968b34146104425780638da5cb5b14610462578063aadc3b72146104a957600080fd5b80636cabee01146103c85780636cc8f8c7146103f5578063715018a61461042d57600080fd5b806344e3bd221161014e5780634d3f9c8e116101285780634d3f9c8e146103605780634f1ef2861461038057806352d1902d146103935780635673ee67146103a857600080fd5b806344e3bd22146102d05780634ae4dd7c146102f05780634b4c1f841461032857600080fd5b80631d530f121161017f5780631d530f121461024657806334d581401461027e5780633bde7d2e146102b057600080fd5b80630a19c4d2146101a65780630d32b63e146101d957806318c586cd146101fb575b600080fd5b3480156101b257600080fd5b506101c66101c13660046127ea565b6105ed565b6040519081526020015b60405180910390f35b3480156101e557600080fd5b506101f96101f436600461282c565b610619565b005b34801561020757600080fd5b506102366102163660046129b4565b805160208183018101805160048252928201919093012091525460ff1681565b60405190151581526020016101d0565b34801561025257600080fd5b506101c66102613660046129b4565b8051602081830181018051600a8252928201919093012091525481565b34801561028a57600080fd5b5060065461029e9062010000900460ff1681565b60405160ff90911681526020016101d0565b3480156102bc57600080fd5b506101f96102cb366004612a05565b610681565b3480156102dc57600080fd5b506101c66102eb3660046127ea565b6106e6565b3480156102fc57600080fd5b506101c661030b3660046129b4565b805160208183018101805160058252928201919093012091525481565b34801561033457600080fd5b506101c66103433660046129b4565b805160208183018101805160098252928201919093012091525481565b34801561036c57600080fd5b506101c661037b366004612a59565b61080a565b6101f961038e366004612a83565b6108cd565b34801561039f57600080fd5b506101c66108ec565b3480156103b457600080fd5b506101f96103c3366004612ae5565b61091b565b3480156103d457600080fd5b506103e86103e336600461282c565b610d76565b6040516101d09190612b88565b34801561040157600080fd5b506101c66104103660046129b4565b805160208183018101805160078252928201919093012091525481565b34801561043957600080fd5b506101f9611017565b34801561044e57600080fd5b5061023661045d3660046127ea565b61102b565b34801561046e57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016101d0565b3480156104b557600080fd5b506102366104c4366004612c53565b611109565b3480156104d557600080fd5b506105126040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101d09190612c76565b34801561052b57600080fd5b5060065461053a9061ffff1681565b60405161ffff90911681526020016101d0565b34801561055957600080fd5b506101f96105683660046127ea565b611198565b34801561057957600080fd5b506101f9610588366004612c98565b61122b565b34801561059957600080fd5b506101f96105a836600461282c565b61138f565b3480156105b957600080fd5b506101f96105c83660046127ea565b6113cd565b3480156105d957600080fd5b506101f96105e8366004612cd8565b611430565b600060078383604051610601929190612cf3565b90815260200160405180910390205490505b92915050565b6000546001600160a01b0316331461064457604051637fea9dc560e01b815260040160405180910390fd5b60065461065a9062010000900460ff1682612d19565b6005848460405161066c929190612cf3565b90815260405190819003602001902055505050565b610689611487565b600080546001600160a01b0395861673ffffffffffffffffffffffffffffffffffffffff19918216179091556001805494861694821694909417909355600280549285169284169290921790915560038054919093169116179055565b600080600984846040516106fb929190612cf3565b90815260200160405180910390205490506000600a8585604051610720929190612cf3565b9081526040519081900360200190205460065490915060009061ffff166107478385612d2c565b101561075c576107578284612d2c565b610764565b60065461ffff165b9050600093505b8084101561080157600060088787604051610787929190612cf3565b90815260405190819003602001902060006107a28786612d19565b6107ad906001612d19565b8152602001908152602001600020600201549050600587876040516107d3929190612cf3565b90815260200160405180910390205481106107ee5750610801565b846107f881612d3f565b9550505061076b565b50505092915050565b600080546001600160a01b0316331461083657604051637fea9dc560e01b815260040160405180910390fd5b6001546040517f4d3f9c8e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820185905290911690634d3f9c8e906044016020604051808303816000875af11580156108a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c69190612d58565b9392505050565b6108d56114fb565b6108de826115b2565b6108e882826115ba565b5050565b60006108f66116a7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6000546001600160a01b0316331461094657604051637fea9dc560e01b815260040160405180910390fd5b60006109528380612d71565b9050905060005b81811015610abd573661096c8580612d71565b8381811061097c5761097c612dbb565b905060200281019061098e9190612dd1565b90503660006109a06060840184612df1565b90925090503660006109b56080860186612df1565b91509150600484846040516109cb929190612cf3565b9081526040519081900360200190205460ff16610a0857838360405163af0ab70960e01b81526004016109ff929190612e61565b60405180910390fd5b60048282604051610a1a929190612cf3565b9081526040519081900360200190205460ff16610a4e57818160405163af0ab70960e01b81526004016109ff929190612e61565b6000610a6e610a606020880188612d71565b610a6991612e99565b6116f0565b90508060078686604051610a83929190612cf3565b9081526020016040518091039020541015610aa357505050505050610ab5565b610aae868a8361173d565b5050505050505b600101610959565b506000610acd6020850185612d71565b9050905060005b81811015610b7d5736610aea6020870187612d71565b83818110610afa57610afa612dbb565b9050602002810190610b0c9190612f47565b90506004610b1d6020830183612df1565b604051610b2b929190612cf3565b9081526040519081900360200190205460ff16610b6a57610b4f6020820182612df1565b60405163af0ab70960e01b81526004016109ff929190612e61565b610b748186611a43565b50600101610ad4565b506000610b8d6040860186612d71565b9050905060005b81811015610c225736610baa6040880188612d71565b83818110610bba57610bba612dbb565b9050602002810190610bcc9190612f5d565b90506004610bdd6020830183612df1565b604051610beb929190612cf3565b9081526040519081900360200190205460ff16610c0f57610b4f6020820182612df1565b610c198187611f56565b50600101610b94565b506000610c326060870187612d71565b9050905060005b81811015610cc75736610c4f6060890189612d71565b83818110610c5f57610c5f612dbb565b9050602002810190610c719190612f73565b90506004610c826040830183612df1565b604051610c90929190612cf3565b9081526040519081900360200190205460ff16610cb457610b4f6040820182612df1565b610cbe8188612138565b50600101610c39565b506000610cd76080880188612d71565b9050905060005b81811015610d6c5736610cf460808a018a612d71565b83818110610d0457610d04612dbb565b9050602002810190610d169190612f47565b90506004610d276020830183612df1565b604051610d35929190612cf3565b9081526040519081900360200190205460ff16610d5957610b4f6020820182612df1565b610d638189612257565b50600101610cde565b5050505050505050565b610da86040518060a0016040528060608152602001600081526020016000815260200160608152602001606081525090565b60088484604051610dba929190612cf3565b9081526040805191829003602090810183206000868152915281902060a08301909152805482908290610dec90612f89565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1890612f89565b8015610e655780601f10610e3a57610100808354040283529160200191610e65565b820191906000526020600020905b815481529060010190602001808311610e4857829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382018054610e9290612f89565b80601f0160208091040260200160405190810160405280929190818152602001828054610ebe90612f89565b8015610f0b5780601f10610ee057610100808354040283529160200191610f0b565b820191906000526020600020905b815481529060010190602001808311610eee57829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156110075783829060005260206000209060020201604051806040016040529081600082018054610f6c90612f89565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9890612f89565b8015610fe55780601f10610fba57610100808354040283529160200191610fe5565b820191906000526020600020905b815481529060010190602001808311610fc857829003601f168201915b5050505050815260200160018201548152505081526020019060010190610f39565b5050509152509095945050505050565b61101f611487565b611029600061226a565b565b60015460405163e038ab5560e01b8152600091600019916001600160a01b039091169063e038ab55906110649087908790600401612e61565b602060405180830381865afa158015611081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a59190612d58565b146110b257506000610613565b60006110be84846106e6565b60065490915061ffff168110158061110157506000811180156111015750600584846040516110ee929190612cf3565b9081526020016040518091039020544310155b949350505050565b6001546040517faadc3b72000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b038381166024830152600092169063aadc3b7290604401602060405180830381865afa158015611174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c69190612fc3565b6000546001600160a01b031633146111c357604051637fea9dc560e01b815260040160405180910390fd5b60015460405163653434c160e11b81526001600160a01b039091169063ca686982906111f59085908590600401612e61565b600060405180830381600087803b15801561120f57600080fd5b505af1158015611223573d6000803e3d6000fd5b505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112765750825b905060008267ffffffffffffffff1660011480156112935750303b155b9050811580156112a1575080155b156112d8576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561130c57845468ff00000000000000001916680100000000000000001785555b611315336122e8565b61131d6122f9565b6006805460ff8816620100000262ffffff1990911661ffff8a1617179055831561138657845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6000546001600160a01b031633146113ba57604051637fea9dc560e01b815260040160405180910390fd5b806007848460405161066c929190612cf3565b6000546001600160a01b031633146113f857604051637fea9dc560e01b815260040160405180910390fd5b60016004838360405161140c929190612cf3565b908152604051908190036020019020805491151560ff199092169190911790555050565b611438611487565b6001600160a01b03811661147b576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024016109ff565b6114848161226a565b50565b336114b97f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614611029576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016109ff565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061159457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166115887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156110295760405163703e46dd60e11b815260040160405180910390fd5b611484611487565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611614575060408051601f3d908101601f1916820190925261161191810190612d58565b60015b61163c57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016109ff565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611698576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016109ff565b6116a28383612301565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110295760405163703e46dd60e11b815260040160405180910390fd5b80516000908190815b818110156117345784818151811061171357611713612dbb565b6020026020010151602001518361172a9190612d19565b92506001016116f9565b50909392505050565b600083604051602001611750919061311b565b60408051808303601f1901815282825280516020918201206001546003546306c38c6d60e51b865293519195506000946001600160a01b03918216946336bf07d3948a9489949092169263d8718da092600480830193928290030181865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190613248565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260ff1660448201526064016020604051808303816000875af115801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185e9190612fc3565b90508015611a3c573660006118766080880188612df1565b909250905036600061188b60608a018a612df1565b9150915086600783836040516118a2929190612cf3565b908152602001604051809103902060008282546118bf9190612d2c565b90915550506002546001600160a01b031663bb1da9c983836118e460408e018e612f47565b6040518463ffffffff1660e01b815260040161190293929190613265565b600060405180830381600087803b15801561191c57600080fd5b505af1158015611930573d6000803e3d6000fd5b50505050600061194085856106e6565b905061194b8a612357565b60015460405163e038ab5560e01b81526001600160a01b039091169063e038ab559061197d9088908890600401612e61565b602060405180830381865afa15801561199a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119be9190612d58565b6000191480156119cc575080155b80156119f85750600585856040516119e5929190612cf3565b9081526020016040518091039020544310155b15611a3657600654611a139062010000900460ff1643612d19565b60058686604051611a25929190612cf3565b908152604051908190036020019020555b50505050505b5050505050565b600082604051602001611a569190613329565b60408051808303601f1901815282825280516020918201206001546003546306c38c6d60e51b865293519195506000946001600160a01b03918216946336bf07d394899489949092169263d8718da092600480830193928290030181865afa158015611ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aea9190613248565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260ff1660448201526064016020604051808303816000875af1158015611b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b649190612fc3565b90508015611f5057366000611b7c6020870187612df1565b60015460405163653434c160e11b81529294509092506001600160a01b03169063ca68698290611bb29085908590600401612e61565b600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b5050600154604080517fe2100f4d000000000000000000000000000000000000000000000000000000008152600094506001600160a01b03909216925063e2100f4d91611c3791879187918d0135906004016133a7565b600060405180830381865afa158015611c54573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c7c91908101906134f1565b8051602082015191925090815b818111611df757611db060088787604051611ca5929190612cf3565b9081526040805191829003602090810183206000868152908252828120600401805480840286018401909452838552929184015b82821015611da75783829060005260206000209060020201604051806040016040529081600082018054611d0c90612f89565b80601f0160208091040260200160405190810160405280929190818152602001828054611d3890612f89565b8015611d855780601f10611d5a57610100808354040283529160200191611d85565b820191906000526020600020905b815481529060010190602001808311611d6857829003601f168201915b5050505050815260200160018201548152505081526020019060010190611cd9565b505050506116f0565b60078787604051611dc2929190612cf3565b90815260200160405180910390206000828254611ddf9190612d19565b90915550819050611def81612d3f565b915050611c89565b508260200151600a8686604051611e0f929190612cf3565b90815260405190819003602001902055600654611e369060ff620100009091041643612d19565b60058686604051611e48929190612cf3565b908152604051908190036020019020556002546001600160a01b031663b1f08d6b8686611e7860608e018e6135c4565b6040518463ffffffff1660e01b8152600401611e96939291906135da565b600060405180830381600087803b158015611eb057600080fd5b505af1158015611ec4573d6000803e3d6000fd5b505060025460408087015190517f1754a61f0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169350631754a61f9250611f18918991899160040161367f565b600060405180830381600087803b158015611f3257600080fd5b505af1158015611f46573d6000803e3d6000fd5b5050505050505050505b50505050565b600082604051602001611f6991906136d3565b60408051808303601f1901815282825280516020918201206001546003546306c38c6d60e51b865293519195506000946001600160a01b03918216946336bf07d394899489949092169263d8718da092600480830193928290030181865afa158015611fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffd9190613248565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260ff1660448201526064016020604051808303816000875af1158015612053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120779190612fc3565b90508015611f505736600061208f6020870187612df1565b60015460405163653434c160e11b81529294509092506001600160a01b03169063ca686982906120c59085908590600401612e61565b600060405180830381600087803b1580156120df57600080fd5b505af11580156120f3573d6000803e3d6000fd5b505060065461210e925062010000900460ff16905043612d19565b60058383604051612120929190612cf3565b90815260405190819003602001902055505050505050565b60008260405160200161214b9190613737565b60408051601f1981840301815282825280516020918201206001546003546306c38c6d60e51b865293519195506001600160a01b03908116946336bf07d39488948894919093169263d8718da092600480820193918290030181865afa1580156121b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121dd9190613248565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260ff1660448201526064016020604051808303816000875af1158015612233573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f509190612fc3565b60008260405160200161214b9190613866565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6122f0612549565b611484816125b0565b611029612549565b61230a826125b8565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561234f576116a2828261263c565b6108e86126b2565b3660006123676080840184612df1565b9150915060006009838360405161237f929190612cf3565b90815260200160405180910390206000815461239a90612d3f565b918290555090506123ab8480612df1565b600885856040516123bd929190612cf3565b9081526040805160209281900383019020600086815292529020916123e391908361394a565b506123f16060850185612df1565b60088585604051612403929190612cf3565b90815260408051602092819003830190206000868152925290206003019161242c91908361394a565b508060088484604051612440929190612cf3565b908152604080516020928190038301902060008581529083529081206001019290925561246f90860186612d71565b9050905060005b818110156125085760088585604051612490929190612cf3565b9081526040805160209281900383019020600086815290835220600401906124ba90880188612d71565b838181106124ca576124ca612dbb565b90506020028101906124dc91906135c4565b8154600181018355600092835260209092209091600202016124fe8282613a0a565b5050600101612476565b50436008858560405161251c929190612cf3565b90815260200160405180910390206000848152602001908152602001600020600201819055505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16611029576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611438612549565b806001600160a01b03163b6000036125ee57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016109ff565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516126599190613b03565b600060405180830381855af49150503d8060008114612694576040519150601f19603f3d011682016040523d82523d6000602084013e612699565b606091505b50915091506126a98583836126ea565b95945050505050565b3415611029576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826126ff576126fa8261275f565b6108c6565b815115801561271657506001600160a01b0384163b155b15612758576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016109ff565b50806108c6565b80511561276f5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008083601f8401126127b357600080fd5b50813567ffffffffffffffff8111156127cb57600080fd5b6020830191508360208285010111156127e357600080fd5b9250929050565b600080602083850312156127fd57600080fd5b823567ffffffffffffffff81111561281457600080fd5b612820858286016127a1565b90969095509350505050565b60008060006040848603121561284157600080fd5b833567ffffffffffffffff81111561285857600080fd5b612864868287016127a1565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128b1576128b1612878565b60405290565b6040516080810167ffffffffffffffff811182821017156128b1576128b1612878565b6040516060810167ffffffffffffffff811182821017156128b1576128b1612878565b604051601f8201601f1916810167ffffffffffffffff8111828210171561292657612926612878565b604052919050565b600067ffffffffffffffff82111561294857612948612878565b50601f01601f191660200190565b60006129696129648461292e565b6128fd565b905082815283838301111561297d57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126129a557600080fd5b6108c683833560208501612956565b6000602082840312156129c657600080fd5b813567ffffffffffffffff8111156129dd57600080fd5b61110184828501612994565b80356001600160a01b0381168114612a0057600080fd5b919050565b60008060008060808587031215612a1b57600080fd5b612a24856129e9565b9350612a32602086016129e9565b9250612a40604086016129e9565b9150612a4e606086016129e9565b905092959194509250565b60008060408385031215612a6c57600080fd5b612a75836129e9565b946020939093013593505050565b60008060408385031215612a9657600080fd5b612a9f836129e9565b9150602083013567ffffffffffffffff811115612abb57600080fd5b8301601f81018513612acc57600080fd5b612adb85823560208401612956565b9150509250929050565b60008060408385031215612af857600080fd5b823567ffffffffffffffff811115612b0f57600080fd5b830160a08186031215612b2157600080fd5b9150612b2f602084016129e9565b90509250929050565b60005b83811015612b53578181015183820152602001612b3b565b50506000910152565b60008151808452612b74816020860160208601612b38565b601f01601f19169290920160200192915050565b60006020808352835160a082850152612ba460c0850182612b5c565b90508185015160408160408701526040870151606087015260608701519150601f1980878503016080880152612bda8484612b5c565b6080890151888203830160a08a015280518083529195508601935085850190600581901b8601870160005b82811015612c44578488830301845286518051878452612c2788850182612b5c565b918b0151938b019390935296890196938901939150600101612c05565b509a9950505050505050505050565b60008060408385031215612c6657600080fd5b82359150612b2f602084016129e9565b6020815260006108c66020830184612b5c565b60ff8116811461148457600080fd5b60008060408385031215612cab57600080fd5b823561ffff81168114612cbd57600080fd5b91506020830135612ccd81612c89565b809150509250929050565b600060208284031215612cea57600080fd5b6108c6826129e9565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561061357610613612d03565b8181038181111561061357610613612d03565b600060018201612d5157612d51612d03565b5060010190565b600060208284031215612d6a57600080fd5b5051919050565b6000808335601e19843603018112612d8857600080fd5b83018035915067ffffffffffffffff821115612da357600080fd5b6020019150600581901b36038213156127e357600080fd5b634e487b7160e01b600052603260045260246000fd5b60008235609e19833603018112612de757600080fd5b9190910192915050565b6000808335601e19843603018112612e0857600080fd5b83018035915067ffffffffffffffff821115612e2357600080fd5b6020019150368190038213156127e357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000611101602083018486612e38565b600067ffffffffffffffff821115612e8f57612e8f612878565b5060051b60200190565b6000612ea761296484612e75565b80848252602080830192508560051b850136811115612ec557600080fd5b855b81811015612f3b57803567ffffffffffffffff80821115612ee85760008081fd5b818901915060408236031215612efe5760008081fd5b612f0661288e565b823582811115612f165760008081fd5b612f2236828601612994565b8252509185013585830152508552938201938201612ec7565b50919695505050505050565b60008235607e19833603018112612de757600080fd5b60008235605e19833603018112612de757600080fd5b6000823560fe19833603018112612de757600080fd5b600181811c90821680612f9d57607f821691505b602082108103612fbd57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612fd557600080fd5b815180151581146108c657600080fd5b6000808335601e19843603018112612ffc57600080fd5b830160208101925035905067ffffffffffffffff81111561301c57600080fd5b8036038213156127e357600080fd5b6000808335601e1984360301811261304257600080fd5b830160208101925035905067ffffffffffffffff81111561306257600080fd5b8060051b36038213156127e357600080fd5b60008235603e1983360301811261308a57600080fd5b90910192915050565b60008235607e1983360301811261308a57600080fd5b67ffffffffffffffff8116811461148457600080fd5b600081356130cc816130a9565b67ffffffffffffffff1683526130e56020830183612fe5565b608060208601526130fa608086018284612e38565b91505060408301356040850152606083013560608501528091505092915050565b6000602080835261312c8485612fe5565b60a08386015261314060c086018284612e38565b91505061314f8286018661302b565b601f19604081888603016040890152848386528686019050868460051b8701018560005b868110156131c4578589840301845261318c8289613074565b6131968182612fe5565b8786526131a68887018284612e38565b928d0135958d019590955250938a0193925090890190600101613173565b50506131d360408c018c613093565b9750838a82030160608b01526131e981896130bf565b97505050506131fb6060890189612fe5565b9450925080878603016080880152613214858585612e38565b94506132236080890189612fe5565b94509250808786030160a0880152505061323e838383612e38565b9695505050505050565b60006020828403121561325a57600080fd5b81516108c681612c89565b604081526000613279604083018587612e38565b828103602084015261323e81856130bf565b6000838385526020808601955060208560051b8301018460005b878110156132db57848303601f190189526132c9836132c4848a613093565b6130bf565b988401989250908301906001016132a5565b5090979650505050505050565b60006132f4828361302b565b6040855261330660408601828461328b565b915050613316602084018461302b565b858303602087015261323e83828461328b565b6020815260006133398384612fe5565b6080602085015261334e60a085018284612e38565b91505061335e6020850185612fe5565b601f1980868503016040870152613376848385612e38565b93506040870135606087015261338f6060880188613074565b92508086850301608087015250506126a982826132e8565b6040815260006133bb604083018587612e38565b9050826020830152949350505050565b600082601f8301126133dc57600080fd5b815160206133ec61296483612e75565b82815260059290921b8401810191818101908684111561340b57600080fd5b8286015b848110156134e657805167ffffffffffffffff808211156134305760008081fd5b908801906080828b03601f190181131561344a5760008081fd5b6134526128b7565b8784015161345f816130a9565b8152604084810151848111156134755760008081fd5b85019350603f84018d136134895760008081fd5b888401516134996129648261292e565b8181528e838388010111156134ae5760008081fd5b6134bd828c8301858901612b38565b838b0152506060858101519183019190915291909301519083015250835291830191830161340f565b509695505050505050565b60006020828403121561350357600080fd5b815167ffffffffffffffff8082111561351b57600080fd5b908301906060828603121561352f57600080fd5b6135376128da565b825181526020830151602082015260408301518281111561355757600080fd5b92909201916040838703121561356c57600080fd5b61357461288e565b83518381111561358357600080fd5b61358f888287016133cb565b8252506020840151838111156135a457600080fd5b6135b0888287016133cb565b602083015250604082015295945050505050565b60008235603e19833603018112612de757600080fd5b6040815260006135ee604083018587612e38565b828103602084015261323e81856132e8565b600082825180855260208086019550808260051b84010181860160005b848110156132db57601f198684030189528151608067ffffffffffffffff825116855285820151818787015261365582870182612b5c565b6040848101519088015260609384015193909601929092525050978301979083019060010161361d565b604081526000613693604083018587612e38565b82810360208401528351604082526136ae6040830182613600565b9050602085015182820360208401526136c78282613600565b98975050505050505050565b6020815260006136e38384612fe5565b606060208501526136f8608085018284612e38565b9150506137086020850185612fe5565b848303601f1901604086015261371f838284612e38565b92505050604084013560608401528091505092915050565b6020815260006137478384612fe5565b61010080602086015261375f61012086018385612e38565b925061376e6020870187612fe5565b9250601f1980878603016040880152613788858584612e38565b94506137976040890189612fe5565b94509150808786030160608801526137b0858584612e38565b94506137bf6060890189612fe5565b94509150808786030160808801526137d8858584612e38565b94506137e76080890189613093565b9350808786030160a08801526137fd85856130bf565b945061380c60a0890189612fe5565b94509150808786030160c0880152613825858584612e38565b945061383460c0890189612fe5565b94509150808786030160e08801525061384e848483612e38565b93505060e08601358186015250508091505092915050565b6020815260006138768384612fe5565b6080602085015261388b60a085018284612e38565b91505061389b6020850185612fe5565b601f19808685030160408701526138b3848385612e38565b93506138c26040880188612fe5565b93509150808685030160608701526138db848484612e38565b93506138ea6060880188613093565b92508086850301608087015250506126a982826130bf565b601f8211156116a2576000816000526020600020601f850160051c8101602086101561392b5750805b601f850160051c820191505b8181101561122357828155600101613937565b67ffffffffffffffff83111561396257613962612878565b613976836139708354612f89565b83613902565b6000601f8411600181146139aa57600085156139925750838201355b600019600387901b1c1916600186901b178355611a3c565b600083815260209020601f19861690835b828110156139db57868501358255602094850194600190920191016139bb565b50868210156139f85760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8135601e19833603018112613a1e57600080fd5b8201803567ffffffffffffffff811115613a3757600080fd5b60208136038184011315613a4a57600080fd5b613a5e82613a588654612f89565b86613902565b6000601f831160018114613a945760008415613a7c57508482018301355b600019600386901b1c1916600185901b178655613af1565b600086815260209020601f19851690835b82811015613ac6578785018601358255938501936001909101908501613aa5565b5085821015613ae55760001960f88760031b161c198585890101351681555b505060018460011b0186555b50508085013560018501555050505050565b60008251612de7818460208701612b3856fea264697066735822122085870283a494f4a4dfbc83aa25709e6fd7fe7df1343d0aee3c77b460eb64661664736f6c63430008180033","linkReferences":{},"deployedLinkReferences":{}}` +var SignedBatchesArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"SignedBatches","sourceName":"contracts/SignedBatches.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_destinationChain","type":"string"}],"name":"getConfirmedBatch","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string[]","name":"multisigSignatures","type":"string[]"},{"internalType":"string[]","name":"feePayerMultisigSignatures","type":"string[]"}],"internalType":"struct IBridgeStructs.ConfirmedBatch","name":"batch","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"lastConfirmedBatch","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"rawTransaction","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"},{"internalType":"address","name":"_claimsHelperAddress","type":"address"},{"internalType":"address","name":"_validatorsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"destinationChainId","type":"string"},{"internalType":"string","name":"rawTransaction","type":"string"},{"internalType":"string","name":"multisigSignature","type":"string"},{"internalType":"string","name":"feePayerMultisigSignature","type":"string"},{"internalType":"uint256","name":"firstTxNonceId","type":"uint256"},{"internalType":"uint256","name":"lastTxNonceId","type":"uint256"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"usedUTXOs","type":"tuple"}],"internalType":"struct IBridgeStructs.SignedBatch","name":"_signedBatch","type":"tuple"},{"internalType":"address","name":"_caller","type":"address"}],"name":"submitSignedBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612168620000fe60003960008181610e7101528181610e9a015261101d01526121686000f3fe6080604052600436106100bc5760003560e01c80638da5cb5b11610074578063d254f6f21161004e578063d254f6f214610217578063d52c54c414610237578063f2fde38b1461026457600080fd5b80638da5cb5b1461015a578063ad3cb1cc146101a1578063b52d326c146101f757600080fd5b806352d1902d116100a557806352d1902d1461010d578063715018a6146101305780638129fc1c1461014557600080fd5b80631c8f2775146100c15780634f1ef286146100f8575b600080fd5b3480156100cd57600080fd5b506100e16100dc3660046115bc565b610284565b6040516100ef929190611649565b60405180910390f35b61010b61010636600461167e565b610334565b005b34801561011957600080fd5b50610122610353565b6040519081526020016100ef565b34801561013c57600080fd5b5061010b610382565b34801561015157600080fd5b5061010b610396565b34801561016657600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100ef565b3480156101ad57600080fd5b506101ea6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516100ef91906116e0565b34801561020357600080fd5b5061010b6102123660046116f3565b6104da565b34801561022357600080fd5b5061010b610232366004611736565b61052e565b34801561024357600080fd5b5061025761025236600461178a565b610b5d565b6040516100ef9190611856565b34801561027057600080fd5b5061010b61027f3660046118b8565b610e0a565b8051602081830181018051600682529282019190930120915280546001820180549192916102b1906118d3565b80601f01602080910402602001604051908101604052809291908181526020018280546102dd906118d3565b801561032a5780601f106102ff5761010080835404028352916020019161032a565b820191906000526020600020905b81548152906001019060200180831161030d57829003601f168201915b5050505050905082565b61033c610e66565b61034582610f1d565b61034f8282610f25565b5050565b600061035d611012565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b61038a61105b565b61039460006110cf565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156103e15750825b905060008267ffffffffffffffff1660011480156103fe5750303b155b90508115801561040c575080155b15610443576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561047757845468ff00000000000000001916680100000000000000001785555b6104803361114d565b61048861115e565b83156104d357845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6104e261105b565b600080546001600160a01b0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155600180549385169382169390931790925560028054919093169116179055565b6000546001600160a01b03163314610572576040517f7fea9dc500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b366000610582602085018561190d565b9150915060006006838360405161059a92919061195b565b908152604051908190036020019020546105b590600161196b565b9050843581146105c6575050505050565b60006040518060c001604052808760000135815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001610626604089018961190d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060a0880135602082015260c0880135604082015260600161068160e089018961198c565b61068a90611abe565b905260405161069c9190602001611bc3565b60408051601f1981840301815291815281516020928301206000818152600584528281206001600160a01b038a16825290935291205490915060ff16156106e557505050505050565b600254604080517fd8718da000000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163d8718da09160048083019260209291908290030181865afa158015610748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076c9190611c67565b60008381526003602052604090205460ff919091169150818110610794575050505050505050565b60008381526005602090815260408083206001600160a01b038b1684528252808320805460ff19166001179055858352600390915290206107d860608a018a61190d565b825460018101845560009384526020909320909201916107f89183611cda565b50600083815260046020526040902061081460808a018a61190d565b825460018101845560009384526020909320909201916108349183611cda565b508161084182600161196b565b10610b53576040518060800160405280858152602001898060400190610867919061190d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509385525050508581526003602090815260408083208054825181850281018501909352808352948301949193909284015b828210156109745783829060005260206000200180546108e7906118d3565b80601f0160208091040260200160405190810160405280929190818152602001828054610913906118d3565b80156109605780601f1061093557610100808354040283529160200191610960565b820191906000526020600020905b81548152906001019060200180831161094357829003601f168201915b5050505050815260200190600101906108c8565b50505050815260200160046000868152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015610a5c5783829060005260206000200180546109cf906118d3565b80601f01602080910402602001604051908101604052809291908181526020018280546109fb906118d3565b8015610a485780601f10610a1d57610100808354040283529160200191610a48565b820191906000526020600020905b815481529060010190602001808311610a2b57829003601f168201915b5050505050815260200190600101906109b0565b5050505081525060068787604051610a7592919061195b565b9081526040516020918190038201902082518155908201516001820190610a9c9082611d9a565b5060408201518051610ab8916002840191602090910190611417565b5060608201518051610ad4916003840191602090910190611417565b50506001546040517f64d06b050000000000000000000000000000000000000000000000000000000081526001600160a01b0390911691506364d06b0590610b20908b90600401612021565b600060405180830381600087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b505050505b5050505050505050565b610b886040518060800160405280600081526020016060815260200160608152602001606081525090565b60068383604051610b9a92919061195b565b908152602001604051809103902060405180608001604052908160008201548152602001600182018054610bcd906118d3565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf9906118d3565b8015610c465780601f10610c1b57610100808354040283529160200191610c46565b820191906000526020600020905b815481529060010190602001808311610c2957829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015610d20578382906000526020600020018054610c93906118d3565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbf906118d3565b8015610d0c5780601f10610ce157610100808354040283529160200191610d0c565b820191906000526020600020905b815481529060010190602001808311610cef57829003601f168201915b505050505081526020019060010190610c74565b50505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610df9578382906000526020600020018054610d6c906118d3565b80601f0160208091040260200160405190810160405280929190818152602001828054610d98906118d3565b8015610de55780601f10610dba57610100808354040283529160200191610de5565b820191906000526020600020905b815481529060010190602001808311610dc857829003601f168201915b505050505081526020019060010190610d4d565b505050508152505090505b92915050565b610e1261105b565b6001600160a01b038116610e5a576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610e63816110cf565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610eff57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ef37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156103945760405163703e46dd60e11b815260040160405180910390fd5b610e6361105b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f7f575060408051601f3d908101601f19168201909252610f7c91810190612107565b60015b610fa757604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610e51565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611003576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610e51565b61100d8383611166565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103945760405163703e46dd60e11b815260040160405180910390fd5b3361108d7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610394576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610e51565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6111556111bc565b610e6381611223565b6103946111bc565b61116f8261122b565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156111b45761100d82826112af565b61034f611325565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610394576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e126111bc565b806001600160a01b03163b60000361126157604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610e51565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516112cc9190612120565b600060405180830381855af49150503d8060008114611307576040519150601f19603f3d011682016040523d82523d6000602084013e61130c565b606091505b509150915061131c85838361135d565b95945050505050565b3415610394576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826113725761136d826113d5565b6113ce565b815115801561138957506001600160a01b0384163b155b156113cb576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610e51565b50805b9392505050565b8051156113e55780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82805482825590600052602060002090810192821561145d579160200282015b8281111561145d578251829061144d9082611d9a565b5091602001919060010190611437565b5061146992915061146d565b5090565b80821115611469576000611481828261148a565b5060010161146d565b508054611496906118d3565b6000825580601f106114a6575050565b601f016020900490600052602060002090810190610e6391905b8082111561146957600081556001016114c0565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561150d5761150d6114d4565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561153c5761153c6114d4565b604052919050565b600067ffffffffffffffff83111561155e5761155e6114d4565b611571601f8401601f1916602001611513565b905082815283838301111561158557600080fd5b828260208301376000602084830101529392505050565b600082601f8301126115ad57600080fd5b6113ce83833560208501611544565b6000602082840312156115ce57600080fd5b813567ffffffffffffffff8111156115e557600080fd5b6115f18482850161159c565b949350505050565b60005b838110156116145781810151838201526020016115fc565b50506000910152565b600081518084526116358160208601602086016115f9565b601f01601f19169290920160200192915050565b8281526040602082015260006115f1604083018461161d565b80356001600160a01b038116811461167957600080fd5b919050565b6000806040838503121561169157600080fd5b61169a83611662565b9150602083013567ffffffffffffffff8111156116b657600080fd5b8301601f810185136116c757600080fd5b6116d685823560208401611544565b9150509250929050565b6020815260006113ce602083018461161d565b60008060006060848603121561170857600080fd5b61171184611662565b925061171f60208501611662565b915061172d60408501611662565b90509250925092565b6000806040838503121561174957600080fd5b823567ffffffffffffffff81111561176057600080fd5b8301610100818603121561177357600080fd5b915061178160208401611662565b90509250929050565b6000806020838503121561179d57600080fd5b823567ffffffffffffffff808211156117b557600080fd5b818501915085601f8301126117c957600080fd5b8135818111156117d857600080fd5b8660208285010111156117ea57600080fd5b60209290920196919550909350505050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561184957601f1986840301895261183783835161161d565b9884019892509083019060010161181b565b5090979650505050505050565b6020815281516020820152600060208301516080604084015261187c60a084018261161d565b90506040840151601f198085840301606086015261189a83836117fc565b925060608601519150808584030160808601525061131c82826117fc565b6000602082840312156118ca57600080fd5b6113ce82611662565b600181811c908216806118e757607f821691505b60208210810361190757634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e1984360301811261192457600080fd5b83018035915067ffffffffffffffff82111561193f57600080fd5b60200191503681900382131561195457600080fd5b9250929050565b8183823760009101908152919050565b80820180821115610e0457634e487b7160e01b600052601160045260246000fd5b60008235603e198336030181126119a257600080fd5b9190910192915050565b803567ffffffffffffffff8116811461167957600080fd5b600082601f8301126119d557600080fd5b8135602067ffffffffffffffff808311156119f2576119f26114d4565b8260051b611a01838201611513565b9384528581018301938381019088861115611a1b57600080fd5b84880192505b85831015611ab257823584811115611a395760008081fd5b88016080818b03601f1901811315611a515760008081fd5b611a596114ea565b611a648884016119ac565b815260408084013588811115611a7a5760008081fd5b611a888e8b8388010161159c565b838b0152506060848101359183019190915291909201359082015282529184019190840190611a21565b98975050505050505050565b600060408236031215611ad057600080fd5b6040516040810167ffffffffffffffff8282108183111715611af457611af46114d4565b816040528435915080821115611b0957600080fd5b611b15368387016119c4565b83526020850135915080821115611b2b57600080fd5b50611b38368286016119c4565b60208301525092915050565b600082825180855260208086019550808260051b84010181860160005b8481101561184957601f198684030189528151608067ffffffffffffffff8251168552858201518187870152611b998287018261161d565b60408481015190880152606093840151939096019290925250509783019790830190600101611b61565b60208152815160208201526000602083015160c06040840152611be960e084018261161d565b90506040840151601f1980858403016060860152611c07838361161d565b925060608601516080860152608086015160a086015260a08601519150808584030160c086015250805160408352611c426040840182611b44565b9050602082015191508281036020840152611c5d8183611b44565b9695505050505050565b600060208284031215611c7957600080fd5b815160ff811681146113ce57600080fd5b601f82111561100d576000816000526020600020601f850160051c81016020861015611cb35750805b601f850160051c820191505b81811015611cd257828155600101611cbf565b505050505050565b67ffffffffffffffff831115611cf257611cf26114d4565b611d0683611d0083546118d3565b83611c8a565b6000601f841160018114611d3a5760008515611d225750838201355b600019600387901b1c1916600186901b1783556104d3565b600083815260209020601f19861690835b82811015611d6b5786850135825560209485019460019092019101611d4b565b5086821015611d885760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b815167ffffffffffffffff811115611db457611db46114d4565b611dc881611dc284546118d3565b84611c8a565b602080601f831160018114611dfd5760008415611de55750858301515b600019600386901b1c1916600185901b178555611cd2565b600085815260208120601f198616915b82811015611e2c57888601518255948401946001909101908401611e0d565b5085821015611e4a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808335601e19843603018112611e7157600080fd5b830160208101925035905067ffffffffffffffff811115611e9157600080fd5b80360382131561195457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60008235603e19833603018112611edf57600080fd5b90910192915050565b6000808335601e19843603018112611eff57600080fd5b830160208101925035905067ffffffffffffffff811115611f1f57600080fd5b8060051b360382131561195457600080fd5b60008383855260208086019550808560051b830101846000805b88811015611fd257858403601f19018a52823536899003607e19018112611f70578283fd5b8801608067ffffffffffffffff611f86836119ac565b168652611f9587830183611e5a565b8289890152611fa78389018284611ea0565b604085810135908a015260609485013594909801939093525050509884019891840191600101611f4b565b509198975050505050505050565b6000611fec8283611ee8565b60408552611ffe604086018284611f31565b91505061200e6020840184611ee8565b8583036020870152611c5d838284611f31565b6020815281356020820152600061203b6020840184611e5a565b61010080604086015261205361012086018385611ea0565b92506120626040870187611e5a565b9250601f198087860301606088015261207c858584611ea0565b945061208b6060890189611e5a565b94509150808786030160808801526120a4858584611ea0565b94506120b36080890189611e5a565b94509150808786030160a08801526120cc858584611ea0565b945060a088013560c088015260c088013560e08801526120ef60e0890189611ec9565b935080878603018388015250505061131c8282611fe0565b60006020828403121561211957600080fd5b5051919050565b600082516119a28184602087016115f956fea2646970667358221220a33577c3c947d7dc2b3599277b25781a7a61974baef512203a3c72d7bd5a4f7064736f6c63430008180033","deployedBytecode":"0x6080604052600436106100bc5760003560e01c80638da5cb5b11610074578063d254f6f21161004e578063d254f6f214610217578063d52c54c414610237578063f2fde38b1461026457600080fd5b80638da5cb5b1461015a578063ad3cb1cc146101a1578063b52d326c146101f757600080fd5b806352d1902d116100a557806352d1902d1461010d578063715018a6146101305780638129fc1c1461014557600080fd5b80631c8f2775146100c15780634f1ef286146100f8575b600080fd5b3480156100cd57600080fd5b506100e16100dc3660046115bc565b610284565b6040516100ef929190611649565b60405180910390f35b61010b61010636600461167e565b610334565b005b34801561011957600080fd5b50610122610353565b6040519081526020016100ef565b34801561013c57600080fd5b5061010b610382565b34801561015157600080fd5b5061010b610396565b34801561016657600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100ef565b3480156101ad57600080fd5b506101ea6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516100ef91906116e0565b34801561020357600080fd5b5061010b6102123660046116f3565b6104da565b34801561022357600080fd5b5061010b610232366004611736565b61052e565b34801561024357600080fd5b5061025761025236600461178a565b610b5d565b6040516100ef9190611856565b34801561027057600080fd5b5061010b61027f3660046118b8565b610e0a565b8051602081830181018051600682529282019190930120915280546001820180549192916102b1906118d3565b80601f01602080910402602001604051908101604052809291908181526020018280546102dd906118d3565b801561032a5780601f106102ff5761010080835404028352916020019161032a565b820191906000526020600020905b81548152906001019060200180831161030d57829003601f168201915b5050505050905082565b61033c610e66565b61034582610f1d565b61034f8282610f25565b5050565b600061035d611012565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b61038a61105b565b61039460006110cf565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156103e15750825b905060008267ffffffffffffffff1660011480156103fe5750303b155b90508115801561040c575080155b15610443576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561047757845468ff00000000000000001916680100000000000000001785555b6104803361114d565b61048861115e565b83156104d357845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6104e261105b565b600080546001600160a01b0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155600180549385169382169390931790925560028054919093169116179055565b6000546001600160a01b03163314610572576040517f7fea9dc500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b366000610582602085018561190d565b9150915060006006838360405161059a92919061195b565b908152604051908190036020019020546105b590600161196b565b9050843581146105c6575050505050565b60006040518060c001604052808760000135815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001610626604089018961190d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060a0880135602082015260c0880135604082015260600161068160e089018961198c565b61068a90611abe565b905260405161069c9190602001611bc3565b60408051601f1981840301815291815281516020928301206000818152600584528281206001600160a01b038a16825290935291205490915060ff16156106e557505050505050565b600254604080517fd8718da000000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163d8718da09160048083019260209291908290030181865afa158015610748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076c9190611c67565b60008381526003602052604090205460ff919091169150818110610794575050505050505050565b60008381526005602090815260408083206001600160a01b038b1684528252808320805460ff19166001179055858352600390915290206107d860608a018a61190d565b825460018101845560009384526020909320909201916107f89183611cda565b50600083815260046020526040902061081460808a018a61190d565b825460018101845560009384526020909320909201916108349183611cda565b508161084182600161196b565b10610b53576040518060800160405280858152602001898060400190610867919061190d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509385525050508581526003602090815260408083208054825181850281018501909352808352948301949193909284015b828210156109745783829060005260206000200180546108e7906118d3565b80601f0160208091040260200160405190810160405280929190818152602001828054610913906118d3565b80156109605780601f1061093557610100808354040283529160200191610960565b820191906000526020600020905b81548152906001019060200180831161094357829003601f168201915b5050505050815260200190600101906108c8565b50505050815260200160046000868152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015610a5c5783829060005260206000200180546109cf906118d3565b80601f01602080910402602001604051908101604052809291908181526020018280546109fb906118d3565b8015610a485780601f10610a1d57610100808354040283529160200191610a48565b820191906000526020600020905b815481529060010190602001808311610a2b57829003601f168201915b5050505050815260200190600101906109b0565b5050505081525060068787604051610a7592919061195b565b9081526040516020918190038201902082518155908201516001820190610a9c9082611d9a565b5060408201518051610ab8916002840191602090910190611417565b5060608201518051610ad4916003840191602090910190611417565b50506001546040517f64d06b050000000000000000000000000000000000000000000000000000000081526001600160a01b0390911691506364d06b0590610b20908b90600401612021565b600060405180830381600087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b505050505b5050505050505050565b610b886040518060800160405280600081526020016060815260200160608152602001606081525090565b60068383604051610b9a92919061195b565b908152602001604051809103902060405180608001604052908160008201548152602001600182018054610bcd906118d3565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf9906118d3565b8015610c465780601f10610c1b57610100808354040283529160200191610c46565b820191906000526020600020905b815481529060010190602001808311610c2957829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015610d20578382906000526020600020018054610c93906118d3565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbf906118d3565b8015610d0c5780601f10610ce157610100808354040283529160200191610d0c565b820191906000526020600020905b815481529060010190602001808311610cef57829003601f168201915b505050505081526020019060010190610c74565b50505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610df9578382906000526020600020018054610d6c906118d3565b80601f0160208091040260200160405190810160405280929190818152602001828054610d98906118d3565b8015610de55780601f10610dba57610100808354040283529160200191610de5565b820191906000526020600020905b815481529060010190602001808311610dc857829003601f168201915b505050505081526020019060010190610d4d565b505050508152505090505b92915050565b610e1261105b565b6001600160a01b038116610e5a576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610e63816110cf565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610eff57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ef37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156103945760405163703e46dd60e11b815260040160405180910390fd5b610e6361105b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f7f575060408051601f3d908101601f19168201909252610f7c91810190612107565b60015b610fa757604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610e51565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611003576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610e51565b61100d8383611166565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103945760405163703e46dd60e11b815260040160405180910390fd5b3361108d7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610394576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610e51565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6111556111bc565b610e6381611223565b6103946111bc565b61116f8261122b565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156111b45761100d82826112af565b61034f611325565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610394576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e126111bc565b806001600160a01b03163b60000361126157604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610e51565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516112cc9190612120565b600060405180830381855af49150503d8060008114611307576040519150601f19603f3d011682016040523d82523d6000602084013e61130c565b606091505b509150915061131c85838361135d565b95945050505050565b3415610394576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826113725761136d826113d5565b6113ce565b815115801561138957506001600160a01b0384163b155b156113cb576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610e51565b50805b9392505050565b8051156113e55780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82805482825590600052602060002090810192821561145d579160200282015b8281111561145d578251829061144d9082611d9a565b5091602001919060010190611437565b5061146992915061146d565b5090565b80821115611469576000611481828261148a565b5060010161146d565b508054611496906118d3565b6000825580601f106114a6575050565b601f016020900490600052602060002090810190610e6391905b8082111561146957600081556001016114c0565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561150d5761150d6114d4565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561153c5761153c6114d4565b604052919050565b600067ffffffffffffffff83111561155e5761155e6114d4565b611571601f8401601f1916602001611513565b905082815283838301111561158557600080fd5b828260208301376000602084830101529392505050565b600082601f8301126115ad57600080fd5b6113ce83833560208501611544565b6000602082840312156115ce57600080fd5b813567ffffffffffffffff8111156115e557600080fd5b6115f18482850161159c565b949350505050565b60005b838110156116145781810151838201526020016115fc565b50506000910152565b600081518084526116358160208601602086016115f9565b601f01601f19169290920160200192915050565b8281526040602082015260006115f1604083018461161d565b80356001600160a01b038116811461167957600080fd5b919050565b6000806040838503121561169157600080fd5b61169a83611662565b9150602083013567ffffffffffffffff8111156116b657600080fd5b8301601f810185136116c757600080fd5b6116d685823560208401611544565b9150509250929050565b6020815260006113ce602083018461161d565b60008060006060848603121561170857600080fd5b61171184611662565b925061171f60208501611662565b915061172d60408501611662565b90509250925092565b6000806040838503121561174957600080fd5b823567ffffffffffffffff81111561176057600080fd5b8301610100818603121561177357600080fd5b915061178160208401611662565b90509250929050565b6000806020838503121561179d57600080fd5b823567ffffffffffffffff808211156117b557600080fd5b818501915085601f8301126117c957600080fd5b8135818111156117d857600080fd5b8660208285010111156117ea57600080fd5b60209290920196919550909350505050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561184957601f1986840301895261183783835161161d565b9884019892509083019060010161181b565b5090979650505050505050565b6020815281516020820152600060208301516080604084015261187c60a084018261161d565b90506040840151601f198085840301606086015261189a83836117fc565b925060608601519150808584030160808601525061131c82826117fc565b6000602082840312156118ca57600080fd5b6113ce82611662565b600181811c908216806118e757607f821691505b60208210810361190757634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e1984360301811261192457600080fd5b83018035915067ffffffffffffffff82111561193f57600080fd5b60200191503681900382131561195457600080fd5b9250929050565b8183823760009101908152919050565b80820180821115610e0457634e487b7160e01b600052601160045260246000fd5b60008235603e198336030181126119a257600080fd5b9190910192915050565b803567ffffffffffffffff8116811461167957600080fd5b600082601f8301126119d557600080fd5b8135602067ffffffffffffffff808311156119f2576119f26114d4565b8260051b611a01838201611513565b9384528581018301938381019088861115611a1b57600080fd5b84880192505b85831015611ab257823584811115611a395760008081fd5b88016080818b03601f1901811315611a515760008081fd5b611a596114ea565b611a648884016119ac565b815260408084013588811115611a7a5760008081fd5b611a888e8b8388010161159c565b838b0152506060848101359183019190915291909201359082015282529184019190840190611a21565b98975050505050505050565b600060408236031215611ad057600080fd5b6040516040810167ffffffffffffffff8282108183111715611af457611af46114d4565b816040528435915080821115611b0957600080fd5b611b15368387016119c4565b83526020850135915080821115611b2b57600080fd5b50611b38368286016119c4565b60208301525092915050565b600082825180855260208086019550808260051b84010181860160005b8481101561184957601f198684030189528151608067ffffffffffffffff8251168552858201518187870152611b998287018261161d565b60408481015190880152606093840151939096019290925250509783019790830190600101611b61565b60208152815160208201526000602083015160c06040840152611be960e084018261161d565b90506040840151601f1980858403016060860152611c07838361161d565b925060608601516080860152608086015160a086015260a08601519150808584030160c086015250805160408352611c426040840182611b44565b9050602082015191508281036020840152611c5d8183611b44565b9695505050505050565b600060208284031215611c7957600080fd5b815160ff811681146113ce57600080fd5b601f82111561100d576000816000526020600020601f850160051c81016020861015611cb35750805b601f850160051c820191505b81811015611cd257828155600101611cbf565b505050505050565b67ffffffffffffffff831115611cf257611cf26114d4565b611d0683611d0083546118d3565b83611c8a565b6000601f841160018114611d3a5760008515611d225750838201355b600019600387901b1c1916600186901b1783556104d3565b600083815260209020601f19861690835b82811015611d6b5786850135825560209485019460019092019101611d4b565b5086821015611d885760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b815167ffffffffffffffff811115611db457611db46114d4565b611dc881611dc284546118d3565b84611c8a565b602080601f831160018114611dfd5760008415611de55750858301515b600019600386901b1c1916600185901b178555611cd2565b600085815260208120601f198616915b82811015611e2c57888601518255948401946001909101908401611e0d565b5085821015611e4a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808335601e19843603018112611e7157600080fd5b830160208101925035905067ffffffffffffffff811115611e9157600080fd5b80360382131561195457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60008235603e19833603018112611edf57600080fd5b90910192915050565b6000808335601e19843603018112611eff57600080fd5b830160208101925035905067ffffffffffffffff811115611f1f57600080fd5b8060051b360382131561195457600080fd5b60008383855260208086019550808560051b830101846000805b88811015611fd257858403601f19018a52823536899003607e19018112611f70578283fd5b8801608067ffffffffffffffff611f86836119ac565b168652611f9587830183611e5a565b8289890152611fa78389018284611ea0565b604085810135908a015260609485013594909801939093525050509884019891840191600101611f4b565b509198975050505050505050565b6000611fec8283611ee8565b60408552611ffe604086018284611f31565b91505061200e6020840184611ee8565b8583036020870152611c5d838284611f31565b6020815281356020820152600061203b6020840184611e5a565b61010080604086015261205361012086018385611ea0565b92506120626040870187611e5a565b9250601f198087860301606088015261207c858584611ea0565b945061208b6060890189611e5a565b94509150808786030160808801526120a4858584611ea0565b94506120b36080890189611e5a565b94509150808786030160a08801526120cc858584611ea0565b945060a088013560c088015260c088013560e08801526120ef60e0890189611ec9565b935080878603018388015250505061131c8282611fe0565b60006020828403121561211957600080fd5b5051919050565b600082516119a28184602087016115f956fea2646970667358221220a33577c3c947d7dc2b3599277b25781a7a61974baef512203a3c72d7bd5a4f7064736f6c63430008180033","linkReferences":{},"deployedLinkReferences":{}}` +var SlotsArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"Slots","sourceName":"contracts/Slots.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"}],"name":"getLastObservedBlock","outputs":[{"components":[{"internalType":"string","name":"blockHash","type":"string"},{"internalType":"uint64","name":"blockSlot","type":"uint64"}],"internalType":"struct IBridgeStructs.CardanoBlock","name":"cb","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"},{"internalType":"address","name":"_validatorsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"components":[{"internalType":"string","name":"blockHash","type":"string"},{"internalType":"uint64","name":"blockSlot","type":"uint64"}],"internalType":"struct IBridgeStructs.CardanoBlock[]","name":"_blocks","type":"tuple[]"},{"internalType":"address","name":"_caller","type":"address"}],"name":"updateBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516114666100fd600039600081816108270152818161085001526109d301526114666000f3fe6080604052600436106100b15760003560e01c80638da5cb5b11610069578063e87c28a71161004e578063e87c28a7146101eb578063ecc155dd1461020b578063f2fde38b1461022b57600080fd5b80638da5cb5b1461014e578063ad3cb1cc1461019557600080fd5b806352d1902d1161009a57806352d1902d14610101578063715018a6146101245780638129fc1c1461013957600080fd5b80632175c3f7146100b65780634f1ef286146100ec575b600080fd5b3480156100c257600080fd5b506100d66100d1366004610e16565b61024b565b6040516100e39190610ea8565b60405180910390f35b6100ff6100fa366004610f16565b61033a565b005b34801561010d57600080fd5b50610116610359565b6040519081526020016100e3565b34801561013057600080fd5b506100ff610388565b34801561014557600080fd5b506100ff61039c565b34801561015a57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e3565b3480156101a157600080fd5b506101de6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516100e39190610fd8565b3480156101f757600080fd5b506100ff610206366004610feb565b6104e0565b34801561021757600080fd5b506100ff61022636600461101e565b610523565b34801561023757600080fd5b506100ff6102463660046110cf565b6107c0565b604080518082019091526060815260006020820152600283836040516102729291906110ea565b908152602001604051809103902060405180604001604052908160008201805461029b906110fa565b80601f01602080910402602001604051908101604052809291908181526020018280546102c7906110fa565b80156103145780601f106102e957610100808354040283529160200191610314565b820191906000526020600020905b8154815290600101906020018083116102f757829003601f168201915b50505091835250506001919091015467ffffffffffffffff166020909101529392505050565b61034261081c565b61034b826108d3565b61035582826108db565b5050565b60006103636109c8565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610390610a11565b61039a6000610a85565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156103e75750825b905060008267ffffffffffffffff1660011480156104045750303b155b905081158015610412575080155b15610449576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561047d57845468ff00000000000000001916680100000000000000001785555b61048633610b03565b61048e610b14565b83156104d957845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6104e8610a11565b600080546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560018054929093169116179055565b6000546001600160a01b03163314610567576040517f7fea9dc500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154604080517fd8718da000000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163d8718da09160048083019260209291908290030181865afa1580156105ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ee9190611134565b60ff1690508260005b818110156107b6573686868381811061061257610612611157565b9050602002810190610624919061116d565b905060008989610634848061118d565b61064460408701602088016111ea565b604051602001610658959493929190611207565b60408051601f1981840301815291815281516020928301206000818152600484528281206001600160a01b038b16825290935291205490915060ff16156106a05750506107ae565b60008181526004602090815260408083206001600160a01b038a1684528252808320805460ff1916600117905583835260039091528120805482906106ee9067ffffffffffffffff16611253565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905567ffffffffffffffff169050858110158015610776575060028b8b60405161073c9291906110ea565b90815260408051602092819003830190206001015467ffffffffffffffff169161076a9186019086016111ea565b67ffffffffffffffff16115b156107aa578260028c8c60405161078e9291906110ea565b9081526040519081900360200190206107a782826112eb565b50505b5050505b6001016105f7565b5050505050505050565b6107c8610a11565b6001600160a01b038116610810576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b61081981610a85565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108b557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108a97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b1561039a5760405163703e46dd60e11b815260040160405180910390fd5b610819610a11565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610935575060408051601f3d908101601f1916820190925261093291810190611405565b60015b61095d57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610807565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109b9576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610807565b6109c38383610b1c565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461039a5760405163703e46dd60e11b815260040160405180910390fd5b33610a437f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161461039a576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610807565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610b0b610b72565b61081981610bd9565b61039a610b72565b610b2582610be1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b6a576109c38282610c65565b610355610cdb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661039a576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c8610b72565b806001600160a01b03163b600003610c1757604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610807565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c82919061141e565b600060405180830381855af49150503d8060008114610cbd576040519150601f19603f3d011682016040523d82523d6000602084013e610cc2565b606091505b5091509150610cd2858383610d13565b95945050505050565b341561039a576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082610d2857610d2382610d8b565b610d84565b8151158015610d3f57506001600160a01b0384163b155b15610d81576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610807565b50805b9392505050565b805115610d9b5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008083601f840112610ddf57600080fd5b50813567ffffffffffffffff811115610df757600080fd5b602083019150836020828501011115610e0f57600080fd5b9250929050565b60008060208385031215610e2957600080fd5b823567ffffffffffffffff811115610e4057600080fd5b610e4c85828601610dcd565b90969095509350505050565b60005b83811015610e73578181015183820152602001610e5b565b50506000910152565b60008151808452610e94816020860160208601610e58565b601f01601f19169290920160200192915050565b602081526000825160406020840152610ec46060840182610e7c565b905067ffffffffffffffff60208501511660408401528091505092915050565b80356001600160a01b0381168114610efb57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610f2957600080fd5b610f3283610ee4565b9150602083013567ffffffffffffffff80821115610f4f57600080fd5b818501915085601f830112610f6357600080fd5b813581811115610f7557610f75610f00565b604051601f8201601f19908116603f01168101908382118183101715610f9d57610f9d610f00565b81604052828152886020848701011115610fb657600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b602081526000610d846020830184610e7c565b60008060408385031215610ffe57600080fd5b61100783610ee4565b915061101560208401610ee4565b90509250929050565b60008060008060006060868803121561103657600080fd5b853567ffffffffffffffff8082111561104e57600080fd5b61105a89838a01610dcd565b9097509550602088013591508082111561107357600080fd5b818801915088601f83011261108757600080fd5b81358181111561109657600080fd5b8960208260051b85010111156110ab57600080fd5b6020830195508094505050506110c360408701610ee4565b90509295509295909350565b6000602082840312156110e157600080fd5b610d8482610ee4565b8183823760009101908152919050565b600181811c9082168061110e57607f821691505b60208210810361112e57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561114657600080fd5b815160ff81168114610d8457600080fd5b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261118357600080fd5b9190910192915050565b6000808335601e198436030181126111a457600080fd5b83018035915067ffffffffffffffff8211156111bf57600080fd5b602001915036819003821315610e0f57600080fd5b67ffffffffffffffff8116811461081957600080fd5b6000602082840312156111fc57600080fd5b8135610d84816111d4565b848682376000858201600081528486823760c09390931b7fffffffffffffffff000000000000000000000000000000000000000000000000169290930191825250600801949350505050565b600067ffffffffffffffff80831681810361127e57634e487b7160e01b600052601160045260246000fd5b6001019392505050565b601f8211156109c3576000816000526020600020601f850160051c810160208610156112b15750805b601f850160051c820191505b818110156112d0578281556001016112bd565b505050505050565b600081356112e5816111d4565b92915050565b8135601e198336030181126112ff57600080fd5b8201803567ffffffffffffffff81111561131857600080fd5b6020813603818401131561132b57600080fd5b61133f8261133986546110fa565b86611288565b6000601f831160018114611375576000841561135d57508482018301355b600019600386901b1c1916600185901b1786556113d2565b600086815260209020601f19851690835b828110156113a7578785018601358255938501936001909101908501611386565b50858210156113c65760001960f88760031b161c198585890101351681555b505060018460011b0186555b50506104d96113e28287016112d8565b6001860167ffffffffffffffff821667ffffffffffffffff198254161781555050565b60006020828403121561141757600080fd5b5051919050565b60008251611183818460208701610e5856fea26469706673582212203358058874f8d3d57d34276d3782ef685131820a2d9cd2773e7e49db2700444464736f6c63430008180033","deployedBytecode":"0x6080604052600436106100b15760003560e01c80638da5cb5b11610069578063e87c28a71161004e578063e87c28a7146101eb578063ecc155dd1461020b578063f2fde38b1461022b57600080fd5b80638da5cb5b1461014e578063ad3cb1cc1461019557600080fd5b806352d1902d1161009a57806352d1902d14610101578063715018a6146101245780638129fc1c1461013957600080fd5b80632175c3f7146100b65780634f1ef286146100ec575b600080fd5b3480156100c257600080fd5b506100d66100d1366004610e16565b61024b565b6040516100e39190610ea8565b60405180910390f35b6100ff6100fa366004610f16565b61033a565b005b34801561010d57600080fd5b50610116610359565b6040519081526020016100e3565b34801561013057600080fd5b506100ff610388565b34801561014557600080fd5b506100ff61039c565b34801561015a57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e3565b3480156101a157600080fd5b506101de6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516100e39190610fd8565b3480156101f757600080fd5b506100ff610206366004610feb565b6104e0565b34801561021757600080fd5b506100ff61022636600461101e565b610523565b34801561023757600080fd5b506100ff6102463660046110cf565b6107c0565b604080518082019091526060815260006020820152600283836040516102729291906110ea565b908152602001604051809103902060405180604001604052908160008201805461029b906110fa565b80601f01602080910402602001604051908101604052809291908181526020018280546102c7906110fa565b80156103145780601f106102e957610100808354040283529160200191610314565b820191906000526020600020905b8154815290600101906020018083116102f757829003601f168201915b50505091835250506001919091015467ffffffffffffffff166020909101529392505050565b61034261081c565b61034b826108d3565b61035582826108db565b5050565b60006103636109c8565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610390610a11565b61039a6000610a85565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156103e75750825b905060008267ffffffffffffffff1660011480156104045750303b155b905081158015610412575080155b15610449576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561047d57845468ff00000000000000001916680100000000000000001785555b61048633610b03565b61048e610b14565b83156104d957845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6104e8610a11565b600080546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560018054929093169116179055565b6000546001600160a01b03163314610567576040517f7fea9dc500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154604080517fd8718da000000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163d8718da09160048083019260209291908290030181865afa1580156105ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ee9190611134565b60ff1690508260005b818110156107b6573686868381811061061257610612611157565b9050602002810190610624919061116d565b905060008989610634848061118d565b61064460408701602088016111ea565b604051602001610658959493929190611207565b60408051601f1981840301815291815281516020928301206000818152600484528281206001600160a01b038b16825290935291205490915060ff16156106a05750506107ae565b60008181526004602090815260408083206001600160a01b038a1684528252808320805460ff1916600117905583835260039091528120805482906106ee9067ffffffffffffffff16611253565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905567ffffffffffffffff169050858110158015610776575060028b8b60405161073c9291906110ea565b90815260408051602092819003830190206001015467ffffffffffffffff169161076a9186019086016111ea565b67ffffffffffffffff16115b156107aa578260028c8c60405161078e9291906110ea565b9081526040519081900360200190206107a782826112eb565b50505b5050505b6001016105f7565b5050505050505050565b6107c8610a11565b6001600160a01b038116610810576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b61081981610a85565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108b557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108a97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b1561039a5760405163703e46dd60e11b815260040160405180910390fd5b610819610a11565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610935575060408051601f3d908101601f1916820190925261093291810190611405565b60015b61095d57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610807565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109b9576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610807565b6109c38383610b1c565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461039a5760405163703e46dd60e11b815260040160405180910390fd5b33610a437f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161461039a576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610807565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610b0b610b72565b61081981610bd9565b61039a610b72565b610b2582610be1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610b6a576109c38282610c65565b610355610cdb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661039a576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c8610b72565b806001600160a01b03163b600003610c1757604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610807565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610c82919061141e565b600060405180830381855af49150503d8060008114610cbd576040519150601f19603f3d011682016040523d82523d6000602084013e610cc2565b606091505b5091509150610cd2858383610d13565b95945050505050565b341561039a576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082610d2857610d2382610d8b565b610d84565b8151158015610d3f57506001600160a01b0384163b155b15610d81576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610807565b50805b9392505050565b805115610d9b5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008083601f840112610ddf57600080fd5b50813567ffffffffffffffff811115610df757600080fd5b602083019150836020828501011115610e0f57600080fd5b9250929050565b60008060208385031215610e2957600080fd5b823567ffffffffffffffff811115610e4057600080fd5b610e4c85828601610dcd565b90969095509350505050565b60005b83811015610e73578181015183820152602001610e5b565b50506000910152565b60008151808452610e94816020860160208601610e58565b601f01601f19169290920160200192915050565b602081526000825160406020840152610ec46060840182610e7c565b905067ffffffffffffffff60208501511660408401528091505092915050565b80356001600160a01b0381168114610efb57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610f2957600080fd5b610f3283610ee4565b9150602083013567ffffffffffffffff80821115610f4f57600080fd5b818501915085601f830112610f6357600080fd5b813581811115610f7557610f75610f00565b604051601f8201601f19908116603f01168101908382118183101715610f9d57610f9d610f00565b81604052828152886020848701011115610fb657600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b602081526000610d846020830184610e7c565b60008060408385031215610ffe57600080fd5b61100783610ee4565b915061101560208401610ee4565b90509250929050565b60008060008060006060868803121561103657600080fd5b853567ffffffffffffffff8082111561104e57600080fd5b61105a89838a01610dcd565b9097509550602088013591508082111561107357600080fd5b818801915088601f83011261108757600080fd5b81358181111561109657600080fd5b8960208260051b85010111156110ab57600080fd5b6020830195508094505050506110c360408701610ee4565b90509295509295909350565b6000602082840312156110e157600080fd5b610d8482610ee4565b8183823760009101908152919050565b600181811c9082168061110e57607f821691505b60208210810361112e57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561114657600080fd5b815160ff81168114610d8457600080fd5b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261118357600080fd5b9190910192915050565b6000808335601e198436030181126111a457600080fd5b83018035915067ffffffffffffffff8211156111bf57600080fd5b602001915036819003821315610e0f57600080fd5b67ffffffffffffffff8116811461081957600080fd5b6000602082840312156111fc57600080fd5b8135610d84816111d4565b848682376000858201600081528486823760c09390931b7fffffffffffffffff000000000000000000000000000000000000000000000000169290930191825250600801949350505050565b600067ffffffffffffffff80831681810361127e57634e487b7160e01b600052601160045260246000fd5b6001019392505050565b601f8211156109c3576000816000526020600020601f850160051c810160208610156112b15750805b601f850160051c820191505b818110156112d0578281556001016112bd565b505050505050565b600081356112e5816111d4565b92915050565b8135601e198336030181126112ff57600080fd5b8201803567ffffffffffffffff81111561131857600080fd5b6020813603818401131561132b57600080fd5b61133f8261133986546110fa565b86611288565b6000601f831160018114611375576000841561135d57508482018301355b600019600386901b1c1916600185901b1786556113d2565b600086815260209020601f19851690835b828110156113a7578785018601358255938501936001909101908501611386565b50858210156113c65760001960f88760031b161c198585890101351681555b505060018460011b0186555b50506104d96113e28287016112d8565b6001860167ffffffffffffffff821667ffffffffffffffff198254161781555050565b60006020828403121561141757600080fd5b5051919050565b60008251611183818460208701610e5856fea26469706673582212203358058874f8d3d57d34276d3782ef685131820a2d9cd2773e7e49db2700444464736f6c63430008180033","linkReferences":{},"deployedLinkReferences":{}}` +var UTXOscArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"UTXOsc","sourceName":"contracts/UTXOsc.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"_utxo","type":"tuple"}],"name":"addNewBridgingUTXO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_outputUTXOs","type":"tuple"}],"name":"addUTXOs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"a","type":"tuple"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO","name":"b","type":"tuple"}],"name":"equalUTXO","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"}],"name":"getChainUTXOs","outputs":[{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_utxos","type":"tuple"}],"name":"removeUsedUTXOs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"},{"internalType":"address","name":"_claimsAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainID","type":"string"},{"components":[{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"multisigOwnedUTXOs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"},{"internalType":"uint256","name":"txIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBridgeStructs.UTXO[]","name":"feePayerOwnedUTXOs","type":"tuple[]"}],"internalType":"struct IBridgeStructs.UTXOs","name":"_UTXOs","type":"tuple"}],"name":"setInitialUTxOs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"bytecode":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612077620000fe60003960008181610f5401528181610f7d01526110fb01526120776000f3fe6080604052600436106100dd5760003560e01c80638129fc1c1161007f578063b1f08d6b11610059578063b1f08d6b14610287578063bb1da9c9146102a7578063e87c28a7146102c7578063f2fde38b146102e757600080fd5b80638129fc1c146101d55780638da5cb5b146101ea578063ad3cb1cc1461023157600080fd5b80634f1ef286116100bb5780634f1ef2861461016a57806352d1902d1461017d578063715018a6146101a05780637e31e3fd146101b557600080fd5b80631754a61f146100e257806334c39084146101045780633ce68a811461013a575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117e3565b610307565b005b34801561011057600080fd5b5061012461011f366004611853565b610362565b6040516101319190611971565b60405180910390f35b34801561014657600080fd5b5061015a610155366004611aeb565b6105d4565b6040519015158152602001610131565b610102610178366004611b73565b610652565b34801561018957600080fd5b50610192610671565b604051908152602001610131565b3480156101ac57600080fd5b506101026106a0565b3480156101c157600080fd5b506101026101d03660046117e3565b6106b4565b3480156101e157600080fd5b50610102610703565b3480156101f657600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b039091168152602001610131565b34801561023d57600080fd5b5061027a6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101319190611bcb565b34801561029357600080fd5b506101026102a23660046117e3565b610847565b3480156102b357600080fd5b506101026102c2366004611bde565b610872565b3480156102d357600080fd5b506101026102e2366004611c47565b61097d565b3480156102f357600080fd5b50610102610302366004611c7a565b6109c0565b6001546001600160a01b0316331461033257604051631ad2b5e160e31b815260040160405180910390fd5b61034683836103418480611c95565b610a1c565b61035d83836103586020850185611c95565b610d22565b505050565b604080518082019091526060808252602082015260028383604051610388929190611cdf565b908152604080519182900360209081018320805460609281028501830184529284018381529092849284919060009085015b828210156104a9576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff168252600181018054929391929184019161040490611cef565b80601f016020809104026020016040519081016040528092919081815260200182805461043090611cef565b801561047d5780601f106104525761010080835404028352916020019161047d565b820191906000526020600020905b81548152906001019060200180831161046057829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906103ba565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b828210156105c5576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff168252600181018054929391929184019161052090611cef565b80601f016020809104026020016040519081016040528092919081815260200182805461054c90611cef565b80156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906104d6565b50505091525090949350505050565b6000816040015183604001351480156105f4575081606001518360600135145b80156106135750602080830151519061060f90850185611d29565b9050145b801561064b57506020808301518051908201209061063390850185611d29565b604051610641929190611cdf565b6040518091039020145b9392505050565b61065a610f49565b61066382611000565b61066d8282611008565b5050565b600061067b6110f0565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6106a8611139565b6106b260006111ad565b565b6000546001600160a01b031633146106f8576040517f7fea9dc500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61035d83838361122b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff1660008115801561074e5750825b905060008267ffffffffffffffff16600114801561076b5750303b155b905081158015610779575080155b156107b0576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107e457845468ff00000000000000001916680100000000000000001785555b6107ed33611485565b6107f5611496565b831561084057845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6001546001600160a01b031633146106f857604051631ad2b5e160e31b815260040160405180910390fd5b6001546001600160a01b0316331461089d57604051631ad2b5e160e31b815260040160405180910390fd5b600180546014906108cf9074010000000000000000000000000000000000000000900467ffffffffffffffff16611d86565b825467ffffffffffffffff9182166101009390930a838102920219161790915581526040516002906109049085908590611cdf565b908152604051602091819003820190208054600180820183556000928352918390208451600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155918301518392918201906109619082611df5565b5060408201518160020155606082015181600301555050505050565b610985611139565b600080546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560018054929093169116179055565b6109c8611139565b6001600160a01b038116610a10576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610a19816111ad565b50565b600060028585604051610a30929190611cdf565b90815260405190819003602001902054905060005b81811015610d1a57600083815b81811015610ba757610b91878783818110610a6f57610a6f611eb5565b9050602002810190610a819190611ecb565b60028b8b604051610a93929190611cdf565b90815260200160405180910390206000018681548110610ab557610ab5611eb5565b60009182526020918290206040805160808101909152600490920201805467ffffffffffffffff1682526001810180549293919291840191610af690611cef565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2290611cef565b8015610b6f5780601f10610b4457610100808354040283529160200191610b6f565b820191906000526020600020905b815481529060010190602001808311610b5257829003601f168201915b50505050508152602001600282015481526020016003820154815250506105d4565b15610b9f5760019250610ba7565b600101610a52565b508115610d055783610bb881611eeb565b94505060028888604051610bcd929190611cdf565b90815260200160405180910390206000018481548110610bef57610bef611eb5565b906000526020600020906004020160028989604051610c0f929190611cdf565b90815260200160405180910390206000018481548110610c3157610c31611eb5565b600091825260209091208254600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155600180820190610c7490840182611f02565b50600282015481600201556003820154816003015590505060028888604051610c9e929190611cdf565b908152604051908190036020019020805480610cbc57610cbc611fd5565b600082815260208120600460001990930192830201805467ffffffffffffffff1916815590610cee600183018261174c565b506000600282018190556003909101559055610d13565b82610d0f81611feb565b9350505b5050610a45565b505050505050565b600060028585604051610d36929190611cdf565b90815260405190819003602001902060010154905060005b81811015610d1a57600083815b81811015610dd457610dbe878783818110610d7857610d78611eb5565b9050602002810190610d8a9190611ecb565b60028b8b604051610d9c929190611cdf565b90815260200160405180910390206001018681548110610ab557610ab5611eb5565b15610dcc5760019250610dd4565b600101610d5b565b508115610f345783610de581611eeb565b94505060028888604051610dfa929190611cdf565b90815260200160405180910390206001018481548110610e1c57610e1c611eb5565b906000526020600020906004020160028989604051610e3c929190611cdf565b90815260200160405180910390206001018481548110610e5e57610e5e611eb5565b600091825260209091208254600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155600180820190610ea190840182611f02565b50600282015481600201556003820154816003015590505060028888604051610ecb929190611cdf565b9081526020016040518091039020600101805480610eeb57610eeb611fd5565b600082815260208120600460001990930192830201805467ffffffffffffffff1916815590610f1d600183018261174c565b506000600282018190556003909101559055610f42565b82610f3e81611feb565b9350505b5050610d4e565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610fe257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fd67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156106b25760405163703e46dd60e11b815260040160405180910390fd5b610a19611139565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611062575060408051601f3d908101601f1916820190925261105f91810190612004565b60015b61108a57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610a07565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110e6576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610a07565b61035d838361149e565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106b25760405163703e46dd60e11b815260040160405180910390fd5b3361116b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146106b2576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610a07565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60006112378280611c95565b9050905060005b818110156113535760006112528480611c95565b8381811061126257611262611eb5565b90506020028101906112749190611ecb565b61127d9061201d565b90506001601481819054906101000a900467ffffffffffffffff166112a190611d86565b825467ffffffffffffffff9182166101009390930a838102920219161790915581526040516002906112d69088908890611cdf565b908152604051602091819003820190208054600180820183556000928352918390208451600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155918301518392918201906113339082611df5565b50604082015160028201556060909101516003909101555060010161123e565b5060006113636020840184611c95565b9050905060005b81811015610d1a5760006113816020860186611c95565b8381811061139157611391611eb5565b90506020028101906113a39190611ecb565b6113ac9061201d565b90506001601481819054906101000a900467ffffffffffffffff166113d090611d86565b825467ffffffffffffffff9182166101009390930a838102920219161790915581526040516002906114059089908990611cdf565b908152604051602091819003820190206001908101805480830182556000918252908390208451600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155918301518392918201906114659082611df5565b50604082015160028201556060909101516003909101555060010161136a565b61148d6114f4565b610a198161155b565b6106b26114f4565b6114a782611563565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156114ec5761035d82826115e7565b61066d61165d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166106b2576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c86114f4565b806001600160a01b03163b60000361159957604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610a07565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611604919061202f565b600060405180830381855af49150503d806000811461163f576040519150601f19603f3d011682016040523d82523d6000602084013e611644565b606091505b5091509150611654858383611695565b95945050505050565b34156106b2576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826116aa576116a58261170a565b61064b565b81511580156116c157506001600160a01b0384163b155b15611703576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610a07565b5092915050565b80511561171a5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50805461175890611cef565b6000825580601f10611768575050565b601f016020900490600052602060002090810190610a1991905b808211156117965760008155600101611782565b5090565b60008083601f8401126117ac57600080fd5b50813567ffffffffffffffff8111156117c457600080fd5b6020830191508360208285010111156117dc57600080fd5b9250929050565b6000806000604084860312156117f857600080fd5b833567ffffffffffffffff8082111561181057600080fd5b61181c8783880161179a565b9095509350602086013591508082111561183557600080fd5b5084016040818703121561184857600080fd5b809150509250925092565b6000806020838503121561186657600080fd5b823567ffffffffffffffff81111561187d57600080fd5b6118898582860161179a565b90969095509350505050565b60005b838110156118b0578181015183820152602001611898565b50506000910152565b600081518084526118d1816020860160208601611895565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561196457601f198684030189528151608067ffffffffffffffff825116855285820151818787015261193a828701826118b9565b60408481015190880152606093840151939096019290925250509783019790830190600101611902565b5090979650505050505050565b60208152600082516040602084015261198d60608401826118e5565b90506020840151601f1984830301604085015261165482826118e5565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff811182821017156119e3576119e36119aa565b60405290565b600067ffffffffffffffff80841115611a0457611a046119aa565b604051601f8501601f19908116603f01168101908282118183101715611a2c57611a2c6119aa565b81604052809350858152868686011115611a4557600080fd5b858560208301376000602087830101525050509392505050565b600060808284031215611a7157600080fd5b611a796119c0565b9050813567ffffffffffffffff8082168214611a9457600080fd5b90825260208301359080821115611aaa57600080fd5b508201601f81018413611abc57600080fd5b611acb848235602084016119e9565b602083015250604082013560408201526060820135606082015292915050565b60008060408385031215611afe57600080fd5b823567ffffffffffffffff80821115611b1657600080fd5b9084019060808287031215611b2a57600080fd5b90925060208401359080821115611b4057600080fd5b50611b4d85828601611a5f565b9150509250929050565b80356001600160a01b0381168114611b6e57600080fd5b919050565b60008060408385031215611b8657600080fd5b611b8f83611b57565b9150602083013567ffffffffffffffff811115611bab57600080fd5b8301601f81018513611bbc57600080fd5b611b4d858235602084016119e9565b60208152600061064b60208301846118b9565b600080600060408486031215611bf357600080fd5b833567ffffffffffffffff80821115611c0b57600080fd5b611c178783880161179a565b90955093506020860135915080821115611c3057600080fd5b50611c3d86828701611a5f565b9150509250925092565b60008060408385031215611c5a57600080fd5b611c6383611b57565b9150611c7160208401611b57565b90509250929050565b600060208284031215611c8c57600080fd5b61064b82611b57565b6000808335601e19843603018112611cac57600080fd5b83018035915067ffffffffffffffff821115611cc757600080fd5b6020019150600581901b36038213156117dc57600080fd5b8183823760009101908152919050565b600181811c90821680611d0357607f821691505b602082108103611d2357634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e19843603018112611d4057600080fd5b83018035915067ffffffffffffffff821115611d5b57600080fd5b6020019150368190038213156117dc57600080fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff808316818103611da357611da3611d70565b6001019392505050565b601f82111561035d576000816000526020600020601f850160051c81016020861015611dd65750805b601f850160051c820191505b81811015610d1a57828155600101611de2565b815167ffffffffffffffff811115611e0f57611e0f6119aa565b611e2381611e1d8454611cef565b84611dad565b602080601f831160018114611e585760008415611e405750858301515b600019600386901b1c1916600185901b178555610d1a565b600085815260208120601f198616915b82811015611e8757888601518255948401946001909101908401611e68565b5085821015611ea55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b60008235607e19833603018112611ee157600080fd5b9190910192915050565b600081611efa57611efa611d70565b506000190190565b818103611f0d575050565b611f178254611cef565b67ffffffffffffffff811115611f2f57611f2f6119aa565b611f3d81611e1d8454611cef565b6000601f821160018114611f715760008315611f595750848201545b600019600385901b1c1916600184901b178455610840565b600085815260209020601f19841690600086815260209020845b83811015611fab5782860154825560019586019590910190602001611f8b565b5085831015611ea55793015460001960f8600387901b161c19169092555050600190811b01905550565b634e487b7160e01b600052603160045260246000fd5b600060018201611ffd57611ffd611d70565b5060010190565b60006020828403121561201657600080fd5b5051919050565b60006120293683611a5f565b92915050565b60008251611ee181846020870161189556fea26469706673582212201f23d7d29f6593155cbb38ad1ff2596ec630a61337b1859b79a080fc1b4b0c5264736f6c63430008180033","deployedBytecode":"0x6080604052600436106100dd5760003560e01c80638129fc1c1161007f578063b1f08d6b11610059578063b1f08d6b14610287578063bb1da9c9146102a7578063e87c28a7146102c7578063f2fde38b146102e757600080fd5b80638129fc1c146101d55780638da5cb5b146101ea578063ad3cb1cc1461023157600080fd5b80634f1ef286116100bb5780634f1ef2861461016a57806352d1902d1461017d578063715018a6146101a05780637e31e3fd146101b557600080fd5b80631754a61f146100e257806334c39084146101045780633ce68a811461013a575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117e3565b610307565b005b34801561011057600080fd5b5061012461011f366004611853565b610362565b6040516101319190611971565b60405180910390f35b34801561014657600080fd5b5061015a610155366004611aeb565b6105d4565b6040519015158152602001610131565b610102610178366004611b73565b610652565b34801561018957600080fd5b50610192610671565b604051908152602001610131565b3480156101ac57600080fd5b506101026106a0565b3480156101c157600080fd5b506101026101d03660046117e3565b6106b4565b3480156101e157600080fd5b50610102610703565b3480156101f657600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b039091168152602001610131565b34801561023d57600080fd5b5061027a6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101319190611bcb565b34801561029357600080fd5b506101026102a23660046117e3565b610847565b3480156102b357600080fd5b506101026102c2366004611bde565b610872565b3480156102d357600080fd5b506101026102e2366004611c47565b61097d565b3480156102f357600080fd5b50610102610302366004611c7a565b6109c0565b6001546001600160a01b0316331461033257604051631ad2b5e160e31b815260040160405180910390fd5b61034683836103418480611c95565b610a1c565b61035d83836103586020850185611c95565b610d22565b505050565b604080518082019091526060808252602082015260028383604051610388929190611cdf565b908152604080519182900360209081018320805460609281028501830184529284018381529092849284919060009085015b828210156104a9576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff168252600181018054929391929184019161040490611cef565b80601f016020809104026020016040519081016040528092919081815260200182805461043090611cef565b801561047d5780601f106104525761010080835404028352916020019161047d565b820191906000526020600020905b81548152906001019060200180831161046057829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906103ba565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b828210156105c5576000848152602090819020604080516080810190915260048502909101805467ffffffffffffffff168252600181018054929391929184019161052090611cef565b80601f016020809104026020016040519081016040528092919081815260200182805461054c90611cef565b80156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b5050505050815260200160028201548152602001600382015481525050815260200190600101906104d6565b50505091525090949350505050565b6000816040015183604001351480156105f4575081606001518360600135145b80156106135750602080830151519061060f90850185611d29565b9050145b801561064b57506020808301518051908201209061063390850185611d29565b604051610641929190611cdf565b6040518091039020145b9392505050565b61065a610f49565b61066382611000565b61066d8282611008565b5050565b600061067b6110f0565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6106a8611139565b6106b260006111ad565b565b6000546001600160a01b031633146106f8576040517f7fea9dc500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61035d83838361122b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff1660008115801561074e5750825b905060008267ffffffffffffffff16600114801561076b5750303b155b905081158015610779575080155b156107b0576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107e457845468ff00000000000000001916680100000000000000001785555b6107ed33611485565b6107f5611496565b831561084057845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6001546001600160a01b031633146106f857604051631ad2b5e160e31b815260040160405180910390fd5b6001546001600160a01b0316331461089d57604051631ad2b5e160e31b815260040160405180910390fd5b600180546014906108cf9074010000000000000000000000000000000000000000900467ffffffffffffffff16611d86565b825467ffffffffffffffff9182166101009390930a838102920219161790915581526040516002906109049085908590611cdf565b908152604051602091819003820190208054600180820183556000928352918390208451600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155918301518392918201906109619082611df5565b5060408201518160020155606082015181600301555050505050565b610985611139565b600080546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560018054929093169116179055565b6109c8611139565b6001600160a01b038116610a10576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610a19816111ad565b50565b600060028585604051610a30929190611cdf565b90815260405190819003602001902054905060005b81811015610d1a57600083815b81811015610ba757610b91878783818110610a6f57610a6f611eb5565b9050602002810190610a819190611ecb565b60028b8b604051610a93929190611cdf565b90815260200160405180910390206000018681548110610ab557610ab5611eb5565b60009182526020918290206040805160808101909152600490920201805467ffffffffffffffff1682526001810180549293919291840191610af690611cef565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2290611cef565b8015610b6f5780601f10610b4457610100808354040283529160200191610b6f565b820191906000526020600020905b815481529060010190602001808311610b5257829003601f168201915b50505050508152602001600282015481526020016003820154815250506105d4565b15610b9f5760019250610ba7565b600101610a52565b508115610d055783610bb881611eeb565b94505060028888604051610bcd929190611cdf565b90815260200160405180910390206000018481548110610bef57610bef611eb5565b906000526020600020906004020160028989604051610c0f929190611cdf565b90815260200160405180910390206000018481548110610c3157610c31611eb5565b600091825260209091208254600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155600180820190610c7490840182611f02565b50600282015481600201556003820154816003015590505060028888604051610c9e929190611cdf565b908152604051908190036020019020805480610cbc57610cbc611fd5565b600082815260208120600460001990930192830201805467ffffffffffffffff1916815590610cee600183018261174c565b506000600282018190556003909101559055610d13565b82610d0f81611feb565b9350505b5050610a45565b505050505050565b600060028585604051610d36929190611cdf565b90815260405190819003602001902060010154905060005b81811015610d1a57600083815b81811015610dd457610dbe878783818110610d7857610d78611eb5565b9050602002810190610d8a9190611ecb565b60028b8b604051610d9c929190611cdf565b90815260200160405180910390206001018681548110610ab557610ab5611eb5565b15610dcc5760019250610dd4565b600101610d5b565b508115610f345783610de581611eeb565b94505060028888604051610dfa929190611cdf565b90815260200160405180910390206001018481548110610e1c57610e1c611eb5565b906000526020600020906004020160028989604051610e3c929190611cdf565b90815260200160405180910390206001018481548110610e5e57610e5e611eb5565b600091825260209091208254600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155600180820190610ea190840182611f02565b50600282015481600201556003820154816003015590505060028888604051610ecb929190611cdf565b9081526020016040518091039020600101805480610eeb57610eeb611fd5565b600082815260208120600460001990930192830201805467ffffffffffffffff1916815590610f1d600183018261174c565b506000600282018190556003909101559055610f42565b82610f3e81611feb565b9350505b5050610d4e565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610fe257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fd67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156106b25760405163703e46dd60e11b815260040160405180910390fd5b610a19611139565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611062575060408051601f3d908101601f1916820190925261105f91810190612004565b60015b61108a57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610a07565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110e6576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610a07565b61035d838361149e565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106b25760405163703e46dd60e11b815260040160405180910390fd5b3361116b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146106b2576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610a07565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60006112378280611c95565b9050905060005b818110156113535760006112528480611c95565b8381811061126257611262611eb5565b90506020028101906112749190611ecb565b61127d9061201d565b90506001601481819054906101000a900467ffffffffffffffff166112a190611d86565b825467ffffffffffffffff9182166101009390930a838102920219161790915581526040516002906112d69088908890611cdf565b908152604051602091819003820190208054600180820183556000928352918390208451600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155918301518392918201906113339082611df5565b50604082015160028201556060909101516003909101555060010161123e565b5060006113636020840184611c95565b9050905060005b81811015610d1a5760006113816020860186611c95565b8381811061139157611391611eb5565b90506020028101906113a39190611ecb565b6113ac9061201d565b90506001601481819054906101000a900467ffffffffffffffff166113d090611d86565b825467ffffffffffffffff9182166101009390930a838102920219161790915581526040516002906114059089908990611cdf565b908152604051602091819003820190206001908101805480830182556000918252908390208451600490920201805467ffffffffffffffff191667ffffffffffffffff909216919091178155918301518392918201906114659082611df5565b50604082015160028201556060909101516003909101555060010161136a565b61148d6114f4565b610a198161155b565b6106b26114f4565b6114a782611563565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156114ec5761035d82826115e7565b61066d61165d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166106b2576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c86114f4565b806001600160a01b03163b60000361159957604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610a07565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611604919061202f565b600060405180830381855af49150503d806000811461163f576040519150601f19603f3d011682016040523d82523d6000602084013e611644565b606091505b5091509150611654858383611695565b95945050505050565b34156106b2576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826116aa576116a58261170a565b61064b565b81511580156116c157506001600160a01b0384163b155b15611703576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610a07565b5092915050565b80511561171a5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50805461175890611cef565b6000825580601f10611768575050565b601f016020900490600052602060002090810190610a1991905b808211156117965760008155600101611782565b5090565b60008083601f8401126117ac57600080fd5b50813567ffffffffffffffff8111156117c457600080fd5b6020830191508360208285010111156117dc57600080fd5b9250929050565b6000806000604084860312156117f857600080fd5b833567ffffffffffffffff8082111561181057600080fd5b61181c8783880161179a565b9095509350602086013591508082111561183557600080fd5b5084016040818703121561184857600080fd5b809150509250925092565b6000806020838503121561186657600080fd5b823567ffffffffffffffff81111561187d57600080fd5b6118898582860161179a565b90969095509350505050565b60005b838110156118b0578181015183820152602001611898565b50506000910152565b600081518084526118d1816020860160208601611895565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561196457601f198684030189528151608067ffffffffffffffff825116855285820151818787015261193a828701826118b9565b60408481015190880152606093840151939096019290925250509783019790830190600101611902565b5090979650505050505050565b60208152600082516040602084015261198d60608401826118e5565b90506020840151601f1984830301604085015261165482826118e5565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff811182821017156119e3576119e36119aa565b60405290565b600067ffffffffffffffff80841115611a0457611a046119aa565b604051601f8501601f19908116603f01168101908282118183101715611a2c57611a2c6119aa565b81604052809350858152868686011115611a4557600080fd5b858560208301376000602087830101525050509392505050565b600060808284031215611a7157600080fd5b611a796119c0565b9050813567ffffffffffffffff8082168214611a9457600080fd5b90825260208301359080821115611aaa57600080fd5b508201601f81018413611abc57600080fd5b611acb848235602084016119e9565b602083015250604082013560408201526060820135606082015292915050565b60008060408385031215611afe57600080fd5b823567ffffffffffffffff80821115611b1657600080fd5b9084019060808287031215611b2a57600080fd5b90925060208401359080821115611b4057600080fd5b50611b4d85828601611a5f565b9150509250929050565b80356001600160a01b0381168114611b6e57600080fd5b919050565b60008060408385031215611b8657600080fd5b611b8f83611b57565b9150602083013567ffffffffffffffff811115611bab57600080fd5b8301601f81018513611bbc57600080fd5b611b4d858235602084016119e9565b60208152600061064b60208301846118b9565b600080600060408486031215611bf357600080fd5b833567ffffffffffffffff80821115611c0b57600080fd5b611c178783880161179a565b90955093506020860135915080821115611c3057600080fd5b50611c3d86828701611a5f565b9150509250925092565b60008060408385031215611c5a57600080fd5b611c6383611b57565b9150611c7160208401611b57565b90509250929050565b600060208284031215611c8c57600080fd5b61064b82611b57565b6000808335601e19843603018112611cac57600080fd5b83018035915067ffffffffffffffff821115611cc757600080fd5b6020019150600581901b36038213156117dc57600080fd5b8183823760009101908152919050565b600181811c90821680611d0357607f821691505b602082108103611d2357634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e19843603018112611d4057600080fd5b83018035915067ffffffffffffffff821115611d5b57600080fd5b6020019150368190038213156117dc57600080fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff808316818103611da357611da3611d70565b6001019392505050565b601f82111561035d576000816000526020600020601f850160051c81016020861015611dd65750805b601f850160051c820191505b81811015610d1a57828155600101611de2565b815167ffffffffffffffff811115611e0f57611e0f6119aa565b611e2381611e1d8454611cef565b84611dad565b602080601f831160018114611e585760008415611e405750858301515b600019600386901b1c1916600185901b178555610d1a565b600085815260208120601f198616915b82811015611e8757888601518255948401946001909101908401611e68565b5085821015611ea55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b60008235607e19833603018112611ee157600080fd5b9190910192915050565b600081611efa57611efa611d70565b506000190190565b818103611f0d575050565b611f178254611cef565b67ffffffffffffffff811115611f2f57611f2f6119aa565b611f3d81611e1d8454611cef565b6000601f821160018114611f715760008315611f595750848201545b600019600385901b1c1916600184901b178455610840565b600085815260209020601f19841690600086815260209020845b83811015611fab5782860154825560019586019590910190602001611f8b565b5085831015611ea55793015460001960f8600387901b161c19169092555050600190811b01905550565b634e487b7160e01b600052603160045260246000fd5b600060018201611ffd57611ffd611d70565b5060010190565b60006020828403121561201657600080fd5b5051919050565b60006120293683611a5f565b92915050565b60008251611ee181846020870161189556fea26469706673582212201f23d7d29f6593155cbb38ad1ff2596ec630a61337b1859b79a080fc1b4b0c5264736f6c63430008180033","linkReferences":{},"deployedLinkReferences":{}}` +var ValidatorsArtifact string = `{"_format":"hh-sol-artifact-1","contractName":"Validators","sourceName":"contracts/Validators.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyConfirmed","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"AlreadyProposed","type":"error"},{"inputs":[{"internalType":"string","name":"_blockchainID","type":"string"}],"name":"CanNotCreateBatchYet","type":"error"},{"inputs":[{"internalType":"string","name":"_claimId","type":"string"}],"name":"ChainAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"ChainIsNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"name":"InvalidData","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NotBridge","type":"error"},{"inputs":[],"name":"NotClaims","type":"error"},{"inputs":[{"internalType":"string","name":"_claimTransactionHash","type":"string"}],"name":"NotEnoughBridgingTokensAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSignedBatches","type":"error"},{"inputs":[],"name":"NotSignedBatchesOrBridge","type":"error"},{"inputs":[],"name":"NotValidator","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":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"WrongBatchNonce","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"newChainProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"chainId","type":"string"}],"name":"newChainRegistered","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"address","name":"addr","type":"address"},{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData","name":"data","type":"tuple"}],"name":"addValidatorCardanoData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getQuorumNumberOfValidators","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"}],"name":"getValidatorsCardanoData","outputs":[{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getValidatorsCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_validators","type":"address[]"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"internalType":"string","name":"_txRaw","type":"string"},{"internalType":"string","name":"_signature","type":"string"},{"internalType":"string","name":"_signatureFee","type":"string"},{"internalType":"address","name":"_validatorAddr","type":"address"}],"name":"isSignatureValid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isValidator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bridgeAddress","type":"address"}],"name":"setDependencies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_chainId","type":"string"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"components":[{"internalType":"string","name":"verifyingKey","type":"string"},{"internalType":"string","name":"verifyingKeyFee","type":"string"}],"internalType":"struct IBridgeStructs.ValidatorCardanoData","name":"data","type":"tuple"}],"internalType":"struct IBridgeStructs.ValidatorAddressCardanoData[]","name":"validatorAddressCardanoData","type":"tuple[]"}],"name":"setValidatorsCardanoData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"validatorsCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}],"bytecode":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611e516100fd60003960008181610d6c01528181610d950152610f180152611e516000f3fe6080604052600436106100f35760003560e01c80638389cb181161008a578063d8718da011610059578063d8718da0146102ea578063ed612f8c146102ff578063f2fde38b14610319578063facd743b1461033957600080fd5b80638389cb181461020d5780638da5cb5b1461022d578063a224cee714610274578063ad3cb1cc1461029457600080fd5b806352d1902d116100c657806352d1902d14610178578063636b8a0d1461019b578063715018a6146101c857806381b6ecf5146101dd57600080fd5b806327498240146100f857806332bae10d1461012357806334a1a095146101455780634f1ef28614610165575b600080fd5b34801561010457600080fd5b5060055460ff165b60405160ff90911681526020015b60405180910390f35b34801561012f57600080fd5b5061014361013e3660046114ef565b610372565b005b34801561015157600080fd5b50610143610160366004611577565b6104c3565b61014361017336600461160f565b61053c565b34801561018457600080fd5b5061018d61055b565b60405190815260200161011a565b3480156101a757600080fd5b506101bb6101b63660046116d1565b61058a565b60405161011a9190611763565b3480156101d457600080fd5b5061014361072f565b3480156101e957600080fd5b506101fd6101f83660046117ea565b610743565b604051901515815260200161011a565b34801561021957600080fd5b506101436102283660046118be565b6108e5565b34801561023957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b03909116815260200161011a565b34801561028057600080fd5b5061014361028f3660046118d9565b61091c565b3480156102a057600080fd5b506102dd6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161011a919061190f565b3480156102f657600080fd5b5061010c610b40565b34801561030b57600080fd5b5060055461010c9060ff1681565b34801561032557600080fd5b506101436103343660046118be565b610b71565b34801561034557600080fd5b506101fd6103543660046118be565b6001600160a01b031660009081526004602052604090205460ff1690565b6000546001600160a01b0316331461039d57604051637fea9dc560e01b815260040160405180910390fd5b60055460ff168114610410576040517f180a097700000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f76616c696461746f727320636f756e740000000000000000000000000000000060448201526064015b60405180910390fd5b60005b818110156104b2573683838381811061042e5761042e611922565b90506020028101906104409190611938565b905061044f6020820182611938565b60018787604051610461929190611958565b9081526020016040518091039020600083600001602081019061048491906118be565b6001600160a01b0316815260208101919091526040016000206104a78282611af9565b505050600101610413565b506104bd8484610bc8565b50505050565b6000546001600160a01b031633146104ee57604051637fea9dc560e01b815260040160405180910390fd5b8060018585604051610501929190611958565b90815260408051602092819003830190206001600160a01b03861660009081529252902061052f8282611af9565b9050506104bd8484610bc8565b610544610d61565b61054d82610e18565b6105578282610e20565b5050565b6000610565610f0d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60606002838360405161059e929190611958565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b8282101561072257838290600052602060002090600202016040518060400160405290816000820180546105ff906119af565b80601f016020809104026020016040519081016040528092919081815260200182805461062b906119af565b80156106785780601f1061064d57610100808354040283529160200191610678565b820191906000526020600020905b81548152906001019060200180831161065b57829003601f168201915b50505050508152602001600182018054610691906119af565b80601f01602080910402602001604051908101604052809291908181526020018280546106bd906119af565b801561070a5780601f106106df5761010080835404028352916020019161070a565b820191906000526020600020905b8154815290600101906020018083116106ed57829003601f168201915b505050505081525050815260200190600101906105cc565b5050505090505b92915050565b610737610f56565b6107416000610fca565b565b60008060018b8b604051610758929190611958565b9081526040805191829003602090810183206001600160a01b03871660009081529152819020828201909152805482908290610793906119af565b80601f01602080910402602001604051908101604052809291908181526020018280546107bf906119af565b801561080c5780601f106107e15761010080835404028352916020019161080c565b820191906000526020600020905b8154815290600101906020018083116107ef57829003601f168201915b50505050508152602001600182018054610825906119af565b80601f0160208091040260200160405190810160405280929190818152602001828054610851906119af565b801561089e5780601f106108735761010080835404028352916020019161089e565b820191906000526020600020905b81548152906001019060200180831161088157829003601f168201915b50505050508152505090506108bc8989898985600001516001611048565b80156108d657506108d68989878785602001516001611048565b9b9a5050505050505050505050565b6108ed610f56565b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156109675750825b905060008267ffffffffffffffff1660011480156109845750303b155b905081158015610992575080155b156109c9576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156109fd57845468ff00000000000000001916680100000000000000001785555b610a0633611101565b610a0e611112565b60005b86811015610adc576001600460008a8a85818110610a3157610a31611922565b9050602002016020810190610a4691906118be565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556003888883818110610a8257610a82611922565b9050602002016020810190610a9791906118be565b8154600180820184556000938452602090932001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905501610a11565b506005805460ff191660ff88161790558315610b3757845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600554600090600390610b579060ff166002611bf2565b610b62906002611c15565b610b6c9190611c2e565b905090565b610b79610f56565b6001600160a01b038116610bbc576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610407565b610bc581610fca565b50565b600354600090815b81811015610c5c57600060018686604051610bec929190611958565b9081526020016040518091039020600060038481548110610c0f57610c0f611922565b60009182526020808320909101546001600160a01b0316835282019290925260400190208054610c3e906119af565b90501115610c545782610c5081611c5e565b9350505b600101610bd0565b50808214610c6a5750505050565b60028484604051610c7c929190611958565b90815260200160405180910390206000610c9691906113cb565b60005b81811015610d5a5760028585604051610cb3929190611958565b908152602001604051809103902060018686604051610cd3929190611958565b9081526020016040518091039020600060038481548110610cf657610cf6611922565b60009182526020808320909101546001600160a01b031683528281019390935260409091018120835460018101855593825291902090916002020180610d3c8382611c77565b50600181810190610d4f90840182611c77565b505050600101610c99565b5050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610dfa57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dee7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156107415760405163703e46dd60e11b815260040160405180910390fd5b610bc5610f56565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e7a575060408051601f3d908101601f19168201909252610e7791810190611d54565b60015b610ea257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610407565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114610efe576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610407565b610f08838361111a565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107415760405163703e46dd60e11b815260040160405180910390fd5b33610f887f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610741576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610407565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60008060006120506001600160a01b0316620249f08a8a8a8a8a8a60405160200161107896959493929190611d96565b60408051601f198184030181529082905261109291611de7565b6000604051808303818686fa925050503d80600081146110ce576040519150601f19603f3d011682016040523d82523d6000602084013e6110d3565b606091505b50915091508180156110f45750808060200190518101906110f49190611df9565b9998505050505050505050565b611109611170565b610bc5816111d7565b610741611170565b611123826111df565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561116857610f088282611263565b6105576112d9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610741576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b79611170565b806001600160a01b03163b60000361121557604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610407565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516112809190611de7565b600060405180830381855af49150503d80600081146112bb576040519150601f19603f3d011682016040523d82523d6000602084013e6112c0565b606091505b50915091506112d0858383611311565b95945050505050565b3415610741576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826113265761132182611389565b611382565b815115801561133d57506001600160a01b0384163b155b1561137f576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610407565b50805b9392505050565b8051156113995780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5080546000825560020290600052602060002090810190610bc591905b808211156114135760006113fc8282611417565b61140a600183016000611417565b506002016113e8565b5090565b508054611423906119af565b6000825580601f10611433575050565b601f016020900490600052602060002090810190610bc591905b80821115611413576000815560010161144d565b60008083601f84011261147357600080fd5b50813567ffffffffffffffff81111561148b57600080fd5b6020830191508360208285010111156114a357600080fd5b9250929050565b60008083601f8401126114bc57600080fd5b50813567ffffffffffffffff8111156114d457600080fd5b6020830191508360208260051b85010111156114a357600080fd5b6000806000806040858703121561150557600080fd5b843567ffffffffffffffff8082111561151d57600080fd5b61152988838901611461565b9096509450602087013591508082111561154257600080fd5b5061154f878288016114aa565b95989497509550505050565b80356001600160a01b038116811461157257600080fd5b919050565b6000806000806060858703121561158d57600080fd5b843567ffffffffffffffff808211156115a557600080fd5b6115b188838901611461565b90965094508491506115c56020880161155b565b935060408701359150808211156115db57600080fd5b508501604081880312156115ee57600080fd5b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561162257600080fd5b61162b8361155b565b9150602083013567ffffffffffffffff8082111561164857600080fd5b818501915085601f83011261165c57600080fd5b81358181111561166e5761166e6115f9565b604051601f8201601f19908116603f01168101908382118183101715611696576116966115f9565b816040528281528860208487010111156116af57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080602083850312156116e457600080fd5b823567ffffffffffffffff8111156116fb57600080fd5b61170785828601611461565b90969095509350505050565b60005b8381101561172e578181015183820152602001611716565b50506000910152565b6000815180845261174f816020860160208601611713565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156117dc57888303603f19018552815180518785526117b088860182611737565b91890151858303868b01529190506117c88183611737565b96890196945050509086019060010161178c565b509098975050505050505050565b600080600080600080600080600060a08a8c03121561180857600080fd5b893567ffffffffffffffff8082111561182057600080fd5b61182c8d838e01611461565b909b50995060208c013591508082111561184557600080fd5b6118518d838e01611461565b909950975060408c013591508082111561186a57600080fd5b6118768d838e01611461565b909750955060608c013591508082111561188f57600080fd5b5061189c8c828d01611461565b90945092506118af905060808b0161155b565b90509295985092959850929598565b6000602082840312156118d057600080fd5b6113828261155b565b600080602083850312156118ec57600080fd5b823567ffffffffffffffff81111561190357600080fd5b611707858286016114aa565b6020815260006113826020830184611737565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261194e57600080fd5b9190910192915050565b8183823760009101908152919050565b6000808335601e1984360301811261197f57600080fd5b83018035915067ffffffffffffffff82111561199a57600080fd5b6020019150368190038213156114a357600080fd5b600181811c908216806119c357607f821691505b6020821081036119e357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f08576000816000526020600020601f850160051c81016020861015611a125750805b601f850160051c820191505b81811015611a3157828155600101611a1e565b505050505050565b67ffffffffffffffff831115611a5157611a516115f9565b611a6583611a5f83546119af565b836119e9565b6000601f841160018114611a995760008515611a815750838201355b600019600387901b1c1916600186901b178355610d5a565b600083815260209020601f19861690835b82811015611aca5786850135825560209485019460019092019101611aaa565b5086821015611ae75760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b611b038283611968565b67ffffffffffffffff811115611b1b57611b1b6115f9565b611b2f81611b2985546119af565b856119e9565b6000601f821160018114611b635760008315611b4b5750838201355b600019600385901b1c1916600184901b178555611bbd565b600085815260209020601f19841690835b82811015611b945786850135825560209485019460019092019101611b74565b5084821015611bb15760001960f88660031b161c19848701351681555b505060018360011b0185555b50505050611bce6020830183611968565b6104bd818360018601611a39565b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160290811690818114611c0e57611c0e611bdc565b5092915050565b60ff818116838216019081111561072957610729611bdc565b600060ff831680611c4f57634e487b7160e01b600052601260045260246000fd5b8060ff84160491505092915050565b600060018201611c7057611c70611bdc565b5060010190565b818103611c82575050565b611c8c82546119af565b67ffffffffffffffff811115611ca457611ca46115f9565b611cb881611cb284546119af565b846119e9565b6000601f821160018114611cec5760008315611cd45750848201545b600019600385901b1c1916600184901b178455610d5a565b600085815260209020601f19841690600086815260209020845b83811015611d265782860154825560019586019590910190602001611d06565b5085831015611d445781850154600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611d6657600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611daa60808301888a611d6d565b8281036020840152611dbd818789611d6d565b90508281036040840152611dd18186611737565b9150508215156060830152979650505050505050565b6000825161194e818460208701611713565b600060208284031215611e0b57600080fd5b8151801515811461138257600080fdfea26469706673582212204b59cf7190e72f63948a092c4303e27cfd7a877e290379d3209eaf93494926fa64736f6c63430008180033","deployedBytecode":"0x6080604052600436106100f35760003560e01c80638389cb181161008a578063d8718da011610059578063d8718da0146102ea578063ed612f8c146102ff578063f2fde38b14610319578063facd743b1461033957600080fd5b80638389cb181461020d5780638da5cb5b1461022d578063a224cee714610274578063ad3cb1cc1461029457600080fd5b806352d1902d116100c657806352d1902d14610178578063636b8a0d1461019b578063715018a6146101c857806381b6ecf5146101dd57600080fd5b806327498240146100f857806332bae10d1461012357806334a1a095146101455780634f1ef28614610165575b600080fd5b34801561010457600080fd5b5060055460ff165b60405160ff90911681526020015b60405180910390f35b34801561012f57600080fd5b5061014361013e3660046114ef565b610372565b005b34801561015157600080fd5b50610143610160366004611577565b6104c3565b61014361017336600461160f565b61053c565b34801561018457600080fd5b5061018d61055b565b60405190815260200161011a565b3480156101a757600080fd5b506101bb6101b63660046116d1565b61058a565b60405161011a9190611763565b3480156101d457600080fd5b5061014361072f565b3480156101e957600080fd5b506101fd6101f83660046117ea565b610743565b604051901515815260200161011a565b34801561021957600080fd5b506101436102283660046118be565b6108e5565b34801561023957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b03909116815260200161011a565b34801561028057600080fd5b5061014361028f3660046118d9565b61091c565b3480156102a057600080fd5b506102dd6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161011a919061190f565b3480156102f657600080fd5b5061010c610b40565b34801561030b57600080fd5b5060055461010c9060ff1681565b34801561032557600080fd5b506101436103343660046118be565b610b71565b34801561034557600080fd5b506101fd6103543660046118be565b6001600160a01b031660009081526004602052604090205460ff1690565b6000546001600160a01b0316331461039d57604051637fea9dc560e01b815260040160405180910390fd5b60055460ff168114610410576040517f180a097700000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f76616c696461746f727320636f756e740000000000000000000000000000000060448201526064015b60405180910390fd5b60005b818110156104b2573683838381811061042e5761042e611922565b90506020028101906104409190611938565b905061044f6020820182611938565b60018787604051610461929190611958565b9081526020016040518091039020600083600001602081019061048491906118be565b6001600160a01b0316815260208101919091526040016000206104a78282611af9565b505050600101610413565b506104bd8484610bc8565b50505050565b6000546001600160a01b031633146104ee57604051637fea9dc560e01b815260040160405180910390fd5b8060018585604051610501929190611958565b90815260408051602092819003830190206001600160a01b03861660009081529252902061052f8282611af9565b9050506104bd8484610bc8565b610544610d61565b61054d82610e18565b6105578282610e20565b5050565b6000610565610f0d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60606002838360405161059e929190611958565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b8282101561072257838290600052602060002090600202016040518060400160405290816000820180546105ff906119af565b80601f016020809104026020016040519081016040528092919081815260200182805461062b906119af565b80156106785780601f1061064d57610100808354040283529160200191610678565b820191906000526020600020905b81548152906001019060200180831161065b57829003601f168201915b50505050508152602001600182018054610691906119af565b80601f01602080910402602001604051908101604052809291908181526020018280546106bd906119af565b801561070a5780601f106106df5761010080835404028352916020019161070a565b820191906000526020600020905b8154815290600101906020018083116106ed57829003601f168201915b505050505081525050815260200190600101906105cc565b5050505090505b92915050565b610737610f56565b6107416000610fca565b565b60008060018b8b604051610758929190611958565b9081526040805191829003602090810183206001600160a01b03871660009081529152819020828201909152805482908290610793906119af565b80601f01602080910402602001604051908101604052809291908181526020018280546107bf906119af565b801561080c5780601f106107e15761010080835404028352916020019161080c565b820191906000526020600020905b8154815290600101906020018083116107ef57829003601f168201915b50505050508152602001600182018054610825906119af565b80601f0160208091040260200160405190810160405280929190818152602001828054610851906119af565b801561089e5780601f106108735761010080835404028352916020019161089e565b820191906000526020600020905b81548152906001019060200180831161088157829003601f168201915b50505050508152505090506108bc8989898985600001516001611048565b80156108d657506108d68989878785602001516001611048565b9b9a5050505050505050505050565b6108ed610f56565b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156109675750825b905060008267ffffffffffffffff1660011480156109845750303b155b905081158015610992575080155b156109c9576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156109fd57845468ff00000000000000001916680100000000000000001785555b610a0633611101565b610a0e611112565b60005b86811015610adc576001600460008a8a85818110610a3157610a31611922565b9050602002016020810190610a4691906118be565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556003888883818110610a8257610a82611922565b9050602002016020810190610a9791906118be565b8154600180820184556000938452602090932001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905501610a11565b506005805460ff191660ff88161790558315610b3757845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600554600090600390610b579060ff166002611bf2565b610b62906002611c15565b610b6c9190611c2e565b905090565b610b79610f56565b6001600160a01b038116610bbc576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610407565b610bc581610fca565b50565b600354600090815b81811015610c5c57600060018686604051610bec929190611958565b9081526020016040518091039020600060038481548110610c0f57610c0f611922565b60009182526020808320909101546001600160a01b0316835282019290925260400190208054610c3e906119af565b90501115610c545782610c5081611c5e565b9350505b600101610bd0565b50808214610c6a5750505050565b60028484604051610c7c929190611958565b90815260200160405180910390206000610c9691906113cb565b60005b81811015610d5a5760028585604051610cb3929190611958565b908152602001604051809103902060018686604051610cd3929190611958565b9081526020016040518091039020600060038481548110610cf657610cf6611922565b60009182526020808320909101546001600160a01b031683528281019390935260409091018120835460018101855593825291902090916002020180610d3c8382611c77565b50600181810190610d4f90840182611c77565b505050600101610c99565b5050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610dfa57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dee7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156107415760405163703e46dd60e11b815260040160405180910390fd5b610bc5610f56565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e7a575060408051601f3d908101601f19168201909252610e7791810190611d54565b60015b610ea257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610407565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114610efe576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610407565b610f08838361111a565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107415760405163703e46dd60e11b815260040160405180910390fd5b33610f887f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610741576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610407565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60008060006120506001600160a01b0316620249f08a8a8a8a8a8a60405160200161107896959493929190611d96565b60408051601f198184030181529082905261109291611de7565b6000604051808303818686fa925050503d80600081146110ce576040519150601f19603f3d011682016040523d82523d6000602084013e6110d3565b606091505b50915091508180156110f45750808060200190518101906110f49190611df9565b9998505050505050505050565b611109611170565b610bc5816111d7565b610741611170565b611123826111df565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561116857610f088282611263565b6105576112d9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610741576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b79611170565b806001600160a01b03163b60000361121557604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610407565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516112809190611de7565b600060405180830381855af49150503d80600081146112bb576040519150601f19603f3d011682016040523d82523d6000602084013e6112c0565b606091505b50915091506112d0858383611311565b95945050505050565b3415610741576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826113265761132182611389565b611382565b815115801561133d57506001600160a01b0384163b155b1561137f576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610407565b50805b9392505050565b8051156113995780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5080546000825560020290600052602060002090810190610bc591905b808211156114135760006113fc8282611417565b61140a600183016000611417565b506002016113e8565b5090565b508054611423906119af565b6000825580601f10611433575050565b601f016020900490600052602060002090810190610bc591905b80821115611413576000815560010161144d565b60008083601f84011261147357600080fd5b50813567ffffffffffffffff81111561148b57600080fd5b6020830191508360208285010111156114a357600080fd5b9250929050565b60008083601f8401126114bc57600080fd5b50813567ffffffffffffffff8111156114d457600080fd5b6020830191508360208260051b85010111156114a357600080fd5b6000806000806040858703121561150557600080fd5b843567ffffffffffffffff8082111561151d57600080fd5b61152988838901611461565b9096509450602087013591508082111561154257600080fd5b5061154f878288016114aa565b95989497509550505050565b80356001600160a01b038116811461157257600080fd5b919050565b6000806000806060858703121561158d57600080fd5b843567ffffffffffffffff808211156115a557600080fd5b6115b188838901611461565b90965094508491506115c56020880161155b565b935060408701359150808211156115db57600080fd5b508501604081880312156115ee57600080fd5b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561162257600080fd5b61162b8361155b565b9150602083013567ffffffffffffffff8082111561164857600080fd5b818501915085601f83011261165c57600080fd5b81358181111561166e5761166e6115f9565b604051601f8201601f19908116603f01168101908382118183101715611696576116966115f9565b816040528281528860208487010111156116af57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080602083850312156116e457600080fd5b823567ffffffffffffffff8111156116fb57600080fd5b61170785828601611461565b90969095509350505050565b60005b8381101561172e578181015183820152602001611716565b50506000910152565b6000815180845261174f816020860160208601611713565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156117dc57888303603f19018552815180518785526117b088860182611737565b91890151858303868b01529190506117c88183611737565b96890196945050509086019060010161178c565b509098975050505050505050565b600080600080600080600080600060a08a8c03121561180857600080fd5b893567ffffffffffffffff8082111561182057600080fd5b61182c8d838e01611461565b909b50995060208c013591508082111561184557600080fd5b6118518d838e01611461565b909950975060408c013591508082111561186a57600080fd5b6118768d838e01611461565b909750955060608c013591508082111561188f57600080fd5b5061189c8c828d01611461565b90945092506118af905060808b0161155b565b90509295985092959850929598565b6000602082840312156118d057600080fd5b6113828261155b565b600080602083850312156118ec57600080fd5b823567ffffffffffffffff81111561190357600080fd5b611707858286016114aa565b6020815260006113826020830184611737565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261194e57600080fd5b9190910192915050565b8183823760009101908152919050565b6000808335601e1984360301811261197f57600080fd5b83018035915067ffffffffffffffff82111561199a57600080fd5b6020019150368190038213156114a357600080fd5b600181811c908216806119c357607f821691505b6020821081036119e357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f08576000816000526020600020601f850160051c81016020861015611a125750805b601f850160051c820191505b81811015611a3157828155600101611a1e565b505050505050565b67ffffffffffffffff831115611a5157611a516115f9565b611a6583611a5f83546119af565b836119e9565b6000601f841160018114611a995760008515611a815750838201355b600019600387901b1c1916600186901b178355610d5a565b600083815260209020601f19861690835b82811015611aca5786850135825560209485019460019092019101611aaa565b5086821015611ae75760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b611b038283611968565b67ffffffffffffffff811115611b1b57611b1b6115f9565b611b2f81611b2985546119af565b856119e9565b6000601f821160018114611b635760008315611b4b5750838201355b600019600385901b1c1916600184901b178555611bbd565b600085815260209020601f19841690835b82811015611b945786850135825560209485019460019092019101611b74565b5084821015611bb15760001960f88660031b161c19848701351681555b505060018360011b0185555b50505050611bce6020830183611968565b6104bd818360018601611a39565b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160290811690818114611c0e57611c0e611bdc565b5092915050565b60ff818116838216019081111561072957610729611bdc565b600060ff831680611c4f57634e487b7160e01b600052601260045260246000fd5b8060ff84160491505092915050565b600060018201611c7057611c70611bdc565b5060010190565b818103611c82575050565b611c8c82546119af565b67ffffffffffffffff811115611ca457611ca46115f9565b611cb881611cb284546119af565b846119e9565b6000601f821160018114611cec5760008315611cd45750848201545b600019600385901b1c1916600184901b178455610d5a565b600085815260209020601f19841690600086815260209020845b83811015611d265782860154825560019586019590910190602001611d06565b5085831015611d445781850154600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611d6657600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611daa60808301888a611d6d565b8281036020840152611dbd818789611d6d565b90508281036040840152611dd18186611737565b9150508215156060830152979650505050505050565b6000825161194e818460208701611713565b600060208284031215611e0b57600080fd5b8151801515811461138257600080fdfea26469706673582212204b59cf7190e72f63948a092c4303e27cfd7a877e290379d3209eaf93494926fa64736f6c63430008180033","linkReferences":{},"deployedLinkReferences":{}}`