8 txs
9 calls
constructor
constructor(address punkDataContractAddress)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
contractSealed
viewfunction contractSealed() view returns (bool)
costPerToken
viewfunction costPerToken() view returns (uint256)
externalLink
viewfunction externalLink() view returns (string)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getPixelColor
viewfunction getPixelColor(uint256 tokenId) view returns (string color)
getPixelImage
viewfunction getPixelImage(uint256 tokenId) view returns (string svg)
getPixelImageWithColor
viewfunction getPixelImageWithColor(uint256 tokenId) view returns (string svg, string returnedColor, uint256 xCoord, uint256 yCoord)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isMintActive
viewfunction isMintActive() view returns (bool)
lovelyPrimeNumber
viewfunction lovelyPrimeNumber() view returns (uint256)
maxSupply
viewfunction maxSupply() view returns (uint256)
mintBatchSize
viewfunction mintBatchSize() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
punkDataContract
viewfunction punkDataContract() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 id) view returns (string)
totalMintCost
viewfunction totalMintCost(uint256 numTokens, address minter) view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address to, uint256 tokenId)
flipMintState
nonpayablefunction flipMintState()
mintPunkPixel
payablefunction mintPunkPixel(address toAddress, uint256 numTokens) payable
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
sealContract
nonpayablefunction sealContract()
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setColorRarityScores
nonpayablefunction setColorRarityScores(string[] colors, uint8[] scores)
setPunkPixelCounts
nonpayablefunction setPunkPixelCounts(bytes[] pixelCounts)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw()
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
ApprovalCallerNotOwnerNorApproved
error ApprovalCallerNotOwnerNorApproved()
ApprovalQueryForNonexistentToken
error ApprovalQueryForNonexistentToken()
ApprovalToCurrentOwner
error ApprovalToCurrentOwner()
ApproveToCaller
error ApproveToCaller()
BalanceQueryForZeroAddress
error BalanceQueryForZeroAddress()
InvalidCodeAtRange
error InvalidCodeAtRange(uint256 _size, uint256 _start, uint256 _end)
MintToZeroAddress
error MintToZeroAddress()
MintZeroQuantity
error MintZeroQuantity()
OwnerQueryForNonexistentToken
error OwnerQueryForNonexistentToken()
TransferCallerNotOwnerNorApproved
error TransferCallerNotOwnerNorApproved()
TransferFromIncorrectOwner
error TransferFromIncorrectOwner()
TransferToNonERC721ReceiverImplementer
error TransferToNonERC721ReceiverImplementer()
TransferToZeroAddress
error TransferToZeroAddress()
WriteError
error WriteError()
creation bytecode
0x60e0604052601660a08190527f68747470733a2f2f70756e6b706978656c732e78797a0000000000000000000060c09081526200004091600a919062000168565b503480156200004e57600080fd5b5060405162003b5f38038062003b5f833981016040819052620000719162000248565b6040518060400160405280600b81526020016a50756e6b20506978656c7360a81b815250604051806040016040528060078152602001660a0aa9c96a092b60cb1b815250620000cf620000c96200011460201b60201c565b62000118565b8151620000e490600390602085019062000168565b508051620000fa90600490602084019062000168565b50600060015550506001600160a01b0316608052620002bc565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b82805462000176906200028b565b90600052602060002090601f0160209004810192826200019a5760008555620001e5565b82601f10620001b557805160ff1916838001178555620001e5565b82800160010185558215620001e5579182015b82811115620001e5578251825591602001919060010190620001c8565b50620001f3929150620001f7565b5090565b5b80821115620001f35760008155600101620001f8565b60006001600160a01b0382165b92915050565b6200022c816200020e565b81146200023857600080fd5b50565b80516200021b8162000221565b6000602082840312156200025f576200025f600080fd5b60006200026d84846200023b565b949350505050565b634e487b7160e01b600052602260045260246000fd5b600281046001821680620002a057607f821691505b60208210811415620002b657620002b662000275565b50919050565b608051613880620002df600039600081816102e401526108b701526138806000f3fe6080604052600436106102045760003560e01c80635f7234da11610118578063a22cb465116100a0578063c87b56dd1161006f578063c87b56dd146105d8578063d5abeb01146105f8578063e985e9c51461060f578063f2fde38b14610658578063f4eb1fc11461067857600080fd5b8063a22cb4651461055e578063a87f30ef1461057e578063b65016371461059e578063b88d4fde146105b857600080fd5b806370a08231116100e757806370a08231146104d6578063715018a6146104f65780637b68a8f01461050b5780638da5cb5b1461052b57806395d89b411461054957600080fd5b80635f7234da1461044f5780635fa33a541461046f5780636352211e146104a157806368bd580e146104c157600080fd5b806323b872dd1161019b57806342842e0e1161016a57806342842e0e146103cb57806352bbd7dc146103eb57806359c74f291461040b5780635b92ac0d146104205780635b9db8981461043a57600080fd5b806323b872dd1461034c578063324b772f1461036c5780633ba523c71461039c5780633ccfd60b146103b657600080fd5b8063095ea7b3116101d7578063095ea7b3146102b05780630f5a9f89146102d257806318160ddd146103135780631afe76831461032c57600080fd5b806301ffc9a71461020957806304b6d7ce1461023f57806306fdde0314610261578063081812fc14610283575b600080fd5b34801561021557600080fd5b5061022961022436600461237a565b61068b565b60405161023691906123a5565b60405180910390f35b34801561024b57600080fd5b50610254601e81565b60405161023691906123b9565b34801561026d57600080fd5b506102766106dd565b6040516102369190612425565b34801561028f57600080fd5b506102a361029e366004612447565b61076f565b6040516102369190612482565b3480156102bc57600080fd5b506102d06102cb3660046124a4565b6107b3565b005b3480156102de57600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b6040516102369190612500565b34801561031f57600080fd5b5060025460015403610254565b34801561033857600080fd5b50610276610347366004612447565b610841565b34801561035857600080fd5b506102d061036736600461250e565b610856565b34801561037857600080fd5b5061038c610387366004612447565b610861565b604051610236949392919061255e565b3480156103a857600080fd5b5061025465e35fa931a00081565b3480156103c257600080fd5b506102d0610c70565b3480156103d757600080fd5b506102d06103e636600461250e565b610ca6565b3480156103f757600080fd5b506102d06104063660046125f9565b610cc1565b34801561041757600080fd5b506102d0610db0565b34801561042c57600080fd5b506009546102299060ff1681565b34801561044657600080fd5b50610276610dee565b34801561045b57600080fd5b506102d061046a366004612670565b610e7c565b34801561047b57600080fd5b506102547d013d42089c87bf129e8ac70345568d4c69426b3b52945b00fbfcb3c0fb0f81565b3480156104ad57600080fd5b506102a36104bc366004612447565b610f8b565b3480156104cd57600080fd5b506102d0610f9d565b3480156104e257600080fd5b506102546104f13660046126b7565b610ff9565b34801561050257600080fd5b506102d0611047565b34801561051757600080fd5b50610276610526366004612447565b61107b565b34801561053757600080fd5b506000546001600160a01b03166102a3565b34801561055557600080fd5b50610276611090565b34801561056a57600080fd5b506102d06105793660046126eb565b61109f565b34801561058a57600080fd5b5061025461059936600461271e565b611138565b3480156105aa57600080fd5b50600b546102299060ff1681565b3480156105c457600080fd5b506102d06105d3366004612842565b61116e565b3480156105e457600080fd5b506102766105f3366004612447565b6111bf565b34801561060457600080fd5b50610254621fe85681565b34801561061b57600080fd5b5061022961062a3660046128c0565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b34801561066457600080fd5b506102d06106733660046126b7565b6111ef565b6102d06106863660046124a4565b61124b565b60006001600160e01b031982166380ac58cd60e01b14806106bc57506001600160e01b03198216635b5e139f60e01b145b806106d757506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600380546106ec906128f8565b80601f0160208091040260200160405190810160405280929190818152602001828054610718906128f8565b80156107655780601f1061073a57610100808354040283529160200191610765565b820191906000526020600020905b81548152906001019060200180831161074857829003601f168201915b5050505050905090565b600061077a8261130c565b610797576040516333d1c03960e21b815260040160405180910390fd5b506000908152600760205260409020546001600160a01b031690565b60006107be82610f8b565b9050806001600160a01b0316836001600160a01b031614156107f35760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b038216148015906108135750610811813361062a565b155b15610831576040516367d9dca160e11b815260040160405180910390fd5b61083c838383611338565b505050565b606061084c82610861565b5091949350505050565b61083c838383611394565b6060806000806108708561130c565b6108955760405162461bcd60e51b815260040161088c9061294d565b60405180910390fd5b6000806108a18761157f565b90506000806108af836115c6565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633e5e0a96846040518263ffffffff1660e01b81526004016109019190612967565b600060405180830381865afa15801561091e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261094691908101906129cd565b60408051620100608101909152620100408152600060209091018181529192505061098b60405180610100016040528060d2815260200161377960d291398290611669565b60408051600880825281830190925260009160208201818036833701905050905060005b6018811015610c0f5760005b6018811015610bfc576000816109d2846018612a1d565b6109dc9190612a3c565b6109e7906004612a1d565b90506000866109f7836003612a3c565b81518110610a0757610a07612a54565b016020015160f81c1115610be95760005b6004811015610b2857600087610a2e8385612a3c565b81518110610a3e57610a3e612a54565b016020015160f81c90506f181899199a1a9b1b9c1cb0b131b232b360811b600f821660108110610a7057610a70612a54565b1a60f81b86610a80846002612a1d565b610a8b906001612a3c565b81518110610a9b57610a9b612a54565b60200101906001600160f81b031916908160001a90535060041c600f166f181899199a1a9b1b9c1cb0b131b232b360811b8160108110610add57610add612a54565b1a60f81b86610aed846002612a1d565b81518110610afd57610afd612a54565b60200101906001600160f81b031916908160001a905350508080610b2090612a6a565b915050610a18565b50868a1415610b6f5783604051602001610b429190612aa7565b60408051601f198184030181529190529c50610b5f826001612a3c565b9b50610b6c836001612a3c565b9a505b610bae610b7b836116ae565b610b84856116ae565b86604051602001610b9793929190612af5565b60408051601f198184030181529190528690611669565b868a14610bdb57610bdb610bc1836116ae565b610bca856116ae565b604051602001610b97929190612b69565b89610be581612a6a565b9a50505b5080610bf481612a6a565b9150506109bb565b5080610c0781612a6a565b9150506109af565b506040805180820190915260068152651e17b9bb339f60d11b6020820152610c38908390611669565b610c41826117b3565b604051602001610c519190612bca565b6040516020818303038152906040529a50505050505050509193509193565b6000546001600160a01b03163314610c9a5760405162461bcd60e51b815260040161088c90612d15565b610ca43347611918565b565b61083c8383836040518060200160405280600081525061116e565b6000546001600160a01b03163314610ceb5760405162461bcd60e51b815260040161088c90612d15565b600b5460ff1615610d0e5760405162461bcd60e51b815260040161088c90612d4c565b60005b83811015610da957828282818110610d2b57610d2b612a54565b9050602002016020810190610d409190612d70565b600d868684818110610d5457610d54612a54565b9050602002810190610d669190612d91565b604051610d74929190612e02565b908152604051908190036020019020805460ff9290921660ff1990921691909117905580610da181612a6a565b915050610d11565b5050505050565b6000546001600160a01b03163314610dda5760405162461bcd60e51b815260040161088c90612d15565b6009805460ff19811660ff90911615179055565b600a8054610dfb906128f8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e27906128f8565b8015610e745780601f10610e4957610100808354040283529160200191610e74565b820191906000526020600020905b815481529060010190602001808311610e5757829003601f168201915b505050505081565b6000546001600160a01b03163314610ea65760405162461bcd60e51b815260040161088c90612d15565b600b5460ff1615610ec95760405162461bcd60e51b815260040161088c90612d4c565b610f2b82826000818110610edf57610edf612a54565b9050602002810190610ef19190612d91565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119b492505050565b600b60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550610f6782826001818110610edf57610edf612a54565b600c80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000610f9682611a19565b5192915050565b6000546001600160a01b03163314610fc75760405162461bcd60e51b815260040161088c90612d15565b600b5460ff1615610fea5760405162461bcd60e51b815260040161088c90612d4c565b600b805460ff19166001179055565b60006001600160a01b038216611022576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600660205260409020546001600160401b031690565b6000546001600160a01b031633146110715760405162461bcd60e51b815260040161088c90612d15565b610ca46000611b33565b606061108682610861565b5090949350505050565b6060600480546106ec906128f8565b6001600160a01b0382163314156110c95760405163b06307db60e01b815260040160405180910390fd5b3360008181526008602090815260408083206001600160a01b038716808552925291829020805460ff191685151517905590519091907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319061112c9085906123a5565b60405180910390a35050565b600080546001600160a01b0383811691161415611157575060006106d7565b61116765e35fa931a00084612a1d565b9392505050565b611179848484611394565b6001600160a01b0383163b1515801561119b575061119984848484611b83565b155b156111b9576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606111ca8261130c565b6111e65760405162461bcd60e51b815260040161088c9061294d565b6106d782611c6b565b6000546001600160a01b031633146112195760405162461bcd60e51b815260040161088c90612d15565b6001600160a01b03811661123f5760405162461bcd60e51b815260040161088c90612e55565b61124881611b33565b50565b60095460ff1661126d5760405162461bcd60e51b815260040161088c90612e8e565b6000811161128d5760405162461bcd60e51b815260040161088c90612ec6565b6112978133611138565b34146112b55760405162461bcd60e51b815260040161088c90612eff565b60006112c2601e83612f25565b905060006112d1601e84612f39565b905060005b828110156112fb576112e985601e611d5f565b806112f381612a6a565b9150506112d6565b5080156111b9576111b98482611d5f565b6000600154821080156106d7575050600090815260056020526040902054600160e01b900460ff161590565b60008281526007602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600061139f82611a19565b9050836001600160a01b031681600001516001600160a01b0316146113d65760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b03861614806113f457506113f4853361062a565b8061140f5750336114048461076f565b6001600160a01b0316145b90508061142f57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661145657604051633a954ecd60e21b815260040160405180910390fd5b61146260008487611338565b6001600160a01b038581166000908152600660209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600590945282852080546001600160e01b031916909417600160a01b4290921691909102178355870180845292208054919390911661153657600154821461153657805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610da9565b6000620bde09621fe8567d013d42089c87bf129e8ac70345568d4c69426b3b52945b00fbfcb3c0fb0f6115b28386612a3c565b6115bc9190612a1d565b6111679190612f39565b604080516178608101909152617840815260006020909101818152819061160b611604600b60019054906101000a90046001600160a01b0316611d7d565b8290611669565b600c5461162490611604906001600160a01b0316611d7d565b61162e8185611d8d565b9250600083156116515761164c82611647600187612f4d565b611e07565b611654565b60005b90506116608186612f4d565b92505050915091565b601f1982015182518251603f199092019182906116869083612a3c565b11156116a45760405162461bcd60e51b815260040161088c90612fa8565b6111b98484611ed7565b6060816116d25750506040805180820190915260018152600360fc1b602082015290565b8160005b81156116fc57806116e681612a6a565b91506116f59050600a83612f25565b91506116d6565b6000816001600160401b0381111561171657611716612751565b6040519080825280601f01601f191660200182016040528015611740576020820181803683370190505b5090505b84156117ab57611755600183612f4d565b9150611762600a86612f39565b61176d906030612a3c565b60f81b81838151811061178257611782612a54565b60200101906001600160f81b031916908160001a9053506117a4600a86612f25565b9450611744565b949350505050565b60608151600014156117d357505060408051602081019091526000815290565b600060405180606001604052806040815260200161373960409139905060006003845160026118029190612a3c565b61180c9190612f25565b611817906004612a1d565b90506000611826826020612a3c565b6001600160401b0381111561183d5761183d612751565b6040519080825280601f01601f191660200182016040528015611867576020820181803683370190505b509050818152600183018586518101602084015b818310156118d3576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f811685015182535060010161187b565b6003895106600181146118ed57600281146118fe5761190a565b613d3d60f01b60011983015261190a565b603d60f81b6000198301525b509398975050505050505050565b804710156119385760405162461bcd60e51b815260040161088c90612fec565b6000826001600160a01b03168260405161195190612ffc565b60006040518083038185875af1925050503d806000811461198e576040519150601f19603f3d011682016040523d82523d6000602084013e611993565b606091505b505090508061083c5760405162461bcd60e51b815260040161088c9061305e565b6000806119df836040516020016119cb9190613078565b604051602081830303815290604052611f0d565b90508051602082016000f091506001600160a01b038216611a135760405163046a55db60e11b815260040160405180910390fd5b50919050565b604080516060810182526000808252602082018190529181019190915281600154811015611b1a57600081815260056020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290611b185780516001600160a01b031615611aaf579392505050565b5060001901600081815260056020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215611b13579392505050565b611aaf565b505b604051636f96cda160e11b815260040160405180910390fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611bb890339089908890889060040161308f565b6020604051808303816000875af1925050508015611bf3575060408051601f3d908101601f19168201909252611bf0918101906130d4565b60015b611c4e573d808015611c21576040519150601f19603f3d011682016040523d82523d6000602084013e611c26565b606091505b508051611c46576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b60606000611c788361157f565b90506000611c85826115c6565b509050600080600080611c9788610861565b9350935093509350611d33611cab89611f39565b611cb6878585611f54565b611cbf876117b3565b600a87611ccb89611f9b565b611cde611cd98e6001612a3c565b6116ae565b611cea621fe8566116ae565b611cf38e6116ae565b611cfc8c6116ae565b611d058c6116ae565b604051602001611d1f9b9a999897969594939291906132c1565b6040516020818303038152906040526117b3565b604051602001611d43919061358d565b6040516020818303038152906040529650505050505050919050565b611d798282604051806020016040528060008152506120d5565b5050565b60606106d78260016000196120e2565b60008060009050600060038551611da49190612f25565b90505b80821015611dff5760006002611dbd8484612f4d565b611dc79190612f25565b611dd19084612a3c565b905084611dde8783611e07565b11611df557611dee816001612a3c565b9250611df9565b8091505b50611da7565b509392505050565b60008083611e16846003612a1d565b81518110611e2657611e26612a54565b0160200151611e3b9060f81c62010000613598565b62ffffff169050600084611e50856003612a1d565b611e5b906001612a3c565b81518110611e6b57611e6b612a54565b0160200151611e7f9060f81c6101006135c3565b61ffff169050600085611e93866003612a1d565b611e9e906002612a3c565b81518110611eae57611eae612a54565b016020015160f81c905080611ec38385612a3c565b611ecd9190612a3c565b9695505050505050565b8051602082019150808201602084510184015b81841015611f02578351815260209384019301611eea565b505082510190915250565b6060815182604051602001611f2392919061362a565b6040516020818303038152906040529050919050565b6060611f44826116ae565b604051602001611f23919061365c565b6060611f5f836116ae565b611f68836116ae565b611f71866116ae565b604051602001611f83939291906136a5565b60405160208183030381529060405290509392505050565b60606000600d83604051611faf9190612aa7565b9081526040519081900360200190205460ff16905080611fed57505060408051808201909152600681526521b7b6b6b7b760d11b6020820152919050565b8060ff166001141561201f5750506040805180820190915260088152672ab731b7b6b6b7b760c11b6020820152919050565b8060ff166002141561204d5750506040805180820190915260048152635261726560e01b6020820152919050565b8060ff166003141561207b5750506040805180820190915260048152634570696360e01b6020820152919050565b8060ff16600414156120ae5750506040805180820190915260098152684c6567656e6461727960b81b6020820152919050565b505060408051808201909152600981526850726963656c65737360b81b6020820152919050565b61083c8383836001612188565b6060833b80612101575050604080516020810190915260008152611167565b8084111561211f575050604080516020810190915260008152611167565b838310156121465780848460405163162544fd60e11b815260040161088c93929190613710565b838303848203600082821061215b578261215d565b815b60408051603f8301601f19168101909152818152955090508087602087018a3c505050509392505050565b6001546001600160a01b0385166121b157604051622e076360e81b815260040160405180910390fd5b836121cf5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038516600081815260066020908152604080832080546fffffffffffffffffffffffffffffffff1981166001600160401b038083168c0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168c01811690920217909155858452600590925290912080546001600160e01b031916909217600160a01b42909216919091021790558080850183801561228057506001600160a01b0387163b15155b15612309575b60405182906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46122d16000888480600101955088611b83565b6122ee576040516368d2bf6b60e11b815260040160405180910390fd5b8082141561228657826001541461230457600080fd5b61234f565b5b6040516001830192906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a48082141561230a575b50600155610da9565b6001600160e01b031981165b811461124857600080fd5b80356106d781612358565b60006020828403121561238f5761238f600080fd5b60006117ab848461236f565b8015155b82525050565b602081016106d7828461239b565b8061239f565b602081016106d782846123b3565b60005b838110156123e25781810151838201526020016123ca565b838111156111b95750506000910152565b60006123fd825190565b8084526020840193506124148185602086016123c7565b601f01601f19169290920192915050565b6020808252810161116781846123f3565b80612364565b80356106d781612436565b60006020828403121561245c5761245c600080fd5b60006117ab848461243c565b60006001600160a01b0382166106d7565b61239f81612468565b602081016106d78284612479565b61236481612468565b80356106d781612490565b600080604083850312156124ba576124ba600080fd5b60006124c68585612499565b92505060206124d78582860161243c565b9150509250929050565b60006106d782612468565b60006106d7826124e1565b61239f816124ec565b602081016106d782846124f7565b60008060006060848603121561252657612526600080fd5b60006125328686612499565b935050602061254386828701612499565b92505060406125548682870161243c565b9150509250925092565b6080808252810161256f81876123f3565b9050818103602083015261258381866123f3565b905061259260408301856123b3565b61259f60608301846123b3565b95945050505050565b60008083601f8401126125bd576125bd600080fd5b5081356001600160401b038111156125d7576125d7600080fd5b6020830191508360208202830111156125f2576125f2600080fd5b9250929050565b6000806000806040858703121561261257612612600080fd5b84356001600160401b0381111561262b5761262b600080fd5b612637878288016125a8565b945094505060208501356001600160401b0381111561265857612658600080fd5b612664878288016125a8565b95989497509550505050565b6000806020838503121561268657612686600080fd5b82356001600160401b0381111561269f5761269f600080fd5b6126ab858286016125a8565b92509250509250929050565b6000602082840312156126cc576126cc600080fd5b60006117ab8484612499565b801515612364565b80356106d7816126d8565b6000806040838503121561270157612701600080fd5b600061270d8585612499565b92505060206124d7858286016126e0565b6000806040838503121561273457612734600080fd5b6000612740858561243c565b92505060206124d785828601612499565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171561278c5761278c612751565b6040525050565b600061279e60405190565b90506127aa8282612767565b919050565b60006001600160401b038211156127c8576127c8612751565b601f19601f83011660200192915050565b82818337506000910152565b60006127f86127f3846127af565b612793565b90508281526020810184848401111561281357612813600080fd5b611dff8482856127d9565b600082601f83011261283257612832600080fd5b81356117ab8482602086016127e5565b6000806000806080858703121561285b5761285b600080fd5b60006128678787612499565b945050602061287887828801612499565b93505060406128898782880161243c565b92505060608501356001600160401b038111156128a8576128a8600080fd5b6128b48782880161281e565b91505092959194509250565b600080604083850312156128d6576128d6600080fd5b60006127408585612499565b634e487b7160e01b600052602260045260246000fd5b60028104600182168061290c57607f821691505b60208210811415611a1357611a136128e2565b6014815260006020820173151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b815291505b5060200190565b602080825281016106d78161291f565b61ffff811661239f565b602081016106d7828461295d565b60006129836127f3846127af565b90508281526020810184848401111561299e5761299e600080fd5b611dff8482856123c7565b600082601f8301126129bd576129bd600080fd5b81516117ab848260208601612975565b6000602082840312156129e2576129e2600080fd5b81516001600160401b038111156129fb576129fb600080fd5b6117ab848285016129a9565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612a3757612a37612a07565b500290565b60008219821115612a4f57612a4f612a07565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415612a7e57612a7e612a07565b5060010190565b6000612a8f825190565b612a9d8185602086016123c7565b9290920192915050565b60006111678284612a85565b681e3932b1ba103c1e9160b91b815260005b5060090190565b68222066696c6c3d222360b81b81526000612ac5565b6211179f60e91b815260005b5060030190565b6000612b0082612ab3565b9150612b0c8286612a85565b6411103c9e9160d91b81526005019150612b268285612a85565b9150612b3182612acc565b9150612b3d8284612a85565b915061259f82612ae2565b7004440ccd2d8d87a44466c66706a726cc87607b1b815260005b5060110190565b6000612b7482612ab3565b9150612b808285612a85565b6411103c9e9160d91b81526005019150612b9a8284612a85565b9150612ba582612b48565b91506117ab82612ae2565b691110179f1e17b9bb339f60b11b815260005b50600a0190565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222073686170652d72656e646572696e673d226372697370456460208201527f676573222076657273696f6e3d22312e32222076696577426f783d223020302060408201527f333037322033303732223e3c696d61676520783d22302220793d22302220776960608201527f6474683d223130302522206865696768743d22313030252220696d6167652d7260808201527f656e646572696e673d22706978656c617465642220687265663d22646174613a60a0820152741a5b5859d94bdcdd99cade1b5b0ed8985cd94d8d0b605a1b60c082015260d5016000612cd88284612a85565b915061116782612bb0565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657291019081526000612946565b602080825281016106d781612ce3565b601081526000602082016f21b7b73a3930b1ba1039b2b0b632b21760811b81529150612946565b602080825281016106d781612d25565b60ff8116612364565b80356106d781612d5c565b600060208284031215612d8557612d85600080fd5b60006117ab8484612d65565b6000808335601e1936859003018112612dac57612dac600080fd5b8084019250823591506001600160401b03821115612dcc57612dcc600080fd5b602083019250600182023603831315612de757612de7600080fd5b509250929050565b6000612dfc8385846127d9565b50500190565b60006117ab828486612def565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b602080825281016106d781612e0f565b60128152600060208201714d696e74206973206e6f742061637469766560701b81529150612946565b602080825281016106d781612e65565b60118152600060208201704d696e74206174206c65617374206f6e6560781b81529150612946565b602080825281016106d781612e9e565b60128152600060208201711399595908195e1858dd081c185e5b595b9d60721b81529150612946565b602080825281016106d781612ed6565b634e487b7160e01b600052601260045260246000fd5b600082612f3457612f34612f0f565b500490565b600082612f4857612f48612f0f565b500690565b600082821015612f5f57612f5f612a07565b500390565b602781526000602082017f44796e616d69634275666665723a20417070656e64696e67206f7574206f66208152663137bab732399760c91b60208201529150612e4e565b602080825281016106d781612f64565b601d81526000602082017f416464726573733a20696e73756666696369656e742062616c616e636500000081529150612946565b602080825281016106d781612fb8565b6000816106d7565b603a81526000602082017f416464726573733a20756e61626c6520746f2073656e642076616c75652c207281527f6563697069656e74206d6179206861766520726576657274656400000000000060208201529150612e4e565b602080825281016106d781613004565b6000808252612a7e565b60006130838261306e565b91506111678284612a85565b6080810161309d8287612479565b6130aa6020830186612479565b6130b760408301856123b3565b8181036060830152611ecd81846123f3565b80516106d781612358565b6000602082840312156130e9576130e9600080fd5b60006117ab84846130c9565b607b60f81b81526000612a7e565b701116113232b9b1b934b83a34b7b7111d1160791b81526000612b62565b6000815461312e816128f8565b600182168015613145576001811461315657613186565b60ff19831686528186019350613186565b60008581526020902060005b8381101561317e57815488820152600190910190602001613162565b838801955050505b50505092915050565b70222c2261747472696275746573223a205b60781b81526000612b62565b601160f91b81526000612a7e565b627d2c7b60e81b81526000612aee565b7f2274726169745f74797065223a2022636f6c6f725f726172697479222c000000815260005b50601d0190565b69113b30b63ab2911d101160b11b81526000612bc3565b7f2274726169745f74797065223a2022706978656c5f6e756d626572222c000000815260006131f1565b680113b30b63ab2911d160bd1b81526000612ac5565b600b60fa1b81526000612a7e565b7f2274726169745f74797065223a2022785f636f6f7264696e617465222c000000815260006131f1565b7f2274726169745f74797065223a2022795f636f6f7264696e617465222c000000815260006131f1565b627d5d7d60e81b81526000612aee565b60006132cc826130f5565b67113730b6b2911d1160c11b815260080191506132e9828e612a85565b91506132f482613103565b9150613300828d612a85565b7f222c22696d6167655f64617461223a22646174613a696d6167652f7376672b788152691b5b0ed8985cd94d8d0b60b21b6020820152602a019150613345828c612a85565b7111161132bc3a32b93730b62fbab936111d1160711b8152601201915061336c828b613121565b91506133778261318f565b9150613382826130f5565b75089d1c985a5d17dd1e5c19488e880898dbdb1bdc888b60521b81526a2276616c7565223a20222360a81b601682015260210191506133c1828a612a85565b91506133cc826131ad565b91506133d7826131bb565b91506133e2826131cb565b91506133ed826131f8565b91506133f98289612a85565b9150613404826131ad565b915061340f826131bb565b915061341a8261320f565b7f22646973706c61795f74797065223a20226e756d626572222c000000000000008152601901915061344b82613239565b91506134578288612a85565b91506134628261324f565b6c01136b0bc2fbb30b63ab2911d1609d1b8152600d0191506134848287612a85565b915061348f826131bb565b7f2274726169745f74797065223a202270756e6b5f6964222c0000000000000000815260180191506134c0826131f8565b91506134cc8286612a85565b91506134d7826131ad565b91506134e2826131bb565b91506134ed8261325d565b91506134f8826131f8565b91506135048285612a85565b915061350f826131ad565b915061351a826131bb565b915061352582613287565b9150613530826131f8565b915061353c8284612a85565b9150613547826131ad565b9150613552826132b1565b9d9c50505050505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260006131f1565b600061308382613563565b600062ffffff8216915062ffffff831692508162ffffff0483118215151615612a3757612a37612a07565b600061ffff8216915061ffff831692508161ffff0483118215151615612a3757612a37612a07565b606360f81b81526000612a7e565b60006106d78260e01b90565b61239f63ffffffff82166135f9565b6880600e6000396000f360b81b81526000612ac5565b6000613635826135eb565b91506136418285613605565b60048201915061365082613614565b91506117ab8284612a85565b6b50756e6b20506978656c202360a01b81526000600c8201613083565b7029206f6e2043727970746f50756e6b202360781b81526000612b62565b601760f91b81526000612a7e565b7f54686520706978656c20617420636f6f7264696e6174657320280000000000008152601a0160006136d78286612a85565b61016160f51b815260020191506136ee8285612a85565b91506136f982613679565b91506137058284612a85565b915061259f82613697565b6060810161371e82866123b3565b61372b60208301856123b3565b6117ab60408301846123b356fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c7376672073686170652d72656e646572696e673d22637269737045646765732220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f737667222076657273696f6e3d22312e32222076696577426f783d22302030203234203234223e3c7374796c653e726563747b77696474683a3170783b6865696768743a3170787d3c2f7374796c653e3c7265637420783d22302220793d223022207374796c653d2277696474683a313030253b6865696768743a31303025222066696c6c3d222336333835393622202f3ea2646970667358221220271a0caf818b9e290e62069f371cad233197f5ddff922e5a9f4890ec406485b764736f6c634300080c003300000000000000000000000016f5a35647d6f03d5d3da7b35409d65ba03af3b2