0 txs
0 calls
constructor
No constructor.
functions
animationUrl
viewfunction animationUrl() view returns (string)
chooseNoggleType
purefunction chooseNoggleType(uint256 tokenId) pure returns (uint256)
contractImage
viewfunction contractImage() view returns (string)
contractURI
viewfunction contractURI() view returns (string)
description
viewfunction description() view returns (string)
getTokenIdMetadata
viewfunction getTokenIdMetadata(uint256[7] tokenDNA) view returns (string metadata)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
params
viewfunction params() view returns (address)
random
purefunction random(uint256 input, uint256 max, uint256 randomNum) pure returns (uint256)
randomArray
purefunction randomArray(uint256 input, uint256 max, uint256 count) pure returns (uint256[])
sellerFeeBasisPoints
viewfunction sellerFeeBasisPoints() view returns (string)
sellerFeeRecipient
viewfunction sellerFeeRecipient() view returns (string)
tokenContract
viewfunction tokenContract() view returns (address)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
initialize
nonpayablefunction initialize(address owner)
renounceOwnership
nonpayablefunction renounceOwnership()
setContractImage
nonpayablefunction setContractImage(string _contractImage)
setDescription
nonpayablefunction setDescription(string _description)
setName
nonpayablefunction setName(string _name)
setParams
nonpayablefunction setParams(address _params)
setSellerFeeBasisPoints
nonpayablefunction setSellerFeeBasisPoints(string _sellerFeeBasisPoints)
setSellerFeeRecipient
nonpayablefunction setSellerFeeRecipient(string _sellerFeeRecipient)
setTokenContract
nonpayablefunction setTokenContract(address _tokenContract)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ParamsUpdated
event ParamsUpdated(address params)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506154ff806100206000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80638e9f74c2116100de578063c47f002711610097578063cff0ab9611610071578063cff0ab9614610426578063dc42c25514610444578063e8a3d48514610460578063f2fde38b1461047e57610173565b8063c47f0027146103be578063c4d66de8146103da578063c87b56dd146103f657610173565b80638e9f74c2146102fe5780638eab84ee1461031a57806390c3f38f14610338578063a3ecd96a14610354578063b19ef78c14610372578063bbcd5bbe146103a257610173565b806355a373d61161013057806355a373d61461024e57806364c22d5e1461026c578063715018a6146102885780637284e416146102925780637299054c146102b05780638da5cb5b146102e057610173565b806306fdde03146101785780631808d43414610196578063237b5000146101b4578063316321f4146101e4578063397b5b24146102145780634e49acac14610232575b600080fd5b61018061049a565b60405161018d9190612c26565b60405180910390f35b61019e610528565b6040516101ab9190612c26565b60405180910390f35b6101ce60048036038101906101c99190612dc8565b6105b6565b6040516101db9190612c26565b60405180910390f35b6101fe60048036038101906101f99190612df5565b610a82565b60405161020b9190612e31565b60405180910390f35b61021c610af7565b6040516102299190612c26565b60405180910390f35b61024c60048036038101906102479190612ebc565b610b85565b005b610256610c90565b6040516102639190612f48565b60405180910390f35b61028660048036038101906102819190613018565b610cb6565b005b610290610d59565b005b61029a610d6d565b6040516102a79190612c26565b60405180910390f35b6102ca60048036038101906102c59190613061565b610dfb565b6040516102d79190612e31565b60405180910390f35b6102e8610e67565b6040516102f591906130c3565b60405180910390f35b61031860048036038101906103139190613018565b610e91565b005b610322610f34565b60405161032f9190612c26565b60405180910390f35b610352600480360381019061034d9190613018565b610fc2565b005b61035c611065565b6040516103699190612c26565b60405180910390f35b61038c60048036038101906103879190613061565b6110f3565b604051610399919061319c565b60405180910390f35b6103bc60048036038101906103b791906131fc565b6111b3565b005b6103d860048036038101906103d39190613018565b611287565b005b6103f460048036038101906103ef9190613255565b61132a565b005b610410600480360381019061040b9190612df5565b611585565b60405161041d9190612c26565b60405180910390f35b61042e61166a565b60405161043b91906132a3565b60405180910390f35b61045e60048036038101906104599190613018565b611690565b005b610468611733565b6040516104759190612c26565b60405180910390f35b61049860048036038101906104939190613255565b611791565b005b606980546104a7906132ed565b80601f01602080910402602001604051908101604052809291908181526020018280546104d3906132ed565b80156105205780601f106104f557610100808354040283529160200191610520565b820191906000526020600020905b81548152906001019060200180831161050357829003601f168201915b505050505081565b606c8054610535906132ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610561906132ed565b80156105ae5780601f10610583576101008083540402835291602001916105ae565b820191906000526020600020905b81548152906001019060200180831161059157829003601f168201915b505050505081565b606060006040518060400160405280600481526020017f5761726d0000000000000000000000000000000000000000000000000000000081525090506001836000600781106106085761060761331e565b5b60200201510361064b576040518060400160405280600481526020017f436f6f6c0000000000000000000000000000000000000000000000000000000081525090505b80606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631990af5a6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106b9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906106e2919061349e565b846001600781106106f6576106f561331e565b5b60200201518151811061070c5761070b61331e565b5b6020026020010151606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c8fa18e96040518163ffffffff1660e01b8152600401600060405180830381865afa158015610781573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107aa919061349e565b856002600781106107be576107bd61331e565b5b6020020151815181106107d4576107d361331e565b5b6020026020010151606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ae19b426040518163ffffffff1660e01b8152600401600060405180830381865afa158015610849573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610872919061349e565b866003600781106108865761088561331e565b5b60200201518151811061089c5761089b61331e565b5b6020026020010151606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307cc79406040518163ffffffff1660e01b8152600401600060405180830381865afa158015610911573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061093a919061349e565b8760046007811061094e5761094d61331e565b5b6020020151815181106109645761096361331e565b5b6020026020010151606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635056e8bd6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156109d9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610a02919061349e565b88600560078110610a1657610a1561331e565b5b602002015181518110610a2c57610a2b61331e565b5b6020026020010151604051602001610a4996959493929190613841565b604051602081830303815290604052915081604051602001610a6b91906139b5565b604051602081830303815290604052915050919050565b60008062fc894283610a949190613a11565b90506002600982610aa59190613a9a565b1015610ab5576001915050610af2565b6005600982610ac49190613a9a565b108015610add57506002600982610adb9190613a9a565b115b15610aec576002915050610af2565b60009150505b919050565b606e8054610b04906132ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610b30906132ed565b8015610b7d5780601f10610b5257610100808354040283529160200191610b7d565b820191906000526020600020905b815481529060010190602001808311610b6057829003601f168201915b505050505081565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0c90613b17565b60405180910390fd5b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f6fb3e6a9b5c97615432ff45002fcab90fabfe04beb32ed6c7d8dff77a1901f4b81604051610c8591906132a3565b60405180910390a150565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90613b17565b60405180910390fd5b80606d9081610d559190613cd9565b5050565b610d61611814565b610d6b6000611892565b565b60688054610d7a906132ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610da6906132ed565b8015610df35780601f10610dc857610100808354040283529160200191610df3565b820191906000526020600020905b815481529060010190602001808311610dd657829003601f168201915b505050505081565b600082848486610e0b9190613a11565b8487610e179190613a11565b610e219190613dab565b610e2b9190613dab565b604051602001610e3b9190613e22565b6040516020818303038152906040528051906020012060001c610e5e9190613a9a565b90509392505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1890613b17565b60405180910390fd5b80606c9081610f309190613cd9565b5050565b606b8054610f41906132ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6d906132ed565b8015610fba5780601f10610f8f57610100808354040283529160200191610fba565b820191906000526020600020905b815481529060010190602001808311610f9d57829003601f168201915b505050505081565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104990613b17565b60405180910390fd5b80606890816110619190613cd9565b5050565b606d8054611072906132ed565b80601f016020809104026020016040519081016040528092919081815260200182805461109e906132ed565b80156110eb5780601f106110c0576101008083540402835291602001916110eb565b820191906000526020600020905b8154815290600101906020018083116110ce57829003601f168201915b505050505081565b606060008267ffffffffffffffff81111561111157611110612c61565b5b60405190808252806020026020018201604052801561113f5781602001602082028036833780820191505090505b50905060005b838110156111a757611158868686610dfb565b82828151811061116b5761116a61331e565b5b60200260200101818152505081818151811061118a5761118961331e565b5b60200260200101519550808061119f90613e3d565b915050611145565b50809150509392505050565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123a90613b17565b60405180910390fd5b80606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130e90613b17565b60405180910390fd5b80606990816113269190613cd9565b5050565b60008060019054906101000a900460ff1615905080801561135b5750600160008054906101000a900460ff1660ff16105b80611388575061136a30611958565b1580156113875750600160008054906101000a900460ff1660ff16145b5b6113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be90613ef7565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015611404576001600060016101000a81548160ff0219169083151502179055505b81606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060600160405280602881526020016154a2602891396068908161146c9190613cd9565b506040518060400160405280600b81526020017f4e6f756e20436865636b73000000000000000000000000000000000000000000815250606990816114b19190613cd9565b50613e9e606a8190555060405180606001604052806035815260200161542d60359139606b90816114e29190613cd9565b506040518060400160405280600381526020017f3235300000000000000000000000000000000000000000000000000000000000815250606c90816115279190613cd9565b5080156115815760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516115789190613f5f565b60405180910390a15b5050565b606081606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116199190613f8f565b101561165a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116519061402e565b60405180910390fd5b6116638261197b565b9050919050565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171790613b17565b60405180910390fd5b80606b908161172f9190613cd9565b5050565b606061176d60696068606b606c606d606e60405160200161175996959493929190614299565b604051602081830303815290604052611d11565b60405160200161177d919061438a565b604051602081830303815290604052905090565b611799611814565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ff9061441e565b60405180910390fd5b61181181611892565b50565b61181c611e95565b73ffffffffffffffffffffffffffffffffffffffff1661183a610e67565b73ffffffffffffffffffffffffffffffffffffffff1614611890576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118879061448a565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606060006040518060e001604052806119a48560026021606a5461199f9190613a11565b610dfb565b81526020016119c38560026037606a546119be9190613a11565b610dfb565b8152602001611a83856001606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638092480e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a3b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a64919061349e565b51611a6f91906144aa565b604d606a54611a7e9190613a11565b610dfb565b8152602001611b43856001606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ae19b426040518163ffffffff1660e01b8152600401600060405180830381865afa158015611afb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611b24919061349e565b51611b2f91906144aa565b6063606a54611b3e9190613a11565b610dfb565b8152602001611b5185610a82565b8152602001611b7185600261022b606a54611b6c9190613a11565b610dfb565b8152602001611c32856001606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ae19b426040518163ffffffff1660e01b8152600401600060405180830381865afa158015611be9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611c12919061349e565b51611c1d91906144aa565b610309606a54611c2d9190613a11565b610dfb565b81525090506000611c4b611c468584611e9d565b611d11565b604051602001611c5b91906144de565b6040516020818303038152906040529050611ce96069611c7a8661274a565b604051602001611c8a91906144de565b60405160208183030381529060405283604051602001611caa91906144de565b604051602081830303815290604052611cc2866105b6565b604051602001611cd59493929190614692565b604051602081830303815290604052611d11565b604051602001611cf9919061438a565b60405160208183030381529060405292505050919050565b60606000825103611d3357604051806020016040528060008152509050611e90565b60006040518060600160405280604081526020016154626040913990506000600360028551611d629190613dab565b611d6c9190614707565b6004611d789190613a11565b90506000602082611d899190613dab565b67ffffffffffffffff811115611da257611da1612c61565b5b6040519080825280601f01601f191660200182016040528015611dd45781602001600182028036833780820191505090505b509050818152600183018586518101602084015b81831015611e4f576003830192508251603f8160121c1685015160f81b8252600182019150603f81600c1c1685015160f81b8252600182019150603f8160061c1685015160f81b8252600182019150603f811685015160f81b825260018201915050611de8565b600389510660018114611e695760028114611e7957611e84565b613d3d60f01b6002830352611e84565b603d60f81b60018303525b50505050508093505050505b919050565b600033905090565b60606000611eaa84612818565b905060606000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ac1c2b906040518163ffffffff1660e01b8152600401600060405180830381865afa158015611f1d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611f46919061349e565b600081518110611f5957611f5861331e565b5b602002602001015190506000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ae19b426040518163ffffffff1660e01b8152600401600060405180830381865afa158015611fd2573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611ffb919061349e565b8660036007811061200f5761200e61331e565b5b6020020151815181106120255761202461331e565b5b602002602001015190506001866005600781106120455761204461331e565b5b60200201510361210357606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ac1c2b906040518163ffffffff1660e01b8152600401600060405180830381865afa1580156120bc573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906120e5919061349e565b6001815181106120f8576120f761331e565b5b602002602001015191505b6001866004600781106121195761211861331e565b5b60200201510361214e5761212c81612a0f565b60405160200161213c91906144de565b60405160208183030381529060405292505b6002866004600781106121645761216361331e565b5b60200201510361219b5761217781612a0f565b816040516020016121899291906147f6565b60405160208183030381529060405292505b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ae19b426040518163ffffffff1660e01b8152600401600060405180830381865afa158015612208573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612231919061349e565b866006600781106122455761224461331e565b5b60200201518151811061225b5761225a61331e565b5b6020026020010151606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635db653b46040518163ffffffff1660e01b8152600401600060405180830381865afa1580156122d0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906122f9919061349e565b8760006007811061230d5761230c61331e565b5b6020020151815181106123235761232261331e565b5b6020026020010151606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e8b97fc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612398573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906123c1919061349e565b886001600781106123d5576123d461331e565b5b6020020151815181106123eb576123ea61331e565b5b6020026020010151606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d55b3ca76040518163ffffffff1660e01b8152600401600060405180830381865afa158015612460573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612489919061349e565b8960016007811061249d5761249c61331e565b5b6020020151815181106124b3576124b261331e565b5b602002602001015187606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638092480e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612529573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612552919061349e565b8b6002600781106125665761256561331e565b5b60200201518151811061257c5761257b61331e565b5b602002602001015187606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d55b3ca76040518163ffffffff1660e01b8152600401600060405180830381865afa1580156125f2573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061261b919061349e565b8d60016007811061262f5761262e61331e565b5b6020020151815181106126455761264461331e565b5b6020026020010151606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ae19b426040518163ffffffff1660e01b8152600401600060405180830381865afa1580156126ba573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906126e3919061349e565b8e6003600781106126f7576126f661331e565b5b60200201518151811061270d5761270c61331e565b5b60200260200101518b60405160200161272f9a9998979695949392919061506a565b60405160208183030381529060405294505050505092915050565b60606000600161275984612a3a565b01905060008167ffffffffffffffff81111561277857612777612c61565b5b6040519080825280601f01601f1916602001820160405280156127aa5781602001600182028036833780820191505090505b509050600082602001820190505b60011561280d578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161280157612800613a6b565b5b049450600085036127b8575b819350505050919050565b6060806000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f5b2a2026040518163ffffffff1660e01b8152600401600060405180830381865afa15801561288a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906128b3919061349e565b90506000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ae19b426040518163ffffffff1660e01b8152600401600060405180830381865afa158015612924573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061294d919061349e565b905060005b8251811015612a03576000612976878451606a54856129719190613a11565b610dfb565b90508483828151811061298c5761298b61331e565b5b60200260200101518584815181106129a7576129a661331e565b5b60200260200101516040516020016129c092919061521d565b6040516020818303038152906040526040516020016129e0929190615262565b604051602081830303815290604052945050806129fc90613e3d565b9050612952565b50829350505050919050565b60608182604051602001612a249291906153dc565b6040516020818303038152906040529050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612a98577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612a8e57612a8d613a6b565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612ad5576d04ee2d6d415b85acef81000000008381612acb57612aca613a6b565b5b0492506020810190505b662386f26fc100008310612b0457662386f26fc100008381612afa57612af9613a6b565b5b0492506010810190505b6305f5e1008310612b2d576305f5e1008381612b2357612b22613a6b565b5b0492506008810190505b6127108310612b52576127108381612b4857612b47613a6b565b5b0492506004810190505b60648310612b755760648381612b6b57612b6a613a6b565b5b0492506002810190505b600a8310612b84576001810190505b80915050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612bc7578082015181840152602081019050612bac565b83811115612bd6576000848401525b50505050565b6000601f19601f8301169050919050565b6000612bf882612b8d565b612c028185612b98565b9350612c12818560208601612ba9565b612c1b81612bdc565b840191505092915050565b60006020820190508181036000830152612c408184612bed565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612c9982612bdc565b810181811067ffffffffffffffff82111715612cb857612cb7612c61565b5b80604052505050565b6000612ccb612c48565b9050612cd78282612c90565b919050565b600067ffffffffffffffff821115612cf757612cf6612c61565b5b602082029050919050565b600080fd5b6000819050919050565b612d1a81612d07565b8114612d2557600080fd5b50565b600081359050612d3781612d11565b92915050565b6000612d50612d4b84612cdc565b612cc1565b90508060208402830185811115612d6a57612d69612d02565b5b835b81811015612d935780612d7f8882612d28565b845260208401935050602081019050612d6c565b5050509392505050565b600082601f830112612db257612db1612c5c565b5b6007612dbf848285612d3d565b91505092915050565b600060e08284031215612dde57612ddd612c52565b5b6000612dec84828501612d9d565b91505092915050565b600060208284031215612e0b57612e0a612c52565b5b6000612e1984828501612d28565b91505092915050565b612e2b81612d07565b82525050565b6000602082019050612e466000830184612e22565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e7782612e4c565b9050919050565b6000612e8982612e6c565b9050919050565b612e9981612e7e565b8114612ea457600080fd5b50565b600081359050612eb681612e90565b92915050565b600060208284031215612ed257612ed1612c52565b5b6000612ee084828501612ea7565b91505092915050565b6000819050919050565b6000612f0e612f09612f0484612e4c565b612ee9565b612e4c565b9050919050565b6000612f2082612ef3565b9050919050565b6000612f3282612f15565b9050919050565b612f4281612f27565b82525050565b6000602082019050612f5d6000830184612f39565b92915050565b600080fd5b600067ffffffffffffffff821115612f8357612f82612c61565b5b612f8c82612bdc565b9050602081019050919050565b82818337600083830152505050565b6000612fbb612fb684612f68565b612cc1565b905082815260208101848484011115612fd757612fd6612f63565b5b612fe2848285612f99565b509392505050565b600082601f830112612fff57612ffe612c5c565b5b813561300f848260208601612fa8565b91505092915050565b60006020828403121561302e5761302d612c52565b5b600082013567ffffffffffffffff81111561304c5761304b612c57565b5b61305884828501612fea565b91505092915050565b60008060006060848603121561307a57613079612c52565b5b600061308886828701612d28565b935050602061309986828701612d28565b92505060406130aa86828701612d28565b9150509250925092565b6130bd81612e6c565b82525050565b60006020820190506130d860008301846130b4565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61311381612d07565b82525050565b6000613125838361310a565b60208301905092915050565b6000602082019050919050565b6000613149826130de565b61315381856130e9565b935061315e836130fa565b8060005b8381101561318f5781516131768882613119565b975061318183613131565b925050600181019050613162565b5085935050505092915050565b600060208201905081810360008301526131b6818461313e565b905092915050565b60006131c982612e6c565b9050919050565b6131d9816131be565b81146131e457600080fd5b50565b6000813590506131f6816131d0565b92915050565b60006020828403121561321257613211612c52565b5b6000613220848285016131e7565b91505092915050565b61323281612e6c565b811461323d57600080fd5b50565b60008135905061324f81613229565b92915050565b60006020828403121561326b5761326a612c52565b5b600061327984828501613240565b91505092915050565b600061328d82612f15565b9050919050565b61329d81613282565b82525050565b60006020820190506132b86000830184613294565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061330557607f821691505b602082108103613318576133176132be565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600067ffffffffffffffff82111561336857613367612c61565b5b602082029050602081019050919050565b600061338c61338784612f68565b612cc1565b9050828152602081018484840111156133a8576133a7612f63565b5b6133b3848285612ba9565b509392505050565b600082601f8301126133d0576133cf612c5c565b5b81516133e0848260208601613379565b91505092915050565b60006133fc6133f78461334d565b612cc1565b9050808382526020820190506020840283018581111561341f5761341e612d02565b5b835b8181101561346657805167ffffffffffffffff81111561344457613443612c5c565b5b80860161345189826133bb565b85526020850194505050602081019050613421565b5050509392505050565b600082601f83011261348557613484612c5c565b5b81516134958482602086016133e9565b91505092915050565b6000602082840312156134b4576134b3612c52565b5b600082015167ffffffffffffffff8111156134d2576134d1612c57565b5b6134de84828501613470565b91505092915050565b600081905092915050565b7f7b2274726169745f74797065223a224261636b67726f756e64222c202276616c60008201527f7565223a22000000000000000000000000000000000000000000000000000000602082015250565b600061354e6025836134e7565b9150613559826134f2565b602582019050919050565b600061356f82612b8d565b61357981856134e7565b9350613589818560208601612ba9565b80840191505092915050565b7f227d2c0000000000000000000000000000000000000000000000000000000000600082015250565b60006135cb6003836134e7565b91506135d682613595565b600382019050919050565b7f7b2274726169745f74797065223a22436f6c6f72206d6f6465222c202276616c60008201527f7565223a22000000000000000000000000000000000000000000000000000000602082015250565b600061363d6025836134e7565b9150613648826135e1565b602582019050919050565b7f7b2274726169745f74797065223a22426f6479222c202276616c7565223a2200600082015250565b6000613689601f836134e7565b915061369482613653565b601f82019050919050565b7f7b2274726169745f74797065223a224e6f67676c6520636f6c6f72222c20227660008201527f616c7565223a2223000000000000000000000000000000000000000000000000602082015250565b60006136fb6028836134e7565b91506137068261369f565b602882019050919050565b7f7b2274726169745f74797065223a224e6f67676c65207374796c65222c20227660008201527f616c7565223a2200000000000000000000000000000000000000000000000000602082015250565b600061376d6027836134e7565b915061377882613711565b602782019050919050565b7f7b2274726169745f74797065223a22436865636b207374796c65222c2022766160008201527f6c7565223a220000000000000000000000000000000000000000000000000000602082015250565b60006137df6026836134e7565b91506137ea82613783565b602682019050919050565b7f227d000000000000000000000000000000000000000000000000000000000000600082015250565b600061382b6002836134e7565b9150613836826137f5565b600282019050919050565b600061384c82613541565b91506138588289613564565b9150613863826135be565b915061386e82613630565b915061387a8288613564565b9150613885826135be565b91506138908261367c565b915061389c8287613564565b91506138a7826135be565b91506138b2826136ee565b91506138be8286613564565b91506138c9826135be565b91506138d482613760565b91506138e08285613564565b91506138eb826135be565b91506138f6826137d2565b91506139028284613564565b915061390d8261381e565b9150819050979650505050505050565b7f5b00000000000000000000000000000000000000000000000000000000000000600082015250565b60006139536001836134e7565b915061395e8261391d565b600182019050919050565b7f5d00000000000000000000000000000000000000000000000000000000000000600082015250565b600061399f6001836134e7565b91506139aa82613969565b600182019050919050565b60006139c082613946565b91506139cc8284613564565b91506139d782613992565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613a1c82612d07565b9150613a2783612d07565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a6057613a5f6139e2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613aa582612d07565b9150613ab083612d07565b925082613ac057613abf613a6b565b5b828206905092915050565b7f52656a65637465643a206e6f74206f776e657200000000000000000000000000600082015250565b6000613b01601383612b98565b9150613b0c82613acb565b602082019050919050565b60006020820190508181036000830152613b3081613af4565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613b997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613b5c565b613ba38683613b5c565b95508019841693508086168417925050509392505050565b6000613bd6613bd1613bcc84612d07565b612ee9565b612d07565b9050919050565b6000819050919050565b613bf083613bbb565b613c04613bfc82613bdd565b848454613b69565b825550505050565b600090565b613c19613c0c565b613c24818484613be7565b505050565b5b81811015613c4857613c3d600082613c11565b600181019050613c2a565b5050565b601f821115613c8d57613c5e81613b37565b613c6784613b4c565b81016020851015613c76578190505b613c8a613c8285613b4c565b830182613c29565b50505b505050565b600082821c905092915050565b6000613cb060001984600802613c92565b1980831691505092915050565b6000613cc98383613c9f565b9150826002028217905092915050565b613ce282612b8d565b67ffffffffffffffff811115613cfb57613cfa612c61565b5b613d0582546132ed565b613d10828285613c4c565b600060209050601f831160018114613d435760008415613d31578287015190505b613d3b8582613cbd565b865550613da3565b601f198416613d5186613b37565b60005b82811015613d7957848901518255600182019150602085019450602081019050613d54565b86831015613d965784890151613d92601f891682613c9f565b8355505b6001600288020188555050505b505050505050565b6000613db682612d07565b9150613dc183612d07565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613df657613df56139e2565b5b828201905092915050565b6000819050919050565b613e1c613e1782612d07565b613e01565b82525050565b6000613e2e8284613e0b565b60208201915081905092915050565b6000613e4882612d07565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613e7a57613e796139e2565b5b600182019050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000613ee1602e83612b98565b9150613eec82613e85565b604082019050919050565b60006020820190508181036000830152613f1081613ed4565b9050919050565b6000819050919050565b600060ff82169050919050565b6000613f49613f44613f3f84613f17565b612ee9565b613f21565b9050919050565b613f5981613f2e565b82525050565b6000602082019050613f746000830184613f50565b92915050565b600081519050613f8981612d11565b92915050565b600060208284031215613fa557613fa4612c52565b5b6000613fb384828501613f7a565b91505092915050565b7f436865636b20796f757220686561642e205468697320746f6b656e20646f657360008201527f27742065786973742e0000000000000000000000000000000000000000000000602082015250565b6000614018602983612b98565b915061402382613fbc565b604082019050919050565b600060208201905081810360008301526140478161400b565b9050919050565b7f7b226e616d65223a202200000000000000000000000000000000000000000000600082015250565b6000614084600a836134e7565b915061408f8261404e565b600a82019050919050565b600081546140a7816132ed565b6140b181866134e7565b945060018216600081146140cc57600181146140e157614114565b60ff1983168652811515820286019350614114565b6140ea85613b37565b60005b8381101561410c578154818901526001820191506020810190506140ed565b838801955050505b50505092915050565b7f222c20226465736372697074696f6e223a202200000000000000000000000000600082015250565b60006141536013836134e7565b915061415e8261411d565b601382019050919050565b7f222c2022696d616765223a202200000000000000000000000000000000000000600082015250565b600061419f600d836134e7565b91506141aa82614169565b600d82019050919050565b7f222c202273656c6c65725f6665655f62617369735f706f696e7473223a202200600082015250565b60006141eb601f836134e7565b91506141f6826141b5565b601f82019050919050565b7f222c202273656c6c65725f6665655f726563697069656e74223a202200000000600082015250565b6000614237601c836134e7565b915061424282614201565b601c82019050919050565b7f222c2022616e696d6174696f6e5f75726c223a20220000000000000000000000600082015250565b60006142836015836134e7565b915061428e8261424d565b601582019050919050565b60006142a482614077565b91506142b0828961409a565b91506142bb82614146565b91506142c7828861409a565b91506142d282614192565b91506142de828761409a565b91506142e9826141de565b91506142f5828661409a565b91506143008261422a565b915061430c828561409a565b915061431782614276565b9150614323828461409a565b915061432e8261381e565b9150819050979650505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000614374601d836134e7565b915061437f8261433e565b601d82019050919050565b600061439582614367565b91506143a18284613564565b915081905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614408602683612b98565b9150614413826143ac565b604082019050919050565b60006020820190508181036000830152614437816143fb565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614474602083612b98565b915061447f8261443e565b602082019050919050565b600060208201905081810360008301526144a381614467565b9050919050565b60006144b582612d07565b91506144c083612d07565b9250828210156144d3576144d26139e2565b5b828203905092915050565b60006144ea8284613564565b915081905092915050565b7f2023000000000000000000000000000000000000000000000000000000000000600082015250565b600061452b6002836134e7565b9150614536826144f5565b600282019050919050565b600081519050919050565b600081905092915050565b600061456282614541565b61456c818561454c565b935061457c818560208601612ba9565b80840191505092915050565b7f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6260008201527f61736536342c0000000000000000000000000000000000000000000000000000602082015250565b60006145e46026836134e7565b91506145ef82614588565b602682019050919050565b7f222c2261747472696275746573223a2000000000000000000000000000000000600082015250565b60006146306010836134e7565b915061463b826145fa565b601082019050919050565b7f7d00000000000000000000000000000000000000000000000000000000000000600082015250565b600061467c6001836134e7565b915061468782614646565b600182019050919050565b600061469d82614077565b91506146a9828761409a565b91506146b48261451e565b91506146c08286614557565b91506146cb826145d7565b91506146d78285614557565b91506146e282614623565b91506146ee8284613564565b91506146f98261466f565b915081905095945050505050565b600061471282612d07565b915061471d83612d07565b92508261472d5761472c613a6b565b5b828204905092915050565b7f3c706174682066696c6c3d222300000000000000000000000000000000000000600082015250565b600061476e600d836134e7565b915061477982614738565b600d82019050919050565b7f2220643d224d383020313430683435763130483830762d31305a6d343520306860008201527f3435763130682d3435762d31305a222f3e000000000000000000000000000000602082015250565b60006147e06031836134e7565b91506147eb82614784565b603182019050919050565b60006148028285613564565b915061480d82614761565b91506148198284613564565b9150614824826147d3565b91508190509392505050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323060008201527f30302f737667222076696577426f783d2230203020333230203332302220776960208201527f6474683d223230303022206865696768743d2232303030222073686170652d7260408201527f656e646572696e673d2263726973704564676573223e3c646566733e3c73747960608201527f6c653e2e636865636b7b66696c6c3a2023000000000000000000000000000000608082015250565b60006148fe6091836134e7565b915061490982614830565b609182019050919050565b7f7d3c2f7374796c653e3c2f646566733e3c706174682066696c6c3d2223000000600082015250565b600061494a601d836134e7565b915061495582614914565b601d82019050919050565b7f2220643d224d302030683332307633323048307a22202f3e3c7061746820666960008201527f6c6c3d2223000000000000000000000000000000000000000000000000000000602082015250565b60006149bc6025836134e7565b91506149c782614960565b602582019050919050565b7f2220643d224d383020343068313830763138304838307a222f3e3c706174682060008201527f66696c6c3d222300000000000000000000000000000000000000000000000000602082015250565b6000614a2e6027836134e7565b9150614a39826149d2565b602782019050919050565b7f2220643d224d393020353068313630763136304839307a222f3e000000000000600082015250565b6000614a7a601a836134e7565b9150614a8582614a44565b601a82019050919050565b7f2220643d224d39302032323068323076313030483930563232305a6d3230203060008201527f683130763330682d3130762d33305a6d3130203068313130763130304831323060208201527f563232305a222f3e000000000000000000000000000000000000000000000000604082015250565b6000614b126048836134e7565b9150614b1d82614a90565b604882019050919050565b7f222066696c6c2d6f7061636974793d222e362220643d224d313630203132306860008201527f3130763530682d31307a222f3e00000000000000000000000000000000000000602082015250565b6000614b84602d836134e7565b9150614b8f82614b28565b602d82019050919050565b7f3c706174682066696c6c3d22236666662220643d224d31333020313230682d3260008201527f30763130683230762d31305a6d30203130682d3230763130683230762d31305a60208201527f6d30203130682d3230763130683230762d31305a6d30203130682d323076313060408201527f683230762d31305a222f3e3c706174682066696c6c3d22233030302220643d2260608201527f4d31353020313230682d3230763130683230762d31305a6d30203130682d323060808201527f763130683230762d31305a6d30203130682d3230763130683230762d31305a6d60a08201527f30203130682d3230763130683230762d31305a222f3e3c706174682066696c6c60c08201527f3d22236666662220643d224d32303020313230682d3230763130683230762d3160e08201527f305a6d30203130682d3230763130683230762d31305a6d30203130682d3230766101008201527f3130683230762d31305a6d30203130682d3230763130683230762d31305a222f6101208201527f3e3c706174682066696c6c3d22233030302220643d224d32323020313230682d6101408201527f3230763130683230762d31305a6d30203130682d3230763130683230762d31306101608201527f5a6d30203130682d3230763130683230762d31305a6d30203130682d323076316101808201527f30683230762d31305a222f3e00000000000000000000000000000000000000006101a082015250565b6000614dc56101ac836134e7565b9150614dd082614b9a565b6101ac82019050919050565b7f2220643d224d31363020313130682d3630763130683630762d31305a6d37302060008201527f30682d3630763130683630762d31305a6d2d313230203130682d31307631306860208201527f3130762d31305a6d35302030682d3130763130683130762d31305a6d3230203060408201527f682d3130763130683130762d31305a6d35302030682d3130763130683130762d60608201527f31305a6d30203130682d3130763130683130762d31305a6d2d3132302031306860808201527f2d3130763130683130762d31305a6d35302030682d3130763130683130762d3160a08201527f305a6d32302030682d3130763130683130762d31305a6d35302030682d31307660c08201527f3130683130762d31305a6d2d3135302030483730763130683130762d31305a6d60e08201527f30203130483730763130683130762d31305a6d33302030682d313076313068316101008201527f30762d31305a6d35302030682d3130763130683130762d31305a6d32302030686101208201527f2d3130763130683130762d31305a6d35302030682d3130763130683130762d316101408201527f305a6d2d3730203130682d3630763130683630762d31305a6d37302030682d366101608201527f30763130683630762d31305a6d2d3132302d3330483730763130683430762d316101808201527f305a6d37302030682d3330763130683330762d31305a222f3e000000000000006101a082015250565b60006150076101b9836134e7565b915061501282614ddc565b6101b982019050919050565b7f3c2f7376673e0000000000000000000000000000000000000000000000000000600082015250565b60006150546006836134e7565b915061505f8261501e565b600682019050919050565b6000615075826148f1565b9150615081828d613564565b915061508c8261493d565b9150615098828c613564565b91506150a3826149af565b91506150af828b613564565b91506150ba82614a21565b91506150c6828a613564565b91506150d182614a6d565b91506150dd8289613564565b91506150e882614761565b91506150f48288613564565b91506150ff82614b05565b915061510b8287613564565b915061511682614761565b91506151228286613564565b915061512d82614b77565b915061513882614db7565b915061514382614761565b915061514f8285613564565b915061515a82614ff9565b91506151668284613564565b915061517182615047565b91508190509b9a5050505050505050505050565b7f2220643d22000000000000000000000000000000000000000000000000000000600082015250565b60006151bb6005836134e7565b91506151c682615185565b600582019050919050565b7f222f3e0000000000000000000000000000000000000000000000000000000000600082015250565b60006152076003836134e7565b9150615212826151d1565b600382019050919050565b600061522882614761565b91506152348285613564565b915061523f826151ae565b915061524b8284613564565b9150615256826151fa565b91508190509392505050565b600061526e8285614557565b915061527a8284613564565b91508190509392505050565b7f2220643d224d31313020313230683430763430682d34307a222f3e3c7061746860008201527f2066696c6c3d2223000000000000000000000000000000000000000000000000602082015250565b60006152e26028836134e7565b91506152ed82615286565b602882019050919050565b7f2220643d224d31383020313230683430763430682d34307a222f3e0000000000600082015250565b600061532e601b836134e7565b9150615339826152f8565b601b82019050919050565b7f3c706174682066696c6c3d22234646464646462220643d224d3134302031323060008201527f683130763230682d31307a222f3e3c706174682066696c6c3d2223464646464660208201527f462220643d224d32313020313230683130763230682d31307a222f3e00000000604082015250565b60006153c6605c836134e7565b91506153d182615344565b605c82019050919050565b60006153e782614761565b91506153f38285613564565b91506153fe826152d5565b915061540a8284613564565b915061541582615321565b9150615420826153b9565b9150819050939250505056fe697066733a2f2f516d665a6a334c444356316143776572546a343277676261506b34695936615565364d6759764d335361797138754142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f5468697320617274776f726b206d6179206f72206d6179206e6f74206265206e6f756e61626c652ea264697066735822122016bc5ef105fd96d0edc259923ae5c8b0e8f82ea0dfc2a6ce24f023425de26ee864736f6c634300080f0033