You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

643 lines
74 KiB

{
"_format": "hh-sol-artifact-1",
"contractName": "MoonbirdPunks",
"sourceName": "contracts/MoonbirdPunks.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "ApprovalCallerNotOwnerNorApproved",
"type": "error"
},
{
"inputs": [],
"name": "ApprovalQueryForNonexistentToken",
"type": "error"
},
{
"inputs": [],
"name": "ApprovalToCurrentOwner",
"type": "error"
},
{
"inputs": [],
"name": "ApproveToCaller",
"type": "error"
},
{
"inputs": [],
"name": "BalanceQueryForZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "MintToZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "MintZeroQuantity",
"type": "error"
},
{
"inputs": [],
"name": "OwnerQueryForNonexistentToken",
"type": "error"
},
{
"inputs": [],
"name": "TransferCallerNotOwnerNorApproved",
"type": "error"
},
{
"inputs": [],
"name": "TransferFromIncorrectOwner",
"type": "error"
},
{
"inputs": [],
"name": "TransferToNonERC721ReceiverImplementer",
"type": "error"
},
{
"inputs": [],
"name": "TransferToZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "URIQueryForNonexistentToken",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "approved",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"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": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [],
"name": "MINT_PRICE",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "baseURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "flipPresaleState",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "flipSaleState",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "freeAvailableToMint",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "quantity",
"type": "uint8"
}
],
"name": "freeMint",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getApproved",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "quantity",
"type": "uint8"
}
],
"name": "mintPunk",
"outputs": [],
"stateMutability": "payable",
"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": "addresses",
"type": "address[]"
},
{
"internalType": "uint256",
"name": "quantity",
"type": "uint256"
}
],
"name": "ownerMint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ownerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "presale",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "saleIsActive",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"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": "addresses",
"type": "address[]"
},
{
"internalType": "uint8",
"name": "numAllowedToMint",
"type": "uint8"
}
],
"name": "setFreeAllowList",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "setPrice",
"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": "tokenId",
"type": "uint256"
}
],
"name": "tokenURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "withdraw",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
],
"bytecode": "0x6080604052600a6009556109a5600a556000600b556001600c60006101000a81548160ff0219169083151502179055506000600c60016101000a81548160ff0219169083151502179055506040518060600160405280602e815260200162003f30602e9139600e90805190602001906200007b92919062000239565b503480156200008957600080fd5b506040518060400160405280600d81526020017f4d6f6f6e6269726450756e6b73000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d4250000000000000000000000000000000000000000000000000000000000081525081600290805190602001906200010e92919062000239565b5080600390805190602001906200012792919062000239565b50620001386200016660201b60201c565b600081905550505062000160620001546200016b60201b60201c565b6200017360201b60201c565b6200034e565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200024790620002e9565b90600052602060002090601f0160209004810192826200026b5760008555620002b7565b82601f106200028657805160ff1916838001178555620002b7565b82800160010185558215620002b7579182015b82811115620002b657825182559160200191906001019062000299565b5b509050620002c69190620002ca565b5090565b5b80821115620002e5576000816000905550600101620002cb565b5090565b600060028204905060018216806200030257607f821691505b602082108114156200031957620003186200031f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b613bd2806200035e6000396000f3fe6080604052600436106101cd5760003560e01c806391b7f5ed116100f7578063dce0e46111610095578063f064ef9811610064578063f064ef9814610639578063f2fde38b14610662578063f81227d41461068b578063fdea8e0b146106a2576101cd565b8063dce0e4611461056b578063e985e9c5146105a8578063eb8d2444146105e5578063ecade8d814610610576101cd565b8063b88d4fde116100d1578063b88d4fde146104be578063c002d23d146104e7578063c87b56dd14610512578063c87c089c1461054f576101cd565b806391b7f5ed1461044157806395d89b411461046a578063a22cb46514610495576101cd565b80633ccfd60b1161016f5780636c0360eb1161013e5780636c0360eb1461039757806370a08231146103c2578063715018a6146103ff5780638da5cb5b14610416576101cd565b80633ccfd60b1461030b57806342842e0e146103155780636352211e1461033e57806366b7f63d1461037b576101cd565b8063095ea7b3116101ab578063095ea7b31461027757806318160ddd146102a057806323b872dd146102cb57806334918dfd146102f4576101cd565b806301ffc9a7146101d257806306fdde031461020f578063081812fc1461023a575b600080fd5b3480156101de57600080fd5b506101f960048036038101906101f4919061301b565b6106cd565b6040516102069190613364565b60405180910390f35b34801561021b57600080fd5b506102246107af565b604051610231919061337f565b60405180910390f35b34801561024657600080fd5b50610261600480360381019061025c919061306d565b610841565b60405161026e91906132fd565b60405180910390f35b34801561028357600080fd5b5061029e60048036038101906102999190612f2f565b6108bd565b005b3480156102ac57600080fd5b506102b56109c8565b6040516102c291906134c1565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190612e29565b6109df565b005b34801561030057600080fd5b506103096109ef565b005b610313610a97565b005b34801561032157600080fd5b5061033c60048036038101906103379190612e29565b610b63565b005b34801561034a57600080fd5b506103656004803603810190610360919061306d565b610b83565b60405161037291906132fd565b60405180910390f35b61039560048036038101906103909190613096565b610b99565b005b3480156103a357600080fd5b506103ac610dba565b6040516103b9919061337f565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e49190612dc4565b610e48565b6040516103f691906134c1565b60405180910390f35b34801561040b57600080fd5b50610414610f18565b005b34801561042257600080fd5b5061042b610fa0565b60405161043891906132fd565b60405180910390f35b34801561044d57600080fd5b506104686004803603810190610463919061306d565b610fca565b005b34801561047657600080fd5b5061047f611050565b60405161048c919061337f565b60405180910390f35b3480156104a157600080fd5b506104bc60048036038101906104b79190612ef3565b6110e2565b005b3480156104ca57600080fd5b506104e560048036038101906104e09190612e78565b61125a565b005b3480156104f357600080fd5b506104fc6112d6565b60405161050991906134c1565b60405180910390f35b34801561051e57600080fd5b506105396004803603810190610534919061306d565b6112dc565b604051610546919061337f565b60405180910390f35b61056960048036038101906105649190613096565b61137b565b005b34801561057757600080fd5b50610592600480360381019061058d9190612dc4565b6115aa565b60405161059f91906134dc565b60405180910390f35b3480156105b457600080fd5b506105cf60048036038101906105ca9190612ded565b611600565b6040516105dc9190613364565b60405180910390f35b3480156105f157600080fd5b506105fa611694565b6040516106079190613364565b60405180910390f35b34801561061c57600080fd5b5061063760048036038101906106329190612f6b565b6116a7565b005b34801561064557600080fd5b50610660600480360381019061065b9190612fc3565b611808565b005b34801561066e57600080fd5b5061068960048036038101906106849190612dc4565b611950565b005b34801561069757600080fd5b506106a0611a48565b005b3480156106ae57600080fd5b506106b7611af0565b6040516106c49190613364565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061079857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107a857506107a782611b03565b5b9050919050565b6060600280546107be9061379c565b80601f01602080910402602001604051908101604052809291908181526020018280546107ea9061379c565b80156108375780601f1061080c57610100808354040283529160200191610837565b820191906000526020600020905b81548152906001019060200180831161081a57829003601f168201915b5050505050905090565b600061084c82611b6d565b610882576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108c882610b83565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610930576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661094f611bbb565b73ffffffffffffffffffffffffffffffffffffffff1614158015610981575061097f8161097a611bbb565b611600565b155b156109b8576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c3838383611bc3565b505050565b60006109d2611c75565b6001546000540303905090565b6109ea838383611c7a565b505050565b6109f7611bbb565b73ffffffffffffffffffffffffffffffffffffffff16610a15610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290613421565b60405180910390fd5b600c60019054906101000a900460ff1615600c60016101000a81548160ff021916908315150217905550565b610a9f611bbb565b73ffffffffffffffffffffffffffffffffffffffff16610abd610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614610b13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0a90613421565b60405180910390fd5b610b1b610fa0565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610b60573d6000803e3d6000fd5b50565b610b7e8383836040518060200160405280600081525061125a565b505050565b6000610b8e82612130565b600001519050919050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe90613441565b60405180910390fd5b600c60009054906101000a900460ff1615610c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4e906133c1565b60405180910390fd5b600c60019054906101000a900460ff16610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d906133e1565b60405180910390fd5b60008160ff16118015610cbe57506009548160ff1611155b610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf4906134a1565b60405180910390fd5b600a548160ff16610d0c6109c8565b610d169190613590565b1115610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e90613401565b60405180910390fd5b8060ff16600b54610d689190613617565b341015610daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da190613481565b60405180910390fd5b610db7338260ff166123bf565b50565b600e8054610dc79061379c565b80601f0160208091040260200160405190810160405280929190818152602001828054610df39061379c565b8015610e405780601f10610e1557610100808354040283529160200191610e40565b820191906000526020600020905b815481529060010190602001808311610e2357829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eb0576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b610f20611bbb565b73ffffffffffffffffffffffffffffffffffffffff16610f3e610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614610f94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8b90613421565b60405180910390fd5b610f9e60006123dd565b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610fd2611bbb565b73ffffffffffffffffffffffffffffffffffffffff16610ff0610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614611046576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103d90613421565b60405180910390fd5b80600b8190555050565b60606003805461105f9061379c565b80601f016020809104026020016040519081016040528092919081815260200182805461108b9061379c565b80156110d85780601f106110ad576101008083540402835291602001916110d8565b820191906000526020600020905b8154815290600101906020018083116110bb57829003601f168201915b5050505050905090565b6110ea611bbb565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561114f576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806007600061115c611bbb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611209611bbb565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161124e9190613364565b60405180910390a35050565b611265848484611c7a565b6112848373ffffffffffffffffffffffffffffffffffffffff166124a3565b80156112995750611297848484846124c6565b155b156112d0576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b600b5481565b60606112e782611b6d565b61131d576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611327612626565b90506000815114156113485760405180602001604052806000815250611373565b80611352846126b8565b6040516020016113639291906132d9565b6040516020818303038152906040525b915050919050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e090613441565b60405180910390fd5b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168160ff16111561147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590613461565b60405180910390fd5b600c60019054906101000a900460ff166114cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c4906133e1565b60405180910390fd5b600a548160ff166114dc6109c8565b6114e69190613590565b1115611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e90613401565b60405180910390fd5b80600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282829054906101000a900460ff1661158291906136a5565b92506101000a81548160ff021916908360ff1602179055506115a7338260ff166123bf565b50565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600c60019054906101000a900460ff1681565b6116af611bbb565b73ffffffffffffffffffffffffffffffffffffffff166116cd610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a90613421565b60405180910390fd5b600a548161172f6109c8565b6117399190613590565b111561177a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177190613401565b60405180910390fd5b60005b83839050811015611802576117ef8484838181106117c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906117d99190612dc4565b8360405180602001604052806000815250612865565b80806117fa906137ff565b91505061177d565b50505050565b611810611bbb565b73ffffffffffffffffffffffffffffffffffffffff1661182e610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614611884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187b90613421565b60405180910390fd5b60005b8383905081101561194a5781600d60008686858181106118d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906118e59190612dc4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055508080611942906137ff565b915050611887565b50505050565b611958611bbb565b73ffffffffffffffffffffffffffffffffffffffff16611976610fa0565b73ffffffffffffffffffffffffffffffffffffffff16146119cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c390613421565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a33906133a1565b60405180910390fd5b611a45816123dd565b50565b611a50611bbb565b73ffffffffffffffffffffffffffffffffffffffff16611a6e610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614611ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abb90613421565b60405180910390fd5b600c60009054906101000a900460ff1615600c60006101000a81548160ff021916908315150217905550565b600c60009054906101000a900460ff1681565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600081611b78611c75565b11158015611b87575060005482105b8015611bb4575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600090565b6000611c8582612130565b90508373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611cf0576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff16611d11611bbb565b73ffffffffffffffffffffffffffffffffffffffff161480611d405750611d3f85611d3a611bbb565b611600565b5b80611d855750611d4e611bbb565b73ffffffffffffffffffffffffffffffffffffffff16611d6d84610841565b73ffffffffffffffffffffffffffffffffffffffff16145b905080611dbe576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611e25576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e328585856001612877565b611e3e60008487611bc3565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600460008581526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060006001850190506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156120be5760005482146120bd57878160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612129858585600161287d565b5050505050565b612138612c51565b600082905080612146611c75565b11158015612155575060005481105b15612388576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050806040015161238657600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161461226a5780925050506123ba565b5b60011561238557818060019003925050600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146123805780925050506123ba565b61226b565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6123d9828260405180602001604052806000815250612865565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124ec611bbb565b8786866040518563ffffffff1660e01b815260040161250e9493929190613318565b602060405180830381600087803b15801561252857600080fd5b505af192505050801561255957506040513d601f19601f820116820180604052508101906125569190613044565b60015b6125d3573d8060008114612589576040519150601f19603f3d011682016040523d82523d6000602084013e61258e565b606091505b506000815114156125cb576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600e80546126359061379c565b80601f01602080910402602001604051908101604052809291908181526020018280546126619061379c565b80156126ae5780601f10612683576101008083540402835291602001916126ae565b820191906000526020600020905b81548152906001019060200180831161269157829003601f168201915b5050505050905090565b60606000821415612700576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612860565b600082905060005b6000821461273257808061271b906137ff565b915050600a8261272b91906135e6565b9150612708565b60008167ffffffffffffffff811115612774577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156127a65781602001600182028036833780820191505090505b5090505b60008514612859576001826127bf9190613671565b9150600a856127ce9190613848565b60306127da9190613590565b60f81b818381518110612816577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561285291906135e6565b94506127aa565b8093505050505b919050565b6128728383836001612883565b505050565b50505050565b50505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156128f0576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084141561292b576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129386000868387612877565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600081905060008582019050838015612b025750612b018773ffffffffffffffffffffffffffffffffffffffff166124a3565b5b15612bc8575b818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612b7760008884806001019550886124c6565b612bad576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821415612b08578260005414612bc357600080fd5b612c34565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480821415612bc9575b816000819055505050612c4a600086838761287d565b5050505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b6000612ca7612ca28461351c565b6134f7565b905082815260208101848484011115612cbf57600080fd5b612cca84828561375a565b509392505050565b600081359050612ce181613b29565b92915050565b60008083601f840112612cf957600080fd5b8235905067ffffffffffffffff811115612d1257600080fd5b602083019150836020820283011115612d2a57600080fd5b9250929050565b600081359050612d4081613b40565b92915050565b600081359050612d5581613b57565b92915050565b600081519050612d6a81613b57565b92915050565b600082601f830112612d8157600080fd5b8135612d91848260208601612c94565b91505092915050565b600081359050612da981613b6e565b92915050565b600081359050612dbe81613b85565b92915050565b600060208284031215612dd657600080fd5b6000612de484828501612cd2565b91505092915050565b60008060408385031215612e0057600080fd5b6000612e0e85828601612cd2565b9250506020612e1f85828601612cd2565b9150509250929050565b600080600060608486031215612e3e57600080fd5b6000612e4c86828701612cd2565b9350506020612e5d86828701612cd2565b9250506040612e6e86828701612d9a565b9150509250925092565b60008060008060808587031215612e8e57600080fd5b6000612e9c87828801612cd2565b9450506020612ead87828801612cd2565b9350506040612ebe87828801612d9a565b925050606085013567ffffffffffffffff811115612edb57600080fd5b612ee787828801612d70565b91505092959194509250565b60008060408385031215612f0657600080fd5b6000612f1485828601612cd2565b9250506020612f2585828601612d31565b9150509250929050565b60008060408385031215612f4257600080fd5b6000612f5085828601612cd2565b9250506020612f6185828601612d9a565b9150509250929050565b600080600060408486031215612f8057600080fd5b600084013567ffffffffffffffff811115612f9a57600080fd5b612fa686828701612ce7565b93509350506020612fb986828701612d9a565b9150509250925092565b600080600060408486031215612fd857600080fd5b600084013567ffffffffffffffff811115612ff257600080fd5b612ffe86828701612ce7565b9350935050602061301186828701612daf565b9150509250925092565b60006020828403121561302d57600080fd5b600061303b84828501612d46565b91505092915050565b60006020828403121561305657600080fd5b600061306484828501612d5b565b91505092915050565b60006020828403121561307f57600080fd5b600061308d84828501612d9a565b91505092915050565b6000602082840312156130a857600080fd5b60006130b684828501612daf565b91505092915050565b6130c8816136d9565b82525050565b6130d7816136eb565b82525050565b60006130e88261354d565b6130f28185613563565b9350613102818560208601613769565b61310b81613935565b840191505092915050565b600061312182613558565b61312b8185613574565b935061313b818560208601613769565b61314481613935565b840191505092915050565b600061315a82613558565b6131648185613585565b9350613174818560208601613769565b80840191505092915050565b600061318d602683613574565b915061319882613946565b604082019050919050565b60006131b0601183613574565b91506131bb82613995565b602082019050919050565b60006131d3601b83613574565b91506131de826139be565b602082019050919050565b60006131f6601283613574565b9150613201826139e7565b602082019050919050565b6000613219602083613574565b915061322482613a10565b602082019050919050565b600061323c602483613574565b915061324782613a39565b604082019050919050565b600061325f602283613574565b915061326a82613a88565b604082019050919050565b6000613282601e83613574565b915061328d82613ad7565b602082019050919050565b60006132a5601b83613574565b91506132b082613b00565b602082019050919050565b6132c481613743565b82525050565b6132d38161374d565b82525050565b60006132e5828561314f565b91506132f1828461314f565b91508190509392505050565b600060208201905061331260008301846130bf565b92915050565b600060808201905061332d60008301876130bf565b61333a60208301866130bf565b61334760408301856132bb565b818103606083015261335981846130dd565b905095945050505050565b600060208201905061337960008301846130ce565b92915050565b600060208201905081810360008301526133998184613116565b905092915050565b600060208201905081810360008301526133ba81613180565b9050919050565b600060208201905081810360008301526133da816131a3565b9050919050565b600060208201905081810360008301526133fa816131c6565b9050919050565b6000602082019050818103600083015261341a816131e9565b9050919050565b6000602082019050818103600083015261343a8161320c565b9050919050565b6000602082019050818103600083015261345a8161322f565b9050919050565b6000602082019050818103600083015261347a81613252565b9050919050565b6000602082019050818103600083015261349a81613275565b9050919050565b600060208201905081810360008301526134ba81613298565b9050919050565b60006020820190506134d660008301846132bb565b92915050565b60006020820190506134f160008301846132ca565b92915050565b6000613501613512565b905061350d82826137ce565b919050565b6000604051905090565b600067ffffffffffffffff82111561353757613536613906565b5b61354082613935565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061359b82613743565b91506135a683613743565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156135db576135da613879565b5b828201905092915050565b60006135f182613743565b91506135fc83613743565b92508261360c5761360b6138a8565b5b828204905092915050565b600061362282613743565b915061362d83613743565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561366657613665613879565b5b828202905092915050565b600061367c82613743565b915061368783613743565b92508282101561369a57613699613879565b5b828203905092915050565b60006136b08261374d565b91506136bb8361374d565b9250828210156136ce576136cd613879565b5b828203905092915050565b60006136e482613723565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561378757808201518184015260208101905061376c565b83811115613796576000848401525b50505050565b600060028204905060018216806137b457607f821691505b602082108114156137c8576137c76138d7565b5b50919050565b6137d782613935565b810181811067ffffffffffffffff821117156137f6576137f5613906565b5b80604052505050565b600061380a82613743565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561383d5761383c613879565b5b600182019050919050565b600061385382613743565b915061385e83613743565b92508261386e5761386d6138a8565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5374696c6c20696e207072652d73616c65000000000000000000000000000000600082015250565b7f53616c65206d7573742062652061637469766520746f206d696e740000000000600082015250565b7f45786365656473206d617820737570706c790000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4e6f207472616e73616374696f6e2066726f6d20736d61727420636f6e74726160008201527f6374732100000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565646564206d617820617661696c61626c6520746f2070757263686160008201527f7365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f7420656e6f7567682045544820666f72207472616e73616374696f6e0000600082015250565b7f4d617820706572207472616e73616374696f6e20726561636865640000000000600082015250565b613b32816136d9565b8114613b3d57600080fd5b50565b613b49816136eb565b8114613b5457600080fd5b50565b613b60816136f7565b8114613b6b57600080fd5b50565b613b7781613743565b8114613b8257600080fd5b50565b613b8e8161374d565b8114613b9957600080fd5b5056fea2646970667358221220e6ca223f654644426c6304067460a9e443fce3cca12e8ce830fca7f110b0442364736f6c6343000804003368747470733a2f2f6f6f66636f6c6c6563746976652e78797a2f6173736574732f6d62702f6d657461646174612f",
"deployedBytecode": "0x6080604052600436106101cd5760003560e01c806391b7f5ed116100f7578063dce0e46111610095578063f064ef9811610064578063f064ef9814610639578063f2fde38b14610662578063f81227d41461068b578063fdea8e0b146106a2576101cd565b8063dce0e4611461056b578063e985e9c5146105a8578063eb8d2444146105e5578063ecade8d814610610576101cd565b8063b88d4fde116100d1578063b88d4fde146104be578063c002d23d146104e7578063c87b56dd14610512578063c87c089c1461054f576101cd565b806391b7f5ed1461044157806395d89b411461046a578063a22cb46514610495576101cd565b80633ccfd60b1161016f5780636c0360eb1161013e5780636c0360eb1461039757806370a08231146103c2578063715018a6146103ff5780638da5cb5b14610416576101cd565b80633ccfd60b1461030b57806342842e0e146103155780636352211e1461033e57806366b7f63d1461037b576101cd565b8063095ea7b3116101ab578063095ea7b31461027757806318160ddd146102a057806323b872dd146102cb57806334918dfd146102f4576101cd565b806301ffc9a7146101d257806306fdde031461020f578063081812fc1461023a575b600080fd5b3480156101de57600080fd5b506101f960048036038101906101f4919061301b565b6106cd565b6040516102069190613364565b60405180910390f35b34801561021b57600080fd5b506102246107af565b604051610231919061337f565b60405180910390f35b34801561024657600080fd5b50610261600480360381019061025c919061306d565b610841565b60405161026e91906132fd565b60405180910390f35b34801561028357600080fd5b5061029e60048036038101906102999190612f2f565b6108bd565b005b3480156102ac57600080fd5b506102b56109c8565b6040516102c291906134c1565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190612e29565b6109df565b005b34801561030057600080fd5b506103096109ef565b005b610313610a97565b005b34801561032157600080fd5b5061033c60048036038101906103379190612e29565b610b63565b005b34801561034a57600080fd5b506103656004803603810190610360919061306d565b610b83565b60405161037291906132fd565b60405180910390f35b61039560048036038101906103909190613096565b610b99565b005b3480156103a357600080fd5b506103ac610dba565b6040516103b9919061337f565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e49190612dc4565b610e48565b6040516103f691906134c1565b60405180910390f35b34801561040b57600080fd5b50610414610f18565b005b34801561042257600080fd5b5061042b610fa0565b60405161043891906132fd565b60405180910390f35b34801561044d57600080fd5b506104686004803603810190610463919061306d565b610fca565b005b34801561047657600080fd5b5061047f611050565b60405161048c919061337f565b60405180910390f35b3480156104a157600080fd5b506104bc60048036038101906104b79190612ef3565b6110e2565b005b3480156104ca57600080fd5b506104e560048036038101906104e09190612e78565b61125a565b005b3480156104f357600080fd5b506104fc6112d6565b60405161050991906134c1565b60405180910390f35b34801561051e57600080fd5b506105396004803603810190610534919061306d565b6112dc565b604051610546919061337f565b60405180910390f35b61056960048036038101906105649190613096565b61137b565b005b34801561057757600080fd5b50610592600480360381019061058d9190612dc4565b6115aa565b60405161059f91906134dc565b60405180910390f35b3480156105b457600080fd5b506105cf60048036038101906105ca9190612ded565b611600565b6040516105dc9190613364565b60405180910390f35b3480156105f157600080fd5b506105fa611694565b6040516106079190613364565b60405180910390f35b34801561061c57600080fd5b5061063760048036038101906106329190612f6b565b6116a7565b005b34801561064557600080fd5b50610660600480360381019061065b9190612fc3565b611808565b005b34801561066e57600080fd5b5061068960048036038101906106849190612dc4565b611950565b005b34801561069757600080fd5b506106a0611a48565b005b3480156106ae57600080fd5b506106b7611af0565b6040516106c49190613364565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061079857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107a857506107a782611b03565b5b9050919050565b6060600280546107be9061379c565b80601f01602080910402602001604051908101604052809291908181526020018280546107ea9061379c565b80156108375780601f1061080c57610100808354040283529160200191610837565b820191906000526020600020905b81548152906001019060200180831161081a57829003601f168201915b5050505050905090565b600061084c82611b6d565b610882576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108c882610b83565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610930576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661094f611bbb565b73ffffffffffffffffffffffffffffffffffffffff1614158015610981575061097f8161097a611bbb565b611600565b155b156109b8576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c3838383611bc3565b505050565b60006109d2611c75565b6001546000540303905090565b6109ea838383611c7a565b505050565b6109f7611bbb565b73ffffffffffffffffffffffffffffffffffffffff16610a15610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290613421565b60405180910390fd5b600c60019054906101000a900460ff1615600c60016101000a81548160ff021916908315150217905550565b610a9f611bbb565b73ffffffffffffffffffffffffffffffffffffffff16610abd610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614610b13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0a90613421565b60405180910390fd5b610b1b610fa0565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610b60573d6000803e3d6000fd5b50565b610b7e8383836040518060200160405280600081525061125a565b505050565b6000610b8e82612130565b600001519050919050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe90613441565b60405180910390fd5b600c60009054906101000a900460ff1615610c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4e906133c1565b60405180910390fd5b600c60019054906101000a900460ff16610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d906133e1565b60405180910390fd5b60008160ff16118015610cbe57506009548160ff1611155b610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf4906134a1565b60405180910390fd5b600a548160ff16610d0c6109c8565b610d169190613590565b1115610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e90613401565b60405180910390fd5b8060ff16600b54610d689190613617565b341015610daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da190613481565b60405180910390fd5b610db7338260ff166123bf565b50565b600e8054610dc79061379c565b80601f0160208091040260200160405190810160405280929190818152602001828054610df39061379c565b8015610e405780601f10610e1557610100808354040283529160200191610e40565b820191906000526020600020905b815481529060010190602001808311610e2357829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eb0576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b610f20611bbb565b73ffffffffffffffffffffffffffffffffffffffff16610f3e610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614610f94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8b90613421565b60405180910390fd5b610f9e60006123dd565b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610fd2611bbb565b73ffffffffffffffffffffffffffffffffffffffff16610ff0610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614611046576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103d90613421565b60405180910390fd5b80600b8190555050565b60606003805461105f9061379c565b80601f016020809104026020016040519081016040528092919081815260200182805461108b9061379c565b80156110d85780601f106110ad576101008083540402835291602001916110d8565b820191906000526020600020905b8154815290600101906020018083116110bb57829003601f168201915b5050505050905090565b6110ea611bbb565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561114f576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806007600061115c611bbb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611209611bbb565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161124e9190613364565b60405180910390a35050565b611265848484611c7a565b6112848373ffffffffffffffffffffffffffffffffffffffff166124a3565b80156112995750611297848484846124c6565b155b156112d0576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b600b5481565b60606112e782611b6d565b61131d576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611327612626565b90506000815114156113485760405180602001604052806000815250611373565b80611352846126b8565b6040516020016113639291906132d9565b6040516020818303038152906040525b915050919050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e090613441565b60405180910390fd5b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168160ff16111561147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590613461565b60405180910390fd5b600c60019054906101000a900460ff166114cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c4906133e1565b60405180910390fd5b600a548160ff166114dc6109c8565b6114e69190613590565b1115611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e90613401565b60405180910390fd5b80600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282829054906101000a900460ff1661158291906136a5565b92506101000a81548160ff021916908360ff1602179055506115a7338260ff166123bf565b50565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600c60019054906101000a900460ff1681565b6116af611bbb565b73ffffffffffffffffffffffffffffffffffffffff166116cd610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a90613421565b60405180910390fd5b600a548161172f6109c8565b6117399190613590565b111561177a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177190613401565b60405180910390fd5b60005b83839050811015611802576117ef8484838181106117c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906117d99190612dc4565b8360405180602001604052806000815250612865565b80806117fa906137ff565b91505061177d565b50505050565b611810611bbb565b73ffffffffffffffffffffffffffffffffffffffff1661182e610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614611884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187b90613421565b60405180910390fd5b60005b8383905081101561194a5781600d60008686858181106118d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906118e59190612dc4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055508080611942906137ff565b915050611887565b50505050565b611958611bbb565b73ffffffffffffffffffffffffffffffffffffffff16611976610fa0565b73ffffffffffffffffffffffffffffffffffffffff16146119cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c390613421565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a33906133a1565b60405180910390fd5b611a45816123dd565b50565b611a50611bbb565b73ffffffffffffffffffffffffffffffffffffffff16611a6e610fa0565b73ffffffffffffffffffffffffffffffffffffffff1614611ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abb90613421565b60405180910390fd5b600c60009054906101000a900460ff1615600c60006101000a81548160ff021916908315150217905550565b600c60009054906101000a900460ff1681565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600081611b78611c75565b11158015611b87575060005482105b8015611bb4575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600090565b6000611c8582612130565b90508373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611cf0576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff16611d11611bbb565b73ffffffffffffffffffffffffffffffffffffffff161480611d405750611d3f85611d3a611bbb565b611600565b5b80611d855750611d4e611bbb565b73ffffffffffffffffffffffffffffffffffffffff16611d6d84610841565b73ffffffffffffffffffffffffffffffffffffffff16145b905080611dbe576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611e25576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e328585856001612877565b611e3e60008487611bc3565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600460008581526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060006001850190506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156120be5760005482146120bd57878160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612129858585600161287d565b5050505050565b612138612c51565b600082905080612146611c75565b11158015612155575060005481105b15612388576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050806040015161238657600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161461226a5780925050506123ba565b5b60011561238557818060019003925050600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146123805780925050506123ba565b61226b565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6123d9828260405180602001604052806000815250612865565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124ec611bbb565b8786866040518563ffffffff1660e01b815260040161250e9493929190613318565b602060405180830381600087803b15801561252857600080fd5b505af192505050801561255957506040513d601f19601f820116820180604052508101906125569190613044565b60015b6125d3573d8060008114612589576040519150601f19603f3d011682016040523d82523d6000602084013e61258e565b606091505b506000815114156125cb576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600e80546126359061379c565b80601f01602080910402602001604051908101604052809291908181526020018280546126619061379c565b80156126ae5780601f10612683576101008083540402835291602001916126ae565b820191906000526020600020905b81548152906001019060200180831161269157829003601f168201915b5050505050905090565b60606000821415612700576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612860565b600082905060005b6000821461273257808061271b906137ff565b915050600a8261272b91906135e6565b9150612708565b60008167ffffffffffffffff811115612774577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156127a65781602001600182028036833780820191505090505b5090505b60008514612859576001826127bf9190613671565b9150600a856127ce9190613848565b60306127da9190613590565b60f81b818381518110612816577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561285291906135e6565b94506127aa565b8093505050505b919050565b6128728383836001612883565b505050565b50505050565b50505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156128f0576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084141561292b576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129386000868387612877565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600081905060008582019050838015612b025750612b018773ffffffffffffffffffffffffffffffffffffffff166124a3565b5b15612bc8575b818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612b7760008884806001019550886124c6565b612bad576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821415612b08578260005414612bc357600080fd5b612c34565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480821415612bc9575b816000819055505050612c4a600086838761287d565b5050505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b6000612ca7612ca28461351c565b6134f7565b905082815260208101848484011115612cbf57600080fd5b612cca84828561375a565b509392505050565b600081359050612ce181613b29565b92915050565b60008083601f840112612cf957600080fd5b8235905067ffffffffffffffff811115612d1257600080fd5b602083019150836020820283011115612d2a57600080fd5b9250929050565b600081359050612d4081613b40565b92915050565b600081359050612d5581613b57565b92915050565b600081519050612d6a81613b57565b92915050565b600082601f830112612d8157600080fd5b8135612d91848260208601612c94565b91505092915050565b600081359050612da981613b6e565b92915050565b600081359050612dbe81613b85565b92915050565b600060208284031215612dd657600080fd5b6000612de484828501612cd2565b91505092915050565b60008060408385031215612e0057600080fd5b6000612e0e85828601612cd2565b9250506020612e1f85828601612cd2565b9150509250929050565b600080600060608486031215612e3e57600080fd5b6000612e4c86828701612cd2565b9350506020612e5d86828701612cd2565b9250506040612e6e86828701612d9a565b9150509250925092565b60008060008060808587031215612e8e57600080fd5b6000612e9c87828801612cd2565b9450506020612ead87828801612cd2565b9350506040612ebe87828801612d9a565b925050606085013567ffffffffffffffff811115612edb57600080fd5b612ee787828801612d70565b91505092959194509250565b60008060408385031215612f0657600080fd5b6000612f1485828601612cd2565b9250506020612f2585828601612d31565b9150509250929050565b60008060408385031215612f4257600080fd5b6000612f5085828601612cd2565b9250506020612f6185828601612d9a565b9150509250929050565b600080600060408486031215612f8057600080fd5b600084013567ffffffffffffffff811115612f9a57600080fd5b612fa686828701612ce7565b93509350506020612fb986828701612d9a565b9150509250925092565b600080600060408486031215612fd857600080fd5b600084013567ffffffffffffffff811115612ff257600080fd5b612ffe86828701612ce7565b9350935050602061301186828701612daf565b9150509250925092565b60006020828403121561302d57600080fd5b600061303b84828501612d46565b91505092915050565b60006020828403121561305657600080fd5b600061306484828501612d5b565b91505092915050565b60006020828403121561307f57600080fd5b600061308d84828501612d9a565b91505092915050565b6000602082840312156130a857600080fd5b60006130b684828501612daf565b91505092915050565b6130c8816136d9565b82525050565b6130d7816136eb565b82525050565b60006130e88261354d565b6130f28185613563565b9350613102818560208601613769565b61310b81613935565b840191505092915050565b600061312182613558565b61312b8185613574565b935061313b818560208601613769565b61314481613935565b840191505092915050565b600061315a82613558565b6131648185613585565b9350613174818560208601613769565b80840191505092915050565b600061318d602683613574565b915061319882613946565b604082019050919050565b60006131b0601183613574565b91506131bb82613995565b602082019050919050565b60006131d3601b83613574565b91506131de826139be565b602082019050919050565b60006131f6601283613574565b9150613201826139e7565b602082019050919050565b6000613219602083613574565b915061322482613a10565b602082019050919050565b600061323c602483613574565b915061324782613a39565b604082019050919050565b600061325f602283613574565b915061326a82613a88565b604082019050919050565b6000613282601e83613574565b915061328d82613ad7565b602082019050919050565b60006132a5601b83613574565b91506132b082613b00565b602082019050919050565b6132c481613743565b82525050565b6132d38161374d565b82525050565b60006132e5828561314f565b91506132f1828461314f565b91508190509392505050565b600060208201905061331260008301846130bf565b92915050565b600060808201905061332d60008301876130bf565b61333a60208301866130bf565b61334760408301856132bb565b818103606083015261335981846130dd565b905095945050505050565b600060208201905061337960008301846130ce565b92915050565b600060208201905081810360008301526133998184613116565b905092915050565b600060208201905081810360008301526133ba81613180565b9050919050565b600060208201905081810360008301526133da816131a3565b9050919050565b600060208201905081810360008301526133fa816131c6565b9050919050565b6000602082019050818103600083015261341a816131e9565b9050919050565b6000602082019050818103600083015261343a8161320c565b9050919050565b6000602082019050818103600083015261345a8161322f565b9050919050565b6000602082019050818103600083015261347a81613252565b9050919050565b6000602082019050818103600083015261349a81613275565b9050919050565b600060208201905081810360008301526134ba81613298565b9050919050565b60006020820190506134d660008301846132bb565b92915050565b60006020820190506134f160008301846132ca565b92915050565b6000613501613512565b905061350d82826137ce565b919050565b6000604051905090565b600067ffffffffffffffff82111561353757613536613906565b5b61354082613935565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061359b82613743565b91506135a683613743565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156135db576135da613879565b5b828201905092915050565b60006135f182613743565b91506135fc83613743565b92508261360c5761360b6138a8565b5b828204905092915050565b600061362282613743565b915061362d83613743565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561366657613665613879565b5b828202905092915050565b600061367c82613743565b915061368783613743565b92508282101561369a57613699613879565b5b828203905092915050565b60006136b08261374d565b91506136bb8361374d565b9250828210156136ce576136cd613879565b5b828203905092915050565b60006136e482613723565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561378757808201518184015260208101905061376c565b83811115613796576000848401525b50505050565b600060028204905060018216806137b457607f821691505b602082108114156137c8576137c76138d7565b5b50919050565b6137d782613935565b810181811067ffffffffffffffff821117156137f6576137f5613906565b5b80604052505050565b600061380a82613743565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561383d5761383c613879565b5b600182019050919050565b600061385382613743565b915061385e83613743565b92508261386e5761386d6138a8565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5374696c6c20696e207072652d73616c65000000000000000000000000000000600082015250565b7f53616c65206d7573742062652061637469766520746f206d696e740000000000600082015250565b7f45786365656473206d617820737570706c790000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4e6f207472616e73616374696f6e2066726f6d20736d61727420636f6e74726160008201527f6374732100000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565646564206d617820617661696c61626c6520746f2070757263686160008201527f7365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f7420656e6f7567682045544820666f72207472616e73616374696f6e0000600082015250565b7f4d617820706572207472616e73616374696f6e20726561636865640000000000600082015250565b613b32816136d9565b8114613b3d57600080fd5b50565b613b49816136eb565b8114613b5457600080fd5b50565b613b60816136f7565b8114613b6b57600080fd5b50565b613b7781613743565b8114613b8257600080fd5b50565b613b8e8161374d565b8114613b9957600080fd5b5056fea2646970667358221220e6ca223f654644426c6304067460a9e443fce3cca12e8ce830fca7f110b0442364736f6c63430008040033",
"linkReferences": {},
"deployedLinkReferences": {}
}