[ { "inputs": [ { "internalType": "uint256", "name": "_MINT_CAP", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AllowanceOverflow", "type": "error" }, { "inputs": [], "name": "AllowanceUnderflow", "type": "error" }, { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, { "inputs": [], "name": "BlacklistedAddress", "type": "error" }, { "inputs": [], "name": "ERC5805CheckpointIndexOutOfBounds", "type": "error" }, { "inputs": [], "name": "ERC5805CheckpointValueOverflow", "type": "error" }, { "inputs": [], "name": "ERC5805CheckpointValueUnderflow", "type": "error" }, { "inputs": [], "name": "ERC5805DelegateInvalidSignature", "type": "error" }, { "inputs": [], "name": "ERC5805DelegateSignatureExpired", "type": "error" }, { "inputs": [], "name": "ERC5805FutureLookup", "type": "error" }, { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InvalidPermit", "type": "error" }, { "inputs": [], "name": "MintCapExceeded", "type": "error" }, { "inputs": [], "name": "NewOwnerIsZeroAddress", "type": "error" }, { "inputs": [], "name": "NoHandoverRequest", "type": "error" }, { "inputs": [], "name": "OnlyWhitelistedAddresses", "type": "error" }, { "inputs": [], "name": "Permit2AllowanceIsFixedAtInfinity", "type": "error" }, { "inputs": [], "name": "PermitExpired", "type": "error" }, { "inputs": [], "name": "TotalSupplyOverflow", "type": "error" }, { "inputs": [], "name": "Unauthorized", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldOwner", "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": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "CLOCK_MODE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "result", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_CAP", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "blacklist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cancelOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "i", "type": "uint256" } ], "name": "checkpointAt", "outputs": [ { "internalType": "uint48", "name": "checkpointClock", "type": "uint48" }, { "internalType": "uint256", "name": "checkpointValue", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "checkpointCount", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "clock", "outputs": [ { "internalType": "uint48", "name": "result", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "completeOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegator", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "result", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMintCap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastVotesTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getVotesTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getWhitelistActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "result", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "ownershipHandoverExpiresAt", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "requestOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "bool", "name": "isBlacklisted", "type": "bool" } ], "name": "setBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "bool", "name": "isWhitelisted", "type": "bool" } ], "name": "setWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_whitelistActive", "type": "bool" } ], "name": "setWhitelistActive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
60a0604052348015600e575f80fd5b50604051611932380380611932833981016040819052602b916084565b5f805461ff0019166101001790556040336047565b608052609a565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f602082840312156093575f80fd5b5051919050565b6080516118726100c05f395f8181610293015281816105c1015261115a01526118725ff3fe608060405260043610610228575f3560e01c80637ecebe0011610129578063c3cda520116100a8578063f04e283e1161006d578063f04e283e14610713578063f2fde38b14610726578063f9f92be414610739578063fd09e25114610767578063fee81cf414610782575f80fd5b8063c3cda5201461066e578063c7a2f1de1461068d578063cd63c4d2146106ac578063d505accf146106c0578063dd62ed3e146106df575f80fd5b806398f1312e116100ee57806398f1312e146105b05780639ab24eb0146105e35780639b19251a14610602578063a9059cbb14610630578063c3b754dc1461064f575f80fd5b80637ecebe00146104d357806384a0e082146105045780638da5cb5b1461054157806391ddadf41461055957806395d89b4114610584575f80fd5b80633a46b1a8116101b5578063587cde1e1161017a578063587cde1e146103fe5780635c19a95c1461044357806370a0823114610462578063715018a61461049357806376a823421461049b575f80fd5b80633a46b1a81461035457806340c10f19146103735780634bf5d7e91461039257806353d6fd59146103d757806354d1f13d146103f6575f80fd5b806318160ddd116101fb57806318160ddd146102e257806323b872dd146102fe578063256929621461031d578063313ce567146103255780633644e51514610340575f80fd5b806306fdde031461022c578063095ea7b3146102565780631253684b14610285578063153b0d1e146102c1575b5f80fd5b348015610237575f80fd5b506102406107b3565b60405161024d91906115f5565b60405180910390f35b348015610261575f80fd5b50610275610270366004611640565b6107d7565b604051901515815260200161024d565b348015610290575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405190815260200161024d565b3480156102cc575f80fd5b506102e06102db366004611677565b610827565b005b3480156102ed575f80fd5b506805345cdf77eb68f44c546102b3565b348015610309575f80fd5b506102756103183660046116a8565b610859565b6102e0610927565b348015610330575f80fd5b506040516012815260200161024d565b34801561034b575f80fd5b506102b3610974565b34801561035f575f80fd5b506102b361036e366004611640565b6109f0565b34801561037e575f80fd5b506102e061038d366004611640565b610a35565b34801561039d575f80fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c740000006020820152610240565b3480156103e2575f80fd5b506102e06103f1366004611677565b610a4b565b6102e0610a7d565b348015610409575f80fd5b5061042b6104183660046116e2565b63ff466c9f6004525f526018600c205490565b6040516001600160a01b03909116815260200161024d565b34801561044e575f80fd5b506102e061045d3660046116e2565b610ab6565b34801561046d575f80fd5b506102b361047c3660046116e2565b6387a211a2600c9081525f91909152602090205490565b6102e0610ac3565b3480156104a6575f80fd5b506102b36104b53660046116e2565b63ff466c9f6004525f526017600c205460301c65ffffffffffff1690565b3480156104de575f80fd5b506102b36104ed3660046116e2565b6338377508600c9081525f91909152602090205490565b34801561050f575f80fd5b5061052361051e366004611640565b610ad6565b6040805165ffffffffffff909316835260208301919091520161024d565b34801561054c575f80fd5b50638b78c6d8195461042b565b348015610564575f80fd5b5061056d610b37565b60405165ffffffffffff909116815260200161024d565b34801561058f575f80fd5b506040805180820190915260048152630534e41560e41b6020820152610240565b3480156105bb575f80fd5b506102b37f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ee575f80fd5b506102b36105fd3660046116e2565b610b45565b34801561060d575f80fd5b5061027561061c3660046116e2565b60016020525f908152604090205460ff1681565b34801561063b575f80fd5b5061027561064a366004611640565b610b64565b34801561065a575f80fd5b506102e06106693660046116fb565b610bf1565b348015610679575f80fd5b506102e0610688366004611724565b610c12565b348015610698575f80fd5b506102b36106a7366004611778565b610d77565b3480156106b7575f80fd5b506102b3610da7565b3480156106cb575f80fd5b506102e06106da36600461178f565b610dbd565b3480156106ea575f80fd5b506102b36106f93660046117f5565b602052637f5e9f20600c9081525f91909152603490205490565b6102e06107213660046116e2565b610f41565b6102e06107343660046116e2565b610f7b565b348015610744575f80fd5b506102756107533660046116e2565b60026020525f908152604090205460ff1681565b348015610772575f80fd5b505f54610100900460ff16610275565b34801561078d575f80fd5b506102b361079c3660046116e2565b63389a75e1600c9081525f91909152602090205490565b60408051808201909152600a81526929b730b8102a37b5b2b760b11b602082015290565b5f82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa35060015b92915050565b61082f610fa1565b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b5f610865848484610fbb565b8360601b33602052637f5e9f208117600c526034600c2080548019156108a0578085111561089a576313be252b5f526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156108c85763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35061091d848484611072565b5060019392505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f8061097e6107b3565b805190602001209050604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815260208101929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69082015246606082015230608082015260a09020919050565b5f6109f9610b37565b65ffffffffffff168210610a0f57610a0f61107d565b610a2e610a288463ff466c9f6004525f526017600c2090565b8361108a565b9392505050565b610a3d610fa1565b610a478282611158565b5050565b610a53610fa1565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610ac033826111bd565b50565b610acb610fa1565b610ad45f61121d565b565b5f805f610aef8563ff466c9f6004525f526017600c2090565b9050805460a01b60d01c8410610b0c576386df9d105f526004601cfd5b8381015465ffffffffffff8116935060601c9150308203610b2f57808401195491505b509250929050565b43603081901c5f033d3d3e90565b5f610821610b5f8363ff466c9f6004525f526017600c2090565b61125a565b5f610b70338484610fbb565b6387a211a2600c52335f526020600c20805480841115610b975763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3610be8338484611072565b50600192915050565b610bf9610fa1565b5f80549115156101000261ff0019909216919091179055565b5f80610c1c6107b3565b8051906020012090507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc642871015610c5b57633480e9e15f526004601cfd5b6040517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf5f528960601b60601c602052886040528760605260805f206040526119015f527f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815282602082015281604082015246606082015230608082015260a081206020526042601e205f528660ff1660205285604052846060526020600160805f60015afa51935080604052505f6060523d1596508688610d2f856338377508600c9081525f91909152602090205490565b181715610d4357631838d95c5f526004601cfd5b610d62836338377508600c52805f526020600c20805460010181555050565b610d6c838a6111bd565b505050505050505050565b5f610d80610b37565b65ffffffffffff168210610d9657610d9661107d565b61082163ff466c9f60601b8361108a565b5f610db863ff466c9f60601b61125a565b905090565b5f610dc66107b3565b8051906020012090507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc642861015610e0557631a15a3cc5f526004601cfd5b6040518960601b60601c99508860601b60601c985065383775081901600e52895f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835284602084015283604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528b60208401528a60408401528960608401528060808401528860a084015260c08320604e526042602c205f528760ff16602052866040528560605260208060805f60015afa8c3d5114610eed5763ddafbaef5f526004601cfd5b0190556303faf4f960a51b89176040526034602c20889055888a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f60605250505050505050565b610f49610fa1565b63389a75e1600c52805f526020600c208054421115610f6f57636f5e88185f526004601cfd5b5f9055610ac08161121d565b610f83610fa1565b8060601b610f9857637448fbae5f526004601cfd5b610ac08161121d565b638b78c6d819543314610ad4576382b429005f526004601cfd5b5f54610100900460ff168015610fe05750335f9081526001602052604090205460ff16155b8015610ff457506001600160a01b03831615155b15611012576040516370ba798b60e01b815260040160405180910390fd5b6001600160a01b0383165f9081526002602052604090205460ff168061104f57506001600160a01b0382165f9081526002602052604090205460ff165b1561106d57604051632652747360e21b815260040160405180910390fd5b505050565b61106d838383611285565b63f98744645f526004601cfd5b5f80835460a01b60d01c600681106110fe57601061ffff821160041b82811c60ff1060031b17600190811c9190911b80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c81038581015465ffffffffffff1685106110fb5760010191506110fe565b90505b5b808210156111305780820160011c65ffffffffffff868201541685106111295760010191506110ff565b90506110ff565b8460018203019150815460601c811515029250503082036111515780195491505b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000061118a6805345cdf77eb68f44c5490565b611194908361181d565b11156111b3576040516363f10f7760e01b815260040160405180910390fd5b610a478282611323565b5f8160601b60601c63ff466c9f600452835f526018600c2080549250818155508082600c5160601c7f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f80a45061106d8183611218866113b1565b6113ca565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f815460a01b60d01c9050801561128057015f1901805460601c30810361128057508019545b919050565b6001600160a01b0383166112b9576112b663ff466c9f60601b6112a6610b37565b65ffffffffffff168360016114d0565b50505b6001600160a01b0382166112ec576112e963ff466c9f60601b6112da610b37565b65ffffffffffff16835f6114d0565b50505b61106d6113068463ff466c9f6004525f526018600c205490565b61131d8463ff466c9f6004525f526018600c205490565b836113ca565b61132e5f8383610fbb565b6805345cdf77eb68f44c54818101818110156113515763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3610a475f8383611072565b6387a211a2600c9081525f828152602090912054610821565b806113d457505050565b6001600160a01b038084169083168082036113f0575050505050565b811561145c575f806114286114118863ff466c9f6004525f526017600c2090565b611419610b37565b65ffffffffffff16875f6114d0565b91509150815f5280602052837fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72460405fa250505b80156114c9575f8061149561147d8763ff466c9f6004525f526017600c2090565b611485610b37565b65ffffffffffff168760016114d0565b91509150815f5280602052827fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72460405fa250505b5050505050565b5f8085548060a01b60d01c8061153057851585176114f557635915f6865f526004601cfd5b8592508260a01c3084141761151857606083901b8717600160301b1788556115ea565b3060601b8717600160301b17885587198390556115ea565b87600182030180548060601c955030860361154b5781195495505b8661156a5787860394508585111561158457635915f6865f526004601cfd5b87860194508585101561158457639dbbeb755f526004601cfd5b65ffffffffffff168881146115a857600160301b84018a5560019283019291909101905b8260301c89821117156115b757fe5b508360a01c308514176115d7578360601b8260301b8917178155506115ea565b3060601b8260301b891717815583811955505b505094509492505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114611280575f80fd5b5f8060408385031215611651575f80fd5b61165a8361162a565b946020939093013593505050565b80358015158114611280575f80fd5b5f8060408385031215611688575f80fd5b6116918361162a565b915061169f60208401611668565b90509250929050565b5f805f606084860312156116ba575f80fd5b6116c38461162a565b92506116d16020850161162a565b929592945050506040919091013590565b5f602082840312156116f2575f80fd5b610a2e8261162a565b5f6020828403121561170b575f80fd5b610a2e82611668565b803560ff81168114611280575f80fd5b5f805f805f8060c08789031215611739575f80fd5b6117428761162a565b9550602087013594506040870135935061175e60608801611714565b9598949750929560808101359460a0909101359350915050565b5f60208284031215611788575f80fd5b5035919050565b5f805f805f805f60e0888a0312156117a5575f80fd5b6117ae8861162a565b96506117bc6020890161162a565b955060408801359450606088013593506117d860808901611714565b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215611806575f80fd5b61180f8361162a565b915061169f6020840161162a565b8082018082111561082157634e487b7160e01b5f52601160045260245ffdfea26469706673582212202af03895ab72af238d16c9321dc880ad244e8b5dcbdaab4c1fc7d5d0591b7b1c64736f6c634300081a00330000000000000000000000000000000000000000033b2e3c9fd0803ce8000000