ghost-dao-interface/src/abi/Ghost.json
Uncle Fatso d4446f6fb1
version 0.0.22
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
2025-04-28 14:03:56 +03:00

1 line
174 KiB
JSON

{"abi":[{"type":"constructor","inputs":[{"name":"_stnk","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceFrom","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"balanceTo","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"checkpoints","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"pos","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Checkpoints.Checkpoint208","components":[{"name":"_key","type":"uint48","internalType":"uint48"},{"name":"_value","type":"uint208","internalType":"uint208"}]}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"index","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_staking","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numCheckpoints","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"staking","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"stnk","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousVotes","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newVotes","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20ExceededSafeSupply","inputs":[{"name":"increasedSupply","type":"uint256","internalType":"uint256"},{"name":"cap","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC2612ExpiredSignature","inputs":[{"name":"deadline","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC2612InvalidSigner","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC5805FutureLookup","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"},{"name":"clock","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"ERC6372InconsistentClock","inputs":[]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"NotStakingContract","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"VotesExpiredSignature","inputs":[{"name":"expiry","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x61016060405234801562000011575f80fd5b506040516200473f3803806200473f8339818101604052810190620000379190620003f7565b6040518060400160405280600581526020017f47686f7374000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f47686f73740000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f474853540000000000000000000000000000000000000000000000000000000081525081600390816200012191906200068b565b5080600490816200013391906200068b565b5050506200014c6005836200026e60201b90919060201c565b61012081815250506200016a6006826200026e60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001a9620002c360201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505050505080600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000950565b5f60208351101562000293576200028b836200031f60201b60201c565b9050620002bd565b82620002a5836200038960201b60201c565b5f019081620002b591906200068b565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e05161010051463060405160200162000304959493929190620007ab565b60405160208183030381529060405280519060200120905090565b5f80829050601f815111156200036e57826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040162000365919062000890565b60405180910390fd5b8051816200037c90620008e1565b5f1c175f1b915050919050565b5f819050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620003c18262000396565b9050919050565b620003d381620003b5565b8114620003de575f80fd5b50565b5f81519050620003f181620003c8565b92915050565b5f602082840312156200040f576200040e62000392565b5b5f6200041e84828501620003e1565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620004a357607f821691505b602082108103620004b957620004b86200045e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200051d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004e0565b620005298683620004e0565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620005736200056d620005678462000541565b6200054a565b62000541565b9050919050565b5f819050919050565b6200058e8362000553565b620005a66200059d826200057a565b848454620004ec565b825550505050565b5f90565b620005bc620005ae565b620005c981848462000583565b505050565b5b81811015620005f057620005e45f82620005b2565b600181019050620005cf565b5050565b601f8211156200063f576200060981620004bf565b6200061484620004d1565b8101602085101562000624578190505b6200063c6200063385620004d1565b830182620005ce565b50505b505050565b5f82821c905092915050565b5f620006615f198460080262000644565b1980831691505092915050565b5f6200067b838362000650565b9150826002028217905092915050565b620006968262000427565b67ffffffffffffffff811115620006b257620006b162000431565b5b620006be82546200048b565b620006cb828285620005f4565b5f60209050601f83116001811462000701575f8415620006ec578287015190505b620006f885826200066e565b86555062000767565b601f1984166200071186620004bf565b5f5b828110156200073a5784890151825560018201915060208501945060208101905062000713565b868310156200075a578489015162000756601f89168262000650565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b62000783816200076f565b82525050565b620007948162000541565b82525050565b620007a581620003b5565b82525050565b5f60a082019050620007c05f83018862000778565b620007cf602083018762000778565b620007de604083018662000778565b620007ed606083018562000789565b620007fc60808301846200079a565b9695505050505050565b5f82825260208201905092915050565b5f5b838110156200083557808201518184015260208101905062000818565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6200085c8262000427565b62000868818562000806565b93506200087a81856020860162000816565b620008858162000840565b840191505092915050565b5f6020820190508181035f830152620008aa818462000850565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f620008d882516200076f565b80915050919050565b5f620008ed82620008b2565b82620008f984620008bc565b90506200090681620008cb565b925060208210156200094957620009447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620004e0565b831692505b5050919050565b60805160a05160c05160e051610100516101205161014051613d9d620009a25f395f61182501525f6117ea01525f611cac01525f611c8b01525f6113e401525f61143a01525f6114630152613d9d5ff3fe608060405234801561000f575f80fd5b50600436106101e3575f3560e01c80636fcfff451161010d5780639dc29fac116100a0578063c4d66de81161006f578063c4d66de8146105e7578063d505accf14610603578063dd62ed3e1461061f578063f1127ed81461064f576101e3565b80639dc29fac1461054f578063a82487681461056b578063a9059cbb1461059b578063c3cda520146105cb576101e3565b80638e539e8c116100dc5780638e539e8c146104b357806391ddadf4146104e357806395d89b41146105015780639ab24eb01461051f576101e3565b80636fcfff45146103ff57806370a082311461042f5780637ecebe001461045f57806384b0196e1461048f576101e3565b80633a46b1a8116101855780634cf088d9116101545780634cf088d914610365578063587cde1e146103835780635c19a95c146103b357806366a5236c146103cf576101e3565b80633a46b1a8146102dd57806340c10f191461030d57806345c57eb5146103295780634bf5d7e914610347576101e3565b806323b872dd116101c157806323b872dd146102535780632986c0e514610283578063313ce567146102a15780633644e515146102bf576101e3565b806306fdde03146101e7578063095ea7b31461020557806318160ddd14610235575b5f80fd5b6101ef61067f565b6040516101fc9190613040565b60405180910390f35b61021f600480360381019061021a91906130f1565b61070f565b60405161022c9190613149565b60405180910390f35b61023d610731565b60405161024a9190613171565b60405180910390f35b61026d6004803603810190610268919061318a565b61073a565b60405161027a9190613149565b60405180910390f35b61028b610768565b6040516102989190613171565b60405180910390f35b6102a96107fc565b6040516102b691906131f5565b60405180910390f35b6102c7610804565b6040516102d49190613226565b60405180910390f35b6102f760048036038101906102f291906130f1565b610812565b6040516103049190613171565b60405180910390f35b610327600480360381019061032291906130f1565b6108e8565b005b61033161097c565b60405161033e919061324e565b60405180910390f35b61034f6109a1565b60405161035c9190613040565b60405180910390f35b61036d610a35565b60405161037a919061324e565b60405180910390f35b61039d60048036038101906103989190613267565b610a5a565b6040516103aa919061324e565b60405180910390f35b6103cd60048036038101906103c89190613267565b610abf565b005b6103e960048036038101906103e49190613292565b610ad8565b6040516103f69190613171565b60405180910390f35b61041960048036038101906104149190613267565b610b06565b60405161042691906132db565b60405180910390f35b61044960048036038101906104449190613267565b610b17565b6040516104569190613171565b60405180910390f35b61047960048036038101906104749190613267565b610b5c565b6040516104869190613171565b60405180910390f35b610497610b6d565b6040516104aa97969594939291906133e5565b60405180910390f35b6104cd60048036038101906104c89190613292565b610c12565b6040516104da9190613171565b60405180910390f35b6104eb610cac565b6040516104f89190613487565b60405180910390f35b610509610cba565b6040516105169190613040565b60405180910390f35b61053960048036038101906105349190613267565b610d4a565b6040516105469190613171565b60405180910390f35b610569600480360381019061056491906130f1565b610db3565b005b61058560048036038101906105809190613292565b610e47565b6040516105929190613171565b60405180910390f35b6105b560048036038101906105b091906130f1565b610e75565b6040516105c29190613149565b60405180910390f35b6105e560048036038101906105e091906134f4565b610e97565b005b61060160048036038101906105fc9190613267565b610f5c565b005b61061d6004803603810190610618919061357d565b611065565b005b6106396004803603810190610634919061361a565b6111aa565b6040516106469190613171565b60405180910390f35b61066960048036038101906106649190613682565b61122c565b6040516106769190613730565b60405180910390f35b60606003805461068e90613776565b80601f01602080910402602001604051908101604052809291908181526020018280546106ba90613776565b80156107055780601f106106dc57610100808354040283529160200191610705565b820191905f5260205f20905b8154815290600101906020018083116106e857829003601f168201915b5050505050905090565b5f80610719611246565b905061072681858561124d565b600191505092915050565b5f600254905090565b5f80610744611246565b905061075185828561125f565b61075c8585856112f1565b60019150509392505050565b5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632986c0e56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f791906137ba565b905090565b5f6012905090565b5f61080d6113e1565b905090565b5f8061081c610cac565b90508065ffffffffffff16831061086c5782816040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004016108639291906137e5565b60405180910390fd5b6108c361087884611497565b60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206114f090919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1691505092915050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461096e576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61097882826115dd565b5050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606109ab61165c565b65ffffffffffff166109bb610cac565b65ffffffffffff16146109fa576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f610ac8611246565b9050610ad4818361166b565b5050565b5f610ae1610768565b670de0b6b3a764000083610af59190613839565b610aff91906138a7565b9050919050565b5f610b108261177b565b9050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f610b66826117d0565b9050919050565b5f6060805f805f6060610b7e6117e1565b610b8661181c565b46305f801b5f67ffffffffffffffff811115610ba557610ba46138d7565b5b604051908082528060200260200182016040528015610bd35781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f80610c1c610cac565b90508065ffffffffffff168310610c6c5782816040517fecd3f81e000000000000000000000000000000000000000000000000000000008152600401610c639291906137e5565b60405180910390fd5b610c88610c7884611497565b600a6114f090919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b5f610cb561165c565b905090565b606060048054610cc990613776565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf590613776565b8015610d405780601f10610d1757610100808354040283529160200191610d40565b820191905f5260205f20905b815481529060010190602001808311610d2357829003601f168201915b5050505050905090565b5f610d9060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611857565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e4382826118b9565b5050565b5f670de0b6b3a7640000610e59610768565b83610e649190613839565b610e6e91906138a7565b9050919050565b5f80610e7f611246565b9050610e8c8185856112f1565b600191505092915050565b83421115610edc57836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610ed39190613171565b60405180910390fd5b5f610f3d610f357fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610f1a9493929190613904565b60405160208183030381529060405280519060200120611938565b858585611951565b9050610f49818761197f565b610f53818861166b565b50505050505050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fe2576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b834211156110aa57836040517f627913020000000000000000000000000000000000000000000000000000000081526004016110a19190613171565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110d88c6119d6565b896040516020016110ee96959493929190613947565b6040516020818303038152906040528051906020012090505f61111082611938565b90505f61111f82878787611951565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461119357808a6040517f4b800e4600000000000000000000000000000000000000000000000000000000815260040161118a9291906139a6565b60405180910390fd5b61119e8a8a8a61124d565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611234612f7a565b61123e8383611a29565b905092915050565b5f33905090565b61125a8383836001611a88565b505050565b5f61126a84846111aa565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112eb57818110156112dc578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016112d3939291906139cd565b60405180910390fd5b6112ea84848484035f611a88565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611361575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611358919061324e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d1575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016113c8919061324e565b60405180910390fd5b6113dc838383611c57565b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561145c57507f000000000000000000000000000000000000000000000000000000000000000046145b15611489577f00000000000000000000000000000000000000000000000000000000000000009050611494565b611491611c67565b90505b90565b5f65ffffffffffff80168211156114e8576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016114df929190613a44565b60405180910390fd5b819050919050565b5f80835f018054905090505f808290506005831115611571575f61151384611cfc565b8461151e9190613a6b565b905061152c875f0182611df2565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff16101561155f5780915061156f565b60018161156c9190613a9e565b92505b505b5f611580875f01878585611e04565b90505f81146115cf576115a1875f0160018361159c9190613a6b565b611df2565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff166115d1565b5f5b94505050505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361164d575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611644919061324e565b60405180910390fd5b6116585f8383611c57565b5050565b5f61166643611497565b905090565b5f61167583610a5a565b90508160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611776818361177186611e79565b611e8a565b505050565b5f6117c96117c460095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206120fa565b612109565b9050919050565b5f6117da82612160565b9050919050565b606061181760057f00000000000000000000000000000000000000000000000000000000000000006121a690919063ffffffff16565b905090565b606061185260067f00000000000000000000000000000000000000000000000000000000000000006121a690919063ffffffff16565b905090565b5f80825f018054905090505f81146118af57611881835f0160018361187c9190613a6b565b611df2565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff166118b1565b5f5b915050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611929575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611920919061324e565b60405180910390fd5b611934825f83611c57565b5050565b5f61194a6119446113e1565b83612253565b9050919050565b5f805f8061196188888888612293565b925092509250611971828261237a565b829350505050949350505050565b5f611989836119d6565b90508082146119d15782816040517f752d88c00000000000000000000000000000000000000000000000000000000081526004016119c8929190613ad1565b60405180910390fd5b505050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b611a31612f7a565b611a808260095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206124dc90919063ffffffff16565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611af8575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611aef919061324e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b68575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611b5f919061324e565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611c51578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611c489190613171565b60405180910390a35b50505050565b611c628383836125ab565b505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611ce1959493929190613af8565b60405160208183030381529060405280519060200120905090565b5f808203611d0c575f9050611ded565b5f6001611d1884612659565b901c6001901b90506001818481611d3257611d3161387a565b5b048201901c90506001818481611d4b57611d4a61387a565b5b048201901c90506001818481611d6457611d6361387a565b5b048201901c90506001818481611d7d57611d7c61387a565b5b048201901c90506001818481611d9657611d9561387a565b5b048201901c90506001818481611daf57611dae61387a565b5b048201901c90506001818481611dc857611dc761387a565b5b048201901c9050611de981828581611de357611de261387a565b5b04612730565b9150505b919050565b5f825f528160205f2001905092915050565b5f5b81831015611e6e575f611e198484612748565b90508465ffffffffffff16611e2e8783611df2565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff161115611e5857809250611e68565b600181611e659190613a9e565b93505b50611e06565b819050949350505050565b5f611e8382610b17565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ec557505f81115b156120f5575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611fdf575f80611f5060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061276d611f4b86612782565b6127ef565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611fd4929190613b49565b60405180910390a250505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146120f4575f8061206560095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061282e61206086612782565b6127ef565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516120e9929190613b49565b60405180910390a250505b5b505050565b5f815f01805490509050919050565b5f63ffffffff8016821115612158576020826040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260040161214f929190613ba9565b60405180910390fd5b819050919050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b606060ff5f1b83146121c2576121bb83612843565b905061224d565b8180546121ce90613776565b80601f01602080910402602001604051908101604052809291908181526020018280546121fa90613776565b80156122455780601f1061221c57610100808354040283529160200191612245565b820191905f5260205f20905b81548152906001019060200180831161222857829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c11156122cf575f600385925092509250612370565b5f6001888888886040515f81526020016040526040516122f29493929190613bd0565b6020604051602081039080840390855afa158015612312573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612363575f60015f801b93509350935050612370565b805f805f1b935093509350505b9450945094915050565b5f600381111561238d5761238c613c13565b5b8260038111156123a05761239f613c13565b5b03156124d857600160038111156123ba576123b9613c13565b5b8260038111156123cd576123cc613c13565b5b03612404576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561241857612417613c13565b5b82600381111561242b5761242a613c13565b5b0361246f57805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016124669190613171565b60405180910390fd5b60038081111561248257612481613c13565b5b82600381111561249557612494613c13565b5b036124d757806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016124ce9190613226565b60405180910390fd5b5b5050565b6124e4612f7a565b825f018263ffffffff16815481106124ff576124fe613c40565b5b905f5260205f20016040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6125b68383836128b5565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612649575f6125f2610731565b90505f6125fd612ace565b9050808211156126465781816040517f1cb15d2600000000000000000000000000000000000000000000000000000000815260040161263d929190613b49565b60405180910390fd5b50505b612654838383612af1565b505050565b5f805f90505f608084901c111561267857608083901c92506080810190505b5f604084901c111561269257604083901c92506040810190505b5f602084901c11156126ac57602083901c92506020810190505b5f601084901c11156126c657601083901c92506010810190505b5f600884901c11156126e057600883901c92506008810190505b5f600484901c11156126fa57600483901c92506004810190505b5f600284901c111561271457600283901c92506002810190505b5f600184901c1115612727576001810190505b80915050919050565b5f81831061273e5781612740565b825b905092915050565b5f600282841861275891906138a7565b8284166127659190613a9e565b905092915050565b5f818361277a9190613c6d565b905092915050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156127e75760d0826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016127de929190613cf3565b60405180910390fd5b819050919050565b5f806128226127fc610cac565b61281261280888611857565b868863ffffffff16565b87612ba99092919063ffffffff16565b91509150935093915050565b5f818361283b9190613d1a565b905092915050565b60605f61284f83612bc4565b90505f602067ffffffffffffffff81111561286d5761286c6138d7565b5b6040519080825280601f01601f19166020018201604052801561289f5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612905578060025f8282546128f99190613a9e565b925050819055506129d3565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561298e578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401612985939291906139cd565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a1a578060025f8282540392505081905550612a64565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ac19190613171565b60405180910390a3505050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b3d57612b3a600a61282e612b3584612782565b6127ef565b50505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612b8957612b86600a61276d612b8184612782565b6127ef565b50505b612ba4612b9584610a5a565b612b9e84610a5a565b83611e8a565b505050565b5f80612bb8855f018585612c12565b91509150935093915050565b5f8060ff835f1c169050601f811115612c09576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f805f858054905090505f811115612e92575f612c3b87600184612c369190613a6b565b611df2565b6040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508565ffffffffffff16815f015165ffffffffffff161115612d26576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8565ffffffffffff16815f015165ffffffffffff1603612da85784612d5788600185612d529190613a6b565b611df2565b5f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612e81565b8660405180604001604052808865ffffffffffff1681526020018779ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050612f72565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505f8492509250505b935093915050565b60405180604001604052805f65ffffffffffff1681526020015f79ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612fed578082015181840152602081019050612fd2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61301282612fb6565b61301c8185612fc0565b935061302c818560208601612fd0565b61303581612ff8565b840191505092915050565b5f6020820190508181035f8301526130588184613008565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61308d82613064565b9050919050565b61309d81613083565b81146130a7575f80fd5b50565b5f813590506130b881613094565b92915050565b5f819050919050565b6130d0816130be565b81146130da575f80fd5b50565b5f813590506130eb816130c7565b92915050565b5f806040838503121561310757613106613060565b5b5f613114858286016130aa565b9250506020613125858286016130dd565b9150509250929050565b5f8115159050919050565b6131438161312f565b82525050565b5f60208201905061315c5f83018461313a565b92915050565b61316b816130be565b82525050565b5f6020820190506131845f830184613162565b92915050565b5f805f606084860312156131a1576131a0613060565b5b5f6131ae868287016130aa565b93505060206131bf868287016130aa565b92505060406131d0868287016130dd565b9150509250925092565b5f60ff82169050919050565b6131ef816131da565b82525050565b5f6020820190506132085f8301846131e6565b92915050565b5f819050919050565b6132208161320e565b82525050565b5f6020820190506132395f830184613217565b92915050565b61324881613083565b82525050565b5f6020820190506132615f83018461323f565b92915050565b5f6020828403121561327c5761327b613060565b5b5f613289848285016130aa565b91505092915050565b5f602082840312156132a7576132a6613060565b5b5f6132b4848285016130dd565b91505092915050565b5f63ffffffff82169050919050565b6132d5816132bd565b82525050565b5f6020820190506132ee5f8301846132cc565b92915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613328816132f4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613360816130be565b82525050565b5f6133718383613357565b60208301905092915050565b5f602082019050919050565b5f6133938261332e565b61339d8185613338565b93506133a883613348565b805f5b838110156133d85781516133bf8882613366565b97506133ca8361337d565b9250506001810190506133ab565b5085935050505092915050565b5f60e0820190506133f85f83018a61331f565b818103602083015261340a8189613008565b9050818103604083015261341e8188613008565b905061342d6060830187613162565b61343a608083018661323f565b61344760a0830185613217565b81810360c08301526134598184613389565b905098975050505050505050565b5f65ffffffffffff82169050919050565b61348181613467565b82525050565b5f60208201905061349a5f830184613478565b92915050565b6134a9816131da565b81146134b3575f80fd5b50565b5f813590506134c4816134a0565b92915050565b6134d38161320e565b81146134dd575f80fd5b50565b5f813590506134ee816134ca565b92915050565b5f805f805f8060c0878903121561350e5761350d613060565b5b5f61351b89828a016130aa565b965050602061352c89828a016130dd565b955050604061353d89828a016130dd565b945050606061354e89828a016134b6565b935050608061355f89828a016134e0565b92505060a061357089828a016134e0565b9150509295509295509295565b5f805f805f805f60e0888a03121561359857613597613060565b5b5f6135a58a828b016130aa565b97505060206135b68a828b016130aa565b96505060406135c78a828b016130dd565b95505060606135d88a828b016130dd565b94505060806135e98a828b016134b6565b93505060a06135fa8a828b016134e0565b92505060c061360b8a828b016134e0565b91505092959891949750929550565b5f80604083850312156136305761362f613060565b5b5f61363d858286016130aa565b925050602061364e858286016130aa565b9150509250929050565b613661816132bd565b811461366b575f80fd5b50565b5f8135905061367c81613658565b92915050565b5f806040838503121561369857613697613060565b5b5f6136a5858286016130aa565b92505060206136b68582860161366e565b9150509250929050565b6136c981613467565b82525050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6136fd816136cf565b82525050565b604082015f8201516137175f8501826136c0565b50602082015161372a60208501826136f4565b50505050565b5f6040820190506137435f830184613703565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061378d57607f821691505b6020821081036137a05761379f613749565b5b50919050565b5f815190506137b4816130c7565b92915050565b5f602082840312156137cf576137ce613060565b5b5f6137dc848285016137a6565b91505092915050565b5f6040820190506137f85f830185613162565b6138056020830184613478565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613843826130be565b915061384e836130be565b925082820261385c816130be565b915082820484148315176138735761387261380c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6138b1826130be565b91506138bc836130be565b9250826138cc576138cb61387a565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6080820190506139175f830187613217565b613924602083018661323f565b6139316040830185613162565b61393e6060830184613162565b95945050505050565b5f60c08201905061395a5f830189613217565b613967602083018861323f565b613974604083018761323f565b6139816060830186613162565b61398e6080830185613162565b61399b60a0830184613162565b979650505050505050565b5f6040820190506139b95f83018561323f565b6139c6602083018461323f565b9392505050565b5f6060820190506139e05f83018661323f565b6139ed6020830185613162565b6139fa6040830184613162565b949350505050565b5f819050919050565b5f819050919050565b5f613a2e613a29613a2484613a02565b613a0b565b6131da565b9050919050565b613a3e81613a14565b82525050565b5f604082019050613a575f830185613a35565b613a646020830184613162565b9392505050565b5f613a75826130be565b9150613a80836130be565b9250828203905081811115613a9857613a9761380c565b5b92915050565b5f613aa8826130be565b9150613ab3836130be565b9250828201905080821115613acb57613aca61380c565b5b92915050565b5f604082019050613ae45f83018561323f565b613af16020830184613162565b9392505050565b5f60a082019050613b0b5f830188613217565b613b186020830187613217565b613b256040830186613217565b613b326060830185613162565b613b3f608083018461323f565b9695505050505050565b5f604082019050613b5c5f830185613162565b613b696020830184613162565b9392505050565b5f819050919050565b5f613b93613b8e613b8984613b70565b613a0b565b6131da565b9050919050565b613ba381613b79565b82525050565b5f604082019050613bbc5f830185613b9a565b613bc96020830184613162565b9392505050565b5f608082019050613be35f830187613217565b613bf060208301866131e6565b613bfd6040830185613217565b613c0a6060830184613217565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613c77826136cf565b9150613c82836136cf565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613cb457613cb361380c565b5b92915050565b5f819050919050565b5f613cdd613cd8613cd384613cba565b613a0b565b6131da565b9050919050565b613ced81613cc3565b82525050565b5f604082019050613d065f830185613ce4565b613d136020830184613162565b9392505050565b5f613d24826136cf565b9150613d2f836136cf565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613d6157613d6061380c565b5b9291505056fea2646970667358221220c94b2cec1eed0b504ef03aaa866e71b8c8992c0fe58635afee1225b248fd6c1364736f6c63430008140033","sourceMap":"327:1500:89:-:0;;;495:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1574:52:23;;;;;;;;;;;;;;;;;1613:4;3328:431:37;;;;;;;;;;;;;;;;;1896:113:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1970:5;1962;:13;;;;;;:::i;:::-;;1995:7;1985;:17;;;;;;:::i;:::-;;1896:113;;3401:45:37;3432:13;3401:4;:30;;;;:45;;;;:::i;:::-;3393:53;;;;;;3467:51;3501:16;3467:7;:33;;;;:51;;;;:::i;:::-;3456:62;;;;;;3558:4;3542:22;;;;;;3528:36;;;;;;3607:7;3591:25;;;;;;3574:42;;;;;;3644:13;3627:30;;;;;;3692:23;:21;;;:23;;:::i;:::-;3667:48;;;;;;3747:4;3725:27;;;;;;;;;;3328:431;;1574:52:23;583:5:89::2;576:4;;:12;;;;;;;;;;;;;;;;;;613:10;598:12;;:25;;;;;;;;;;;;;;;;;;495:135:::0;327:1500;;2914:340:33;3010:11;3059:2;3043:5;3037:19;:24;3033:215;;;3084:20;3098:5;3084:13;;;:20;;:::i;:::-;3077:27;;;;3033:215;3176:5;3135:32;3161:5;3135:25;;;:32;;:::i;:::-;:38;;:46;;;;;;:::i;:::-;;1390:66;3219:17;;3195:42;;2914:340;;;;;:::o;4113:179:37:-;4168:7;2079:95;4226:11;;4239:14;;4255:13;4278:4;4204:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4194:91;;;;;;4187:98;;4113:179;:::o;1708:286:33:-;1773:11;1796:17;1822:3;1796:30;;1854:2;1840:4;:11;:16;1836:72;;;1893:3;1879:18;;;;;;;;;;;:::i;:::-;;;;;;;;1836:72;1974:4;:11;1965:4;1957:13;;;:::i;:::-;1949:22;;:36;1941:45;;1917:70;;;1708:286;;;:::o;3135:202:34:-;3203:20;3311:10;3301:20;;3135:202;;;:::o;88:117:133:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;1202:99::-;1254:6;1288:5;1282:12;1272:22;;1202:99;;;:::o;1307:180::-;1355:77;1352:1;1345:88;1452:4;1449:1;1442:15;1476:4;1473:1;1466:15;1493:180;1541:77;1538:1;1531:88;1638:4;1635:1;1628:15;1662:4;1659:1;1652:15;1679:320;1723:6;1760:1;1754:4;1750:12;1740:22;;1807:1;1801:4;1797:12;1828:18;1818:81;;1884:4;1876:6;1872:17;1862:27;;1818:81;1946:2;1938:6;1935:14;1915:18;1912:38;1909:84;;1965:18;;:::i;:::-;1909:84;1730:269;1679:320;;;:::o;2005:141::-;2054:4;2077:3;2069:11;;2100:3;2097:1;2090:14;2134:4;2131:1;2121:18;2113:26;;2005:141;;;:::o;2152:93::-;2189:6;2236:2;2231;2224:5;2220:14;2216:23;2206:33;;2152:93;;;:::o;2251:107::-;2295:8;2345:5;2339:4;2335:16;2314:37;;2251:107;;;;:::o;2364:393::-;2433:6;2483:1;2471:10;2467:18;2506:97;2536:66;2525:9;2506:97;:::i;:::-;2624:39;2654:8;2643:9;2624:39;:::i;:::-;2612:51;;2696:4;2692:9;2685:5;2681:21;2672:30;;2745:4;2735:8;2731:19;2724:5;2721:30;2711:40;;2440:317;;2364:393;;;;;:::o;2763:77::-;2800:7;2829:5;2818:16;;2763:77;;;:::o;2846:60::-;2874:3;2895:5;2888:12;;2846:60;;;:::o;2912:142::-;2962:9;2995:53;3013:34;3022:24;3040:5;3022:24;:::i;:::-;3013:34;:::i;:::-;2995:53;:::i;:::-;2982:66;;2912:142;;;:::o;3060:75::-;3103:3;3124:5;3117:12;;3060:75;;;:::o;3141:269::-;3251:39;3282:7;3251:39;:::i;:::-;3312:91;3361:41;3385:16;3361:41;:::i;:::-;3353:6;3346:4;3340:11;3312:91;:::i;:::-;3306:4;3299:105;3217:193;3141:269;;;:::o;3416:73::-;3461:3;3416:73;:::o;3495:189::-;3572:32;;:::i;:::-;3613:65;3671:6;3663;3657:4;3613:65;:::i;:::-;3548:136;3495:189;;:::o;3690:186::-;3750:120;3767:3;3760:5;3757:14;3750:120;;;3821:39;3858:1;3851:5;3821:39;:::i;:::-;3794:1;3787:5;3783:13;3774:22;;3750:120;;;3690:186;;:::o;3882:543::-;3983:2;3978:3;3975:11;3972:446;;;4017:38;4049:5;4017:38;:::i;:::-;4101:29;4119:10;4101:29;:::i;:::-;4091:8;4087:44;4284:2;4272:10;4269:18;4266:49;;;4305:8;4290:23;;4266:49;4328:80;4384:22;4402:3;4384:22;:::i;:::-;4374:8;4370:37;4357:11;4328:80;:::i;:::-;3987:431;;3972:446;3882:543;;;:::o;4431:117::-;4485:8;4535:5;4529:4;4525:16;4504:37;;4431:117;;;;:::o;4554:169::-;4598:6;4631:51;4679:1;4675:6;4667:5;4664:1;4660:13;4631:51;:::i;:::-;4627:56;4712:4;4706;4702:15;4692:25;;4605:118;4554:169;;;;:::o;4728:295::-;4804:4;4950:29;4975:3;4969:4;4950:29;:::i;:::-;4942:37;;5012:3;5009:1;5005:11;4999:4;4996:21;4988:29;;4728:295;;;;:::o;5028:1395::-;5145:37;5178:3;5145:37;:::i;:::-;5247:18;5239:6;5236:30;5233:56;;;5269:18;;:::i;:::-;5233:56;5313:38;5345:4;5339:11;5313:38;:::i;:::-;5398:67;5458:6;5450;5444:4;5398:67;:::i;:::-;5492:1;5516:4;5503:17;;5548:2;5540:6;5537:14;5565:1;5560:618;;;;6222:1;6239:6;6236:77;;;6288:9;6283:3;6279:19;6273:26;6264:35;;6236:77;6339:67;6399:6;6392:5;6339:67;:::i;:::-;6333:4;6326:81;6195:222;5530:887;;5560:618;5612:4;5608:9;5600:6;5596:22;5646:37;5678:4;5646:37;:::i;:::-;5705:1;5719:208;5733:7;5730:1;5727:14;5719:208;;;5812:9;5807:3;5803:19;5797:26;5789:6;5782:42;5863:1;5855:6;5851:14;5841:24;;5910:2;5899:9;5895:18;5882:31;;5756:4;5753:1;5749:12;5744:17;;5719:208;;;5955:6;5946:7;5943:19;5940:179;;;6013:9;6008:3;6004:19;5998:26;6056:48;6098:4;6090:6;6086:17;6075:9;6056:48;:::i;:::-;6048:6;6041:64;5963:156;5940:179;6165:1;6161;6153:6;6149:14;6145:22;6139:4;6132:36;5567:611;;;5530:887;;5120:1303;;;5028:1395;;:::o;6429:77::-;6466:7;6495:5;6484:16;;6429:77;;;:::o;6512:118::-;6599:24;6617:5;6599:24;:::i;:::-;6594:3;6587:37;6512:118;;:::o;6636:::-;6723:24;6741:5;6723:24;:::i;:::-;6718:3;6711:37;6636:118;;:::o;6760:::-;6847:24;6865:5;6847:24;:::i;:::-;6842:3;6835:37;6760:118;;:::o;6884:664::-;7089:4;7127:3;7116:9;7112:19;7104:27;;7141:71;7209:1;7198:9;7194:17;7185:6;7141:71;:::i;:::-;7222:72;7290:2;7279:9;7275:18;7266:6;7222:72;:::i;:::-;7304;7372:2;7361:9;7357:18;7348:6;7304:72;:::i;:::-;7386;7454:2;7443:9;7439:18;7430:6;7386:72;:::i;:::-;7468:73;7536:3;7525:9;7521:19;7512:6;7468:73;:::i;:::-;6884:664;;;;;;;;:::o;7554:169::-;7638:11;7672:6;7667:3;7660:19;7712:4;7707:3;7703:14;7688:29;;7554:169;;;;:::o;7729:246::-;7810:1;7820:113;7834:6;7831:1;7828:13;7820:113;;;7919:1;7914:3;7910:11;7904:18;7900:1;7895:3;7891:11;7884:39;7856:2;7853:1;7849:10;7844:15;;7820:113;;;7967:1;7958:6;7953:3;7949:16;7942:27;7791:184;7729:246;;;:::o;7981:102::-;8022:6;8073:2;8069:7;8064:2;8057:5;8053:14;8049:28;8039:38;;7981:102;;;:::o;8089:377::-;8177:3;8205:39;8238:5;8205:39;:::i;:::-;8260:71;8324:6;8319:3;8260:71;:::i;:::-;8253:78;;8340:65;8398:6;8393:3;8386:4;8379:5;8375:16;8340:65;:::i;:::-;8430:29;8452:6;8430:29;:::i;:::-;8425:3;8421:39;8414:46;;8181:285;8089:377;;;;:::o;8472:313::-;8585:4;8623:2;8612:9;8608:18;8600:26;;8672:9;8666:4;8662:20;8658:1;8647:9;8643:17;8636:47;8700:78;8773:4;8764:6;8700:78;:::i;:::-;8692:86;;8472:313;;;;:::o;8791:98::-;8842:6;8876:5;8870:12;8860:22;;8791:98;;;:::o;8895:116::-;8946:4;8969:3;8961:11;;8999:4;8994:3;8990:14;8982:22;;8895:116;;;:::o;9017:154::-;9060:11;9096:29;9120:3;9114:10;9096:29;:::i;:::-;9159:5;9135:29;;9072:99;9017:154;;;:::o;9177:594::-;9261:5;9292:38;9324:5;9292:38;:::i;:::-;9355:5;9382:40;9416:5;9382:40;:::i;:::-;9370:52;;9441:35;9467:8;9441:35;:::i;:::-;9432:44;;9500:2;9492:6;9489:14;9486:278;;;9571:169;9656:66;9626:6;9622:2;9618:15;9615:1;9611:23;9571:169;:::i;:::-;9548:5;9527:227;9518:236;;9486:278;9267:504;;9177:594;;;:::o;327:1500:89:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106101e3575f3560e01c80636fcfff451161010d5780639dc29fac116100a0578063c4d66de81161006f578063c4d66de8146105e7578063d505accf14610603578063dd62ed3e1461061f578063f1127ed81461064f576101e3565b80639dc29fac1461054f578063a82487681461056b578063a9059cbb1461059b578063c3cda520146105cb576101e3565b80638e539e8c116100dc5780638e539e8c146104b357806391ddadf4146104e357806395d89b41146105015780639ab24eb01461051f576101e3565b80636fcfff45146103ff57806370a082311461042f5780637ecebe001461045f57806384b0196e1461048f576101e3565b80633a46b1a8116101855780634cf088d9116101545780634cf088d914610365578063587cde1e146103835780635c19a95c146103b357806366a5236c146103cf576101e3565b80633a46b1a8146102dd57806340c10f191461030d57806345c57eb5146103295780634bf5d7e914610347576101e3565b806323b872dd116101c157806323b872dd146102535780632986c0e514610283578063313ce567146102a15780633644e515146102bf576101e3565b806306fdde03146101e7578063095ea7b31461020557806318160ddd14610235575b5f80fd5b6101ef61067f565b6040516101fc9190613040565b60405180910390f35b61021f600480360381019061021a91906130f1565b61070f565b60405161022c9190613149565b60405180910390f35b61023d610731565b60405161024a9190613171565b60405180910390f35b61026d6004803603810190610268919061318a565b61073a565b60405161027a9190613149565b60405180910390f35b61028b610768565b6040516102989190613171565b60405180910390f35b6102a96107fc565b6040516102b691906131f5565b60405180910390f35b6102c7610804565b6040516102d49190613226565b60405180910390f35b6102f760048036038101906102f291906130f1565b610812565b6040516103049190613171565b60405180910390f35b610327600480360381019061032291906130f1565b6108e8565b005b61033161097c565b60405161033e919061324e565b60405180910390f35b61034f6109a1565b60405161035c9190613040565b60405180910390f35b61036d610a35565b60405161037a919061324e565b60405180910390f35b61039d60048036038101906103989190613267565b610a5a565b6040516103aa919061324e565b60405180910390f35b6103cd60048036038101906103c89190613267565b610abf565b005b6103e960048036038101906103e49190613292565b610ad8565b6040516103f69190613171565b60405180910390f35b61041960048036038101906104149190613267565b610b06565b60405161042691906132db565b60405180910390f35b61044960048036038101906104449190613267565b610b17565b6040516104569190613171565b60405180910390f35b61047960048036038101906104749190613267565b610b5c565b6040516104869190613171565b60405180910390f35b610497610b6d565b6040516104aa97969594939291906133e5565b60405180910390f35b6104cd60048036038101906104c89190613292565b610c12565b6040516104da9190613171565b60405180910390f35b6104eb610cac565b6040516104f89190613487565b60405180910390f35b610509610cba565b6040516105169190613040565b60405180910390f35b61053960048036038101906105349190613267565b610d4a565b6040516105469190613171565b60405180910390f35b610569600480360381019061056491906130f1565b610db3565b005b61058560048036038101906105809190613292565b610e47565b6040516105929190613171565b60405180910390f35b6105b560048036038101906105b091906130f1565b610e75565b6040516105c29190613149565b60405180910390f35b6105e560048036038101906105e091906134f4565b610e97565b005b61060160048036038101906105fc9190613267565b610f5c565b005b61061d6004803603810190610618919061357d565b611065565b005b6106396004803603810190610634919061361a565b6111aa565b6040516106469190613171565b60405180910390f35b61066960048036038101906106649190613682565b61122c565b6040516106769190613730565b60405180910390f35b60606003805461068e90613776565b80601f01602080910402602001604051908101604052809291908181526020018280546106ba90613776565b80156107055780601f106106dc57610100808354040283529160200191610705565b820191905f5260205f20905b8154815290600101906020018083116106e857829003601f168201915b5050505050905090565b5f80610719611246565b905061072681858561124d565b600191505092915050565b5f600254905090565b5f80610744611246565b905061075185828561125f565b61075c8585856112f1565b60019150509392505050565b5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632986c0e56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f791906137ba565b905090565b5f6012905090565b5f61080d6113e1565b905090565b5f8061081c610cac565b90508065ffffffffffff16831061086c5782816040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004016108639291906137e5565b60405180910390fd5b6108c361087884611497565b60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206114f090919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1691505092915050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461096e576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61097882826115dd565b5050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606109ab61165c565b65ffffffffffff166109bb610cac565b65ffffffffffff16146109fa576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f610ac8611246565b9050610ad4818361166b565b5050565b5f610ae1610768565b670de0b6b3a764000083610af59190613839565b610aff91906138a7565b9050919050565b5f610b108261177b565b9050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f610b66826117d0565b9050919050565b5f6060805f805f6060610b7e6117e1565b610b8661181c565b46305f801b5f67ffffffffffffffff811115610ba557610ba46138d7565b5b604051908082528060200260200182016040528015610bd35781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f80610c1c610cac565b90508065ffffffffffff168310610c6c5782816040517fecd3f81e000000000000000000000000000000000000000000000000000000008152600401610c639291906137e5565b60405180910390fd5b610c88610c7884611497565b600a6114f090919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b5f610cb561165c565b905090565b606060048054610cc990613776565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf590613776565b8015610d405780601f10610d1757610100808354040283529160200191610d40565b820191905f5260205f20905b815481529060010190602001808311610d2357829003601f168201915b5050505050905090565b5f610d9060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611857565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e4382826118b9565b5050565b5f670de0b6b3a7640000610e59610768565b83610e649190613839565b610e6e91906138a7565b9050919050565b5f80610e7f611246565b9050610e8c8185856112f1565b600191505092915050565b83421115610edc57836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610ed39190613171565b60405180910390fd5b5f610f3d610f357fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610f1a9493929190613904565b60405160208183030381529060405280519060200120611938565b858585611951565b9050610f49818761197f565b610f53818861166b565b50505050505050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fe2576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b834211156110aa57836040517f627913020000000000000000000000000000000000000000000000000000000081526004016110a19190613171565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110d88c6119d6565b896040516020016110ee96959493929190613947565b6040516020818303038152906040528051906020012090505f61111082611938565b90505f61111f82878787611951565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461119357808a6040517f4b800e4600000000000000000000000000000000000000000000000000000000815260040161118a9291906139a6565b60405180910390fd5b61119e8a8a8a61124d565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611234612f7a565b61123e8383611a29565b905092915050565b5f33905090565b61125a8383836001611a88565b505050565b5f61126a84846111aa565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112eb57818110156112dc578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016112d3939291906139cd565b60405180910390fd5b6112ea84848484035f611a88565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611361575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611358919061324e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d1575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016113c8919061324e565b60405180910390fd5b6113dc838383611c57565b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561145c57507f000000000000000000000000000000000000000000000000000000000000000046145b15611489577f00000000000000000000000000000000000000000000000000000000000000009050611494565b611491611c67565b90505b90565b5f65ffffffffffff80168211156114e8576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016114df929190613a44565b60405180910390fd5b819050919050565b5f80835f018054905090505f808290506005831115611571575f61151384611cfc565b8461151e9190613a6b565b905061152c875f0182611df2565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff16101561155f5780915061156f565b60018161156c9190613a9e565b92505b505b5f611580875f01878585611e04565b90505f81146115cf576115a1875f0160018361159c9190613a6b565b611df2565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff166115d1565b5f5b94505050505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361164d575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611644919061324e565b60405180910390fd5b6116585f8383611c57565b5050565b5f61166643611497565b905090565b5f61167583610a5a565b90508160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611776818361177186611e79565b611e8a565b505050565b5f6117c96117c460095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206120fa565b612109565b9050919050565b5f6117da82612160565b9050919050565b606061181760057f00000000000000000000000000000000000000000000000000000000000000006121a690919063ffffffff16565b905090565b606061185260067f00000000000000000000000000000000000000000000000000000000000000006121a690919063ffffffff16565b905090565b5f80825f018054905090505f81146118af57611881835f0160018361187c9190613a6b565b611df2565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff166118b1565b5f5b915050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611929575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611920919061324e565b60405180910390fd5b611934825f83611c57565b5050565b5f61194a6119446113e1565b83612253565b9050919050565b5f805f8061196188888888612293565b925092509250611971828261237a565b829350505050949350505050565b5f611989836119d6565b90508082146119d15782816040517f752d88c00000000000000000000000000000000000000000000000000000000081526004016119c8929190613ad1565b60405180910390fd5b505050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b611a31612f7a565b611a808260095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206124dc90919063ffffffff16565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611af8575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611aef919061324e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b68575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611b5f919061324e565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611c51578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611c489190613171565b60405180910390a35b50505050565b611c628383836125ab565b505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611ce1959493929190613af8565b60405160208183030381529060405280519060200120905090565b5f808203611d0c575f9050611ded565b5f6001611d1884612659565b901c6001901b90506001818481611d3257611d3161387a565b5b048201901c90506001818481611d4b57611d4a61387a565b5b048201901c90506001818481611d6457611d6361387a565b5b048201901c90506001818481611d7d57611d7c61387a565b5b048201901c90506001818481611d9657611d9561387a565b5b048201901c90506001818481611daf57611dae61387a565b5b048201901c90506001818481611dc857611dc761387a565b5b048201901c9050611de981828581611de357611de261387a565b5b04612730565b9150505b919050565b5f825f528160205f2001905092915050565b5f5b81831015611e6e575f611e198484612748565b90508465ffffffffffff16611e2e8783611df2565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff161115611e5857809250611e68565b600181611e659190613a9e565b93505b50611e06565b819050949350505050565b5f611e8382610b17565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ec557505f81115b156120f5575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611fdf575f80611f5060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061276d611f4b86612782565b6127ef565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611fd4929190613b49565b60405180910390a250505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146120f4575f8061206560095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061282e61206086612782565b6127ef565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516120e9929190613b49565b60405180910390a250505b5b505050565b5f815f01805490509050919050565b5f63ffffffff8016821115612158576020826040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260040161214f929190613ba9565b60405180910390fd5b819050919050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b606060ff5f1b83146121c2576121bb83612843565b905061224d565b8180546121ce90613776565b80601f01602080910402602001604051908101604052809291908181526020018280546121fa90613776565b80156122455780601f1061221c57610100808354040283529160200191612245565b820191905f5260205f20905b81548152906001019060200180831161222857829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c11156122cf575f600385925092509250612370565b5f6001888888886040515f81526020016040526040516122f29493929190613bd0565b6020604051602081039080840390855afa158015612312573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612363575f60015f801b93509350935050612370565b805f805f1b935093509350505b9450945094915050565b5f600381111561238d5761238c613c13565b5b8260038111156123a05761239f613c13565b5b03156124d857600160038111156123ba576123b9613c13565b5b8260038111156123cd576123cc613c13565b5b03612404576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561241857612417613c13565b5b82600381111561242b5761242a613c13565b5b0361246f57805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016124669190613171565b60405180910390fd5b60038081111561248257612481613c13565b5b82600381111561249557612494613c13565b5b036124d757806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016124ce9190613226565b60405180910390fd5b5b5050565b6124e4612f7a565b825f018263ffffffff16815481106124ff576124fe613c40565b5b905f5260205f20016040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6125b68383836128b5565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612649575f6125f2610731565b90505f6125fd612ace565b9050808211156126465781816040517f1cb15d2600000000000000000000000000000000000000000000000000000000815260040161263d929190613b49565b60405180910390fd5b50505b612654838383612af1565b505050565b5f805f90505f608084901c111561267857608083901c92506080810190505b5f604084901c111561269257604083901c92506040810190505b5f602084901c11156126ac57602083901c92506020810190505b5f601084901c11156126c657601083901c92506010810190505b5f600884901c11156126e057600883901c92506008810190505b5f600484901c11156126fa57600483901c92506004810190505b5f600284901c111561271457600283901c92506002810190505b5f600184901c1115612727576001810190505b80915050919050565b5f81831061273e5781612740565b825b905092915050565b5f600282841861275891906138a7565b8284166127659190613a9e565b905092915050565b5f818361277a9190613c6d565b905092915050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156127e75760d0826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016127de929190613cf3565b60405180910390fd5b819050919050565b5f806128226127fc610cac565b61281261280888611857565b868863ffffffff16565b87612ba99092919063ffffffff16565b91509150935093915050565b5f818361283b9190613d1a565b905092915050565b60605f61284f83612bc4565b90505f602067ffffffffffffffff81111561286d5761286c6138d7565b5b6040519080825280601f01601f19166020018201604052801561289f5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612905578060025f8282546128f99190613a9e565b925050819055506129d3565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561298e578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401612985939291906139cd565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a1a578060025f8282540392505081905550612a64565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ac19190613171565b60405180910390a3505050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b3d57612b3a600a61282e612b3584612782565b6127ef565b50505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612b8957612b86600a61276d612b8184612782565b6127ef565b50505b612ba4612b9584610a5a565b612b9e84610a5a565b83611e8a565b505050565b5f80612bb8855f018585612c12565b91509150935093915050565b5f8060ff835f1c169050601f811115612c09576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f805f858054905090505f811115612e92575f612c3b87600184612c369190613a6b565b611df2565b6040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508565ffffffffffff16815f015165ffffffffffff161115612d26576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8565ffffffffffff16815f015165ffffffffffff1603612da85784612d5788600185612d529190613a6b565b611df2565b5f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612e81565b8660405180604001604052808865ffffffffffff1681526020018779ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050612f72565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505f8492509250505b935093915050565b60405180604001604052805f65ffffffffffff1681526020015f79ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612fed578082015181840152602081019050612fd2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61301282612fb6565b61301c8185612fc0565b935061302c818560208601612fd0565b61303581612ff8565b840191505092915050565b5f6020820190508181035f8301526130588184613008565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61308d82613064565b9050919050565b61309d81613083565b81146130a7575f80fd5b50565b5f813590506130b881613094565b92915050565b5f819050919050565b6130d0816130be565b81146130da575f80fd5b50565b5f813590506130eb816130c7565b92915050565b5f806040838503121561310757613106613060565b5b5f613114858286016130aa565b9250506020613125858286016130dd565b9150509250929050565b5f8115159050919050565b6131438161312f565b82525050565b5f60208201905061315c5f83018461313a565b92915050565b61316b816130be565b82525050565b5f6020820190506131845f830184613162565b92915050565b5f805f606084860312156131a1576131a0613060565b5b5f6131ae868287016130aa565b93505060206131bf868287016130aa565b92505060406131d0868287016130dd565b9150509250925092565b5f60ff82169050919050565b6131ef816131da565b82525050565b5f6020820190506132085f8301846131e6565b92915050565b5f819050919050565b6132208161320e565b82525050565b5f6020820190506132395f830184613217565b92915050565b61324881613083565b82525050565b5f6020820190506132615f83018461323f565b92915050565b5f6020828403121561327c5761327b613060565b5b5f613289848285016130aa565b91505092915050565b5f602082840312156132a7576132a6613060565b5b5f6132b4848285016130dd565b91505092915050565b5f63ffffffff82169050919050565b6132d5816132bd565b82525050565b5f6020820190506132ee5f8301846132cc565b92915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613328816132f4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613360816130be565b82525050565b5f6133718383613357565b60208301905092915050565b5f602082019050919050565b5f6133938261332e565b61339d8185613338565b93506133a883613348565b805f5b838110156133d85781516133bf8882613366565b97506133ca8361337d565b9250506001810190506133ab565b5085935050505092915050565b5f60e0820190506133f85f83018a61331f565b818103602083015261340a8189613008565b9050818103604083015261341e8188613008565b905061342d6060830187613162565b61343a608083018661323f565b61344760a0830185613217565b81810360c08301526134598184613389565b905098975050505050505050565b5f65ffffffffffff82169050919050565b61348181613467565b82525050565b5f60208201905061349a5f830184613478565b92915050565b6134a9816131da565b81146134b3575f80fd5b50565b5f813590506134c4816134a0565b92915050565b6134d38161320e565b81146134dd575f80fd5b50565b5f813590506134ee816134ca565b92915050565b5f805f805f8060c0878903121561350e5761350d613060565b5b5f61351b89828a016130aa565b965050602061352c89828a016130dd565b955050604061353d89828a016130dd565b945050606061354e89828a016134b6565b935050608061355f89828a016134e0565b92505060a061357089828a016134e0565b9150509295509295509295565b5f805f805f805f60e0888a03121561359857613597613060565b5b5f6135a58a828b016130aa565b97505060206135b68a828b016130aa565b96505060406135c78a828b016130dd565b95505060606135d88a828b016130dd565b94505060806135e98a828b016134b6565b93505060a06135fa8a828b016134e0565b92505060c061360b8a828b016134e0565b91505092959891949750929550565b5f80604083850312156136305761362f613060565b5b5f61363d858286016130aa565b925050602061364e858286016130aa565b9150509250929050565b613661816132bd565b811461366b575f80fd5b50565b5f8135905061367c81613658565b92915050565b5f806040838503121561369857613697613060565b5b5f6136a5858286016130aa565b92505060206136b68582860161366e565b9150509250929050565b6136c981613467565b82525050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6136fd816136cf565b82525050565b604082015f8201516137175f8501826136c0565b50602082015161372a60208501826136f4565b50505050565b5f6040820190506137435f830184613703565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061378d57607f821691505b6020821081036137a05761379f613749565b5b50919050565b5f815190506137b4816130c7565b92915050565b5f602082840312156137cf576137ce613060565b5b5f6137dc848285016137a6565b91505092915050565b5f6040820190506137f85f830185613162565b6138056020830184613478565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613843826130be565b915061384e836130be565b925082820261385c816130be565b915082820484148315176138735761387261380c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6138b1826130be565b91506138bc836130be565b9250826138cc576138cb61387a565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6080820190506139175f830187613217565b613924602083018661323f565b6139316040830185613162565b61393e6060830184613162565b95945050505050565b5f60c08201905061395a5f830189613217565b613967602083018861323f565b613974604083018761323f565b6139816060830186613162565b61398e6080830185613162565b61399b60a0830184613162565b979650505050505050565b5f6040820190506139b95f83018561323f565b6139c6602083018461323f565b9392505050565b5f6060820190506139e05f83018661323f565b6139ed6020830185613162565b6139fa6040830184613162565b949350505050565b5f819050919050565b5f819050919050565b5f613a2e613a29613a2484613a02565b613a0b565b6131da565b9050919050565b613a3e81613a14565b82525050565b5f604082019050613a575f830185613a35565b613a646020830184613162565b9392505050565b5f613a75826130be565b9150613a80836130be565b9250828203905081811115613a9857613a9761380c565b5b92915050565b5f613aa8826130be565b9150613ab3836130be565b9250828201905080821115613acb57613aca61380c565b5b92915050565b5f604082019050613ae45f83018561323f565b613af16020830184613162565b9392505050565b5f60a082019050613b0b5f830188613217565b613b186020830187613217565b613b256040830186613217565b613b326060830185613162565b613b3f608083018461323f565b9695505050505050565b5f604082019050613b5c5f830185613162565b613b696020830184613162565b9392505050565b5f819050919050565b5f613b93613b8e613b8984613b70565b613a0b565b6131da565b9050919050565b613ba381613b79565b82525050565b5f604082019050613bbc5f830185613b9a565b613bc96020830184613162565b9392505050565b5f608082019050613be35f830187613217565b613bf060208301866131e6565b613bfd6040830185613217565b613c0a6060830184613217565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613c77826136cf565b9150613c82836136cf565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613cb457613cb361380c565b5b92915050565b5f819050919050565b5f613cdd613cd8613cd384613cba565b613a0b565b6131da565b9050919050565b613ced81613cc3565b82525050565b5f604082019050613d065f830185613ce4565b613d136020830184613162565b9392505050565b5f613d24826136cf565b9150613d2f836136cf565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613d6157613d6061380c565b5b9291505056fea2646970667358221220c94b2cec1eed0b504ef03aaa866e71b8c8992c0fe58635afee1225b248fd6c1364736f6c63430008140033","sourceMap":"327:1500:89:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4293:186;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3144:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5039:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1168:99:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3002:82:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2656:112:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3922:364:12;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;828:162:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;426:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3040:272:12;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;389:31:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5539:117:12;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5738:138;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1404:123:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3208:126:24;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3299:116:21;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1683:142:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5144:557:37;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;4922:341:12;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2789:96;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2276:93:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3402:135:12;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;996:166:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1273:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3610:178:21;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5954:554:12;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;636:186:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1680:672:23;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3846:140:21;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3411:163:24;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2074:89:21;2119:13;2151:5;2144:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89;:::o;4293:186::-;4366:4;4382:13;4398:12;:10;:12::i;:::-;4382:28;;4420:31;4429:5;4436:7;4445:5;4420:8;:31::i;:::-;4468:4;4461:11;;;4293:186;;;;:::o;3144:97::-;3196:7;3222:12;;3215:19;;3144:97;:::o;5039:244::-;5126:4;5142:15;5160:12;:10;:12::i;:::-;5142:30;;5182:37;5198:4;5204:7;5213:5;5182:15;:37::i;:::-;5229:26;5239:4;5245:2;5249:5;5229:9;:26::i;:::-;5272:4;5265:11;;;5039:244;;;;;:::o;1168:99:89:-;1215:7;1247:4;;;;;;;;;;;1241:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1234:26;;1168:99;:::o;3002:82:21:-;3051:5;3075:2;3068:9;;3002:82;:::o;2656:112:23:-;2715:7;2741:20;:18;:20::i;:::-;2734:27;;2656:112;:::o;3922:364:12:-;4009:7;4028:23;4054:7;:5;:7::i;:::-;4028:33;;4088:16;4075:29;;:9;:29;4071:115;;4147:9;4158:16;4127:48;;;;;;;;;;;;:::i;:::-;;;;;;;;4071:115;4202:77;4250:28;4268:9;4250:17;:28::i;:::-;4202:20;:29;4223:7;4202:29;;;;;;;;;;;;;;;:47;;:77;;;;:::i;:::-;4195:84;;;;;3922:364;;;;:::o;828:162:89:-;918:7;;;;;;;;;;;904:21;;:10;:21;;;900:54;;934:20;;;;;;;;;;;;;;900:54;964:19;970:3;975:7;964:5;:19::i;:::-;828:162;;:::o;426:28::-;;;;;;;;;;;;;:::o;3040:272:12:-;3091:13;3180:18;:16;:18::i;:::-;3169:29;;:7;:5;:7::i;:::-;:29;;;3165:93;;3221:26;;;;;;;;;;;;;;3165:93;3267:38;;;;;;;;;;;;;;;;;;;3040:272;:::o;389:31:89:-;;;;;;;;;;;;;:::o;5539:117:12:-;5604:7;5630:10;:19;5641:7;5630:19;;;;;;;;;;;;;;;;;;;;;;;;;5623:26;;5539:117;;;:::o;5738:138::-;5800:15;5818:12;:10;:12::i;:::-;5800:30;;5840:29;5850:7;5859:9;5840;:29::i;:::-;5790:86;5738:138;:::o;1404:123:89:-;1470:7;1513;:5;:7::i;:::-;1506:4;1496:7;:14;;;;:::i;:::-;:24;;;;:::i;:::-;1489:31;;1404:123;;;:::o;3208:126:24:-;3278:6;3303:24;3319:7;3303:15;:24::i;:::-;3296:31;;3208:126;;;:::o;3299:116:21:-;3364:7;3390:9;:18;3400:7;3390:18;;;;;;;;;;;;;;;;3383:25;;3299:116;;;:::o;1683:142:89:-;1773:7;1799:19;1812:5;1799:12;:19::i;:::-;1792:26;;1683:142;;;:::o;5144:557:37:-;5242:13;5269:18;5301:21;5336:15;5365:25;5404:12;5430:27;5533:13;:11;:13::i;:::-;5560:16;:14;:16::i;:::-;5590:13;5625:4;5652:1;5644:10;;5682:1;5668:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5482:212;;;;;;;;;;;;;;;;;;;;;5144:557;;;;;;;:::o;4922:341:12:-;4998:7;5017:23;5043:7;:5;:7::i;:::-;5017:33;;5077:16;5064:29;;:9;:29;5060:115;;5136:9;5147:16;5116:48;;;;;;;;;;;;:::i;:::-;;;;;;;;5060:115;5191:65;5227:28;5245:9;5227:17;:28::i;:::-;5191:17;:35;;:65;;;;:::i;:::-;5184:72;;;;;4922:341;;;:::o;2789:96::-;2835:6;2860:18;:16;:18::i;:::-;2853:25;;2789:96;:::o;2276:93:21:-;2323:13;2355:7;2348:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2276:93;:::o;3402:135:12:-;3466:7;3492:38;:20;:29;3513:7;3492:29;;;;;;;;;;;;;;;:36;:38::i;:::-;3485:45;;;;3402:135;;;:::o;996:166:89:-;1088:7;;;;;;;;;;;1074:21;;:10;:21;;;1070:54;;1104:20;;;;;;;;;;;;;;1070:54;1134:21;1140:5;1147:7;1134:5;:21::i;:::-;996:166;;:::o;1273:125::-;1341:7;1387:4;1377:7;:5;:7::i;:::-;1367;:17;;;;:::i;:::-;:24;;;;:::i;:::-;1360:31;;1273:125;;;:::o;3610:178:21:-;3679:4;3695:13;3711:12;:10;:12::i;:::-;3695:28;;3733:27;3743:5;3750:2;3754:5;3733:9;:27::i;:::-;3777:4;3770:11;;;3610:178;;;;:::o;5954:554:12:-;6159:6;6141:15;:24;6137:91;;;6210:6;6188:29;;;;;;;;;;;:::i;:::-;;;;;;;;6137:91;6237:14;6254:168;6281:86;2063:71;6340:9;6351:5;6358:6;6308:57;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6298:68;;;;;;6281:16;:86::i;:::-;6381:1;6396;6411;6254:13;:168::i;:::-;6237:185;;6432:31;6449:6;6457:5;6432:16;:31::i;:::-;6473:28;6483:6;6491:9;6473;:28::i;:::-;6127:381;5954:554;;;;;;:::o;636:186:89:-;711:12;;;;;;;;;;;697:26;;:10;:26;;;693:59;;732:20;;;;;;;;;;;;;;693:59;772:8;762:7;;:18;;;;;;;;;;;;;;;;;;813:1;790:12;;:25;;;;;;;;;;;;;;;;;;636:186;:::o;1680:672:23:-;1901:8;1883:15;:26;1879:97;;;1956:8;1932:33;;;;;;;;;;;:::i;:::-;;;;;;;;1879:97;1986:18;1022:95;2045:5;2052:7;2061:5;2068:16;2078:5;2068:9;:16::i;:::-;2086:8;2017:78;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2007:89;;;;;;1986:110;;2107:12;2122:28;2139:10;2122:16;:28::i;:::-;2107:43;;2161:14;2178:28;2192:4;2198:1;2201;2204;2178:13;:28::i;:::-;2161:45;;2230:5;2220:15;;:6;:15;;;2216:88;;2279:6;2287:5;2258:35;;;;;;;;;;;;:::i;:::-;;;;;;;;2216:88;2314:31;2323:5;2330:7;2339:5;2314:8;:31::i;:::-;1869:483;;;1680:672;;;;;;;:::o;3846:140:21:-;3926:7;3952:11;:18;3964:5;3952:18;;;;;;;;;;;;;;;:27;3971:7;3952:27;;;;;;;;;;;;;;;;3945:34;;3846:140;;;;:::o;3411:163:24:-;3490:32;;:::i;:::-;3541:26;3554:7;3563:3;3541:12;:26::i;:::-;3534:33;;3411:163;;;;:::o;656:96:31:-;709:7;735:10;728:17;;656:96;:::o;8989:128:21:-;9073:37;9082:5;9089:7;9098:5;9105:4;9073:8;:37::i;:::-;8989:128;;;:::o;10663:477::-;10762:24;10789:25;10799:5;10806:7;10789:9;:25::i;:::-;10762:52;;10848:17;10828:16;:37;10824:310;;10904:5;10885:16;:24;10881:130;;;10963:7;10972:16;10990:5;10936:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;10881:130;11052:57;11061:5;11068:7;11096:5;11077:16;:24;11103:5;11052:8;:57::i;:::-;10824:310;10752:388;10663:477;;;:::o;5656:300::-;5755:1;5739:18;;:4;:18;;;5735:86;;5807:1;5780:30;;;;;;;;;;;:::i;:::-;;;;;;;;5735:86;5848:1;5834:16;;:2;:16;;;5830:86;;5902:1;5873:32;;;;;;;;;;;:::i;:::-;;;;;;;;5830:86;5925:24;5933:4;5939:2;5943:5;5925:7;:24::i;:::-;5656:300;;;:::o;3845:262:37:-;3898:7;3938:11;3921:28;;3929:4;3921:28;;;:63;;;;;3970:14;3953:13;:31;3921:63;3917:184;;;4007:22;4000:29;;;;3917:184;4067:23;:21;:23::i;:::-;4060:30;;3845:262;;:::o;14291:213:43:-;14347:6;14377:16;14369:24;;:5;:24;14365:103;;;14447:2;14451:5;14416:41;;;;;;;;;;;;:::i;:::-;;;;;;;;14365:103;14491:5;14477:20;;14291:213;;;:::o;9441:606:45:-;9526:7;9545:11;9559:4;:17;;:24;;;;9545:38;;9594:11;9619:12;9634:3;9619:18;;9658:1;9652:3;:7;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:3;:20;;;;:::i;:::-;9675:34;;9733:37;9747:4;:17;;9766:3;9733:13;:37::i;:::-;:42;;;;;;;;;;;;9727:48;;:3;:48;;;9723:149;;;9802:3;9795:10;;9723:149;;;9856:1;9850:3;:7;;;;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;:17;;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;;9984:1;9977:3;:8;:63;;9992:41;10006:4;:17;;10031:1;10025:3;:7;;;;:::i;:::-;9992:13;:41::i;:::-;:48;;;;;;;;;;;;9977:63;;;9988:1;9977:63;9970:70;;;;;;9441:606;;;;:::o;7721:208:21:-;7810:1;7791:21;;:7;:21;;;7787:91;;7864:1;7835:32;;;;;;;;;;;:::i;:::-;;;;;;;;7787:91;7887:35;7903:1;7907:7;7916:5;7887:7;:35::i;:::-;7721:208;;:::o;931:109:47:-;977:6;1002:31;1020:12;1002:17;:31::i;:::-;995:38;;931:109;:::o;6686:312:12:-;6768:19;6790:18;6800:7;6790:9;:18::i;:::-;6768:40;;6840:9;6818:10;:19;6829:7;6818:19;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;6903:9;6865:48;;6890:11;6865:48;;6881:7;6865:48;;;;;;;;;;;;6923:68;6942:11;6955:9;6966:24;6982:7;6966:15;:24::i;:::-;6923:18;:68::i;:::-;6758:240;6686:312;;:::o;8572:162::-;8645:6;8670:57;8688:38;:20;:29;8709:7;8688:29;;;;;;;;;;;;;;;:36;:38::i;:::-;8670:17;:57::i;:::-;8663:64;;8572:162;;;:::o;2406:143:23:-;2497:7;2523:19;2536:5;2523:12;:19::i;:::-;2516:26;;2406:143;;;:::o;6021:126:37:-;6067:13;6099:41;6126:13;6099:5;:26;;:41;;;;:::i;:::-;6092:48;;6021:126;:::o;6473:135::-;6522:13;6554:47;6584:16;6554:8;:29;;:47;;;;:::i;:::-;6547:54;;6473:135;:::o;10167:206:45:-;10229:7;10248:11;10262:4;:17;;:24;;;;10248:38;;10310:1;10303:3;:8;:63;;10318:41;10332:4;:17;;10357:1;10351:3;:7;;;;:::i;:::-;10318:13;:41::i;:::-;:48;;;;;;;;;;;;10303:63;;;10314:1;10303:63;10296:70;;;10167:206;;;:::o;8247::21:-;8336:1;8317:21;;:7;:21;;;8313:89;;8388:1;8361:30;;;;;;;;;;;:::i;:::-;;;;;;;;8313:89;8411:35;8419:7;8436:1;8440:5;8411:7;:35::i;:::-;8247:206;;:::o;4917:176:37:-;4994:7;5020:66;5053:20;:18;:20::i;:::-;5075:10;5020:32;:66::i;:::-;5013:73;;4917:176;;;:::o;6803:260:36:-;6888:7;6908:17;6927:18;6947:16;6967:25;6978:4;6984:1;6987;6990;6967:10;:25::i;:::-;6907:85;;;;;;7002:28;7014:5;7021:8;7002:11;:28::i;:::-;7047:9;7040:16;;;;;6803:260;;;;;;:::o;1265:222:32:-;1348:15;1366:16;1376:5;1366:9;:16::i;:::-;1348:34;;1405:7;1396:5;:16;1392:89;;1455:5;1462:7;1435:35;;;;;;;;;;;;:::i;:::-;;;;;;;;1392:89;1338:149;1265:222;;:::o;759:395::-;819:7;1121;:14;1129:5;1121:14;;;;;;;;;;;;;;;;:16;;;;;;;;;;;;1114:23;;759:395;;;:::o;8811:199:12:-;8915:32;;:::i;:::-;8966:37;8999:3;8966:20;:29;8987:7;8966:29;;;;;;;;;;;;;;;:32;;:37;;;;:::i;:::-;8959:44;;8811:199;;;;:::o;9949:432:21:-;10078:1;10061:19;;:5;:19;;;10057:89;;10132:1;10103:32;;;;;;;;;;;:::i;:::-;;;;;;;;10057:89;10178:1;10159:21;;:7;:21;;;10155:90;;10231:1;10203:31;;;;;;;;;;;:::i;:::-;;;;;;;;10155:90;10284:5;10254:11;:18;10266:5;10254:18;;;;;;;;;;;;;;;:27;10273:7;10254:27;;;;;;;;;;;;;;;:35;;;;10303:9;10299:76;;;10349:7;10333:31;;10342:5;10333:31;;;10358:5;10333:31;;;;;;:::i;:::-;;;;;;;;10299:76;9949:432;;;;:::o;1533:144:89:-;1639:31;1653:4;1659:2;1663:6;1639:13;:31::i;:::-;1533:144;;;:::o;4113:179:37:-;4168:7;2079:95;4226:11;4239:14;4255:13;4278:4;4204:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4194:91;;;;;;4187:98;;4113:179;:::o;8587:1642:42:-;8635:7;8663:1;8658;:6;8654:45;;8687:1;8680:8;;;;8654:45;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;;10189:3;:23::i;:::-;10182:30;;;8587:1642;;;;:::o;14099:265:45:-;14209:28;14282:9;14279:1;14272:20;14344:3;14337:4;14334:1;14324:18;14320:28;14305:43;;14099:265;;;;:::o;12736:433::-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;12945:37;;13032:3;13000:35;;:24;13014:4;13020:3;13000:13;:24::i;:::-;:29;;;;;;;;;;;;:35;;;12996:136;;;13062:3;13055:10;;12996:136;;;13116:1;13110:3;:7;;;;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;13158:4;13151:11;;12736:433;;;;;;:::o;3000:133:24:-;3082:7;3108:18;3118:7;3108:9;:18::i;:::-;3101:25;;3000:133;;;:::o;7717:780:12:-;7817:2;7809:10;;:4;:10;;;;:24;;;;;7832:1;7823:6;:10;7809:24;7805:686;;;7869:1;7853:18;;:4;:18;;;7849:315;;7892:16;7910;7930:150;7957:20;:26;7978:4;7957:26;;;;;;;;;;;;;;;8005:9;8036:26;8055:6;8036:18;:26::i;:::-;7930:5;:150::i;:::-;7891:189;;;;;;;;8124:4;8103:46;;;8130:8;8140;8103:46;;;;;;;:::i;:::-;;;;;;;;7873:291;;7849:315;8195:1;8181:16;;:2;:16;;;8177:304;;8218:16;8236;8256:143;8283:20;:24;8304:2;8283:24;;;;;;;;;;;;;;;8329:4;8355:26;8374:6;8355:18;:26::i;:::-;8256:5;:143::i;:::-;8217:182;;;;;;;;8443:2;8422:44;;;8447:8;8457;8422:44;;;;;;;:::i;:::-;;;;;;;;8199:282;;8177:304;7805:686;7717:780;;;:::o;11008:119:45:-;11070:7;11096:4;:17;;:24;;;;11089:31;;11008:119;;;:::o;15291:213:43:-;15347:6;15377:16;15369:24;;:5;:24;15365:103;;;15447:2;15451:5;15416:41;;;;;;;;;;;;:::i;:::-;;;;;;;;15365:103;15491:5;15477:20;;15291:213;;;:::o;538:107:32:-;598:7;624;:14;632:5;624:14;;;;;;;;;;;;;;;;617:21;;538:107;;;:::o;3385:267:33:-;3479:13;1390:66;3537:17;;3527:5;3508:46;3504:142;;3577:15;3586:5;3577:8;:15::i;:::-;3570:22;;;;3504:142;3630:5;3623:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3385:267;;;;;:::o;3353:401:38:-;3446:14;3555:4;3549:11;3585:10;3580:3;3573:23;3632:15;3625:4;3620:3;3616:14;3609:39;3684:10;3677:4;3672:3;3668:14;3661:34;3733:4;3728:3;3718:20;3708:30;;3524:224;3353:401;;;;:::o;5140:1530:36:-;5266:7;5275:12;5289:7;6199:66;6194:1;6186:10;;:79;6182:164;;;6297:1;6301:30;6333:1;6281:54;;;;;;;;6182:164;6440:14;6457:24;6467:4;6473:1;6476;6479;6457:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6440:41;;6513:1;6495:20;;:6;:20;;;6491:113;;6547:1;6551:29;6590:1;6582:10;;6531:62;;;;;;;;;6491:113;6622:6;6630:20;6660:1;6652:10;;6614:49;;;;;;;5140:1530;;;;;;;;;:::o;7196:532::-;7291:20;7282:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;7278:444;7327:7;7278:444;7387:29;7378:38;;;;;;;;:::i;:::-;;:5;:38;;;;;;;;:::i;:::-;;;7374:348;;7439:23;;;;;;;;;;;;;;7374:348;7492:35;7483:44;;;;;;;;:::i;:::-;;:5;:44;;;;;;;;:::i;:::-;;;7479:243;;7586:8;7578:17;;7550:46;;;;;;;;;;;:::i;:::-;;;;;;;;7479:243;7626:30;7617:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;7613:109;;7702:8;7679:32;;;;;;;;;;;:::i;:::-;;;;;;;;7613:109;7196:532;;;:::o;11199:138:45:-;11269:20;;:::i;:::-;11308:4;:17;;11326:3;11308:22;;;;;;;;;;:::i;:::-;;;;;;;;;11301:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11199:138;;;;:::o;2327:413:24:-;2421:30;2435:4;2441:2;2445:5;2421:13;:30::i;:::-;2481:1;2465:18;;:4;:18;;;2461:226;;2499:14;2516:13;:11;:13::i;:::-;2499:30;;2543:11;2557:12;:10;:12::i;:::-;2543:26;;2596:3;2587:6;:12;2583:94;;;2650:6;2658:3;2626:36;;;;;;;;;;;;:::i;:::-;;;;;;;;2583:94;2485:202;;2461:226;2696:37;2717:4;2723:2;2727:5;2696:20;:37::i;:::-;2327:413;;;:::o;10699:983:42:-;10751:7;10770:14;10787:1;10770:18;;10841:1;10835:3;10826:5;:12;;:16;10822:99;;;10872:3;10862:13;;;;;10903:3;10893:13;;;;10822:99;10952:1;10947:2;10938:5;:11;;:15;10934:96;;;10983:2;10973:12;;;;;11013:2;11003:12;;;;10934:96;11061:1;11056:2;11047:5;:11;;:15;11043:96;;;11092:2;11082:12;;;;;11122:2;11112:12;;;;11043:96;11170:1;11165:2;11156:5;:11;;:15;11152:96;;;11201:2;11191:12;;;;;11231:2;11221:12;;;;11152:96;11278:1;11274;11265:5;:10;;:14;11261:93;;;11309:1;11299:11;;;;;11338:1;11328:11;;;;11261:93;11384:1;11380;11371:5;:10;;:14;11367:93;;;11415:1;11405:11;;;;;11444:1;11434:11;;;;11367:93;11490:1;11486;11477:5;:10;;:14;11473:93;;;11521:1;11511:11;;;;;11550:1;11540:11;;;;11473:93;11596:1;11592;11583:5;:10;;:14;11579:64;;;11627:1;11617:11;;;;11579:64;11669:6;11662:13;;;10699:983;;;:::o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;2649:1;2641:13;2634:20;;2557:104;;;;:::o;2774:153::-;2836:7;2919:1;2914;2910;:5;2909:11;;;;:::i;:::-;2904:1;2900;:5;2899:21;;;;:::i;:::-;2892:28;;2774:153;;;;:::o;9379:101:12:-;9442:7;9472:1;9468;:5;;;;:::i;:::-;9461:12;;9379:101;;;;:::o;4169:218:43:-;4226:7;4257:17;4249:25;;:5;:25;4245:105;;;4328:3;4333:5;4297:42;;;;;;;;;;;;:::i;:::-;;;;;;;;4245:105;4374:5;4359:21;;4169:218;;;:::o;9016:255:12:-;9183:7;9192;9218:46;9229:7;:5;:7::i;:::-;9238:25;9241:14;:5;:12;:14::i;:::-;9257:5;9238:2;:25;;:::i;:::-;9218:5;:10;;:46;;;;;:::i;:::-;9211:53;;;;9016:255;;;;;;:::o;9277:96::-;9335:7;9365:1;9361;:5;;;;:::i;:::-;9354:12;;9277:96;;;;:::o;2078:405:33:-;2137:13;2162:11;2176:16;2187:4;2176:10;:16::i;:::-;2162:30;;2280:17;2311:2;2300:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2280:34;;2402:3;2397;2390:16;2442:4;2435;2430:3;2426:14;2419:28;2473:3;2466:10;;;;2078:405;;;:::o;6271:1107:21:-;6376:1;6360:18;;:4;:18;;;6356:540;;6512:5;6496:12;;:21;;;;;;;:::i;:::-;;;;;;;;6356:540;;;6548:19;6570:9;:15;6580:4;6570:15;;;;;;;;;;;;;;;;6548:37;;6617:5;6603:11;:19;6599:115;;;6674:4;6680:11;6693:5;6649:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;6599:115;6866:5;6852:11;:19;6834:9;:15;6844:4;6834:15;;;;;;;;;;;;;;;:37;;;;6534:362;6356:540;6924:1;6910:16;;:2;:16;;;6906:425;;7089:5;7073:12;;:21;;;;;;;;;;;6906:425;;;7301:5;7284:9;:13;7294:2;7284:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;6906:425;7361:2;7346:25;;7355:4;7346:25;;;7365:5;7346:25;;;;;;:::i;:::-;;;;;;;;6271:1107;;;:::o;2084:103:24:-;2137:7;2163:17;2156:24;;;;2084:103;:::o;7232:399:12:-;7351:1;7335:18;;:4;:18;;;7331:107;;7369:58;7375:17;7394:4;7400:26;7419:6;7400:18;:26::i;:::-;7369:5;:58::i;:::-;;;7331:107;7465:1;7451:16;;:2;:16;;;7447:110;;7483:63;7489:17;7508:9;7519:26;7538:6;7519:18;:26::i;:::-;7483:5;:63::i;:::-;;;7447:110;7566:58;7585:15;7595:4;7585:9;:15::i;:::-;7602:13;7612:2;7602:9;:13::i;:::-;7617:6;7566:18;:58::i;:::-;7232:399;;;:::o;8050:162:45:-;8132:7;8141;8167:38;8175:4;:17;;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;:::o;2555:245:33:-;2616:7;2635:14;2688:4;2679;2652:33;;:40;2635:57;;2715:2;2706:6;:11;2702:69;;;2740:20;;;;;;;;;;;;;;2702:69;2787:6;2780:13;;;2555:245;;;:::o;11513:870:45:-;11604:7;11613;11632:11;11646:4;:11;;;;11632:25;;11678:1;11672:3;:7;11668:709;;;11747:25;11775:28;11789:4;11801:1;11795:3;:7;;;;:::i;:::-;11775:13;:28::i;:::-;11747:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11889:3;11877:15;;:4;:9;;;:15;;;11873:91;;;11919:30;;;;;;;;;;;;;;11873:91;12040:3;12027:16;;:4;:9;;;:16;;;12023:189;;12101:5;12063:28;12077:4;12089:1;12083:3;:7;;;;:::i;:::-;12063:13;:28::i;:::-;:35;;;:43;;;;;;;;;;;;;;;;;;12023:189;;;12145:4;12155:41;;;;;;;;12176:3;12155:41;;;;;;12189:5;12155:41;;;;;12145:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:189;12233:4;:11;;;12246:5;12225:27;;;;;;;;11668:709;12283:4;12293:41;;;;;;;;12314:3;12293:41;;;;;;12327:5;12293:41;;;;;12283:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12357:1;12360:5;12349:17;;;;;11513:870;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;:::o;7:99:133:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:77::-;4890:7;4919:5;4908:16;;4853:77;;;:::o;4936:118::-;5023:24;5041:5;5023:24;:::i;:::-;5018:3;5011:37;4936:118;;:::o;5060:222::-;5153:4;5191:2;5180:9;5176:18;5168:26;;5204:71;5272:1;5261:9;5257:17;5248:6;5204:71;:::i;:::-;5060:222;;;;:::o;5288:118::-;5375:24;5393:5;5375:24;:::i;:::-;5370:3;5363:37;5288:118;;:::o;5412:222::-;5505:4;5543:2;5532:9;5528:18;5520:26;;5556:71;5624:1;5613:9;5609:17;5600:6;5556:71;:::i;:::-;5412:222;;;;:::o;5640:329::-;5699:6;5748:2;5736:9;5727:7;5723:23;5719:32;5716:119;;;5754:79;;:::i;:::-;5716:119;5874:1;5899:53;5944:7;5935:6;5924:9;5920:22;5899:53;:::i;:::-;5889:63;;5845:117;5640:329;;;;:::o;5975:::-;6034:6;6083:2;6071:9;6062:7;6058:23;6054:32;6051:119;;;6089:79;;:::i;:::-;6051:119;6209:1;6234:53;6279:7;6270:6;6259:9;6255:22;6234:53;:::i;:::-;6224:63;;6180:117;5975:329;;;;:::o;6310:93::-;6346:7;6386:10;6379:5;6375:22;6364:33;;6310:93;;;:::o;6409:115::-;6494:23;6511:5;6494:23;:::i;:::-;6489:3;6482:36;6409:115;;:::o;6530:218::-;6621:4;6659:2;6648:9;6644:18;6636:26;;6672:69;6738:1;6727:9;6723:17;6714:6;6672:69;:::i;:::-;6530:218;;;;:::o;6754:149::-;6790:7;6830:66;6823:5;6819:78;6808:89;;6754:149;;;:::o;6909:115::-;6994:23;7011:5;6994:23;:::i;:::-;6989:3;6982:36;6909:115;;:::o;7030:114::-;7097:6;7131:5;7125:12;7115:22;;7030:114;;;:::o;7150:184::-;7249:11;7283:6;7278:3;7271:19;7323:4;7318:3;7314:14;7299:29;;7150:184;;;;:::o;7340:132::-;7407:4;7430:3;7422:11;;7460:4;7455:3;7451:14;7443:22;;7340:132;;;:::o;7478:108::-;7555:24;7573:5;7555:24;:::i;:::-;7550:3;7543:37;7478:108;;:::o;7592:179::-;7661:10;7682:46;7724:3;7716:6;7682:46;:::i;:::-;7760:4;7755:3;7751:14;7737:28;;7592:179;;;;:::o;7777:113::-;7847:4;7879;7874:3;7870:14;7862:22;;7777:113;;;:::o;7926:732::-;8045:3;8074:54;8122:5;8074:54;:::i;:::-;8144:86;8223:6;8218:3;8144:86;:::i;:::-;8137:93;;8254:56;8304:5;8254:56;:::i;:::-;8333:7;8364:1;8349:284;8374:6;8371:1;8368:13;8349:284;;;8450:6;8444:13;8477:63;8536:3;8521:13;8477:63;:::i;:::-;8470:70;;8563:60;8616:6;8563:60;:::i;:::-;8553:70;;8409:224;8396:1;8393;8389:9;8384:14;;8349:284;;;8353:14;8649:3;8642:10;;8050:608;;;7926:732;;;;:::o;8664:1215::-;9013:4;9051:3;9040:9;9036:19;9028:27;;9065:69;9131:1;9120:9;9116:17;9107:6;9065:69;:::i;:::-;9181:9;9175:4;9171:20;9166:2;9155:9;9151:18;9144:48;9209:78;9282:4;9273:6;9209:78;:::i;:::-;9201:86;;9334:9;9328:4;9324:20;9319:2;9308:9;9304:18;9297:48;9362:78;9435:4;9426:6;9362:78;:::i;:::-;9354:86;;9450:72;9518:2;9507:9;9503:18;9494:6;9450:72;:::i;:::-;9532:73;9600:3;9589:9;9585:19;9576:6;9532:73;:::i;:::-;9615;9683:3;9672:9;9668:19;9659:6;9615:73;:::i;:::-;9736:9;9730:4;9726:20;9720:3;9709:9;9705:19;9698:49;9764:108;9867:4;9858:6;9764:108;:::i;:::-;9756:116;;8664:1215;;;;;;;;;;:::o;9885:97::-;9921:7;9961:14;9954:5;9950:26;9939:37;;9885:97;;;:::o;9988:115::-;10073:23;10090:5;10073:23;:::i;:::-;10068:3;10061:36;9988:115;;:::o;10109:218::-;10200:4;10238:2;10227:9;10223:18;10215:26;;10251:69;10317:1;10306:9;10302:17;10293:6;10251:69;:::i;:::-;10109:218;;;;:::o;10333:118::-;10404:22;10420:5;10404:22;:::i;:::-;10397:5;10394:33;10384:61;;10441:1;10438;10431:12;10384:61;10333:118;:::o;10457:135::-;10501:5;10539:6;10526:20;10517:29;;10555:31;10580:5;10555:31;:::i;:::-;10457:135;;;;:::o;10598:122::-;10671:24;10689:5;10671:24;:::i;:::-;10664:5;10661:35;10651:63;;10710:1;10707;10700:12;10651:63;10598:122;:::o;10726:139::-;10772:5;10810:6;10797:20;10788:29;;10826:33;10853:5;10826:33;:::i;:::-;10726:139;;;;:::o;10871:1053::-;10973:6;10981;10989;10997;11005;11013;11062:3;11050:9;11041:7;11037:23;11033:33;11030:120;;;11069:79;;:::i;:::-;11030:120;11189:1;11214:53;11259:7;11250:6;11239:9;11235:22;11214:53;:::i;:::-;11204:63;;11160:117;11316:2;11342:53;11387:7;11378:6;11367:9;11363:22;11342:53;:::i;:::-;11332:63;;11287:118;11444:2;11470:53;11515:7;11506:6;11495:9;11491:22;11470:53;:::i;:::-;11460:63;;11415:118;11572:2;11598:51;11641:7;11632:6;11621:9;11617:22;11598:51;:::i;:::-;11588:61;;11543:116;11698:3;11725:53;11770:7;11761:6;11750:9;11746:22;11725:53;:::i;:::-;11715:63;;11669:119;11827:3;11854:53;11899:7;11890:6;11879:9;11875:22;11854:53;:::i;:::-;11844:63;;11798:119;10871:1053;;;;;;;;:::o;11930:1199::-;12041:6;12049;12057;12065;12073;12081;12089;12138:3;12126:9;12117:7;12113:23;12109:33;12106:120;;;12145:79;;:::i;:::-;12106:120;12265:1;12290:53;12335:7;12326:6;12315:9;12311:22;12290:53;:::i;:::-;12280:63;;12236:117;12392:2;12418:53;12463:7;12454:6;12443:9;12439:22;12418:53;:::i;:::-;12408:63;;12363:118;12520:2;12546:53;12591:7;12582:6;12571:9;12567:22;12546:53;:::i;:::-;12536:63;;12491:118;12648:2;12674:53;12719:7;12710:6;12699:9;12695:22;12674:53;:::i;:::-;12664:63;;12619:118;12776:3;12803:51;12846:7;12837:6;12826:9;12822:22;12803:51;:::i;:::-;12793:61;;12747:117;12903:3;12930:53;12975:7;12966:6;12955:9;12951:22;12930:53;:::i;:::-;12920:63;;12874:119;13032:3;13059:53;13104:7;13095:6;13084:9;13080:22;13059:53;:::i;:::-;13049:63;;13003:119;11930:1199;;;;;;;;;;:::o;13135:474::-;13203:6;13211;13260:2;13248:9;13239:7;13235:23;13231:32;13228:119;;;13266:79;;:::i;:::-;13228:119;13386:1;13411:53;13456:7;13447:6;13436:9;13432:22;13411:53;:::i;:::-;13401:63;;13357:117;13513:2;13539:53;13584:7;13575:6;13564:9;13560:22;13539:53;:::i;:::-;13529:63;;13484:118;13135:474;;;;;:::o;13615:120::-;13687:23;13704:5;13687:23;:::i;:::-;13680:5;13677:34;13667:62;;13725:1;13722;13715:12;13667:62;13615:120;:::o;13741:137::-;13786:5;13824:6;13811:20;13802:29;;13840:32;13866:5;13840:32;:::i;:::-;13741:137;;;;:::o;13884:472::-;13951:6;13959;14008:2;13996:9;13987:7;13983:23;13979:32;13976:119;;;14014:79;;:::i;:::-;13976:119;14134:1;14159:53;14204:7;14195:6;14184:9;14180:22;14159:53;:::i;:::-;14149:63;;14105:117;14261:2;14287:52;14331:7;14322:6;14311:9;14307:22;14287:52;:::i;:::-;14277:62;;14232:117;13884:472;;;;;:::o;14362:105::-;14437:23;14454:5;14437:23;:::i;:::-;14432:3;14425:36;14362:105;;:::o;14473:138::-;14510:7;14550:54;14543:5;14539:66;14528:77;;14473:138;;;:::o;14617:108::-;14694:24;14712:5;14694:24;:::i;:::-;14689:3;14682:37;14617:108;;:::o;14807:521::-;14968:4;14963:3;14959:14;15055:4;15048:5;15044:16;15038:23;15074:61;15129:4;15124:3;15120:14;15106:12;15074:61;:::i;:::-;14983:162;15229:4;15222:5;15218:16;15212:23;15248:63;15305:4;15300:3;15296:14;15282:12;15248:63;:::i;:::-;15155:166;14937:391;14807:521;;:::o;15334:350::-;15491:4;15529:2;15518:9;15514:18;15506:26;;15542:135;15674:1;15663:9;15659:17;15650:6;15542:135;:::i;:::-;15334:350;;;;:::o;15690:180::-;15738:77;15735:1;15728:88;15835:4;15832:1;15825:15;15859:4;15856:1;15849:15;15876:320;15920:6;15957:1;15951:4;15947:12;15937:22;;16004:1;15998:4;15994:12;16025:18;16015:81;;16081:4;16073:6;16069:17;16059:27;;16015:81;16143:2;16135:6;16132:14;16112:18;16109:38;16106:84;;16162:18;;:::i;:::-;16106:84;15927:269;15876:320;;;:::o;16202:143::-;16259:5;16290:6;16284:13;16275:22;;16306:33;16333:5;16306:33;:::i;:::-;16202:143;;;;:::o;16351:351::-;16421:6;16470:2;16458:9;16449:7;16445:23;16441:32;16438:119;;;16476:79;;:::i;:::-;16438:119;16596:1;16621:64;16677:7;16668:6;16657:9;16653:22;16621:64;:::i;:::-;16611:74;;16567:128;16351:351;;;;:::o;16708:328::-;16827:4;16865:2;16854:9;16850:18;16842:26;;16878:71;16946:1;16935:9;16931:17;16922:6;16878:71;:::i;:::-;16959:70;17025:2;17014:9;17010:18;17001:6;16959:70;:::i;:::-;16708:328;;;;;:::o;17042:180::-;17090:77;17087:1;17080:88;17187:4;17184:1;17177:15;17211:4;17208:1;17201:15;17228:410;17268:7;17291:20;17309:1;17291:20;:::i;:::-;17286:25;;17325:20;17343:1;17325:20;:::i;:::-;17320:25;;17380:1;17377;17373:9;17402:30;17420:11;17402:30;:::i;:::-;17391:41;;17581:1;17572:7;17568:15;17565:1;17562:22;17542:1;17535:9;17515:83;17492:139;;17611:18;;:::i;:::-;17492:139;17276:362;17228:410;;;;:::o;17644:180::-;17692:77;17689:1;17682:88;17789:4;17786:1;17779:15;17813:4;17810:1;17803:15;17830:185;17870:1;17887:20;17905:1;17887:20;:::i;:::-;17882:25;;17921:20;17939:1;17921:20;:::i;:::-;17916:25;;17960:1;17950:35;;17965:18;;:::i;:::-;17950:35;18007:1;18004;18000:9;17995:14;;17830:185;;;;:::o;18021:180::-;18069:77;18066:1;18059:88;18166:4;18163:1;18156:15;18190:4;18187:1;18180:15;18207:553;18384:4;18422:3;18411:9;18407:19;18399:27;;18436:71;18504:1;18493:9;18489:17;18480:6;18436:71;:::i;:::-;18517:72;18585:2;18574:9;18570:18;18561:6;18517:72;:::i;:::-;18599;18667:2;18656:9;18652:18;18643:6;18599:72;:::i;:::-;18681;18749:2;18738:9;18734:18;18725:6;18681:72;:::i;:::-;18207:553;;;;;;;:::o;18766:775::-;18999:4;19037:3;19026:9;19022:19;19014:27;;19051:71;19119:1;19108:9;19104:17;19095:6;19051:71;:::i;:::-;19132:72;19200:2;19189:9;19185:18;19176:6;19132:72;:::i;:::-;19214;19282:2;19271:9;19267:18;19258:6;19214:72;:::i;:::-;19296;19364:2;19353:9;19349:18;19340:6;19296:72;:::i;:::-;19378:73;19446:3;19435:9;19431:19;19422:6;19378:73;:::i;:::-;19461;19529:3;19518:9;19514:19;19505:6;19461:73;:::i;:::-;18766:775;;;;;;;;;:::o;19547:332::-;19668:4;19706:2;19695:9;19691:18;19683:26;;19719:71;19787:1;19776:9;19772:17;19763:6;19719:71;:::i;:::-;19800:72;19868:2;19857:9;19853:18;19844:6;19800:72;:::i;:::-;19547:332;;;;;:::o;19885:442::-;20034:4;20072:2;20061:9;20057:18;20049:26;;20085:71;20153:1;20142:9;20138:17;20129:6;20085:71;:::i;:::-;20166:72;20234:2;20223:9;20219:18;20210:6;20166:72;:::i;:::-;20248;20316:2;20305:9;20301:18;20292:6;20248:72;:::i;:::-;19885:442;;;;;;:::o;20333:86::-;20379:7;20408:5;20397:16;;20333:86;;;:::o;20425:60::-;20453:3;20474:5;20467:12;;20425:60;;;:::o;20491:156::-;20548:9;20581:60;20597:43;20606:33;20633:5;20606:33;:::i;:::-;20597:43;:::i;:::-;20581:60;:::i;:::-;20568:73;;20491:156;;;:::o;20653:145::-;20747:44;20785:5;20747:44;:::i;:::-;20742:3;20735:57;20653:145;;:::o;20804:346::-;20932:4;20970:2;20959:9;20955:18;20947:26;;20983:78;21058:1;21047:9;21043:17;21034:6;20983:78;:::i;:::-;21071:72;21139:2;21128:9;21124:18;21115:6;21071:72;:::i;:::-;20804:346;;;;;:::o;21156:194::-;21196:4;21216:20;21234:1;21216:20;:::i;:::-;21211:25;;21250:20;21268:1;21250:20;:::i;:::-;21245:25;;21294:1;21291;21287:9;21279:17;;21318:1;21312:4;21309:11;21306:37;;;21323:18;;:::i;:::-;21306:37;21156:194;;;;:::o;21356:191::-;21396:3;21415:20;21433:1;21415:20;:::i;:::-;21410:25;;21449:20;21467:1;21449:20;:::i;:::-;21444:25;;21492:1;21489;21485:9;21478:16;;21513:3;21510:1;21507:10;21504:36;;;21520:18;;:::i;:::-;21504:36;21356:191;;;;:::o;21553:332::-;21674:4;21712:2;21701:9;21697:18;21689:26;;21725:71;21793:1;21782:9;21778:17;21769:6;21725:71;:::i;:::-;21806:72;21874:2;21863:9;21859:18;21850:6;21806:72;:::i;:::-;21553:332;;;;;:::o;21891:664::-;22096:4;22134:3;22123:9;22119:19;22111:27;;22148:71;22216:1;22205:9;22201:17;22192:6;22148:71;:::i;:::-;22229:72;22297:2;22286:9;22282:18;22273:6;22229:72;:::i;:::-;22311;22379:2;22368:9;22364:18;22355:6;22311:72;:::i;:::-;22393;22461:2;22450:9;22446:18;22437:6;22393:72;:::i;:::-;22475:73;22543:3;22532:9;22528:19;22519:6;22475:73;:::i;:::-;21891:664;;;;;;;;:::o;22561:332::-;22682:4;22720:2;22709:9;22705:18;22697:26;;22733:71;22801:1;22790:9;22786:17;22777:6;22733:71;:::i;:::-;22814:72;22882:2;22871:9;22867:18;22858:6;22814:72;:::i;:::-;22561:332;;;;;:::o;22899:86::-;22945:7;22974:5;22963:16;;22899:86;;;:::o;22991:156::-;23048:9;23081:60;23097:43;23106:33;23133:5;23106:33;:::i;:::-;23097:43;:::i;:::-;23081:60;:::i;:::-;23068:73;;22991:156;;;:::o;23153:145::-;23247:44;23285:5;23247:44;:::i;:::-;23242:3;23235:57;23153:145;;:::o;23304:346::-;23432:4;23470:2;23459:9;23455:18;23447:26;;23483:78;23558:1;23547:9;23543:17;23534:6;23483:78;:::i;:::-;23571:72;23639:2;23628:9;23624:18;23615:6;23571:72;:::i;:::-;23304:346;;;;;:::o;23656:545::-;23829:4;23867:3;23856:9;23852:19;23844:27;;23881:71;23949:1;23938:9;23934:17;23925:6;23881:71;:::i;:::-;23962:68;24026:2;24015:9;24011:18;24002:6;23962:68;:::i;:::-;24040:72;24108:2;24097:9;24093:18;24084:6;24040:72;:::i;:::-;24122;24190:2;24179:9;24175:18;24166:6;24122:72;:::i;:::-;23656:545;;;;;;;:::o;24207:180::-;24255:77;24252:1;24245:88;24352:4;24349:1;24342:15;24376:4;24373:1;24366:15;24393:180;24441:77;24438:1;24431:88;24538:4;24535:1;24528:15;24562:4;24559:1;24552:15;24579:247;24619:4;24639:20;24657:1;24639:20;:::i;:::-;24634:25;;24673:20;24691:1;24673:20;:::i;:::-;24668:25;;24717:1;24714;24710:9;24702:17;;24741:54;24735:4;24732:64;24729:90;;;24799:18;;:::i;:::-;24729:90;24579:247;;;;:::o;24832:87::-;24879:7;24908:5;24897:16;;24832:87;;;:::o;24925:158::-;24983:9;25016:61;25032:44;25041:34;25069:5;25041:34;:::i;:::-;25032:44;:::i;:::-;25016:61;:::i;:::-;25003:74;;24925:158;;;:::o;25089:147::-;25184:45;25223:5;25184:45;:::i;:::-;25179:3;25172:58;25089:147;;:::o;25242:348::-;25371:4;25409:2;25398:9;25394:18;25386:26;;25422:79;25498:1;25487:9;25483:17;25474:6;25422:79;:::i;:::-;25511:72;25579:2;25568:9;25564:18;25555:6;25511:72;:::i;:::-;25242:348;;;;;:::o;25596:244::-;25636:3;25655:20;25673:1;25655:20;:::i;:::-;25650:25;;25689:20;25707:1;25689:20;:::i;:::-;25684:25;;25732:1;25729;25725:9;25718:16;;25755:54;25750:3;25747:63;25744:89;;;25813:18;;:::i;:::-;25744:89;25596:244;;;;:::o","linkReferences":{},"immutableReferences":{"8316":[{"start":5219,"length":32}],"8318":[{"start":5178,"length":32}],"8320":[{"start":5092,"length":32}],"8322":[{"start":7307,"length":32}],"8324":[{"start":7340,"length":32}],"8327":[{"start":6122,"length":32}],"8330":[{"start":6181,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceFrom(uint256)":"a8248768","balanceOf(address)":"70a08231","balanceTo(uint256)":"66a5236c","burn(address,uint256)":"9dc29fac","checkpoints(address,uint32)":"f1127ed8","clock()":"91ddadf4","decimals()":"313ce567","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","index()":"2986c0e5","initialize(address)":"c4d66de8","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","numCheckpoints(address)":"6fcfff45","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","staking()":"4cf088d9","stnk()":"45c57eb5","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stnk\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"increasedSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cap\",\"type\":\"uint256\"}],\"name\":\"ERC20ExceededSafeSupply\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotStakingContract\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"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\":\"value\",\"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\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"balanceFrom\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"balanceTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint48\",\"name\":\"_key\",\"type\":\"uint48\"},{\"internalType\":\"uint208\",\"name\":\"_value\",\"type\":\"uint208\"}],\"internalType\":\"struct Checkpoints.Checkpoint208\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"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\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"index\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staking\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"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\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"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\":\"staking\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stnk\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20ExceededSafeSupply(uint256,uint256)\":[{\"details\":\"Total supply cap has been exceeded, introducing a risk of votes overflowing.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"ERC5805FutureLookup(uint256,uint48)\":[{\"details\":\"Lookup to future votes is not available.\"}],\"ERC6372InconsistentClock()\":[{\"details\":\"The clock was incorrectly modified.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"checkpoints(address,uint32)\":{\"details\":\"Get the `pos`-th checkpoint for `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"numCheckpoints(address)\":{\"details\":\"Get number of checkpoints for `account`.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GhstERC20.sol\":\"Ghost\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/\",\":@uniswap-v2-core/=dependencies/@uniswap-v2-core-1.0.1/contracts/\",\":forge-std-1.9.2/=dependencies/forge-std-1.9.2/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"dependencies/@openzeppelin-contracts-5.0.2/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"dependencies/@openzeppelin-contracts-5.0.2/governance/utils/Votes.sol\":{\"keccak256\":\"0xb8f69828d41b3594afd7a8c6393565901c205d8b5baf5bd2e42dbac637172979\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c790253821191ac46b2050d87df820d4209871f90c616381e2c2c00ff3eaac34\",\"dweb:/ipfs/QmcPETTyuZBzDRL39JNXj3SBMdx3Y9o4fPQLSZ27py5Jim\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229\",\"dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xc858a86a35701004d89022a5e98819aac46ccbdc4072fc9dd43928a676b1a2ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18acebb483c512c0eaafcb437f09c839972c3f0d36f0201ea7baa2926b987dd2\",\"dweb:/ipfs/Qmd9bf2noaDSYDtf6FMSzKu7LPhuf91jsVNmcoCuTCuGic\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x2a650f6e593cfe5ff2e514a17ea7f593ee70cefa1888066bc983a6308acff4b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a3477b9665a4b6d19f86bf2cfbfa8c08ba41193f15e68c0d75c0cab7e1fc753\",\"dweb:/ipfs/QmbcurrTatN1PBmkCWdrED8zhAqx5ah9Qp6uR8YwkKWA8V\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d\",\"dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/ShortStrings.sol\":{\"keccak256\":\"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c\",\"dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c\",\"dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21\",\"dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c\",\"dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"src/GhstERC20.sol\":{\"keccak256\":\"0xa6615d2f72502f5867d217a3de60f5e13adcc3496e26b837b74deab5271b3535\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acb8ddb8a495f8da8a10e0b68aa18333dff21fd68a9a7ecc9b21f10a55e4924c\",\"dweb:/ipfs/QmNkCiK2Yat1TVzm9b3vzQNB46cnYi8JyH5cAyp2jRQpP5\"]},\"src/interfaces/IGHST.sol\":{\"keccak256\":\"0x16dd16dafd13762f657557c397286f4476e7c9aa585c057384033798a0fe6c89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c2d865219cc11681e2d104bad179bd4bf532ef901d4d18fe2a4fef80867f35c\",\"dweb:/ipfs/QmZPqppiqQGMXP54w8idGBsGbW499z9ADiZnC1Hqv5qjUG\"]},\"src/interfaces/ISTNK.sol\":{\"keccak256\":\"0x24cba3aea4b94fc3129028f9c384ba31310bd97af3cb546f11cdb45e05285cdf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab2faef605bba05e8712228b59ea29724dd5dfcf3e7adb16af6fa8c6ae4d5e3b\",\"dweb:/ipfs/QmVnYMaqMkdwcsdBmP5GvtnybrGcCkw9ofMztB95WqRMhZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stnk","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ECDSAInvalidSignature"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"ECDSAInvalidSignatureLength"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"type":"error","name":"ECDSAInvalidSignatureS"},{"inputs":[{"internalType":"uint256","name":"increasedSupply","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"type":"error","name":"ERC20ExceededSafeSupply"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"type":"error","name":"ERC2612ExpiredSignature"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC2612InvalidSigner"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"type":"error","name":"ERC5805FutureLookup"},{"inputs":[],"type":"error","name":"ERC6372InconsistentClock"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"type":"error","name":"InvalidAccountNonce"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[],"type":"error","name":"NotStakingContract"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"type":"error","name":"VotesExpiredSignature"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousVotes","type":"uint256","indexed":false},{"internalType":"uint256","name":"newVotes","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceFrom","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"stateMutability":"view","type":"function","name":"checkpoints","outputs":[{"internalType":"struct Checkpoints.Checkpoint208","name":"","type":"tuple","components":[{"internalType":"uint48","name":"_key","type":"uint48"},{"internalType":"uint208","name":"_value","type":"uint208"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"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"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"index","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_staking","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"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"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"staking","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stnk","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Machine-readable description of the clock as specified in EIP-6372."},"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"checkpoints(address,uint32)":{"details":"Get the `pos`-th checkpoint for `account`."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {IERC-5267}."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"name()":{"details":"Returns the name of the token."},"numCheckpoints(address)":{"details":"Get number of checkpoints for `account`."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/","@uniswap-v2-core/=dependencies/@uniswap-v2-core-1.0.1/contracts/","forge-std-1.9.2/=dependencies/forge-std-1.9.2/","forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/GhstERC20.sol":"Ghost"},"evmVersion":"shanghai","libraries":{}},"sources":{"dependencies/@openzeppelin-contracts-5.0.2/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/governance/utils/Votes.sol":{"keccak256":"0xb8f69828d41b3594afd7a8c6393565901c205d8b5baf5bd2e42dbac637172979","urls":["bzz-raw://c790253821191ac46b2050d87df820d4209871f90c616381e2c2c00ff3eaac34","dweb:/ipfs/QmcPETTyuZBzDRL39JNXj3SBMdx3Y9o4fPQLSZ27py5Jim"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/ERC20.sol":{"keccak256":"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80","urls":["bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229","dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0xc858a86a35701004d89022a5e98819aac46ccbdc4072fc9dd43928a676b1a2ee","urls":["bzz-raw://18acebb483c512c0eaafcb437f09c839972c3f0d36f0201ea7baa2926b987dd2","dweb:/ipfs/Qmd9bf2noaDSYDtf6FMSzKu7LPhuf91jsVNmcoCuTCuGic"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x2a650f6e593cfe5ff2e514a17ea7f593ee70cefa1888066bc983a6308acff4b1","urls":["bzz-raw://9a3477b9665a4b6d19f86bf2cfbfa8c08ba41193f15e68c0d75c0cab7e1fc753","dweb:/ipfs/QmbcurrTatN1PBmkCWdrED8zhAqx5ah9Qp6uR8YwkKWA8V"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff","urls":["bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d","dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Nonces.sol":{"keccak256":"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f","urls":["bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e","dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/ShortStrings.sol":{"keccak256":"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6","urls":["bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c","dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/StorageSlot.sol":{"keccak256":"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418","urls":["bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c","dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/ECDSA.sol":{"keccak256":"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf","urls":["bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c","dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/EIP712.sol":{"keccak256":"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0","urls":["bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21","dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435","urls":["bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c","dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SafeCast.sol":{"keccak256":"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe","urls":["bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c","dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/structs/Checkpoints.sol":{"keccak256":"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad","urls":["bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b","dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/types/Time.sol":{"keccak256":"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58","urls":["bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111","dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb"],"license":"MIT"},"src/GhstERC20.sol":{"keccak256":"0xa6615d2f72502f5867d217a3de60f5e13adcc3496e26b837b74deab5271b3535","urls":["bzz-raw://acb8ddb8a495f8da8a10e0b68aa18333dff21fd68a9a7ecc9b21f10a55e4924c","dweb:/ipfs/QmNkCiK2Yat1TVzm9b3vzQNB46cnYi8JyH5cAyp2jRQpP5"],"license":"MIT"},"src/interfaces/IGHST.sol":{"keccak256":"0x16dd16dafd13762f657557c397286f4476e7c9aa585c057384033798a0fe6c89","urls":["bzz-raw://5c2d865219cc11681e2d104bad179bd4bf532ef901d4d18fe2a4fef80867f35c","dweb:/ipfs/QmZPqppiqQGMXP54w8idGBsGbW499z9ADiZnC1Hqv5qjUG"],"license":"MIT"},"src/interfaces/ISTNK.sol":{"keccak256":"0x24cba3aea4b94fc3129028f9c384ba31310bd97af3cb546f11cdb45e05285cdf","urls":["bzz-raw://ab2faef605bba05e8712228b59ea29724dd5dfcf3e7adb16af6fa8c6ae4d5e3b","dweb:/ipfs/QmVnYMaqMkdwcsdBmP5GvtnybrGcCkw9ofMztB95WqRMhZ"],"license":"MIT"}},"version":1},"id":89}