[ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "previousAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "beacon", "type": "address" } ], "name": "BeaconUpgraded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "createGroupAdmin", "outputs": [ { "internalType": "address", "name": "adGroupAdmin", "type": "address" }, { "internalType": "uint256", "name": "adGroupId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "adGroupId", "type": "uint256" } ], "name": "getGroupAdmin", "outputs": [ { "internalType": "address", "name": "adGroupAdmin", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "contract ERC6551Registry", "name": "registry", "type": "address" }, { "internalType": "address", "name": "implementation", "type": "address" }, { "internalType": "address", "name": "accountProxy", "type": "address" } ], "internalType": "struct AccountCreatorConfig", "name": "accountConfig", "type": "tuple" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" } ], "name": "upgradeTo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "upgradeToAndCall", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60a06040523060805234801561001457600080fd5b5060805161241d61004c600039600081816106b1015281816106f1015281816107ab015281816107eb015261087e015261241d6000f3fe6080604052600436106101355760003560e01c8063715018a6116100ab578063a9961c941161006f578063a9961c9414610368578063b88d4fde14610388578063c87b56dd146103a8578063d26b3e26146103c8578063e985e9c5146103e8578063f2fde38b1461043157600080fd5b8063715018a6146102c15780638401b098146102d65780638da5cb5b1461031557806395d89b4114610333578063a22cb4651461034857600080fd5b80633659cfe6116100fd5780633659cfe61461020b57806342842e0e1461022b5780634f1ef2861461024b57806352d1902d1461025e5780636352211e1461028157806370a08231146102a157600080fd5b806301ffc9a71461013a57806306fdde031461016f578063081812fc14610191578063095ea7b3146101c957806323b872dd146101eb575b600080fd5b34801561014657600080fd5b5061015a610155366004611c22565b610451565b60405190151581526020015b60405180910390f35b34801561017b57600080fd5b506101846104a3565b6040516101669190611c8f565b34801561019d57600080fd5b506101b16101ac366004611ca2565b610535565b6040516001600160a01b039091168152602001610166565b3480156101d557600080fd5b506101e96101e4366004611cd0565b61055c565b005b3480156101f757600080fd5b506101e9610206366004611cfc565b610676565b34801561021757600080fd5b506101e9610226366004611d3d565b6106a7565b34801561023757600080fd5b506101e9610246366004611cfc565b610786565b6101e9610259366004611dfd565b6107a1565b34801561026a57600080fd5b50610273610871565b604051908152602001610166565b34801561028d57600080fd5b506101b161029c366004611ca2565b610924565b3480156102ad57600080fd5b506102736102bc366004611d3d565b610984565b3480156102cd57600080fd5b506101e9610a0a565b3480156102e257600080fd5b506102f66102f1366004611d3d565b610a1e565b604080516001600160a01b039093168352602083019190915201610166565b34801561032157600080fd5b5060cd546001600160a01b03166101b1565b34801561033f57600080fd5b50610184610a79565b34801561035457600080fd5b506101e9610363366004611e4d565b610a88565b34801561037457600080fd5b506101b1610383366004611ca2565b610a93565b34801561039457600080fd5b506101e96103a3366004611e8b565b610aa0565b3480156103b457600080fd5b506101846103c3366004611ca2565b610ad8565b3480156103d457600080fd5b506101e96103e3366004611ef7565b610b4c565b3480156103f457600080fd5b5061015a610403366004611f69565b6001600160a01b03918216600090815260a06020908152604080832093909416825291909152205460ff1690565b34801561043d57600080fd5b506101e961044c366004611d3d565b610cd0565b60006001600160e01b031982166380ac58cd60e01b148061048257506001600160e01b03198216635b5e139f60e01b145b8061049d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060609b80546104b290611f97565b80601f01602080910402602001604051908101604052809291908181526020018280546104de90611f97565b801561052b5780601f106105005761010080835404028352916020019161052b565b820191906000526020600020905b81548152906001019060200180831161050e57829003601f168201915b5050505050905090565b600061054082610d46565b506000908152609f60205260409020546001600160a01b031690565b600061056782610924565b9050806001600160a01b0316836001600160a01b0316036105d95760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806105f557506105f58133610403565b6106675760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105d0565b6106718383610da5565b505050565b6106803382610e13565b61069c5760405162461bcd60e51b81526004016105d090611fd1565b610671838383610e92565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106ef5760405162461bcd60e51b81526004016105d09061201e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107386000805160206123a1833981519152546001600160a01b031690565b6001600160a01b03161461075e5760405162461bcd60e51b81526004016105d09061206a565b61076781610ff6565b6040805160008082526020820190925261078391839190610ffe565b50565b61067183838360405180602001604052806000815250610aa0565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107e95760405162461bcd60e51b81526004016105d09061201e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108326000805160206123a1833981519152546001600160a01b031690565b6001600160a01b0316146108585760405162461bcd60e51b81526004016105d09061206a565b61086182610ff6565b61086d82826001610ffe565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109115760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016105d0565b506000805160206123a183398151915290565b6000818152609d60205260408120546001600160a01b03168061049d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105d0565b60006001600160a01b0382166109ee5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016105d0565b506001600160a01b03166000908152609e602052604090205490565b610a12611169565b610a1c60006111c3565b565b600080610a29611169565b610163805460009182610a3b836120b6565b919050559050610a4b8482611215565b610a5646308361122f565b610163805491945091925082916000610a6e836120b6565b919050555050915091565b6060609c80546104b290611f97565b61086d3383836112c7565b600061049d463084611395565b610aaa3383610e13565b610ac65760405162461bcd60e51b81526004016105d090611fd1565b610ad284848484611407565b50505050565b6060610ae382610d46565b6000610afa60408051602081019091526000815290565b90506000815111610b1a5760405180602001604052806000815250610b45565b80610b248461143a565b604051602001610b359291906120dd565b6040516020818303038152906040525b9392505050565b600054610100900460ff1615808015610b6c5750600054600160ff909116105b80610b865750303b158015610b86575060005460ff166001145b610be95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d0565b6000805460ff191660011790558015610c0c576000805461ff0019166101001790555b610c15826114cd565b610c716040518060400160405280601981526020017f436f6d6d6f6e416447726f757041646d696e466163746f7279000000000000008152506040518060400160405280600581526020016421a0a3a0a360d91b815250611542565b610c79611573565b610c816115a2565b600161016355801561086d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610cd8611169565b6001600160a01b038116610d3d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d0565b610783816111c3565b6000818152609d60205260409020546001600160a01b03166107835760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105d0565b6000818152609f6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610dda82610924565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610e1f83610924565b9050806001600160a01b0316846001600160a01b03161480610e6657506001600160a01b03808216600090815260a0602090815260408083209388168352929052205460ff165b80610e8a5750836001600160a01b0316610e7f84610535565b6001600160a01b0316145b949350505050565b826001600160a01b0316610ea582610924565b6001600160a01b031614610ecb5760405162461bcd60e51b81526004016105d09061210c565b6001600160a01b038216610f2d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105d0565b826001600160a01b0316610f4082610924565b6001600160a01b031614610f665760405162461bcd60e51b81526004016105d09061210c565b6000818152609f6020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652609e8552838620805460001901905590871680865283862080546001019055868652609d90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610783611169565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561103157610671836115c9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561108b575060408051601f3d908101601f1916820190925261108891810190612151565b60015b6110ee5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105d0565b6000805160206123a1833981519152811461115d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105d0565b50610671838383611665565b60cd546001600160a01b03163314610a1c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105d0565b60cd80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61086d82826040518060200160405280600081525061168a565b60015460025460048054604051638a54c52f60e01b81526001600160a01b03938416928101929092526024820152604481018690528482166064820152608481018490526000929190911690638a54c52f9060a4016020604051808303816000875af11580156112a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a919061216a565b816001600160a01b0316836001600160a01b0316036113285760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105d0565b6001600160a01b03838116600081815260a06020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001546002546004805460405163246a002160e01b81526001600160a01b0393841692810192909252602482015260448101869052848216606482015260848101849052600092919091169063246a00219060a401602060405180830381865afa1580156112a3573d6000803e3d6000fd5b611412848484610e92565b61141e848484846116bd565b610ad25760405162461bcd60e51b81526004016105d090612187565b60606000611447836117be565b600101905060008167ffffffffffffffff81111561146757611467611d5a565b6040519080825280601f01601f191660200182016040528015611491576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461149b57509392505050565b600054610100900460ff166114f45760405162461bcd60e51b81526004016105d0906121d9565b8051600180546001600160a01b03199081166001600160a01b039384161790915560208301516002805483169184169190911790556040909201516003805490931691161790556000600455565b600054610100900460ff166115695760405162461bcd60e51b81526004016105d0906121d9565b61086d8282611896565b600054610100900460ff1661159a5760405162461bcd60e51b81526004016105d0906121d9565b610a1c6118d6565b600054610100900460ff16610a1c5760405162461bcd60e51b81526004016105d0906121d9565b6001600160a01b0381163b6116365760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105d0565b6000805160206123a183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61166e83611906565b60008251118061167b5750805b1561067157610ad28383611946565b611694838361196b565b6116a160008484846116bd565b6106715760405162461bcd60e51b81526004016105d090612187565b60006001600160a01b0384163b156117b357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611701903390899088908890600401612224565b6020604051808303816000875af192505050801561173c575060408051601f3d908101601f1916820190925261173991810190612257565b60015b611799573d80801561176a576040519150601f19603f3d011682016040523d82523d6000602084013e61176f565b606091505b5080516000036117915760405162461bcd60e51b81526004016105d090612187565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610e8a565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117fd5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611829576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061184757662386f26fc10000830492506010015b6305f5e100831061185f576305f5e100830492506008015b612710831061187357612710830492506004015b60648310611885576064830492506002015b600a831061049d5760010192915050565b600054610100900460ff166118bd5760405162461bcd60e51b81526004016105d0906121d9565b609b6118c983826122c4565b50609c61067182826122c4565b600054610100900460ff166118fd5760405162461bcd60e51b81526004016105d0906121d9565b610a1c336111c3565b61190f816115c9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610b4583836040518060600160405280602781526020016123c160279139611af6565b6001600160a01b0382166119c15760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105d0565b6000818152609d60205260409020546001600160a01b031615611a265760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105d0565b6000818152609d60205260409020546001600160a01b031615611a8b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105d0565b6001600160a01b0382166000818152609e6020908152604080832080546001019055848352609d90915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6060600080856001600160a01b031685604051611b139190612384565b600060405180830381855af49150503d8060008114611b4e576040519150601f19603f3d011682016040523d82523d6000602084013e611b53565b606091505b5091509150611b6486838387611b6e565b9695505050505050565b60608315611bdd578251600003611bd6576001600160a01b0385163b611bd65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d0565b5081610e8a565b610e8a8383815115611bf25781518083602001fd5b8060405162461bcd60e51b81526004016105d09190611c8f565b6001600160e01b03198116811461078357600080fd5b600060208284031215611c3457600080fd5b8135610b4581611c0c565b60005b83811015611c5a578181015183820152602001611c42565b50506000910152565b60008151808452611c7b816020860160208601611c3f565b601f01601f19169290920160200192915050565b602081526000610b456020830184611c63565b600060208284031215611cb457600080fd5b5035919050565b6001600160a01b038116811461078357600080fd5b60008060408385031215611ce357600080fd5b8235611cee81611cbb565b946020939093013593505050565b600080600060608486031215611d1157600080fd5b8335611d1c81611cbb565b92506020840135611d2c81611cbb565b929592945050506040919091013590565b600060208284031215611d4f57600080fd5b8135610b4581611cbb565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611d8157600080fd5b813567ffffffffffffffff80821115611d9c57611d9c611d5a565b604051601f8301601f19908116603f01168101908282118183101715611dc457611dc4611d5a565b81604052838152866020858801011115611ddd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215611e1057600080fd5b8235611e1b81611cbb565b9150602083013567ffffffffffffffff811115611e3757600080fd5b611e4385828601611d70565b9150509250929050565b60008060408385031215611e6057600080fd5b8235611e6b81611cbb565b915060208301358015158114611e8057600080fd5b809150509250929050565b60008060008060808587031215611ea157600080fd5b8435611eac81611cbb565b93506020850135611ebc81611cbb565b925060408501359150606085013567ffffffffffffffff811115611edf57600080fd5b611eeb87828801611d70565b91505092959194509250565b600060608284031215611f0957600080fd5b6040516060810181811067ffffffffffffffff82111715611f2c57611f2c611d5a565b6040528235611f3a81611cbb565b81526020830135611f4a81611cbb565b60208201526040830135611f5d81611cbb565b60408201529392505050565b60008060408385031215611f7c57600080fd5b8235611f8781611cbb565b91506020830135611e8081611cbb565b600181811c90821680611fab57607f821691505b602082108103611fcb57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000600182016120d657634e487b7160e01b600052601160045260246000fd5b5060010190565b600083516120ef818460208801611c3f565b835190830190612103818360208801611c3f565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60006020828403121561216357600080fd5b5051919050565b60006020828403121561217c57600080fd5b8151610b4581611cbb565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b6490830184611c63565b60006020828403121561226957600080fd5b8151610b4581611c0c565b601f821115610671576000816000526020600020601f850160051c8101602086101561229d5750805b601f850160051c820191505b818110156122bc578281556001016122a9565b505050505050565b815167ffffffffffffffff8111156122de576122de611d5a565b6122f2816122ec8454611f97565b84612274565b602080601f831160018114612327576000841561230f5750858301515b600019600386901b1c1916600185901b1785556122bc565b600085815260208120601f198616915b8281101561235657888601518255948401946001909101908401612337565b50858210156123745787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251612396818460208701611c3f565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122003990ea940cc310289cdb34e59752f12bd39845d982a2655cde2fe854a77e0c164736f6c63430008170033