0 txs
0 calls
constructor
constructor(address fashionHatPunkDataAddress, address punkDataContractAddress)
functions
bytesToSvgRects
purefunction bytesToSvgRects(bytes pixelBytes) pure returns (string rects)
getHatSvg
viewfunction getHatSvg(tuple punk) view returns (bytes)
getRegularMaskCoords
viewfunction getRegularMaskCoords(tuple punk) view returns (uint8 x, uint8 y)
getSpecialMaskCoords
viewfunction getSpecialMaskCoords(tuple punk) view returns (uint8 x, uint8 y)
hatImages
viewfunction hatImages(uint8, uint8, uint8) view returns (bytes)
hatOverlayPosition
viewfunction hatOverlayPosition(tuple punk) view returns (int8 x, int8 y)
nonhatImages
viewfunction nonhatImages(uint8) view returns (bytes)
nonHatSvgs
viewfunction nonHatSvgs(tuple punk) view returns (bytes svg)
owner
viewfunction owner() view returns (address)
punkImageSvg
viewfunction punkImageSvg(uint16 punkId, uint16 punkSeed, uint32 backgroundColor, bool phunkify) view returns (string)
renounceOwnership
nonpayablefunction renounceOwnership()
setHatImages
nonpayablefunction setHatImages(uint8[] hatTypes, uint8[] hatSizes, uint8[] hatColors, bytes[] hatImagesAry)
setNonhatImages
nonpayablefunction setNonhatImages(uint8[] attributeValues, bytes[] imageData)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
No errors.
creation bytecode
0x60c06040523480156200001157600080fd5b5060405162003c2238038062003c228339810160408190526200003491620000e1565b6200003f3362000057565b6001600160a01b039081166080521660a05262000124565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006001600160a01b0382165b92915050565b620000c581620000a7565b8114620000d157600080fd5b50565b8051620000b481620000ba565b60008060408385031215620000f957620000f9600080fd5b6000620001078585620000d4565b92505060206200011a85828601620000d4565b9150509250929050565b60805160a051613a846200019e600039600081816103040152818161039c015281816108de01528181610a630152818161109501528181611126015281816111b7015281816114ff0152818161159001528181611621015281816116b20152818161192601526119b701526000610b100152613a846000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063ae2ef87a11610066578063ae2ef87a146101dc578063e7247cdb146101ef578063f2fde38b14610202578063f5e966701461021557600080fd5b80638da5cb5b1461018f578063922c0594146101a857806399fc1b52146101c957600080fd5b80632dab888a116100c85780632dab888a14610140578063715018a6146101615780637b4e30641461016957806381fc3e501461017c57600080fd5b80630411e64c146100ef578063171e5741146101185780631cbef13d1461012b575b600080fd5b6101026100fd36600461210c565b610228565b60405161010f91906121a8565b60405180910390f35b610102610126366004612352565b6102d8565b61013e6101393660046124a7565b6107fc565b005b61015361014e366004612352565b6108d7565b60405161010f929190612522565b61013e610a27565b610102610177366004612567565b610a5d565b61013e61018a366004612772565b610f18565b6000546001600160a01b031660405161010f919061284b565b6101bb6101b6366004612352565b61108e565b60405161010f929190612863565b6101026101d736600461287e565b61144e565b6101026101ea366004612352565b6114f9565b6101026101fd3660046128ce565b6118aa565b61013e610210366004612903565b6118c3565b610153610223366004612352565b61191f565b805160609060005b818110156102d157600084828151811061024c5761024c612924565b016020015160f81c905080156102c0576000610269601884612950565b9050600061027860188561297a565b90508561028483611b97565b61028d83611b97565b6102998660ff16611b97565b6040516020016102ac94939291906129f6565b604051602081830303815290604052955050505b506102ca81612a5f565b9050610230565b5050919050565b60405163b963da0160e01b8152606090601e906006906057906015906003906000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b963da0190610339908b90600401612bf2565b602060405180830381865afa158015610356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037a9190612c0c565b6040516302ac358b60e51b815290915060039060009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635586b160906103d1908e90600401612bf2565b602060405180830381865afa1580156103ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104129190612c38565b9050600089605c81111561042857610428612a84565b8c60400151605c81111561043e5761043e612a84565b148015610470575085605c81111561045857610458612a84565b8c60600151605c81111561046e5761046e612a84565b145b1561055f578a61053c6002600089605c81111561048f5761048f612a84565b605c8111156104a0576104a0612a84565b815260200190815260200160002080546104b990612c6f565b80601f01602080910402602001604051908101604052809291908181526020018280546104e590612c6f565b80156105325780601f1061050757610100808354040283529160200191610532565b820191906000526020600020905b81548152906001019060200180831161051557829003601f168201915b5050505050610228565b60405160200161054d929190612cac565b6040516020818303038152906040529a505b88605c81111561057157610571612a84565b8c60800151605c81111561058757610587612a84565b14156106145789605c81111561059f5761059f612a84565b8c60400151605c8111156105b5576105b5612a84565b146105c15760006105c4565b60025b60ff1690508a6105d382611b97565b6105ec600260008d605c81111561048f5761048f612a84565b6040516020016105fe93929190612cf4565b6040516020818303038152906040529a506107ed565b87605c81111561062657610626612a84565b8c60800151605c81111561063c5761063c612a84565b14156107ed5789605c81111561065457610654612a84565b8c60400151605c81111561066a5761066a612a84565b14610676576000610679565b60025b60ff16905083600381111561069057610690612a84565b8560038111156106a2576106a2612a84565b141580156106ef57508260038111156106bd576106bd612a84565b8560038111156106cf576106cf612a84565b1480156106ed575060008260018111156106eb576106eb612a84565b145b155b1561073b578a6106fe82611b97565b610717600260008c605c81111561048f5761048f612a84565b60405160200161072993929190612cf4565b6040516020818303038152906040529a505b86605c81111561074d5761074d612a84565b8c6101800151605c81111561076457610764612a84565b14156107ed5789605c81111561077c5761077c612a84565b8c60400151605c81111561079257610792612a84565b1461079e5760006107a1565b60015b60ff1690508a6107b082611b97565b6107c9600260008b605c81111561048f5761048f612a84565b6040516020016107db93929190612cf4565b6040516020818303038152906040529a505b50505050505050505050919050565b6000546001600160a01b0316331461082f5760405162461bcd60e51b815260040161082690612d63565b60405180910390fd5b60005b82518160ff1610156108d257818160ff168151811061085357610853612924565b602002602001015160026000858460ff168151811061087457610874612924565b6020026020010151605c81111561088d5761088d612a84565b605c81111561089e5761089e612a84565b815260200190815260200160002090805190602001906108bf929190611f7f565b50806108ca81612d9d565b915050610832565b505050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b963da01856040518263ffffffff1660e01b81526004016109289190612bf2565b602060405180830381865afa158015610945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109699190612c0c565b9050601e8460400151605c81111561098357610983612a84565b1480156109a5575060288460600151605c8111156109a3576109a3612a84565b145b156109b75750600593600b9350915050565b601e8460400151605c8111156109cf576109cf612a84565b141580156109f25750605a8460600151605c8111156109f0576109f0612a84565b145b8015610a0f57506000816003811115610a0d57610a0d612a84565b145b15610a21575060029360099350915050565b50915091565b6000546001600160a01b03163314610a515760405162461bcd60e51b815260040161082690612d63565b610a5b6000611c9c565b565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166357bc535b87876040518363ffffffff1660e01b8152600401610aaf929190612db6565b6101e060405180830381865afa158015610acd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af19190612f38565b8051604051631f2f054b60e11b81529192506000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633e5e0a9691610b449190600401612f5a565b600060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b899190810190612fc0565b90506060600085610bb557604051806040016040528060038152602001621e339f60e91b815250610bcf565b6040518060600160405280602c8152602001613a23602c91395b9050600080610bdd8661191f565b60ff16915060ff169150600080610bf3886108d7565b60408051600880825281830190925260ff938416955091909216925060009160208201818036833701905050905060005b6018811015610e8f5760005b6018811015610e7c57600081610c47846018612ffa565b610c519190613019565b610c5c906004612ffa565b905060008784111580610c6f5750888311155b90508683148015610c7f57508584145b15610c88575060015b601e8d60400151605c811115610ca057610ca0612a84565b148015610cc3575060108d6101000151605c811115610cc157610cc1612a84565b145b8015610ccf5750826013145b8015610cdb575083600a145b15610ce4575060005b60008c610cf2846003613019565b81518110610d0257610d02612924565b016020015160f81c118015610d15575080155b15610e675760005b6004811015610e2d5760008d610d338386613019565b81518110610d4357610d43612924565b016020015160f81c90506f181899199a1a9b1b9c1cb0b131b232b360811b600f821660108110610d7557610d75612924565b1a60f81b87610d85846002612ffa565b610d90906001613019565b81518110610da057610da0612924565b60200101906001600160f81b031916908160001a90535060041c600f166f181899199a1a9b1b9c1cb0b131b232b360811b8160108110610de257610de2612924565b1a60f81b87610df2846002612ffa565b81518110610e0257610e02612924565b60200101906001600160f81b031916908160001a905350508080610e2590612a5f565b915050610d1d565b508a610e3884611b97565b610e4186611b97565b87604051602001610e559493929190613047565b6040516020818303038152906040529a505b50508080610e7490612a5f565b915050610c30565b5080610e8781612a5f565b915050610c24565b50600086610ea48e63ffffffff166004611cec565b89610eae8d6114f9565b610eb78e6102d8565b604051602001610ecb95949392919061308f565b6040516020818303038152906040529050610ee581611dcb565b604051602001610ef5919061363e565b6040516020818303038152906040529a5050505050505050505050949350505050565b6000546001600160a01b03163314610f425760405162461bcd60e51b815260040161082690612d63565b60005b8451811015611087576000858281518110610f6257610f62612924565b602002602001015190506000858381518110610f8057610f80612924565b602002602001015190506000858481518110610f9e57610f9e612924565b60200260200101519050848481518110610fba57610fba612924565b602002602001015160016000856003811115610fd857610fd8612a84565b6003811115610fe957610fe9612a84565b8152602001908152602001600020600084600181111561100b5761100b612a84565b600181111561101c5761101c612a84565b8152602001908152602001600020600083600581111561103e5761103e612a84565b600581111561104f5761104f612a84565b81526020019081526020016000209080519060200190611070929190611f7f565b50505050808061107f90612a5f565b915050610f45565b5050505050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b963da01856040518263ffffffff1660e01b81526004016110df9190612bf2565b602060405180830381865afa1580156110fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111209190612c0c565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635586b160866040518263ffffffff1660e01b81526004016111709190612bf2565b602060405180830381865afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190612c38565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638664d6fd876040518263ffffffff1660e01b81526004016112019190612bf2565b602060405180830381865afa15801561121e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611242919061376b565b9050601e8660400151605c81111561125c5761125c612a84565b146112a257600182600181111561127557611275612a84565b14156112815760161994505b8461128d60018361378c565b611296906137cc565b94509450505050915091565b60008360038111156112b6576112b6612a84565b14156113f05760018260018111156112d0576112d0612a84565b14156112e0576016199450611442565b60088660600151605c8111156112f8576112f8612a84565b1480611319575060098660600151605c81111561131757611317612a84565b145b806113395750604f8660600151605c81111561133757611337612a84565b145b806113595750604e8660600151605c81111561135757611357612a84565b145b806113795750604d8660600151605c81111561137757611377612a84565b145b80611399575060178660600151605c81111561139757611397612a84565b145b806113b9575060518660600151605c8111156113b7576113b7612a84565b145b806113d9575060228660600151605c8111156113d7576113d7612a84565b145b156113e75760009450611442565b60019450611442565b600383600381111561140457611404612a84565b141561143d57604e8660600151605c81111561142257611422612a84565b14611431576001945084611437565b60009450845b50611442565b600094505b8461128d60028361378c565b60016020908152600093845260408085208252928452828420905282529020805461147890612c6f565b80601f01602080910402602001604051908101604052809291908181526020018280546114a490612c6f565b80156114f15780601f106114c6576101008083540402835291602001916114f1565b820191906000526020600020905b8154815290600101906020018083116114d457829003601f168201915b505050505081565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b963da01846040518263ffffffff1660e01b81526004016115499190612bf2565b602060405180830381865afa158015611566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158a9190612c0c565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b7b2afa856040518263ffffffff1660e01b81526004016115da9190612bf2565b602060405180830381865afa1580156115f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161b9190612c38565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633f4af2d1866040518263ffffffff1660e01b815260040161166b9190612bf2565b602060405180830381865afa158015611688573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ac91906137f6565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635586b160876040518263ffffffff1660e01b81526004016116fc9190612bf2565b602060405180830381865afa158015611719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173d9190612c38565b905060008061174b8861108e565b60408051808201909152600b81526a3a3930b739b337b9369e9160a91b60208201529193509150600184600181111561178657611786612a84565b14156117af578060405160200161179d9190613817565b60405160208183030381529060405290505b806117bc8460000b611f30565b6117c88460000b611f30565b6040516020016117da93929190613878565b60405160208183030381529060405290508061187c600160008a600381111561180557611805612a84565b600381111561181657611816612a84565b8152602001908152602001600020600089600181111561183857611838612a84565b600181111561184957611849612a84565b8152602001908152602001600020600088600581111561186b5761186b612a84565b60058111156104a0576104a0612a84565b60405160200161188d9291906138dc565b604051602081830303815290604052975050505050505050919050565b6002602052600090815260409020805461147890612c6f565b6000546001600160a01b031633146118ed5760405162461bcd60e51b815260040161082690612d63565b6001600160a01b0381166119135760405162461bcd60e51b8152600401610826906138fe565b61191c81611c9c565b50565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b963da01856040518263ffffffff1660e01b81526004016119709190612bf2565b602060405180830381865afa15801561198d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b19190612c0c565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638664d6fd866040518263ffffffff1660e01b8152600401611a019190612bf2565b602060405180830381865afa158015611a1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a42919061376b565b90506003826003811115611a5857611a58612a84565b1415611a6b575060009485945092505050565b60038560600151605c811115611a8357611a83612a84565b148015611aa65750601e8560400151605c811115611aa357611aa3612a84565b14155b15611ab957506000946007945092505050565b601e8560400151605c811115611ad157611ad1612a84565b14611b695782611ae081612d9d565b935060009050826003811115611af857611af8612a84565b1415611b695760148560600151605c811115611b1657611b16612a84565b1480611b37575060048560600151605c811115611b3557611b35612a84565b145b80611b57575060298560600151605c811115611b5557611b55612a84565b145b15611b69575060009485945092505050565b611b7481600c613948565b611b7e9084613948565b925083611b8c846017613969565b935093505050915091565b606081611bbb5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611be55780611bcf81612a5f565b9150611bde9050600a8361297a565b9150611bbf565b6000816001600160401b03811115611bff57611bff612018565b6040519080825280601f01601f191660200182016040528015611c29576020820181803683370190505b5090505b8415611c9457611c3e600183613988565b9150611c4b600a86612950565b611c56906030613019565b60f81b818381518110611c6b57611c6b612924565b60200101906001600160f81b031916908160001a905350611c8d600a8661297a565b9450611c2d565b949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60606000611cfb836002612ffa565b6001600160401b03811115611d1257611d12612018565b6040519080825280601f01601f191660200182016040528015611d3c576020820181803683370190505b5080519091505b8015611dc1576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611d7157611d71612924565b1a60f81b82611d81600184613988565b81518110611d9157611d91612924565b60200101906001600160f81b031916908160001a90535060049490941c9380611db981613990565b915050611d43565b5090505b92915050565b6060815160001415611deb57505060408051602081019091526000815290565b60006040518060600160405280604081526020016139e36040913990506000600384516002611e1a9190613019565b611e24919061297a565b611e2f906004612ffa565b90506000611e3e826020613019565b6001600160401b03811115611e5557611e55612018565b6040519080825280601f01601f191660200182016040528015611e7f576020820181803683370190505b509050818152600183018586518101602084015b81831015611eeb576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f8116850151825350600101611e93565b600389510660018114611f055760028114611f1657611f22565b613d3d60f01b600119830152611f22565b603d60f81b6000198301525b509398975050505050505050565b606060008212611f4357611dc582611b97565b611f54611f4f836139a7565b611b97565b604051602001611f6491906139cb565b6040516020818303038152906040529050919050565b919050565b828054611f8b90612c6f565b90600052602060002090601f016020900481019282611fad5760008555611ff3565b82601f10611fc657805160ff1916838001178555611ff3565b82800160010185558215611ff3579182015b82811115611ff3578251825591602001919060010190611fd8565b50611fff929150612003565b5090565b5b80821115611fff5760008155600101612004565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171561205357612053612018565b6040525050565b600061206560405190565b9050611f7a828261202e565b60006001600160401b0382111561208a5761208a612018565b601f19601f83011660200192915050565b82818337506000910152565b60006120ba6120b584612071565b61205a565b9050828152602081018484840111156120d5576120d5600080fd5b6120e084828561209b565b509392505050565b600082601f8301126120fc576120fc600080fd5b8135611c948482602086016120a7565b60006020828403121561212157612121600080fd5b81356001600160401b0381111561213a5761213a600080fd5b611c94848285016120e8565b60005b83811015612161578181015183820152602001612149565b83811115612170576000848401525b50505050565b6000612180825190565b808452602084019350612197818560208601612146565b601f01601f19169290920192915050565b602080825281016121b98184612176565b9392505050565b61ffff81165b811461191c57600080fd5b8035611dc5816121c0565b605d811061191c57600080fd5b8035611dc5816121dc565b60006101e0828403121561220a5761220a600080fd5b6122156101e061205a565b9050600061222384846121d1565b8252506020612234848483016121d1565b6020830152506040612248848285016121e9565b604083015250606061225c848285016121e9565b6060830152506080612270848285016121e9565b60808301525060a0612284848285016121e9565b60a08301525060c0612298848285016121e9565b60c08301525060e06122ac848285016121e9565b60e0830152506101006122c1848285016121e9565b610100830152506101206122d7848285016121e9565b610120830152506101406122ed848285016121e9565b61014083015250610160612303848285016121e9565b61016083015250610180612319848285016121e9565b610180830152506101a061232f848285016121e9565b6101a0830152506101c0612345848285016121e9565b6101c08301525092915050565b60006101e0828403121561236857612368600080fd5b6000611c9484846121f4565b60006001600160401b0382111561238d5761238d612018565b5060209081020190565b60006123a56120b584612374565b838152905060208082019084028301858111156123c4576123c4600080fd5b835b818110156123e857806123d988826121e9565b845250602092830192016123c6565b5050509392505050565b600082601f83011261240657612406600080fd5b8135611c94848260208601612397565b60006124246120b584612374565b8381529050602080820190840283018581111561244357612443600080fd5b835b818110156123e85780356001600160401b0381111561246657612466600080fd5b80860161247389826120e8565b8552505060209283019201612445565b600082601f83011261249757612497600080fd5b8135611c94848260208601612416565b600080604083850312156124bd576124bd600080fd5b82356001600160401b038111156124d6576124d6600080fd5b6124e2858286016123f2565b92505060208301356001600160401b0381111561250157612501600080fd5b61250d85828601612483565b9150509250929050565b60ff81165b82525050565b604081016125308285612517565b6121b96020830184612517565b63ffffffff81166121c6565b8035611dc58161253d565b8015156121c6565b8035611dc581612554565b6000806000806080858703121561258057612580600080fd5b600061258c87876121d1565b945050602061259d878288016121d1565b93505060406125ae87828801612549565b92505060606125bf8782880161255c565b91505092959194509250565b6004811061191c57600080fd5b8035611dc5816125cb565b60006125f16120b584612374565b8381529050602080820190840283018581111561261057612610600080fd5b835b818110156123e8578061262588826125d8565b84525060209283019201612612565b600082601f83011261264857612648600080fd5b8135611c948482602086016125e3565b6002811061191c57600080fd5b8035611dc581612658565b600061267e6120b584612374565b8381529050602080820190840283018581111561269d5761269d600080fd5b835b818110156123e857806126b28882612665565b8452506020928301920161269f565b600082601f8301126126d5576126d5600080fd5b8135611c94848260208601612670565b6006811061191c57600080fd5b8035611dc5816126e5565b600061270b6120b584612374565b8381529050602080820190840283018581111561272a5761272a600080fd5b835b818110156123e8578061273f88826126f2565b8452506020928301920161272c565b600082601f83011261276257612762600080fd5b8135611c948482602086016126fd565b6000806000806080858703121561278b5761278b600080fd5b84356001600160401b038111156127a4576127a4600080fd5b6127b087828801612634565b94505060208501356001600160401b038111156127cf576127cf600080fd5b6127db878288016126c1565b93505060408501356001600160401b038111156127fa576127fa600080fd5b6128068782880161274e565b92505060608501356001600160401b0381111561282557612825600080fd5b6125bf87828801612483565b60006001600160a01b038216611dc5565b61251c81612831565b60208101611dc58284612842565b61251c8160000b90565b604081016128718285612859565b6121b96020830184612859565b60008060006060848603121561289657612896600080fd5b60006128a286866125d8565b93505060206128b386828701612665565b92505060406128c4868287016126f2565b9150509250925092565b6000602082840312156128e3576128e3600080fd5b6000611c9484846121e9565b6121c681612831565b8035611dc5816128ef565b60006020828403121561291857612918600080fd5b6000611c9484846128f8565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b60008261295f5761295f61293a565b500690565b634e487b7160e01b600052601160045260246000fd5b6000826129895761298961293a565b500490565b6000612998825190565b6129a6818560208601612146565b9290920192915050565b681e3932b1ba103c1e9160b91b815260005b5060090190565b692220636c6173733d226360b01b815260005b50600a0190565b6211179f60e91b815260005b5060030190565b6000612a02828761298e565b9150612a0d826129b0565b9150612a19828661298e565b6411103c9e9160d91b81526005019150612a33828561298e565b9150612a3e826129c9565b9150612a4a828461298e565b9150612a55826129e3565b9695505050505050565b6000600019821415612a7357612a73612964565b5060010190565b61ffff811661251c565b634e487b7160e01b600052602160045260246000fd5b605d811061191c5761191c612a84565b80611f7a81612a9a565b6000611dc582612aaa565b61251c81612ab4565b80516101e0830190612ada8482612a7a565b506020820151612aed6020850182612a7a565b506040820151612b006040850182612abf565b506060820151612b136060850182612abf565b506080820151612b266080850182612abf565b5060a0820151612b3960a0850182612abf565b5060c0820151612b4c60c0850182612abf565b5060e0820151612b5f60e0850182612abf565b50610100820151612b74610100850182612abf565b50610120820151612b89610120850182612abf565b50610140820151612b9e610140850182612abf565b50610160820151612bb3610160850182612abf565b50610180820151612bc8610180850182612abf565b506101a0820151612bdd6101a0850182612abf565b506101c08201516121706101c0850182612abf565b6101e08101611dc58284612ac8565b8051611dc5816125cb565b600060208284031215612c2157612c21600080fd5b6000611c948484612c01565b8051611dc581612658565b600060208284031215612c4d57612c4d600080fd5b6000611c948484612c2d565b634e487b7160e01b600052602260045260246000fd5b600281046001821680612c8357607f821691505b60208210811415612c9657612c96612c59565b50919050565b621e339f60e91b815260006129ef565b6000612cb8828561298e565b9150612cc382612c9c565b9150612ccf828461298e565b631e17b39f60e11b8152915060048201611c94565b6214911f60e91b815260006129ef565b6000612d00828661298e565b7f3c67207472616e73666f726d3d227472616e736c61746528302c0000000000008152601a019150612d32828561298e565b9150612d3d82612ce4565b9150612d49828461298e565b631e17b39f60e11b81529150600482015b95945050505050565b60208082528181019081527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604083015260608201611dc5565b600060ff8216915060ff821415612a7357612a73612964565b60408101612dc48285612a7a565b6121b96020830184612a7a565b8051611dc5816121c0565b8051611dc5816121dc565b60006101e08284031215612dfd57612dfd600080fd5b612e086101e061205a565b90506000612e168484612dd1565b8252506020612e2784848301612dd1565b6020830152506040612e3b84828501612ddc565b6040830152506060612e4f84828501612ddc565b6060830152506080612e6384828501612ddc565b60808301525060a0612e7784828501612ddc565b60a08301525060c0612e8b84828501612ddc565b60c08301525060e0612e9f84828501612ddc565b60e083015250610100612eb484828501612ddc565b61010083015250610120612eca84828501612ddc565b61012083015250610140612ee084828501612ddc565b61014083015250610160612ef684828501612ddc565b61016083015250610180612f0c84828501612ddc565b610180830152506101a0612f2284828501612ddc565b6101a0830152506101c061234584828501612ddc565b60006101e08284031215612f4e57612f4e600080fd5b6000611c948484612de7565b60208101611dc58284612a7a565b6000612f766120b584612071565b905082815260208101848484011115612f9157612f91600080fd5b6120e0848285612146565b600082601f830112612fb057612fb0600080fd5b8151611c94848260208601612f68565b600060208284031215612fd557612fd5600080fd5b81516001600160401b03811115612fee57612fee600080fd5b611c9484828501612f9c565b600081600019048311821515161561301457613014612964565b500290565b6000821982111561302c5761302c612964565b500190565b68222066696c6c3d222360b81b815260006129c2565b6000613053828761298e565b915061305e826129b0565b915061306a828661298e565b6411103c9e9160d91b81526005019150613084828561298e565b9150612a3e82613031565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222073686170652d72656e646572696e673d226372697370456460208201527f676573222076657273696f6e3d22312e32222076696577426f783d2230203020604082015266191a10191a111f60c91b60608201527f3c7374796c653e726563747b77696474683a3170783b6865696768743a31707860678201527f7d2e63317b66696c6c3a233030303030307d2e63327b66696c6c3a233037346260878201527f33657d2e63337b66696c6c3a233038353934397d2e63347b66696c6c3a23303960a78201527f363134667d2e63357b66696c6c3a233061366135367d2e63367b66696c6c3a2360c78201527f3134326337637d2e63377b66696c6c3a233136333761347d2e63387b66696c6c60e78201527f3a233138313831387d2e63397b66696c6c3a233161343363387d2e6331307b666101078201527f696c6c3a233232323232327d2e6331317b66696c6c3a233238323832387d2e636101278201527f31327b66696c6c3a233333333333337d2e6331337b66696c6c3a2333633363336101478201527f637d2e6331347b66696c6c3a233434353835637d2e6331357b66696c6c3a23346101678201527f66333632337d2e6331367b66696c6c3a233466363636627d2e6331377b66696c6101878201527f6c3a233530353035307d2e6331387b66696c6c3a233539336432387d2e6331396101a78201527f7b66696c6c3a233565343032617d2e6332307b66696c6c3a233637343632657d6101c78201527f2e6332317b66696c6c3a233639306334357d2e6332327b66696c6c3a233639376101e78201527f3938347d2e6332337b66696c6c3a233662376338377d2e6332347b66696c6c3a6102078201527f233763393039637d2e6332357b66696c6c3a233863306435627d2e6332367b666102278201527f696c6c3a233864386438647d2e6332377b66696c6c3a233865323430657d2e636102478201527f32387b66696c6c3a233866303030307d2e6332397b66696c6c3a2339303832376102678201527f347d2e6333307b66696c6c3a233961323731307d2e6333317b66696c6c3a23396102878201527f64303030307d2e6333327b66696c6c3a236138326231317d2e6333337b66696c6102a78201527f6c3a236161303030307d2e6333347b66696c6c3a236161396138617d2e6333356102c78201527f7b66696c6c3a236162396238627d2e6333367b66696c6c3a236164323136307d6102e78201527f2e6333377b66696c6c3a236231613539617d2e6333387b66696c6c3a236231626103078201527f3162317d2e6333397b66696c6c3a236234623462347d2e6334307b66696c6c3a6103278201527f236235613939667d2e6334317b66696c6c3a236261303030307d2e6334327b666103478201527f696c6c3a236266623261367d2e6334337b66696c6c3a236361636163617d2e636103678201527f34347b66696c6c3a236432643264327d2e6334357b66696c6c3a2364363030306103878201527f307d2e6334367b66696c6c3a236436633862627d2e6334377b66696c6c3a23646103a78201527f37633962637d2e6334387b66696c6c3a236630663066307d2e6334397b66696c6103c782015271361d11b330b330b330be9e17b9ba3cb6329f60711b6103e78201526103f9016000613579828861298e565b7f3c7265637420783d22302220793d223022207374796c653d2277696474683a3181527f3030253b6865696768743a31303025222066696c6c3d22230000000000000000602082015260380191506135d1828761298e565b91506135dc826129e3565b91506135e8828661298e565b91506135f4828561298e565b9150613600828461298e565b631e17b39f60e11b8152651e17b9bb339f60d11b6004820152600a01979650505050505050565b691110179f1e17b9bb339f60b11b815260006129dc565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222073686170652d72656e646572696e673d226372697370456460208201527f676573222076657273696f6e3d22312e32222076696577426f783d223020302060408201527f333037322033303732223e3c696d61676520783d22302220793d22302220776960608201527f6474683d223130302522206865696768743d22313030252220696d6167652d7260808201527f656e646572696e673d22706978656c617465642220687265663d22646174613a60a0820152741a5b5859d94bdcdd99cade1b5b0ed8985cd94d8d0b605a1b60c082015260d501600061374c828461298e565b91506121b982613627565b60ff81166121c6565b8051611dc581613757565b60006020828403121561378057613780600080fd5b6000611c948484613760565b600091820b9190810b9080831215607f198401831216156137af576137af612964565b82607f0182136000841216156137c7576137c7612964565b500390565b600090810b90607f198214156137e4576137e4612964565b5060000390565b8051611dc5816126e5565b60006020828403121561380b5761380b600080fd5b6000611c9484846137eb565b6000613823828461298e565b6c039b1b0b632941698961018949609d1b81529150600d82016121b9565b690e8e4c2dce6d8c2e8ca560b31b815260006129dc565b600b60fa1b81526000612a73565b61149160f11b815260005b5060020190565b6000613884828661298e565b915061388f82613841565b915061389b828561298e565b91506138a682613858565b91506138b2828461298e565b9150612d5a82613866565b6201e33960ed1b815260006129ef565b61101f60f11b81526000613871565b60006138e7826138bd565b91506138f3828561298e565b9150612cc3826138cd565b60208082528101611dc581602681527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160208201526564647265737360d01b604082015260600190565b600060ff8216915060ff831692508260ff0382111561302c5761302c612964565b600060ff8216915060ff83165b9250828210156137c7576137c7612964565b600082613976565b60008161399f5761399f612964565b506000190190565b6000600160ff1b8214156137e4576137e4612964565b602d60f81b81526000612a73565b60006139d6826139bd565b91506121b9828461298e56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c67207472616e73666f726d3d227363616c65282d312c3129207472616e736c617465282d32342c3029223ea2646970667358221220317788cb27de214260cdc3e5f25c888119997491a2bfbec1aabc9f25bba7282964736f6c634300080c0033000000000000000000000000f03e345bb89dc9cfaf8fda381a9e4417bfb46e7a00000000000000000000000016f5a35647d6f03d5d3da7b35409d65ba03af3b2