[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "DepositAmountInvalid", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC1155InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC1155InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "idsLength", "type": "uint256" }, { "internalType": "uint256", "name": "valuesLength", "type": "uint256" } ], "name": "ERC1155InvalidArrayLength", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC1155InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC1155InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC1155InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC1155MissingApprovalForAll", "type": "error" }, { "inputs": [], "name": "Erc20CouldNotBeTransferred", "type": "error" }, { "inputs": [], "name": "InvalidArrayLength", "type": "error" }, { "inputs": [], "name": "NotOwner", "type": "error" }, { "inputs": [], "name": "TokenAlreadyExists", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "address[]", "name": "wallets", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "createFleet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "deposit", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "address", "name": "erc20Address", "type": "address" } ], "name": "depositErc20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getWithdrawAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "erc20Address", "type": "address" } ], "name": "getWithdrawAmountErc20", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "erc20Address", "type": "address" } ], "name": "withdrawErc20", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6003556040518060400160405280601f81526020017f476164676574526576656e756550617274696369706174696f6e546f6b656e008152506005908161006c9190610391565b506040518060400160405280600481526020017f4752505400000000000000000000000000000000000000000000000000000000815250600690816100b19190610391565b503480156100be57600080fd5b50604051806060016040528060258152602001613e5a602591396100e78161012e60201b60201c565b5033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610463565b806002908161013d9190610391565b5050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806101c257607f821691505b6020821081036101d5576101d461017b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261023d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610200565b6102478683610200565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061028e6102896102848461025f565b610269565b61025f565b9050919050565b6000819050919050565b6102a883610273565b6102bc6102b482610295565b84845461020d565b825550505050565b600090565b6102d16102c4565b6102dc81848461029f565b505050565b5b81811015610300576102f56000826102c9565b6001810190506102e2565b5050565b601f82111561034557610316816101db565b61031f846101f0565b8101602085101561032e578190505b61034261033a856101f0565b8301826102e1565b50505b505050565b600082821c905092915050565b60006103686000198460080261034a565b1980831691505092915050565b60006103818383610357565b9150826002028217905092915050565b61039a82610141565b67ffffffffffffffff8111156103b3576103b261014c565b5b6103bd82546101aa565b6103c8828285610304565b600060209050601f8311600181146103fb57600084156103e9578287015190505b6103f38582610375565b86555061045b565b601f198416610409866101db565b60005b828110156104315784890151825560018201915060208501945060208101905061040c565b8683101561044e578489015161044a601f891682610357565b8355505b6001600288020188555050505b505050505050565b6139e8806104726000396000f3fe60806040526004361061011e5760003560e01c80638da5cb5b116100a0578063e8a3d48511610064578063e8a3d485146103e4578063e985e9c51461040f578063f223885a1461044c578063f242432a14610468578063f2583997146104915761011e565b80638da5cb5b146102ff57806395d89b411461032a578063a22cb46514610355578063abff25481461037e578063c7e42b1b146103bb5761011e565b806313af4035116100e757806313af40351461023057806323970cf7146102595780632eb2c2d6146102825780633ccfd60b146102ab5780634e1273f4146102c25761011e565b8062fdd58e1461012357806301ffc9a714610160578063027932f91461019d57806306fdde03146101c85780630e89341c146101f3575b600080fd5b34801561012f57600080fd5b5061014a6004803603810190610145919061297e565b6104ba565b60405161015791906129cd565b60405180910390f35b34801561016c57600080fd5b5061018760048036038101906101829190612a40565b610514565b6040516101949190612a88565b60405180910390f35b3480156101a957600080fd5b506101b26105f6565b6040516101bf91906129cd565b60405180910390f35b3480156101d457600080fd5b506101dd61063d565b6040516101ea9190612b33565b60405180910390f35b3480156101ff57600080fd5b5061021a60048036038101906102159190612b55565b6106cb565b6040516102279190612b33565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612b82565b61075f565b005b34801561026557600080fd5b50610280600480360381019061027b9190612e15565b61082a565b005b34801561028e57600080fd5b506102a960048036038101906102a49190612f8a565b610a48565b005b3480156102b757600080fd5b506102c0610b8a565b005b3480156102ce57600080fd5b506102e960048036038101906102e49190613059565b610c1f565b6040516102f6919061318f565b60405180910390f35b34801561030b57600080fd5b50610314610d28565b60405161032191906131c0565b60405180910390f35b34801561033657600080fd5b5061033f610d4e565b60405161034c9190612b33565b60405180910390f35b34801561036157600080fd5b5061037c60048036038101906103779190613207565b610ddc565b005b34801561038a57600080fd5b506103a560048036038101906103a09190612b82565b610df2565b6040516103b291906129cd565b60405180910390f35b3480156103c757600080fd5b506103e260048036038101906103dd9190612b82565b610e78565b005b3480156103f057600080fd5b506103f9610f4b565b6040516104069190612b33565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190613247565b610f6b565b6040516104439190612a88565b60405180910390f35b61046660048036038101906104619190613287565b610fff565b005b34801561047457600080fd5b5061048f600480360381019061048a91906132ff565b611184565b005b34801561049d57600080fd5b506104b860048036038101906104b39190613396565b611252565b005b600080600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105df57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806105ef57506105ee826115ab565b5b9050919050565b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6005805461064a90613450565b80601f016020809104026020016040519081016040528092919081815260200182805461067690613450565b80156106c35780601f10610698576101008083540402835291602001916106c3565b820191906000526020600020905b8154815290600101906020018083116106a657829003601f168201915b505050505081565b6060600280546106da90613450565b80601f016020809104026020016040519081016040528092919081815260200182805461070690613450565b80156107535780601f1061072857610100808354040283529160200191610753565b820191906000526020600020905b81548152906001019060200180831161073657829003601f168201915b50505050509050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e6576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b1576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006007600087815260200190815260200160002054146108fe576040517fc991cbb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8251845114610939576040517f9d89020a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b85518110156109ff576109ca86828151811061095c5761095b613481565b5b60200260200101518887848151811061097857610977613481565b5b602002602001015187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611615565b8481815181106109dd576109dc613481565b5b6020026020010151826109f091906134df565b9150808060010191505061093d565b5080600760008881526020019081526020016000208190555084600860008881526020019081526020016000209080519060200190610a3f92919061282f565b50505050505050565b6000610a526116ae565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610a975750610a958682610f6b565b155b15610adb5780866040517fe237d922000000000000000000000000000000000000000000000000000000008152600401610ad2929190613513565b60405180910390fd5b610ae886868686866116b6565b60005b60018551610af9919061353c565b811015610b81576000610b2688878481518110610b1957610b18613481565b5b60200260200101516104ba565b03610b5057610b4f87868381518110610b4257610b41613481565b5b60200260200101516117ae565b5b610b7486868381518110610b6757610b66613481565b5b602002602001015161192a565b8080600101915050610aeb565b50505050505050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc610bac6105f6565b9081150290604051600060405180830381858888f19350505050158015610bd7573d6000803e3d6000fd5b506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60608151835114610c6b57815183516040517f5b059991000000000000000000000000000000000000000000000000000000008152600401610c62929190613570565b60405180910390fd5b6000835167ffffffffffffffff811115610c8857610c87612bb4565b5b604051908082528060200260200182016040528015610cb65781602001602082028036833780820191505090505b50905060005b8451811015610d1d57610cf3610cdb82876119bb90919063ffffffff16565b610cee83876119cf90919063ffffffff16565b6104ba565b828281518110610d0657610d05613481565b5b602002602001018181525050806001019050610cbc565b508091505092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054610d5b90613450565b80601f0160208091040260200160405190810160405280929190818152602001828054610d8790613450565b8015610dd45780601f10610da957610100808354040283529160200191610dd4565b820191906000526020600020905b815481529060010190602001808311610db757829003601f168201915b505050505081565b610dee610de76116ae565b83836119e3565b5050565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610e8382610df2565b9050600082905060008173ffffffffffffffffffffffffffffffffffffffff166323b872dd3033866040518463ffffffff1660e01b8152600401610ec993929190613599565b6020604051808303816000875af1158015610ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0c91906135e5565b905080610f45576040517f05a079db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b606060405180606001604052806023815260200161399060239139905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611086576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80518251146110c1576040517f9d89020a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080600090505b8351811015611145578281815181106110e5576110e4613481565b5b6020026020010151826110f891906134df565b91506111388482815181106111105761110f613481565b5b602002602001015184838151811061112b5761112a613481565b5b6020026020010151611b53565b80806001019150506110c9565b5034811461117f576040517fb358230d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b600061118e6116ae565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156111d357506111d18682610f6b565b155b156112175780866040517fe237d92200000000000000000000000000000000000000000000000000000000815260040161120e929190613513565b60405180910390fd5b6112248686868686611cb8565b600061123087866104ba565b036112405761123f86856117ae565b5b61124a858561192a565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112d9576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151835114611314576040517f9d89020a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080600090505b84518110156113995783818151811061133857611337613481565b5b60200260200101518261134b91906134df565b915061138c85828151811061136357611362613481565b5b602002602001015185838151811061137e5761137d613481565b5b602002602001015185611dc3565b808060010191505061131c565b50600082905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016113da91906131c0565b602060405180830381865afa1580156113f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141b9190613627565b905082811015611460576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611457906136a0565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663095ea7b330856040518363ffffffff1660e01b815260040161149b9291906136c0565b6020604051808303816000875af11580156114ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114de91906135e5565b6114e757600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b815260040161152693929190613599565b6020604051808303816000875af1158015611545573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156991906135e5565b9050806115a2576040517f05a079db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036116875760006040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161167e91906131c0565b60405180910390fd5b6000806116948585611f66565b915091506116a6600087848487611f96565b505050505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117285760006040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161171f91906131c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361179a5760006040517f01a8351400000000000000000000000000000000000000000000000000000000815260040161179191906131c0565b60405180910390fd5b6117a78585858585611f96565b5050505050565b60006117ba8383612048565b905060035481146119255760008190505b600160086000858152602001908152602001600020805490506117ee919061353c565b8110156118cb576008600084815260200190815260200160002060018261181591906134df565b8154811061182657611825613481565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660086000858152602001908152602001600020828154811061187657611875613481565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080806001019150506117cb565b50600860008381526020019081526020016000208054806118ef576118ee6136e9565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b505050565b60006119368383612048565b905060035481146119b65760086000838152602001908152602001600020839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b600060208202602084010151905092915050565b600060208202602084010151905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a555760006040517fced3e100000000000000000000000000000000000000000000000000000000008152600401611a4c91906131c0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611b469190612a88565b60405180910390a3505050565b60005b6008600084815260200190815260200160002080549050811015611cb3576000611bcf600860008681526020019081526020016000208381548110611b9e57611b9d613481565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856104ba565b9050600060076000868152602001908152602001600020548285611bf39190613718565b611bfd9190613789565b90508060096000600860008981526020019081526020016000208681548110611c2957611c28613481565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c9d91906134df565b9250508190555050508080600101915050611b56565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611d2a5760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401611d2191906131c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d9c5760006040517f01a83514000000000000000000000000000000000000000000000000000000008152600401611d9391906131c0565b60405180910390fd5b600080611da98585611f66565b91509150611dba8787848487611f96565b50505050505050565b60005b6008600085815260200190815260200160002080549050811015611f60576000611e3f600860008781526020019081526020016000208381548110611e0e57611e0d613481565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866104ba565b9050600060076000878152602001908152602001600020548286611e639190613718565b611e6d9190613789565b905080600a6000600860008a81526020019081526020016000208681548110611e9957611e98613481565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f4a91906134df565b9250508190555050508080600101915050611dc6565b50505050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b611fa28585858561211f565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612041576000611fe06116ae565b905060018451036120305760006120016000866119cf90919063ffffffff16565b905060006120196000866119cf90919063ffffffff16565b90506120298389898585896124c7565b505061203f565b61203e81878787878761267b565b5b505b5050505050565b600080600090505b60016008600085815260200190815260200160002080549050612073919061353c565b811015612112578373ffffffffffffffffffffffffffffffffffffffff166008600085815260200190815260200160002082815481106120b6576120b5613481565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036121055780915050612119565b8080600101915050612050565b5060035490505b92915050565b805182511461216957815181516040517f5b059991000000000000000000000000000000000000000000000000000000008152600401612160929190613570565b60405180910390fd5b60006121736116ae565b905060005b835181101561238257600061219682866119cf90919063ffffffff16565b905060006121ad83866119cf90919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146122da57600080600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561228257888183856040517f03dee4c500000000000000000000000000000000000000000000000000000000815260040161227994939291906137ba565b60405180910390fd5b81810360008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614612375578060008084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461236d91906134df565b925050819055505b5050806001019050612178565b5060018351036124415760006123a26000856119cf90919063ffffffff16565b905060006123ba6000856119cf90919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051612432929190613570565b60405180910390a450506124c0565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516124b79291906137ff565b60405180910390a45b5050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b1115612673578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161252895949392919061388b565b6020604051808303816000875af192505050801561256457506040513d601f19601f8201168201806040525081019061256191906138fa565b60015b6125e8573d8060008114612594576040519150601f19603f3d011682016040523d82523d6000602084013e612599565b606091505b5060008151036125e057846040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016125d791906131c0565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461267157846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161266891906131c0565b60405180910390fd5b505b505050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b1115612827578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016126dc959493929190613927565b6020604051808303816000875af192505050801561271857506040513d601f19601f8201168201806040525081019061271591906138fa565b60015b61279c573d8060008114612748576040519150601f19603f3d011682016040523d82523d6000602084013e61274d565b606091505b50600081510361279457846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161278b91906131c0565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461282557846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161281c91906131c0565b60405180910390fd5b505b505050505050565b8280548282559060005260206000209081019282156128a8579160200282015b828111156128a75782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061284f565b5b5090506128b591906128b9565b5090565b5b808211156128d25760008160009055506001016128ba565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612915826128ea565b9050919050565b6129258161290a565b811461293057600080fd5b50565b6000813590506129428161291c565b92915050565b6000819050919050565b61295b81612948565b811461296657600080fd5b50565b60008135905061297881612952565b92915050565b60008060408385031215612995576129946128e0565b5b60006129a385828601612933565b92505060206129b485828601612969565b9150509250929050565b6129c781612948565b82525050565b60006020820190506129e260008301846129be565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612a1d816129e8565b8114612a2857600080fd5b50565b600081359050612a3a81612a14565b92915050565b600060208284031215612a5657612a556128e0565b5b6000612a6484828501612a2b565b91505092915050565b60008115159050919050565b612a8281612a6d565b82525050565b6000602082019050612a9d6000830184612a79565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612add578082015181840152602081019050612ac2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b0582612aa3565b612b0f8185612aae565b9350612b1f818560208601612abf565b612b2881612ae9565b840191505092915050565b60006020820190508181036000830152612b4d8184612afa565b905092915050565b600060208284031215612b6b57612b6a6128e0565b5b6000612b7984828501612969565b91505092915050565b600060208284031215612b9857612b976128e0565b5b6000612ba684828501612933565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bec82612ae9565b810181811067ffffffffffffffff82111715612c0b57612c0a612bb4565b5b80604052505050565b6000612c1e6128d6565b9050612c2a8282612be3565b919050565b600067ffffffffffffffff821115612c4a57612c49612bb4565b5b602082029050602081019050919050565b600080fd5b6000612c73612c6e84612c2f565b612c14565b90508083825260208201905060208402830185811115612c9657612c95612c5b565b5b835b81811015612cbf5780612cab8882612933565b845260208401935050602081019050612c98565b5050509392505050565b600082601f830112612cde57612cdd612baf565b5b8135612cee848260208601612c60565b91505092915050565b600067ffffffffffffffff821115612d1257612d11612bb4565b5b602082029050602081019050919050565b6000612d36612d3184612cf7565b612c14565b90508083825260208201905060208402830185811115612d5957612d58612c5b565b5b835b81811015612d825780612d6e8882612969565b845260208401935050602081019050612d5b565b5050509392505050565b600082601f830112612da157612da0612baf565b5b8135612db1848260208601612d23565b91505092915050565b600080fd5b60008083601f840112612dd557612dd4612baf565b5b8235905067ffffffffffffffff811115612df257612df1612dba565b5b602083019150836001820283011115612e0e57612e0d612c5b565b5b9250929050565b600080600080600060808688031215612e3157612e306128e0565b5b6000612e3f88828901612969565b955050602086013567ffffffffffffffff811115612e6057612e5f6128e5565b5b612e6c88828901612cc9565b945050604086013567ffffffffffffffff811115612e8d57612e8c6128e5565b5b612e9988828901612d8c565b935050606086013567ffffffffffffffff811115612eba57612eb96128e5565b5b612ec688828901612dbf565b92509250509295509295909350565b600080fd5b600067ffffffffffffffff821115612ef557612ef4612bb4565b5b612efe82612ae9565b9050602081019050919050565b82818337600083830152505050565b6000612f2d612f2884612eda565b612c14565b905082815260208101848484011115612f4957612f48612ed5565b5b612f54848285612f0b565b509392505050565b600082601f830112612f7157612f70612baf565b5b8135612f81848260208601612f1a565b91505092915050565b600080600080600060a08688031215612fa657612fa56128e0565b5b6000612fb488828901612933565b9550506020612fc588828901612933565b945050604086013567ffffffffffffffff811115612fe657612fe56128e5565b5b612ff288828901612d8c565b935050606086013567ffffffffffffffff811115613013576130126128e5565b5b61301f88828901612d8c565b925050608086013567ffffffffffffffff8111156130405761303f6128e5565b5b61304c88828901612f5c565b9150509295509295909350565b600080604083850312156130705761306f6128e0565b5b600083013567ffffffffffffffff81111561308e5761308d6128e5565b5b61309a85828601612cc9565b925050602083013567ffffffffffffffff8111156130bb576130ba6128e5565b5b6130c785828601612d8c565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61310681612948565b82525050565b600061311883836130fd565b60208301905092915050565b6000602082019050919050565b600061313c826130d1565b61314681856130dc565b9350613151836130ed565b8060005b83811015613182578151613169888261310c565b975061317483613124565b925050600181019050613155565b5085935050505092915050565b600060208201905081810360008301526131a98184613131565b905092915050565b6131ba8161290a565b82525050565b60006020820190506131d560008301846131b1565b92915050565b6131e481612a6d565b81146131ef57600080fd5b50565b600081359050613201816131db565b92915050565b6000806040838503121561321e5761321d6128e0565b5b600061322c85828601612933565b925050602061323d858286016131f2565b9150509250929050565b6000806040838503121561325e5761325d6128e0565b5b600061326c85828601612933565b925050602061327d85828601612933565b9150509250929050565b6000806040838503121561329e5761329d6128e0565b5b600083013567ffffffffffffffff8111156132bc576132bb6128e5565b5b6132c885828601612d8c565b925050602083013567ffffffffffffffff8111156132e9576132e86128e5565b5b6132f585828601612d8c565b9150509250929050565b600080600080600060a0868803121561331b5761331a6128e0565b5b600061332988828901612933565b955050602061333a88828901612933565b945050604061334b88828901612969565b935050606061335c88828901612969565b925050608086013567ffffffffffffffff81111561337d5761337c6128e5565b5b61338988828901612f5c565b9150509295509295909350565b6000806000606084860312156133af576133ae6128e0565b5b600084013567ffffffffffffffff8111156133cd576133cc6128e5565b5b6133d986828701612d8c565b935050602084013567ffffffffffffffff8111156133fa576133f96128e5565b5b61340686828701612d8c565b925050604061341786828701612933565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061346857607f821691505b60208210810361347b5761347a613421565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134ea82612948565b91506134f583612948565b925082820190508082111561350d5761350c6134b0565b5b92915050565b600060408201905061352860008301856131b1565b61353560208301846131b1565b9392505050565b600061354782612948565b915061355283612948565b925082820390508181111561356a576135696134b0565b5b92915050565b600060408201905061358560008301856129be565b61359260208301846129be565b9392505050565b60006060820190506135ae60008301866131b1565b6135bb60208301856131b1565b6135c860408301846129be565b949350505050565b6000815190506135df816131db565b92915050565b6000602082840312156135fb576135fa6128e0565b5b6000613609848285016135d0565b91505092915050565b60008151905061362181612952565b92915050565b60006020828403121561363d5761363c6128e0565b5b600061364b84828501613612565b91505092915050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b600061368a601283612aae565b915061369582613654565b602082019050919050565b600060208201905081810360008301526136b98161367d565b9050919050565b60006040820190506136d560008301856131b1565b6136e260208301846129be565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600061372382612948565b915061372e83612948565b925082820261373c81612948565b91508282048414831517613753576137526134b0565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061379482612948565b915061379f83612948565b9250826137af576137ae61375a565b5b828204905092915050565b60006080820190506137cf60008301876131b1565b6137dc60208301866129be565b6137e960408301856129be565b6137f660608301846129be565b95945050505050565b600060408201905081810360008301526138198185613131565b9050818103602083015261382d8184613131565b90509392505050565b600081519050919050565b600082825260208201905092915050565b600061385d82613836565b6138678185613841565b9350613877818560208601612abf565b61388081612ae9565b840191505092915050565b600060a0820190506138a060008301886131b1565b6138ad60208301876131b1565b6138ba60408301866129be565b6138c760608301856129be565b81810360808301526138d98184613852565b90509695505050505050565b6000815190506138f481612a14565b92915050565b6000602082840312156139105761390f6128e0565b5b600061391e848285016138e5565b91505092915050565b600060a08201905061393c60008301886131b1565b61394960208301876131b1565b818103604083015261395b8186613131565b9050818103606083015261396f8185613131565b905081810360808301526139838184613852565b9050969550505050505056fe68747470733a2f2f6c6f63616c686f73742f6d657461646174612f636f6e7472616374a26469706673582212208cb063930374ffce381f84392171db50b280cbe10998bbc4e70212699333e7d664736f6c634300081b003368747470733a2f2f6c6f63616c686f73742f6d657461646174612f746f6b656e2f7b69647d