Loading
[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "address", "name": "_lzEndpoint", "type": "address" }, { "internalType": "address", "name": "_delegate", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "InvalidDelegate", "type": "error" }, { "inputs": [], "name": "InvalidEndpointCall", "type": "error" }, { "inputs": [], "name": "InvalidLocalDecimals", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "options", "type": "bytes" } ], "name": "InvalidOptions", "type": "error" }, { "inputs": [], "name": "LzTokenUnavailable", "type": "error" }, { "inputs": [ { "internalType": "uint32", "name": "eid", "type": "uint32" } ], "name": "NoPeer", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "msgValue", "type": "uint256" } ], "name": "NotEnoughNative", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "OnlyEndpoint", "type": "error" }, { "inputs": [ { "internalType": "uint32", "name": "eid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" } ], "name": "OnlyPeer", "type": "error" }, { "inputs": [], "name": "OnlySelf", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "result", "type": "bytes" } ], "name": "SimulationResult", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "amountLD", "type": "uint256" }, { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" } ], "name": "SlippageExceeded", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "components": [ { "internalType": "uint32", "name": "eid", "type": "uint32" }, { "internalType": "uint16", "name": "msgType", "type": "uint16" }, { "internalType": "bytes", "name": "options", "type": "bytes" } ], "indexed": false, "internalType": "struct EnforcedOptionParam[]", "name": "_enforcedOptions", "type": "tuple[]" } ], "name": "EnforcedOptionSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "inspector", "type": "address" } ], "name": "MsgInspectorSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "guid", "type": "bytes32" }, { "indexed": false, "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "indexed": true, "internalType": "address", "name": "toAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountReceivedLD", "type": "uint256" } ], "name": "OFTReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "guid", "type": "bytes32" }, { "indexed": false, "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "indexed": true, "internalType": "address", "name": "fromAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountSentLD", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountReceivedLD", "type": "uint256" } ], "name": "OFTSent", "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": false, "internalType": "uint32", "name": "eid", "type": "uint32" }, { "indexed": false, "internalType": "bytes32", "name": "peer", "type": "bytes32" } ], "name": "PeerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "preCrimeAddress", "type": "address" } ], "name": "PreCrimeSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SEND", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SEND_AND_CALL", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "internalType": "struct Origin", "name": "origin", "type": "tuple" } ], "name": "allowInitializePath", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "approvalRequired", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_eid", "type": "uint32" }, { "internalType": "uint16", "name": "_msgType", "type": "uint16" }, { "internalType": "bytes", "name": "_extraOptions", "type": "bytes" } ], "name": "combineOptions", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimalConversionRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "endpoint", "outputs": [ { "internalType": "contract ILayerZeroEndpointV2", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "eid", "type": "uint32" }, { "internalType": "uint16", "name": "msgType", "type": "uint16" } ], "name": "enforcedOptions", "outputs": [ { "internalType": "bytes", "name": "enforcedOption", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "internalType": "struct Origin", "name": "", "type": "tuple" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "address", "name": "_sender", "type": "address" } ], "name": "isComposeMsgSender", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_eid", "type": "uint32" }, { "internalType": "bytes32", "name": "_peer", "type": "bytes32" } ], "name": "isPeer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "internalType": "struct Origin", "name": "_origin", "type": "tuple" }, { "internalType": "bytes32", "name": "_guid", "type": "bytes32" }, { "internalType": "bytes", "name": "_message", "type": "bytes" }, { "internalType": "address", "name": "_executor", "type": "address" }, { "internalType": "bytes", "name": "_extraData", "type": "bytes" } ], "name": "lzReceive", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "components": [ { "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "internalType": "struct Origin", "name": "origin", "type": "tuple" }, { "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "bytes32", "name": "guid", "type": "bytes32" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "address", "name": "executor", "type": "address" }, { "internalType": "bytes", "name": "message", "type": "bytes" }, { "internalType": "bytes", "name": "extraData", "type": "bytes" } ], "internalType": "struct InboundPacket[]", "name": "_packets", "type": "tuple[]" } ], "name": "lzReceiveAndRevert", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "internalType": "struct Origin", "name": "_origin", "type": "tuple" }, { "internalType": "bytes32", "name": "_guid", "type": "bytes32" }, { "internalType": "bytes", "name": "_message", "type": "bytes" }, { "internalType": "address", "name": "_executor", "type": "address" }, { "internalType": "bytes", "name": "_extraData", "type": "bytes" } ], "name": "lzReceiveSimulate", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "msgInspector", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "", "type": "uint32" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "nextNonce", "outputs": [ { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "oApp", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "oAppVersion", "outputs": [ { "internalType": "uint64", "name": "senderVersion", "type": "uint64" }, { "internalType": "uint64", "name": "receiverVersion", "type": "uint64" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "oftVersion", "outputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }, { "internalType": "uint64", "name": "version", "type": "uint64" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "eid", "type": "uint32" } ], "name": "peers", "outputs": [ { "internalType": "bytes32", "name": "peer", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "preCrime", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "internalType": "bytes32", "name": "to", "type": "bytes32" }, { "internalType": "uint256", "name": "amountLD", "type": "uint256" }, { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" }, { "internalType": "bytes", "name": "extraOptions", "type": "bytes" }, { "internalType": "bytes", "name": "composeMsg", "type": "bytes" }, { "internalType": "bytes", "name": "oftCmd", "type": "bytes" } ], "internalType": "struct SendParam", "name": "_sendParam", "type": "tuple" } ], "name": "quoteOFT", "outputs": [ { "components": [ { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" }, { "internalType": "uint256", "name": "maxAmountLD", "type": "uint256" } ], "internalType": "struct OFTLimit", "name": "oftLimit", "type": "tuple" }, { "components": [ { "internalType": "int256", "name": "feeAmountLD", "type": "int256" }, { "internalType": "string", "name": "description", "type": "string" } ], "internalType": "struct OFTFeeDetail[]", "name": "oftFeeDetails", "type": "tuple[]" }, { "components": [ { "internalType": "uint256", "name": "amountSentLD", "type": "uint256" }, { "internalType": "uint256", "name": "amountReceivedLD", "type": "uint256" } ], "internalType": "struct OFTReceipt", "name": "oftReceipt", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "internalType": "bytes32", "name": "to", "type": "bytes32" }, { "internalType": "uint256", "name": "amountLD", "type": "uint256" }, { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" }, { "internalType": "bytes", "name": "extraOptions", "type": "bytes" }, { "internalType": "bytes", "name": "composeMsg", "type": "bytes" }, { "internalType": "bytes", "name": "oftCmd", "type": "bytes" } ], "internalType": "struct SendParam", "name": "_sendParam", "type": "tuple" }, { "internalType": "bool", "name": "_payInLzToken", "type": "bool" } ], "name": "quoteSend", "outputs": [ { "components": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "lzTokenFee", "type": "uint256" } ], "internalType": "struct MessagingFee", "name": "msgFee", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "internalType": "bytes32", "name": "to", "type": "bytes32" }, { "internalType": "uint256", "name": "amountLD", "type": "uint256" }, { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" }, { "internalType": "bytes", "name": "extraOptions", "type": "bytes" }, { "internalType": "bytes", "name": "composeMsg", "type": "bytes" }, { "internalType": "bytes", "name": "oftCmd", "type": "bytes" } ], "internalType": "struct SendParam", "name": "_sendParam", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "lzTokenFee", "type": "uint256" } ], "internalType": "struct MessagingFee", "name": "_fee", "type": "tuple" }, { "internalType": "address", "name": "_refundAddress", "type": "address" } ], "name": "send", "outputs": [ { "components": [ { "internalType": "bytes32", "name": "guid", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" }, { "components": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "lzTokenFee", "type": "uint256" } ], "internalType": "struct MessagingFee", "name": "fee", "type": "tuple" } ], "internalType": "struct MessagingReceipt", "name": "msgReceipt", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "amountSentLD", "type": "uint256" }, { "internalType": "uint256", "name": "amountReceivedLD", "type": "uint256" } ], "internalType": "struct OFTReceipt", "name": "oftReceipt", "type": "tuple" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_delegate", "type": "address" } ], "name": "setDelegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "eid", "type": "uint32" }, { "internalType": "uint16", "name": "msgType", "type": "uint16" }, { "internalType": "bytes", "name": "options", "type": "bytes" } ], "internalType": "struct EnforcedOptionParam[]", "name": "_enforcedOptions", "type": "tuple[]" } ], "name": "setEnforcedOptions", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_msgInspector", "type": "address" } ], "name": "setMsgInspector", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_eid", "type": "uint32" }, { "internalType": "bytes32", "name": "_peer", "type": "bytes32" } ], "name": "setPeer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_preCrime", "type": "address" } ], "name": "setPreCrime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sharedDecimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101806040523480156200001257600080fd5b506040516200424238038062004242833981016040819052620000359162000377565b8380604051806040016040528060018152602001603160f81b815250868686868383620000676200023860201b60201c565b84848181818162000078336200023d565b6001600160a01b038083166080528116620000a657604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000ee57600080fd5b505af115801562000103573d6000803e3d6000fd5b50505050505050506200011b6200028d60201b60201c565b60ff168360ff16101562000142576040516301e9714b60e41b815260040160405180910390fd5b6200014f6006846200041c565b6200015c90600a6200053b565b60a05250600891506200017290508382620005e4565b506009620001818282620005e4565b505086516020808901919091208751888301206101208290526101408190524660e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8187018190528183018690526060820185905260808201939093523060a0808301919091528251808303909101815260c09091019091528051940193909320919750955090935091506200021c9050565b60c05230610100526101605250620006b0975050505050505050565b601290565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600690565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620002ba57600080fd5b81516001600160401b0380821115620002d757620002d762000292565b604051601f8301601f19908116603f0116810190828211818310171562000302576200030262000292565b81604052838152602092508660208588010111156200032057600080fd5b600091505b8382101562000344578582018301518183018401529082019062000325565b6000602085830101528094505050505092915050565b80516001600160a01b03811681146200037257600080fd5b919050565b600080600080608085870312156200038e57600080fd5b84516001600160401b0380821115620003a657600080fd5b620003b488838901620002a8565b95506020870151915080821115620003cb57600080fd5b50620003da87828801620002a8565b935050620003eb604086016200035a565b9150620003fb606086016200035a565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b60ff828116828216039081111562000438576200043862000406565b92915050565b600181815b808511156200047f57816000190482111562000463576200046362000406565b808516156200047157918102915b93841c939080029062000443565b509250929050565b600082620004985750600162000438565b81620004a75750600062000438565b8160018114620004c05760028114620004cb57620004eb565b600191505062000438565b60ff841115620004df57620004df62000406565b50506001821b62000438565b5060208310610133831016604e8410600b841016171562000510575081810a62000438565b6200051c83836200043e565b806000190482111562000533576200053362000406565b029392505050565b60006200054c60ff84168362000487565b9392505050565b600181811c908216806200056857607f821691505b6020821081036200058957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005df576000816000526020600020601f850160051c81016020861015620005ba5750805b601f850160051c820191505b81811015620005db57828155600101620005c6565b5050505b505050565b81516001600160401b0381111562000600576200060062000292565b620006188162000611845462000553565b846200058f565b602080601f831160018114620006505760008415620006375750858301515b600019600386901b1c1916600185901b178555620005db565b600085815260208120601f198616915b82811015620006815788860151825594840194600190910190840162000660565b5085821015620006a05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051613ae66200075c6000396000611baa01526000611bf901526000611bd401526000611b2d01526000611b5701526000611b810152600081816106aa015281816121a20152818161221701526122e201526000818161054901528181610a330152818161121f0152818161177a01528181611d8101528181612028015281816124e1015261259a0152613ae66000f3fe6080604052600436106102885760003560e01c80637d25a05e1161015a578063bb0b6a53116100c1578063d42438851161007a578063d424388514610814578063d505accf14610834578063dd62ed3e14610854578063f2fde38b14610874578063fc0c546a146104cd578063ff7bd03d1461089457600080fd5b8063bb0b6a5314610760578063bc70b3541461078d578063bd815db0146107ad578063c7c7f5b3146107c0578063ca5eb5e1146107e1578063d045a0dc1461080157600080fd5b8063963efcaa11610113578063963efcaa146106985780639f68b964146106cc578063a457c2d7146106e0578063a9059cbb14610700578063b731ea0a14610720578063b98bd0701461074057600080fd5b80637d25a05e146105d65780637ecebe001461061157806382413eac14610631578063857749b0146106515780638da5cb5b1461066557806395d89b411461068357600080fd5b8063313ce567116101fe5780635535d461116101b75780635535d461146104e05780635a0dfe4d146105005780635e280f11146105375780636fc1b31e1461056b57806370a082311461058b578063715018a6146105c157600080fd5b8063313ce567146104295780633400288b1461044b5780633644e5151461046b57806339509351146104805780633b6f743b146104a057806352ae2879146104cd57600080fd5b8063134d4f2511610250578063134d4f2514610364578063156a0d0f1461038c57806317442b70146103b357806318160ddd146103d55780631f5e1334146103f457806323b872dd1461040957600080fd5b806306fdde031461028d578063095ea7b3146102b85780630d35b415146102e8578063111ecdad1461031757806313137d651461034f575b600080fd5b34801561029957600080fd5b506102a26108b4565b6040516102af9190612b4a565b60405180910390f35b3480156102c457600080fd5b506102d86102d3366004612b72565b610946565b60405190151581526020016102af565b3480156102f457600080fd5b50610308610303366004612bb0565b610960565b6040516102af93929190612be4565b34801561032357600080fd5b50600454610337906001600160a01b031681565b6040516001600160a01b0390911681526020016102af565b61036261035d366004612cd7565b610a31565b005b34801561037057600080fd5b50610379600281565b60405161ffff90911681526020016102af565b34801561039857600080fd5b506040805162b9270b60e21b815260016020820152016102af565b3480156103bf57600080fd5b50604080516001815260026020820152016102af565b3480156103e157600080fd5b506007545b6040519081526020016102af565b34801561040057600080fd5b50610379600181565b34801561041557600080fd5b506102d8610424366004612d76565b610af1565b34801561043557600080fd5b5060125b60405160ff90911681526020016102af565b34801561045757600080fd5b50610362610466366004612dd0565b610b17565b34801561047757600080fd5b506103e6610b2d565b34801561048c57600080fd5b506102d861049b366004612b72565b610b3c565b3480156104ac57600080fd5b506104c06104bb366004612dfa565b610b5e565b6040516102af9190612e4b565b3480156104d957600080fd5b5030610337565b3480156104ec57600080fd5b506102a26104fb366004612e74565b610bc5565b34801561050c57600080fd5b506102d861051b366004612dd0565b63ffffffff919091166000908152600160205260409020541490565b34801561054357600080fd5b506103377f000000000000000000000000000000000000000000000000000000000000000081565b34801561057757600080fd5b50610362610586366004612ea7565b610c6a565b34801561059757600080fd5b506103e66105a6366004612ea7565b6001600160a01b031660009081526005602052604090205490565b3480156105cd57600080fd5b50610362610cc7565b3480156105e257600080fd5b506105f96105f1366004612dd0565b600092915050565b6040516001600160401b0390911681526020016102af565b34801561061d57600080fd5b506103e661062c366004612ea7565b610cdb565b34801561063d57600080fd5b506102d861064c366004612ec4565b610cf9565b34801561065d57600080fd5b506006610439565b34801561067157600080fd5b506000546001600160a01b0316610337565b34801561068f57600080fd5b506102a2610d0e565b3480156106a457600080fd5b506103e67f000000000000000000000000000000000000000000000000000000000000000081565b3480156106d857600080fd5b5060006102d8565b3480156106ec57600080fd5b506102d86106fb366004612b72565b610d1d565b34801561070c57600080fd5b506102d861071b366004612b72565b610da3565b34801561072c57600080fd5b50600254610337906001600160a01b031681565b34801561074c57600080fd5b5061036261075b366004612f6e565b610db1565b34801561076c57600080fd5b506103e661077b366004612faf565b60016020526000908152604090205481565b34801561079957600080fd5b506102a26107a8366004612fca565b610dcb565b6103626107bb366004612f6e565b610f73565b6107d36107ce36600461302a565b6110fd565b6040516102af929190613097565b3480156107ed57600080fd5b506103626107fc366004612ea7565b6111f8565b61036261080f366004612cd7565b61127e565b34801561082057600080fd5b5061036261082f366004612ea7565b6112ad565b34801561084057600080fd5b5061036261084f3660046130e9565b611303565b34801561086057600080fd5b506103e661086f366004613160565b611467565b34801561088057600080fd5b5061036261088f366004612ea7565b611492565b3480156108a057600080fd5b506102d86108af36600461318e565b61150b565b6060600880546108c3906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546108ef906131aa565b801561093c5780601f106109115761010080835404028352916020019161093c565b820191906000526020600020905b81548152906001019060200180831161091f57829003601f168201915b5050505050905090565b600033610954818585611541565b60019150505b92915050565b60408051808201909152600080825260208201526060610993604051806040016040528060008152602001600081525090565b60408051808201825260008082526001600160401b036020808401829052845183815290810190945291955091826109ee565b6040805180820190915260008152606060208201528152602001906001900390816109c65790505b509350600080610a13604089013560608a0135610a0e60208c018c612faf565b611665565b60408051808201909152918252602082015296989597505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610a81576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b60208701803590610a9b90610a96908a612faf565b6116a9565b14610ad957610aad6020880188612faf565b60405163309afaf360e21b815263ffffffff909116600482015260208801356024820152604401610a78565b610ae8878787878787876116e5565b50505050505050565b600033610aff85828561184c565b610b0a8585856118c6565b60019150505b9392505050565b610b1f611a71565b610b298282611acb565b5050565b6000610b37611b20565b905090565b600033610954818585610b4f8383611467565b610b59919061320a565b611541565b60408051808201909152600080825260208201526000610b8e60408501356060860135610a0e6020880188612faf565b915050600080610b9e8684611c47565b9092509050610bbb610bb36020880188612faf565b838388611d6b565b9695505050505050565b600360209081526000928352604080842090915290825290208054610be9906131aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610c15906131aa565b8015610c625780601f10610c3757610100808354040283529160200191610c62565b820191906000526020600020905b815481529060010190602001808311610c4557829003601f168201915b505050505081565b610c72611a71565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610ccf611a71565b610cd96000611e4c565b565b6001600160a01b0381166000908152600a602052604081205461095a565b6001600160a01b03811630145b949350505050565b6060600980546108c3906131aa565b60003381610d2b8286611467565b905083811015610d8b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a78565b610d988286868403611541565b506001949350505050565b6000336109548185856118c6565b610db9611a71565b610b29610dc682846132be565b611e9c565b63ffffffff8416600090815260036020908152604080832061ffff87168452909152812080546060929190610dff906131aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2b906131aa565b8015610e785780601f10610e4d57610100808354040283529160200191610e78565b820191906000526020600020905b815481529060010190602001808311610e5b57829003601f168201915b505050505090508051600003610ec85783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450610d069350505050565b6000839003610ed8579050610d06565b60028310610f5657610f1f84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611fa392505050565b80610f2d84600281886133d3565b604051602001610f3f939291906133fd565b604051602081830303815290604052915050610d06565b8383604051639a6d49cd60e01b8152600401610a7892919061344e565b60005b8181101561107c5736838383818110610f9157610f91613462565b9050602002810190610fa39190613478565b9050610fd6610fb56020830183612faf565b602083013563ffffffff919091166000908152600160205260409020541490565b610fe05750611074565b3063d045a0dc60c08301358360a0810135610fff610100830183613499565b611010610100890160e08a01612ea7565b61101e6101208a018a613499565b6040518963ffffffff1660e01b815260040161104097969594939291906134f4565b6000604051808303818588803b15801561105957600080fd5b505af115801561106d573d6000803e3d6000fd5b5050505050505b600101610f76565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa1580156110bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e3919081019061357a565b604051638351eea760e01b8152600401610a789190612b4a565b611105612ab3565b604080518082019091526000808252602082015260008061113c33604089013560608a013561113760208c018c612faf565b611fcf565b9150915060008061114d8984611c47565b909250905061117961116260208b018b612faf565b8383611173368d90038d018d6135e7565b8b611ff5565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a906111c7908d018d612faf565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b611200611a71565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b15801561126357600080fd5b505af1158015611277573d6000803e3d6000fd5b5050505050565b33301461129e5760405163029a949d60e31b815260040160405180910390fd5b610ae887878787878787610ad9565b6112b5611a71565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610cbc565b834211156113535760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610a78565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886113828c612100565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006113dd82612128565b905060006113ed82878787612176565b9050896001600160a01b0316816001600160a01b0316146114505760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610a78565b61145b8a8a8a611541565b50505050505050505050565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b61149a611a71565b6001600160a01b0381166114ff5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a78565b61150881611e4c565b50565b60006020820180359060019083906115239086612faf565b63ffffffff1681526020810191909152604001600020541492915050565b6001600160a01b0383166115a35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a78565b6001600160a01b0382166116045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a78565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806116718561219e565b9150819050838110156116a1576040516371c4efed60e01b81526004810182905260248101859052604401610a78565b935093915050565b63ffffffff81166000908152600160205260408120548061095a5760405163f6ff4fb760e01b815263ffffffff84166004820152602401610a78565b60006116f76116f487876121d5565b90565b905060006117238261171161170c8a8a6121ed565b612210565b61171e60208d018d612faf565b612245565b905060288611156117ea57600061176061174360608c0160408d01613619565b61175060208d018d612faf565b8461175b8c8c612259565b6122a4565b604051633e5ac80960e11b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906117b69086908d906000908790600401613636565b600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61182360208d018d612faf565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b60006118588484611467565b905060001981146118c057818110156118b35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a78565b6118c08484848403611541565b50505050565b6001600160a01b03831661192a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a78565b6001600160a01b03821661198c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a78565b6001600160a01b03831660009081526005602052604090205481811015611a045760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a78565b6001600160a01b0380851660008181526005602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a649086815260200190565b60405180910390a36118c0565b6000546001600160a01b03163314610cd95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a78565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611b7957507f000000000000000000000000000000000000000000000000000000000000000046145b15611ba357507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6060806000611ca48560200135611c5d866122db565b611c6a60a0890189613499565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061230792505050565b9093509050600081611cb7576001611cba565b60025b9050611cda611ccc6020880188612faf565b826107a860808a018a613499565b6004549093506001600160a01b031615611d62576004805460405163043a78eb60e01b81526001600160a01b039091169163043a78eb91611d1f918891889101613667565b602060405180830381865afa158015611d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d60919061368c565b505b50509250929050565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff168152602001611dce896116a9565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611e039291906136a9565b6040805180830381865afa158015611e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e439190613752565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b8151811015611f7357611ece828281518110611ebd57611ebd613462565b602002602001015160400151611fa3565b818181518110611ee057611ee0613462565b60200260200101516040015160036000848481518110611f0257611f02613462565b60200260200101516000015163ffffffff1663ffffffff1681526020019081526020016000206000848481518110611f3c57611f3c613462565b60200260200101516020015161ffff1661ffff1681526020019081526020016000209081611f6a91906137be565b50600101611e9f565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610cbc919061387d565b600281015161ffff8116600314610b295781604051639a6d49cd60e01b8152600401610a789190612b4a565b600080611fdd858585611665565b9092509050611fec8683612381565b94509492505050565b611ffd612ab3565b600061200c84600001516124b5565b6020850151909150156120265761202684602001516124dd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff1681526020016120768c6116a9565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b81526004016120b29291906136a9565b60806040518083038185885af11580156120d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120f59190613908565b979650505050505050565b6001600160a01b0381166000908152600a602052604090208054600181018255905b50919050565b600061095a612135611b20565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000612187878787876125bf565b9150915061219481612680565b5095945050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006121cb8184613952565b61095a9190613974565b60006121e460208284866133d3565b610b109161398b565b60006121fd6028602084866133d3565b612206916139a9565b60c01c9392505050565b600061095a7f00000000000000000000000000000000000000000000000000000000000000006001600160401b038416613974565b600061225184846127ca565b509092915050565b606061226882602881866133d3565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b6060848484846040516020016122bd94939291906139d9565b6040516020818303038152906040529050949350505050565b505050565b600061095a7f000000000000000000000000000000000000000000000000000000000000000083613952565b805160609015158061235057848460405160200161233c92919091825260c01b6001600160c01b031916602082015260280190565b604051602081830303815290604052612377565b848433856040516020016123679493929190613a28565b6040516020818303038152906040525b9150935093915050565b6001600160a01b0382166123e15760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a78565b6001600160a01b038216600090815260056020526040902054818110156124555760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a78565b6001600160a01b03831660008181526005602090815260408083208686039055600780548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60008134146124d9576040516304fb820960e51b8152346004820152602401610a78565b5090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561253d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125619190613a6b565b90506001600160a01b03811661258a576040516329b99a9560e11b815260040160405180910390fd5b610b296001600160a01b038216337f00000000000000000000000000000000000000000000000000000000000000008561288b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156125f65750600090506003611fec565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561264a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661267357600060019250925050611fec565b9660009650945050505050565b600081600481111561269457612694613a88565b0361269c5750565b60018160048111156126b0576126b0613a88565b036126fd5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610a78565b600281600481111561271157612711613a88565b0361275e5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610a78565b600381600481111561277257612772613a88565b036115085760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610a78565b6001600160a01b0382166128205760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a78565b8060076000828254612832919061320a565b90915550506001600160a01b0382166000818152600560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092018352602080830180516001600160e01b03166323b872dd60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526118c0928792916000916129239185169084906129a0565b8051909150156122d65780806020019051810190612941919061368c565b6122d65760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610a78565b6060610d06848460008585600080866001600160a01b031685876040516129c79190613a9e565b60006040518083038185875af1925050503d8060008114612a04576040519150601f19603f3d011682016040523d82523d6000602084013e612a09565b606091505b50915091506120f58783838760608315612a84578251600003612a7d576001600160a01b0385163b612a7d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a78565b5081610d06565b610d068383815115612a995781518083602001fd5b8060405162461bcd60e51b8152600401610a789190612b4a565b60405180606001604052806000801916815260200160006001600160401b03168152602001612af5604051806040016040528060008152602001600081525090565b905290565b60005b83811015612b15578181015183820152602001612afd565b50506000910152565b60008151808452612b36816020860160208601612afa565b601f01601f19169290920160200192915050565b602081526000610b106020830184612b1e565b6001600160a01b038116811461150857600080fd5b60008060408385031215612b8557600080fd5b8235612b9081612b5d565b946020939093013593505050565b600060e0828403121561212257600080fd5b600060208284031215612bc257600080fd5b81356001600160401b03811115612bd857600080fd5b610d0684828501612b9e565b8351815260208085015190820152600060a08201604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b83811015612c5f5788870360bf19018552815180518852830151838801879052612c4c87890182612b1e565b9750509382019390820190600101612c20565b50508751606088015250505060208501516080850152509050610d06565b60006060828403121561212257600080fd5b60008083601f840112612ca157600080fd5b5081356001600160401b03811115612cb857600080fd5b602083019150836020828501011115612cd057600080fd5b9250929050565b600080600080600080600060e0888a031215612cf257600080fd5b612cfc8989612c7d565b96506060880135955060808801356001600160401b0380821115612d1f57600080fd5b612d2b8b838c01612c8f565b909750955060a08a01359150612d4082612b5d565b90935060c08901359080821115612d5657600080fd5b50612d638a828b01612c8f565b989b979a50959850939692959293505050565b600080600060608486031215612d8b57600080fd5b8335612d9681612b5d565b92506020840135612da681612b5d565b929592945050506040919091013590565b803563ffffffff81168114612dcb57600080fd5b919050565b60008060408385031215612de357600080fd5b612b9083612db7565b801515811461150857600080fd5b60008060408385031215612e0d57600080fd5b82356001600160401b03811115612e2357600080fd5b612e2f85828601612b9e565b9250506020830135612e4081612dec565b809150509250929050565b81518152602080830151908201526040810161095a565b803561ffff81168114612dcb57600080fd5b60008060408385031215612e8757600080fd5b612e9083612db7565b9150612e9e60208401612e62565b90509250929050565b600060208284031215612eb957600080fd5b8135610b1081612b5d565b60008060008060a08587031215612eda57600080fd5b612ee48686612c7d565b935060608501356001600160401b03811115612eff57600080fd5b612f0b87828801612c8f565b9094509250506080850135612f1f81612b5d565b939692955090935050565b60008083601f840112612f3c57600080fd5b5081356001600160401b03811115612f5357600080fd5b6020830191508360208260051b8501011115612cd057600080fd5b60008060208385031215612f8157600080fd5b82356001600160401b03811115612f9757600080fd5b612fa385828601612f2a565b90969095509350505050565b600060208284031215612fc157600080fd5b610b1082612db7565b60008060008060608587031215612fe057600080fd5b612fe985612db7565b9350612ff760208601612e62565b925060408501356001600160401b0381111561301257600080fd5b61301e87828801612c8f565b95989497509550505050565b6000806000838503608081121561304057600080fd5b84356001600160401b0381111561305657600080fd5b61306287828801612b9e565b9450506040601f198201121561307757600080fd5b50602084019150606084013561308c81612b5d565b809150509250925092565b600060c082019050835182526001600160401b03602085015116602083015260408401516130d2604084018280518252602090810151910152565b5082516080830152602083015160a0830152610b10565b600080600080600080600060e0888a03121561310457600080fd5b873561310f81612b5d565b9650602088013561311f81612b5d565b95506040880135945060608801359350608088013560ff8116811461314357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561317357600080fd5b823561317e81612b5d565b91506020830135612e4081612b5d565b6000606082840312156131a057600080fd5b610b108383612c7d565b600181811c908216806131be57607f821691505b60208210810361212257634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561095a5761095a6131f4565b604051606081016001600160401b038111828210171561323f5761323f6131de565b60405290565b604080519081016001600160401b038111828210171561323f5761323f6131de565b604051601f8201601f191681016001600160401b038111828210171561328f5761328f6131de565b604052919050565b60006001600160401b038211156132b0576132b06131de565b50601f01601f191660200190565b60006001600160401b03808411156132d8576132d86131de565b8360051b60206132e9818301613267565b86815291850191818101903684111561330157600080fd5b865b848110156133c75780358681111561331b5760008081fd5b8801606036829003121561332f5760008081fd5b61333761321d565b61334082612db7565b815261334d868301612e62565b86820152604080830135898111156133655760008081fd5b929092019136601f84011261337a5760008081fd5b823561338d61338882613297565b613267565b81815236898387010111156133a25760008081fd5b818986018a830137600091810189019190915290820152845250918301918301613303565b50979650505050505050565b600080858511156133e357600080fd5b838611156133f057600080fd5b5050820193919092039150565b6000845161340f818460208901612afa565b8201838582376000930192835250909392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610d06602083018486613425565b634e487b7160e01b600052603260045260246000fd5b6000823561013e1983360301811261348f57600080fd5b9190910192915050565b6000808335601e198436030181126134b057600080fd5b8301803591506001600160401b038211156134ca57600080fd5b602001915036819003821315612cd057600080fd5b6001600160401b038116811461150857600080fd5b63ffffffff61350289612db7565b168152602088013560208201526000604089013561351f816134df565b6001600160401b03811660408401525087606083015260e0608083015261354a60e083018789613425565b6001600160a01b03861660a084015282810360c084015261356c818587613425565b9a9950505050505050505050565b60006020828403121561358c57600080fd5b81516001600160401b038111156135a257600080fd5b8201601f810184136135b357600080fd5b80516135c161338882613297565b8181528560208385010111156135d657600080fd5b611e43826020830160208601612afa565b6000604082840312156135f957600080fd5b613601613245565b82358152602083013560208201528091505092915050565b60006020828403121561362b57600080fd5b8135610b10816134df565b60018060a01b038516815283602082015261ffff83166040820152608060608201526000610bbb6080830184612b1e565b60408152600061367a6040830185612b1e565b8281036020840152611e438185612b1e565b60006020828403121561369e57600080fd5b8151610b1081612dec565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526136df60e0840182612b1e565b90506060850151603f198483030160a08501526136fc8282612b1e565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b60006040828403121561373457600080fd5b61373c613245565b9050815181526020820151602082015292915050565b60006040828403121561376457600080fd5b610b108383613722565b601f8211156122d6576000816000526020600020601f850160051c810160208610156137975750805b601f850160051c820191505b818110156137b6578281556001016137a3565b505050505050565b81516001600160401b038111156137d7576137d76131de565b6137eb816137e584546131aa565b8461376e565b602080601f83116001811461382057600084156138085750858301515b600019600386901b1c1916600185901b1785556137b6565b600085815260208120601f198616915b8281101561384f57888601518255948401946001909101908401613830565b508582101561386d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156138fa57888303603f190185528151805163ffffffff1684528781015161ffff168885015286015160608785018190526138e681860183612b1e565b9689019694505050908601906001016138a6565b509098975050505050505050565b60006080828403121561391a57600080fd5b61392261321d565b825181526020830151613934816134df565b60208201526139468460408501613722565b60408201529392505050565b60008261396f57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761095a5761095a6131f4565b8035602083101561095a57600019602084900360031b1b1692915050565b6001600160c01b031981358181169160088510156139d15780818660080360031b1b83161692505b505092915050565b6001600160401b0360c01b8560c01b16815263ffffffff60e01b8460e01b16600882015282600c82015260008251613a1881602c850160208701612afa565b91909101602c0195945050505050565b8481526001600160401b0360c01b8460c01b16602082015282602882015260008251613a5b816048850160208701612afa565b9190910160480195945050505050565b600060208284031215613a7d57600080fd5b8151610b1081612b5d565b634e487b7160e01b600052602160045260246000fd5b6000825161348f818460208701612afa56fea264697066735822122015896e89c7b056e0c3d5861a0b299c70d4df5ed8f71f89fd49c054cc8b4280d264736f6c63430008160033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000006727b22867e7ece399aa306f94d5521f59a59a12000000000000000000000000000000000000000000000000000000000000000b49534b524120544f4b454e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349534b0000000000000000000000000000000000000000000000000000000000
0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000006727b22867e7ece399aa306f94d5521f59a59a12000000000000000000000000000000000000000000000000000000000000000b49534b524120544f4b454e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349534b0000000000000000000000000000000000000000000000000000000000
----Decoded View------------Arg [0] : _name (string): ISKRA TOKENArg [1] : _symbol (string): ISKArg [2] : _lzEndpoint (address): 0x1a44076050125825900e736c501f859c50fE728cArg [3] : _delegate (address): 0x6727b22867e7ecE399aa306f94D5521F59A59a12
----Encoded View------------Arg [0] : 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b49534b524120544f4b454e000000000000000000000000000000000000000000Arg [1] : 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000349534b0000000000000000000000000000000000000000000000000000000000Arg [2] : 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728cArg [3] : 0x0000000000000000000000006727b22867e7ece399aa306f94d5521f59a59a12