Feature Tip: Add private address tag to any address under My Name Tag !
Overview
TokenID
3267
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
JRS
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
1234567891011121314151617181920212223242526/***Submitted for verification at Etherscan.io on 2023-01-16*/// File: contracts/libraries/Strings.sol// OpenZeppelin Contracts v4.4.1 (utils/Strings.sol)pragma solidity ^0.8.0;/*** @dev String operations.*/library Strings {bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {// Inspired by OraclizeAPI's implementation - MIT licence// https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.solif (value == 0) {return "0";
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"ApprovalToCurrentOwner","type":"error"},{"inputs":[],"name":"ApproveToCaller","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"OperatorNotAllowed","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"OPERATOR_FILTER_REGISTRY","outputs":[{"internalType":"contract IOperatorFilterRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_max","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deleteDefaultRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getAux","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"numberMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pauseMinting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"root","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint64","name":"aux","type":"uint64"}],"name":"setAux","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"name":"setContractURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"}],"name":"setRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint96","name":"_royaltyFeesInBips","type":"uint96"}],"name":"setRoyaltyInfo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040523480156200001157600080fd5b50733cc6cdda760b79bafa08df41ecfa224f810dceb66001620000496200003d6200026460201b60201c565b6200026c60201b60201c565b600160038190555060006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115620002465780156200010c576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b8152600401620000d292919062000380565b600060405180830381600087803b158015620000ed57600080fd5b505af115801562000102573d6000803e3d6000fd5b5050505062000245565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614620001c6576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b81526004016200018c92919062000380565b600060405180830381600087803b158015620001a757600080fd5b505af1158015620001bc573d6000803e3d6000fd5b5050505062000244565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016200020f9190620003ad565b600060405180830381600087803b1580156200022a57600080fd5b505af11580156200023f573d6000803e3d6000fd5b505050505b5b5b5050620002586200033260201b60201c565b600481905550620003ca565b600033905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006001905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000368826200033b565b9050919050565b6200037a816200035b565b82525050565b60006040820190506200039760008301856200036f565b620003a660208301846200036f565b9392505050565b6000602082019050620003c460008301846200036f565b92915050565b6149c880620003da6000396000f3fe60806040526004361061021e5760003560e01c8063743976a011610123578063b88d4fde116100ab578063dc33e6811161006f578063dc33e681146107db578063e8a3d48514610818578063e985e9c514610843578063ebf0c71714610880578063f2fde38b146108ab57610225565b8063b88d4fde146106f8578063bf0b175e14610721578063c87b56dd1461075e578063da8fbf2a1461079b578063dab5f340146107b257610225565b806395d89b41116100f257806395d89b4114610625578063a0712d6814610650578063a22cb4651461068d578063a2309ff8146106b6578063aa1b103f146106e157610225565b8063743976a01461057b5780638456cb59146105a65780638da5cb5b146105d1578063938e3d7b146105fc57610225565b806341f43434116101a65780634f558e79116101755780634f558e791461048457806355f804b3146104c15780636352211e146104ea57806370a0823114610527578063715018a61461056457610225565b806341f43434146103de57806342842e0e1461040957806342966c6814610432578063453ab1411461045b57610225565b8063095ea7b3116101ed578063095ea7b3146102f8578063145065241461032157806318160ddd1461034c57806323b872dd146103775780632a55205a146103a057610225565b806301ffc9a71461022a57806302fa7c471461026757806306fdde0314610290578063081812fc146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b50610251600480360381019061024c9190613767565b6108d4565b60405161025e91906137af565b60405180910390f35b34801561027357600080fd5b5061028e6004803603810190610289919061386c565b6109b6565b005b34801561029c57600080fd5b506102a5610a40565b6040516102b29190613945565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd919061399d565b610a7d565b6040516102ef91906139d9565b60405180910390f35b34801561030457600080fd5b5061031f600480360381019061031a91906139f4565b610af9565b005b34801561032d57600080fd5b50610336610c03565b6040516103439190613a51565b60405180910390f35b34801561035857600080fd5b50610361610c09565b60405161036e9190613a7b565b60405180910390f35b34801561038357600080fd5b5061039e60048036038101906103999190613a96565b610c20565b005b3480156103ac57600080fd5b506103c760048036038101906103c29190613ae9565b610c6f565b6040516103d5929190613b29565b60405180910390f35b3480156103ea57600080fd5b506103f3610e59565b6040516104009190613bb1565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b9190613a96565b610e6b565b005b34801561043e57600080fd5b506104596004803603810190610454919061399d565b610eca565b005b34801561046757600080fd5b50610482600480360381019061047d9190613c0c565b610f54565b005b34801561049057600080fd5b506104ab60048036038101906104a6919061399d565b610fde565b6040516104b891906137af565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190613d81565b610ff0565b005b3480156104f657600080fd5b50610511600480360381019061050c919061399d565b611086565b60405161051e91906139d9565b60405180910390f35b34801561053357600080fd5b5061054e60048036038101906105499190613dca565b61109c565b60405161055b9190613a7b565b60405180910390f35b34801561057057600080fd5b5061057961116b565b005b34801561058757600080fd5b506105906111f3565b60405161059d9190613945565b60405180910390f35b3480156105b257600080fd5b506105bb611281565b6040516105c891906137af565b60405180910390f35b3480156105dd57600080fd5b506105e6611294565b6040516105f391906139d9565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e9190613e57565b6112be565b005b34801561063157600080fd5b5061063a611350565b6040516106479190613945565b60405180910390f35b34801561065c57600080fd5b506106776004803603810190610672919061399d565b61138d565b6040516106849190613a7b565b60405180910390f35b34801561069957600080fd5b506106b460048036038101906106af9190613ed0565b61154c565b005b3480156106c257600080fd5b506106cb6116c3565b6040516106d89190613a7b565b60405180910390f35b3480156106ed57600080fd5b506106f66116d2565b005b34801561070457600080fd5b5061071f600480360381019061071a9190613fb1565b611758565b005b34801561072d57600080fd5b5061074860048036038101906107439190613dca565b611813565b6040516107559190614043565b60405180910390f35b34801561076a57600080fd5b506107856004803603810190610780919061399d565b611825565b6040516107929190613945565b60405180910390f35b3480156107a757600080fd5b506107b061194f565b005b3480156107be57600080fd5b506107d960048036038101906107d49190614094565b6119f7565b005b3480156107e757600080fd5b5061080260048036038101906107fd9190613dca565b611a7d565b60405161080f9190613a7b565b60405180910390f35b34801561082457600080fd5b5061082d611a8f565b60405161083a9190613945565b60405180910390f35b34801561084f57600080fd5b5061086a600480360381019061086591906140c1565b611b21565b60405161087791906137af565b60405180910390f35b34801561088c57600080fd5b50610895611bb5565b6040516108a29190614110565b60405180910390f35b3480156108b757600080fd5b506108d260048036038101906108cd9190613dca565b611bbb565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061099f57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109af57506109ae82611cb2565b5b9050919050565b6109be611d2c565b73ffffffffffffffffffffffffffffffffffffffff166109dc611294565b73ffffffffffffffffffffffffffffffffffffffff1614610a32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2990614177565b60405180910390fd5b610a3c8282611d34565b5050565b60606040518060400160405280601381526020017f4a6f6c6c7920526f67657220536f636965747900000000000000000000000000815250905090565b6000610a8882611ec8565b610abe576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b0482611086565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b6b576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b8a611d2c565b73ffffffffffffffffffffffffffffffffffffffff1614158015610bbc5750610bba81610bb5611d2c565b611b21565b155b15610bf3576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bfe838383611f16565b505050565b61115c81565b6000610c13611fc8565b6005546004540303905090565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c5e57610c5d33611fd1565b5b610c698484846120ce565b50505050565b6000806000600160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610e045760006040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610e0e612582565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610e3a91906141c6565b610e44919061424f565b90508160000151819350935050509250929050565b6daaeb6d7670e522a718067333cd4e81565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ea957610ea833611fd1565b5b610ec484848460405180602001604052806000815250611758565b50505050565b610ed2611d2c565b73ffffffffffffffffffffffffffffffffffffffff16610ef0611294565b73ffffffffffffffffffffffffffffffffffffffff1614610f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3d90614177565b60405180910390fd5b610f5181600161258c565b50565b610f5c611d2c565b73ffffffffffffffffffffffffffffffffffffffff16610f7a611294565b73ffffffffffffffffffffffffffffffffffffffff1614610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc790614177565b60405180910390fd5b610fda828261297b565b5050565b6000610fe982611ec8565b9050919050565b610ff8611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611016611294565b73ffffffffffffffffffffffffffffffffffffffff161461106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390614177565b60405180910390fd5b80600b908051906020019061108292919061358f565b5050565b6000611091826129e8565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611103576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b611173611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611191611294565b73ffffffffffffffffffffffffffffffffffffffff16146111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de90614177565b60405180910390fd5b6111f16000612c77565b565b600b8054611200906142af565b80601f016020809104026020016040519081016040528092919081815260200182805461122c906142af565b80156112795780601f1061124e57610100808354040283529160200191611279565b820191906000526020600020905b81548152906001019060200180831161125c57829003601f168201915b505050505081565b600d60009054906101000a900460ff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112c6611d2c565b73ffffffffffffffffffffffffffffffffffffffff166112e4611294565b73ffffffffffffffffffffffffffffffffffffffff161461133a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133190614177565b60405180910390fd5b8181600a919061134b929190613615565b505050565b60606040518060400160405280600381526020017f4a52530000000000000000000000000000000000000000000000000000000000815250905090565b6000600d60009054906101000a900460ff16156113df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d69061432c565b60405180910390fd5b600260035403611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90614398565b60405180910390fd5b600260038190555061115c61ffff168261143c610c09565b61144691906143b8565b1115611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e9061445a565b60405180910390fd5b60028261149a611495611d2c565b612d3d565b6114a491906143b8565b1115806114ea57506114b4611d2c565b73ffffffffffffffffffffffffffffffffffffffff166114d2611294565b73ffffffffffffffffffffffffffffffffffffffff16145b611529576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611520906144c6565b60405180910390fd5b61153a611534611d2c565b83612da7565b60045490506001600381905550919050565b611554611d2c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115b8576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600960006115c5611d2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611672611d2c565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516116b791906137af565b60405180910390a35050565b60006116cd612dc5565b905090565b6116da611d2c565b73ffffffffffffffffffffffffffffffffffffffff166116f8611294565b73ffffffffffffffffffffffffffffffffffffffff161461174e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174590614177565b60405180910390fd5b611756612dd8565b565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146117965761179533611fd1565b5b6117a18585856120ce565b6117c08473ffffffffffffffffffffffffffffffffffffffff16612e25565b80156117d557506117d385858585612e48565b155b1561180c576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b600061181e82612f98565b9050919050565b606061183082611ec8565b61186f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186690614558565b60405180910390fd5b6000600b805461187e906142af565b80601f01602080910402602001604051908101604052809291908181526020018280546118aa906142af565b80156118f75780601f106118cc576101008083540402835291602001916118f7565b820191906000526020600020905b8154815290600101906020018083116118da57829003601f168201915b50505050509050600081511161191c5760405180602001604052806000815250611947565b8061192684612ff8565b6040516020016119379291906145b4565b6040516020818303038152906040525b915050919050565b611957611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611975611294565b73ffffffffffffffffffffffffffffffffffffffff16146119cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c290614177565b60405180910390fd5b600d60009054906101000a900460ff1615600d60006101000a81548160ff021916908315150217905550565b6119ff611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611a1d611294565b73ffffffffffffffffffffffffffffffffffffffff1614611a73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6a90614177565b60405180910390fd5b80600c8190555050565b6000611a8882612d3d565b9050919050565b6060600a8054611a9e906142af565b80601f0160208091040260200160405190810160405280929190818152602001828054611aca906142af565b8015611b175780601f10611aec57610100808354040283529160200191611b17565b820191906000526020600020905b815481529060010190602001808311611afa57829003601f168201915b5050505050905090565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600c5481565b611bc3611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611be1611294565b73ffffffffffffffffffffffffffffffffffffffff1614611c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2e90614177565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d9061464a565b60405180910390fd5b611caf81612c77565b50565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d255750611d2482613158565b5b9050919050565b600033905090565b611d3c612582565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d91906146dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0090614748565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff168152506000808201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b600081611ed3611fc8565b11158015611ee2575060045482105b8015611f0f575060066000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b826008600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60006001905090565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b11156120cb576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401612048929190614768565b602060405180830381865afa158015612065573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208991906147a6565b6120ca57806040517fede71dcc0000000000000000000000000000000000000000000000000000000081526004016120c191906139d9565b60405180910390fd5b5b50565b60006120d9826129e8565b90508373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612144576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff16612165611d2c565b73ffffffffffffffffffffffffffffffffffffffff16148061219457506121938561218e611d2c565b611b21565b5b806121d957506121a2611d2c565b73ffffffffffffffffffffffffffffffffffffffff166121c184610a7d565b73ffffffffffffffffffffffffffffffffffffffff16145b905080612212576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612278576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61228585858560016131c2565b61229160008487611f16565b6001600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600660008581526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060006001850190506000600660008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361251057600454821461250f57878160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461257b85858560016131c8565b5050505050565b6000612710905090565b6000612597836129e8565b905060008160000151905082156126785760008173ffffffffffffffffffffffffffffffffffffffff166125c9611d2c565b73ffffffffffffffffffffffffffffffffffffffff1614806125f857506125f7826125f2611d2c565b611b21565b5b8061263d5750612606611d2c565b73ffffffffffffffffffffffffffffffffffffffff1661262586610a7d565b73ffffffffffffffffffffffffffffffffffffffff16145b905080612676576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b6126868160008660016131c2565b61269260008583611f16565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060018160000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060018160000160108282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600660008781526020019081526020016000209050828160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600181600001601c6101000a81548160ff02191690831515021790555060006001870190506000600660008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036128f55760045482146128f457848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b5050505083600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46129638160008660016131c8565b60056000815480929190600101919050555050505050565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160186101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6129f061369b565b6000829050806129fe611fc8565b11158015612a0d575060045481105b15612c40576000600660008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151612c3e57600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612b22578092505050612c72565b5b600115612c3d57818060019003925050600660008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612c38578092505050612c72565b612b23565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b612dc18282604051806020016040528060008152506131ce565b5050565b6000612dcf611fc8565b60045403905090565b6000806000820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff02191690555050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612e6e611d2c565b8786866040518563ffffffff1660e01b8152600401612e909493929190614828565b6020604051808303816000875af1925050508015612ecc57506040513d601f19601f82011682018060405250810190612ec99190614889565b60015b612f45573d8060008114612efc576040519150601f19603f3d011682016040523d82523d6000602084013e612f01565b606091505b506000815103612f3d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160189054906101000a900467ffffffffffffffff169050919050565b60606000820361303f576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613153565b600082905060005b6000821461307157808061305a906148b6565b915050600a8261306a919061424f565b9150613047565b60008167ffffffffffffffff81111561308d5761308c613c56565b5b6040519080825280601f01601f1916602001820160405280156130bf5781602001600182028036833780820191505090505b5090505b6000851461314c576001826130d891906148fe565b9150600a856130e79190614932565b60306130f391906143b8565b60f81b81838151811061310957613108614963565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85613145919061424f565b94506130c3565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b50505050565b60006004549050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361323b576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008303613275576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61328260008583866131c2565b82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836006600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426006600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000819050600084820190506134438673ffffffffffffffffffffffffffffffffffffffff16612e25565b15613508575b818673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46134b86000878480600101955087612e48565b6134ee576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821061344957826004541461350357600080fd5b613573565b5b818060010192508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4808210613509575b81600481905550505061358960008583866131c8565b50505050565b82805461359b906142af565b90600052602060002090601f0160209004810192826135bd5760008555613604565b82601f106135d657805160ff1916838001178555613604565b82800160010185558215613604579182015b828111156136035782518255916020019190600101906135e8565b5b50905061361191906136de565b5090565b828054613621906142af565b90600052602060002090601f016020900481019282613643576000855561368a565b82601f1061365c57803560ff191683800117855561368a565b8280016001018555821561368a579182015b8281111561368957823582559160200191906001019061366e565b5b50905061369791906136de565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b808211156136f75760008160009055506001016136df565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6137448161370f565b811461374f57600080fd5b50565b6000813590506137618161373b565b92915050565b60006020828403121561377d5761377c613705565b5b600061378b84828501613752565b91505092915050565b60008115159050919050565b6137a981613794565b82525050565b60006020820190506137c460008301846137a0565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006137f5826137ca565b9050919050565b613805816137ea565b811461381057600080fd5b50565b600081359050613822816137fc565b92915050565b60006bffffffffffffffffffffffff82169050919050565b61384981613828565b811461385457600080fd5b50565b60008135905061386681613840565b92915050565b6000806040838503121561388357613882613705565b5b600061389185828601613813565b92505060206138a285828601613857565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156138e65780820151818401526020810190506138cb565b838111156138f5576000848401525b50505050565b6000601f19601f8301169050919050565b6000613917826138ac565b61392181856138b7565b93506139318185602086016138c8565b61393a816138fb565b840191505092915050565b6000602082019050818103600083015261395f818461390c565b905092915050565b6000819050919050565b61397a81613967565b811461398557600080fd5b50565b60008135905061399781613971565b92915050565b6000602082840312156139b3576139b2613705565b5b60006139c184828501613988565b91505092915050565b6139d3816137ea565b82525050565b60006020820190506139ee60008301846139ca565b92915050565b60008060408385031215613a0b57613a0a613705565b5b6000613a1985828601613813565b9250506020613a2a85828601613988565b9150509250929050565b600061ffff82169050919050565b613a4b81613a34565b82525050565b6000602082019050613a666000830184613a42565b92915050565b613a7581613967565b82525050565b6000602082019050613a906000830184613a6c565b92915050565b600080600060608486031215613aaf57613aae613705565b5b6000613abd86828701613813565b9350506020613ace86828701613813565b9250506040613adf86828701613988565b9150509250925092565b60008060408385031215613b0057613aff613705565b5b6000613b0e85828601613988565b9250506020613b1f85828601613988565b9150509250929050565b6000604082019050613b3e60008301856139ca565b613b4b6020830184613a6c565b9392505050565b6000819050919050565b6000613b77613b72613b6d846137ca565b613b52565b6137ca565b9050919050565b6000613b8982613b5c565b9050919050565b6000613b9b82613b7e565b9050919050565b613bab81613b90565b82525050565b6000602082019050613bc66000830184613ba2565b92915050565b600067ffffffffffffffff82169050919050565b613be981613bcc565b8114613bf457600080fd5b50565b600081359050613c0681613be0565b92915050565b60008060408385031215613c2357613c22613705565b5b6000613c3185828601613813565b9250506020613c4285828601613bf7565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613c8e826138fb565b810181811067ffffffffffffffff82111715613cad57613cac613c56565b5b80604052505050565b6000613cc06136fb565b9050613ccc8282613c85565b919050565b600067ffffffffffffffff821115613cec57613ceb613c56565b5b613cf5826138fb565b9050602081019050919050565b82818337600083830152505050565b6000613d24613d1f84613cd1565b613cb6565b905082815260208101848484011115613d4057613d3f613c51565b5b613d4b848285613d02565b509392505050565b600082601f830112613d6857613d67613c4c565b5b8135613d78848260208601613d11565b91505092915050565b600060208284031215613d9757613d96613705565b5b600082013567ffffffffffffffff811115613db557613db461370a565b5b613dc184828501613d53565b91505092915050565b600060208284031215613de057613ddf613705565b5b6000613dee84828501613813565b91505092915050565b600080fd5b600080fd5b60008083601f840112613e1757613e16613c4c565b5b8235905067ffffffffffffffff811115613e3457613e33613df7565b5b602083019150836001820283011115613e5057613e4f613dfc565b5b9250929050565b60008060208385031215613e6e57613e6d613705565b5b600083013567ffffffffffffffff811115613e8c57613e8b61370a565b5b613e9885828601613e01565b92509250509250929050565b613ead81613794565b8114613eb857600080fd5b50565b600081359050613eca81613ea4565b92915050565b60008060408385031215613ee757613ee6613705565b5b6000613ef585828601613813565b9250506020613f0685828601613ebb565b9150509250929050565b600067ffffffffffffffff821115613f2b57613f2a613c56565b5b613f34826138fb565b9050602081019050919050565b6000613f54613f4f84613f10565b613cb6565b905082815260208101848484011115613f7057613f6f613c51565b5b613f7b848285613d02565b509392505050565b600082601f830112613f9857613f97613c4c565b5b8135613fa8848260208601613f41565b91505092915050565b60008060008060808587031215613fcb57613fca613705565b5b6000613fd987828801613813565b9450506020613fea87828801613813565b9350506040613ffb87828801613988565b925050606085013567ffffffffffffffff81111561401c5761401b61370a565b5b61402887828801613f83565b91505092959194509250565b61403d81613bcc565b82525050565b60006020820190506140586000830184614034565b92915050565b6000819050919050565b6140718161405e565b811461407c57600080fd5b50565b60008135905061408e81614068565b92915050565b6000602082840312156140aa576140a9613705565b5b60006140b88482850161407f565b91505092915050565b600080604083850312156140d8576140d7613705565b5b60006140e685828601613813565b92505060206140f785828601613813565b9150509250929050565b61410a8161405e565b82525050565b60006020820190506141256000830184614101565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006141616020836138b7565b915061416c8261412b565b602082019050919050565b6000602082019050818103600083015261419081614154565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006141d182613967565b91506141dc83613967565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561421557614214614197565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061425a82613967565b915061426583613967565b92508261427557614274614220565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806142c757607f821691505b6020821081036142da576142d9614280565b5b50919050565b7f6d696e7420686173206265656e20706175736564000000000000000000000000600082015250565b60006143166014836138b7565b9150614321826142e0565b602082019050919050565b6000602082019050818103600083015261434581614309565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000614382601f836138b7565b915061438d8261434c565b602082019050919050565b600060208201905081810360008301526143b181614375565b9050919050565b60006143c382613967565b91506143ce83613967565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561440357614402614197565b5b828201905092915050565b7f4d6178204a5253204d696e742052656163686564000000000000000000000000600082015250565b60006144446014836138b7565b915061444f8261440e565b602082019050919050565b6000602082019050818103600083015261447381614437565b9050919050565b7f4d6178204a525320706572206164647265737320697320320000000000000000600082015250565b60006144b06018836138b7565b91506144bb8261447a565b602082019050919050565b600060208201905081810360008301526144df816144a3565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614542602f836138b7565b915061454d826144e6565b604082019050919050565b6000602082019050818103600083015261457181614535565b9050919050565b600081905092915050565b600061458e826138ac565b6145988185614578565b93506145a88185602086016138c8565b80840191505092915050565b60006145c08285614583565b91506145cc8284614583565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006146346026836138b7565b915061463f826145d8565b604082019050919050565b6000602082019050818103600083015261466381614627565b9050919050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b60006146c6602a836138b7565b91506146d18261466a565b604082019050919050565b600060208201905081810360008301526146f5816146b9565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b60006147326019836138b7565b915061473d826146fc565b602082019050919050565b6000602082019050818103600083015261476181614725565b9050919050565b600060408201905061477d60008301856139ca565b61478a60208301846139ca565b9392505050565b6000815190506147a081613ea4565b92915050565b6000602082840312156147bc576147bb613705565b5b60006147ca84828501614791565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60006147fa826147d3565b61480481856147de565b93506148148185602086016138c8565b61481d816138fb565b840191505092915050565b600060808201905061483d60008301876139ca565b61484a60208301866139ca565b6148576040830185613a6c565b818103606083015261486981846147ef565b905095945050505050565b6000815190506148838161373b565b92915050565b60006020828403121561489f5761489e613705565b5b60006148ad84828501614874565b91505092915050565b60006148c182613967565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148f3576148f2614197565b5b600182019050919050565b600061490982613967565b915061491483613967565b92508282101561492757614926614197565b5b828203905092915050565b600061493d82613967565b915061494883613967565b92508261495857614957614220565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212208a7bd2a6e83b692e8e558d53e1361e5570faac0170a65c2b29286d748e6ca74764736f6c634300080d0033
Deployed Bytecode
0x60806040526004361061021e5760003560e01c8063743976a011610123578063b88d4fde116100ab578063dc33e6811161006f578063dc33e681146107db578063e8a3d48514610818578063e985e9c514610843578063ebf0c71714610880578063f2fde38b146108ab57610225565b8063b88d4fde146106f8578063bf0b175e14610721578063c87b56dd1461075e578063da8fbf2a1461079b578063dab5f340146107b257610225565b806395d89b41116100f257806395d89b4114610625578063a0712d6814610650578063a22cb4651461068d578063a2309ff8146106b6578063aa1b103f146106e157610225565b8063743976a01461057b5780638456cb59146105a65780638da5cb5b146105d1578063938e3d7b146105fc57610225565b806341f43434116101a65780634f558e79116101755780634f558e791461048457806355f804b3146104c15780636352211e146104ea57806370a0823114610527578063715018a61461056457610225565b806341f43434146103de57806342842e0e1461040957806342966c6814610432578063453ab1411461045b57610225565b8063095ea7b3116101ed578063095ea7b3146102f8578063145065241461032157806318160ddd1461034c57806323b872dd146103775780632a55205a146103a057610225565b806301ffc9a71461022a57806302fa7c471461026757806306fdde0314610290578063081812fc146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b50610251600480360381019061024c9190613767565b6108d4565b60405161025e91906137af565b60405180910390f35b34801561027357600080fd5b5061028e6004803603810190610289919061386c565b6109b6565b005b34801561029c57600080fd5b506102a5610a40565b6040516102b29190613945565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd919061399d565b610a7d565b6040516102ef91906139d9565b60405180910390f35b34801561030457600080fd5b5061031f600480360381019061031a91906139f4565b610af9565b005b34801561032d57600080fd5b50610336610c03565b6040516103439190613a51565b60405180910390f35b34801561035857600080fd5b50610361610c09565b60405161036e9190613a7b565b60405180910390f35b34801561038357600080fd5b5061039e60048036038101906103999190613a96565b610c20565b005b3480156103ac57600080fd5b506103c760048036038101906103c29190613ae9565b610c6f565b6040516103d5929190613b29565b60405180910390f35b3480156103ea57600080fd5b506103f3610e59565b6040516104009190613bb1565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b9190613a96565b610e6b565b005b34801561043e57600080fd5b506104596004803603810190610454919061399d565b610eca565b005b34801561046757600080fd5b50610482600480360381019061047d9190613c0c565b610f54565b005b34801561049057600080fd5b506104ab60048036038101906104a6919061399d565b610fde565b6040516104b891906137af565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190613d81565b610ff0565b005b3480156104f657600080fd5b50610511600480360381019061050c919061399d565b611086565b60405161051e91906139d9565b60405180910390f35b34801561053357600080fd5b5061054e60048036038101906105499190613dca565b61109c565b60405161055b9190613a7b565b60405180910390f35b34801561057057600080fd5b5061057961116b565b005b34801561058757600080fd5b506105906111f3565b60405161059d9190613945565b60405180910390f35b3480156105b257600080fd5b506105bb611281565b6040516105c891906137af565b60405180910390f35b3480156105dd57600080fd5b506105e6611294565b6040516105f391906139d9565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e9190613e57565b6112be565b005b34801561063157600080fd5b5061063a611350565b6040516106479190613945565b60405180910390f35b34801561065c57600080fd5b506106776004803603810190610672919061399d565b61138d565b6040516106849190613a7b565b60405180910390f35b34801561069957600080fd5b506106b460048036038101906106af9190613ed0565b61154c565b005b3480156106c257600080fd5b506106cb6116c3565b6040516106d89190613a7b565b60405180910390f35b3480156106ed57600080fd5b506106f66116d2565b005b34801561070457600080fd5b5061071f600480360381019061071a9190613fb1565b611758565b005b34801561072d57600080fd5b5061074860048036038101906107439190613dca565b611813565b6040516107559190614043565b60405180910390f35b34801561076a57600080fd5b506107856004803603810190610780919061399d565b611825565b6040516107929190613945565b60405180910390f35b3480156107a757600080fd5b506107b061194f565b005b3480156107be57600080fd5b506107d960048036038101906107d49190614094565b6119f7565b005b3480156107e757600080fd5b5061080260048036038101906107fd9190613dca565b611a7d565b60405161080f9190613a7b565b60405180910390f35b34801561082457600080fd5b5061082d611a8f565b60405161083a9190613945565b60405180910390f35b34801561084f57600080fd5b5061086a600480360381019061086591906140c1565b611b21565b60405161087791906137af565b60405180910390f35b34801561088c57600080fd5b50610895611bb5565b6040516108a29190614110565b60405180910390f35b3480156108b757600080fd5b506108d260048036038101906108cd9190613dca565b611bbb565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061099f57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109af57506109ae82611cb2565b5b9050919050565b6109be611d2c565b73ffffffffffffffffffffffffffffffffffffffff166109dc611294565b73ffffffffffffffffffffffffffffffffffffffff1614610a32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2990614177565b60405180910390fd5b610a3c8282611d34565b5050565b60606040518060400160405280601381526020017f4a6f6c6c7920526f67657220536f636965747900000000000000000000000000815250905090565b6000610a8882611ec8565b610abe576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b0482611086565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b6b576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b8a611d2c565b73ffffffffffffffffffffffffffffffffffffffff1614158015610bbc5750610bba81610bb5611d2c565b611b21565b155b15610bf3576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bfe838383611f16565b505050565b61115c81565b6000610c13611fc8565b6005546004540303905090565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c5e57610c5d33611fd1565b5b610c698484846120ce565b50505050565b6000806000600160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610e045760006040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610e0e612582565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610e3a91906141c6565b610e44919061424f565b90508160000151819350935050509250929050565b6daaeb6d7670e522a718067333cd4e81565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ea957610ea833611fd1565b5b610ec484848460405180602001604052806000815250611758565b50505050565b610ed2611d2c565b73ffffffffffffffffffffffffffffffffffffffff16610ef0611294565b73ffffffffffffffffffffffffffffffffffffffff1614610f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3d90614177565b60405180910390fd5b610f5181600161258c565b50565b610f5c611d2c565b73ffffffffffffffffffffffffffffffffffffffff16610f7a611294565b73ffffffffffffffffffffffffffffffffffffffff1614610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc790614177565b60405180910390fd5b610fda828261297b565b5050565b6000610fe982611ec8565b9050919050565b610ff8611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611016611294565b73ffffffffffffffffffffffffffffffffffffffff161461106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390614177565b60405180910390fd5b80600b908051906020019061108292919061358f565b5050565b6000611091826129e8565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611103576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b611173611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611191611294565b73ffffffffffffffffffffffffffffffffffffffff16146111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de90614177565b60405180910390fd5b6111f16000612c77565b565b600b8054611200906142af565b80601f016020809104026020016040519081016040528092919081815260200182805461122c906142af565b80156112795780601f1061124e57610100808354040283529160200191611279565b820191906000526020600020905b81548152906001019060200180831161125c57829003601f168201915b505050505081565b600d60009054906101000a900460ff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112c6611d2c565b73ffffffffffffffffffffffffffffffffffffffff166112e4611294565b73ffffffffffffffffffffffffffffffffffffffff161461133a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133190614177565b60405180910390fd5b8181600a919061134b929190613615565b505050565b60606040518060400160405280600381526020017f4a52530000000000000000000000000000000000000000000000000000000000815250905090565b6000600d60009054906101000a900460ff16156113df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d69061432c565b60405180910390fd5b600260035403611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90614398565b60405180910390fd5b600260038190555061115c61ffff168261143c610c09565b61144691906143b8565b1115611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e9061445a565b60405180910390fd5b60028261149a611495611d2c565b612d3d565b6114a491906143b8565b1115806114ea57506114b4611d2c565b73ffffffffffffffffffffffffffffffffffffffff166114d2611294565b73ffffffffffffffffffffffffffffffffffffffff16145b611529576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611520906144c6565b60405180910390fd5b61153a611534611d2c565b83612da7565b60045490506001600381905550919050565b611554611d2c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115b8576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600960006115c5611d2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611672611d2c565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516116b791906137af565b60405180910390a35050565b60006116cd612dc5565b905090565b6116da611d2c565b73ffffffffffffffffffffffffffffffffffffffff166116f8611294565b73ffffffffffffffffffffffffffffffffffffffff161461174e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174590614177565b60405180910390fd5b611756612dd8565b565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146117965761179533611fd1565b5b6117a18585856120ce565b6117c08473ffffffffffffffffffffffffffffffffffffffff16612e25565b80156117d557506117d385858585612e48565b155b1561180c576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b600061181e82612f98565b9050919050565b606061183082611ec8565b61186f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186690614558565b60405180910390fd5b6000600b805461187e906142af565b80601f01602080910402602001604051908101604052809291908181526020018280546118aa906142af565b80156118f75780601f106118cc576101008083540402835291602001916118f7565b820191906000526020600020905b8154815290600101906020018083116118da57829003601f168201915b50505050509050600081511161191c5760405180602001604052806000815250611947565b8061192684612ff8565b6040516020016119379291906145b4565b6040516020818303038152906040525b915050919050565b611957611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611975611294565b73ffffffffffffffffffffffffffffffffffffffff16146119cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c290614177565b60405180910390fd5b600d60009054906101000a900460ff1615600d60006101000a81548160ff021916908315150217905550565b6119ff611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611a1d611294565b73ffffffffffffffffffffffffffffffffffffffff1614611a73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6a90614177565b60405180910390fd5b80600c8190555050565b6000611a8882612d3d565b9050919050565b6060600a8054611a9e906142af565b80601f0160208091040260200160405190810160405280929190818152602001828054611aca906142af565b8015611b175780601f10611aec57610100808354040283529160200191611b17565b820191906000526020600020905b815481529060010190602001808311611afa57829003601f168201915b5050505050905090565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600c5481565b611bc3611d2c565b73ffffffffffffffffffffffffffffffffffffffff16611be1611294565b73ffffffffffffffffffffffffffffffffffffffff1614611c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2e90614177565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d9061464a565b60405180910390fd5b611caf81612c77565b50565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d255750611d2482613158565b5b9050919050565b600033905090565b611d3c612582565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d91906146dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0090614748565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff168152506000808201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b600081611ed3611fc8565b11158015611ee2575060045482105b8015611f0f575060066000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b826008600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60006001905090565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b11156120cb576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401612048929190614768565b602060405180830381865afa158015612065573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208991906147a6565b6120ca57806040517fede71dcc0000000000000000000000000000000000000000000000000000000081526004016120c191906139d9565b60405180910390fd5b5b50565b60006120d9826129e8565b90508373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612144576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff16612165611d2c565b73ffffffffffffffffffffffffffffffffffffffff16148061219457506121938561218e611d2c565b611b21565b5b806121d957506121a2611d2c565b73ffffffffffffffffffffffffffffffffffffffff166121c184610a7d565b73ffffffffffffffffffffffffffffffffffffffff16145b905080612212576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612278576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61228585858560016131c2565b61229160008487611f16565b6001600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600660008581526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060006001850190506000600660008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361251057600454821461250f57878160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461257b85858560016131c8565b5050505050565b6000612710905090565b6000612597836129e8565b905060008160000151905082156126785760008173ffffffffffffffffffffffffffffffffffffffff166125c9611d2c565b73ffffffffffffffffffffffffffffffffffffffff1614806125f857506125f7826125f2611d2c565b611b21565b5b8061263d5750612606611d2c565b73ffffffffffffffffffffffffffffffffffffffff1661262586610a7d565b73ffffffffffffffffffffffffffffffffffffffff16145b905080612676576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b6126868160008660016131c2565b61269260008583611f16565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060018160000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060018160000160108282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600660008781526020019081526020016000209050828160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600181600001601c6101000a81548160ff02191690831515021790555060006001870190506000600660008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036128f55760045482146128f457848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b5050505083600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46129638160008660016131c8565b60056000815480929190600101919050555050505050565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160186101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6129f061369b565b6000829050806129fe611fc8565b11158015612a0d575060045481105b15612c40576000600660008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151612c3e57600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612b22578092505050612c72565b5b600115612c3d57818060019003925050600660008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612c38578092505050612c72565b612b23565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b612dc18282604051806020016040528060008152506131ce565b5050565b6000612dcf611fc8565b60045403905090565b6000806000820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff02191690555050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612e6e611d2c565b8786866040518563ffffffff1660e01b8152600401612e909493929190614828565b6020604051808303816000875af1925050508015612ecc57506040513d601f19601f82011682018060405250810190612ec99190614889565b60015b612f45573d8060008114612efc576040519150601f19603f3d011682016040523d82523d6000602084013e612f01565b606091505b506000815103612f3d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160189054906101000a900467ffffffffffffffff169050919050565b60606000820361303f576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613153565b600082905060005b6000821461307157808061305a906148b6565b915050600a8261306a919061424f565b9150613047565b60008167ffffffffffffffff81111561308d5761308c613c56565b5b6040519080825280601f01601f1916602001820160405280156130bf5781602001600182028036833780820191505090505b5090505b6000851461314c576001826130d891906148fe565b9150600a856130e79190614932565b60306130f391906143b8565b60f81b81838151811061310957613108614963565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85613145919061424f565b94506130c3565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b50505050565b60006004549050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361323b576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008303613275576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61328260008583866131c2565b82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836006600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426006600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000819050600084820190506134438673ffffffffffffffffffffffffffffffffffffffff16612e25565b15613508575b818673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46134b86000878480600101955087612e48565b6134ee576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821061344957826004541461350357600080fd5b613573565b5b818060010192508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4808210613509575b81600481905550505061358960008583866131c8565b50505050565b82805461359b906142af565b90600052602060002090601f0160209004810192826135bd5760008555613604565b82601f106135d657805160ff1916838001178555613604565b82800160010185558215613604579182015b828111156136035782518255916020019190600101906135e8565b5b50905061361191906136de565b5090565b828054613621906142af565b90600052602060002090601f016020900481019282613643576000855561368a565b82601f1061365c57803560ff191683800117855561368a565b8280016001018555821561368a579182015b8281111561368957823582559160200191906001019061366e565b5b50905061369791906136de565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b808211156136f75760008160009055506001016136df565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6137448161370f565b811461374f57600080fd5b50565b6000813590506137618161373b565b92915050565b60006020828403121561377d5761377c613705565b5b600061378b84828501613752565b91505092915050565b60008115159050919050565b6137a981613794565b82525050565b60006020820190506137c460008301846137a0565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006137f5826137ca565b9050919050565b613805816137ea565b811461381057600080fd5b50565b600081359050613822816137fc565b92915050565b60006bffffffffffffffffffffffff82169050919050565b61384981613828565b811461385457600080fd5b50565b60008135905061386681613840565b92915050565b6000806040838503121561388357613882613705565b5b600061389185828601613813565b92505060206138a285828601613857565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156138e65780820151818401526020810190506138cb565b838111156138f5576000848401525b50505050565b6000601f19601f8301169050919050565b6000613917826138ac565b61392181856138b7565b93506139318185602086016138c8565b61393a816138fb565b840191505092915050565b6000602082019050818103600083015261395f818461390c565b905092915050565b6000819050919050565b61397a81613967565b811461398557600080fd5b50565b60008135905061399781613971565b92915050565b6000602082840312156139b3576139b2613705565b5b60006139c184828501613988565b91505092915050565b6139d3816137ea565b82525050565b60006020820190506139ee60008301846139ca565b92915050565b60008060408385031215613a0b57613a0a613705565b5b6000613a1985828601613813565b9250506020613a2a85828601613988565b9150509250929050565b600061ffff82169050919050565b613a4b81613a34565b82525050565b6000602082019050613a666000830184613a42565b92915050565b613a7581613967565b82525050565b6000602082019050613a906000830184613a6c565b92915050565b600080600060608486031215613aaf57613aae613705565b5b6000613abd86828701613813565b9350506020613ace86828701613813565b9250506040613adf86828701613988565b9150509250925092565b60008060408385031215613b0057613aff613705565b5b6000613b0e85828601613988565b9250506020613b1f85828601613988565b9150509250929050565b6000604082019050613b3e60008301856139ca565b613b4b6020830184613a6c565b9392505050565b6000819050919050565b6000613b77613b72613b6d846137ca565b613b52565b6137ca565b9050919050565b6000613b8982613b5c565b9050919050565b6000613b9b82613b7e565b9050919050565b613bab81613b90565b82525050565b6000602082019050613bc66000830184613ba2565b92915050565b600067ffffffffffffffff82169050919050565b613be981613bcc565b8114613bf457600080fd5b50565b600081359050613c0681613be0565b92915050565b60008060408385031215613c2357613c22613705565b5b6000613c3185828601613813565b9250506020613c4285828601613bf7565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613c8e826138fb565b810181811067ffffffffffffffff82111715613cad57613cac613c56565b5b80604052505050565b6000613cc06136fb565b9050613ccc8282613c85565b919050565b600067ffffffffffffffff821115613cec57613ceb613c56565b5b613cf5826138fb565b9050602081019050919050565b82818337600083830152505050565b6000613d24613d1f84613cd1565b613cb6565b905082815260208101848484011115613d4057613d3f613c51565b5b613d4b848285613d02565b509392505050565b600082601f830112613d6857613d67613c4c565b5b8135613d78848260208601613d11565b91505092915050565b600060208284031215613d9757613d96613705565b5b600082013567ffffffffffffffff811115613db557613db461370a565b5b613dc184828501613d53565b91505092915050565b600060208284031215613de057613ddf613705565b5b6000613dee84828501613813565b91505092915050565b600080fd5b600080fd5b60008083601f840112613e1757613e16613c4c565b5b8235905067ffffffffffffffff811115613e3457613e33613df7565b5b602083019150836001820283011115613e5057613e4f613dfc565b5b9250929050565b60008060208385031215613e6e57613e6d613705565b5b600083013567ffffffffffffffff811115613e8c57613e8b61370a565b5b613e9885828601613e01565b92509250509250929050565b613ead81613794565b8114613eb857600080fd5b50565b600081359050613eca81613ea4565b92915050565b60008060408385031215613ee757613ee6613705565b5b6000613ef585828601613813565b9250506020613f0685828601613ebb565b9150509250929050565b600067ffffffffffffffff821115613f2b57613f2a613c56565b5b613f34826138fb565b9050602081019050919050565b6000613f54613f4f84613f10565b613cb6565b905082815260208101848484011115613f7057613f6f613c51565b5b613f7b848285613d02565b509392505050565b600082601f830112613f9857613f97613c4c565b5b8135613fa8848260208601613f41565b91505092915050565b60008060008060808587031215613fcb57613fca613705565b5b6000613fd987828801613813565b9450506020613fea87828801613813565b9350506040613ffb87828801613988565b925050606085013567ffffffffffffffff81111561401c5761401b61370a565b5b61402887828801613f83565b91505092959194509250565b61403d81613bcc565b82525050565b60006020820190506140586000830184614034565b92915050565b6000819050919050565b6140718161405e565b811461407c57600080fd5b50565b60008135905061408e81614068565b92915050565b6000602082840312156140aa576140a9613705565b5b60006140b88482850161407f565b91505092915050565b600080604083850312156140d8576140d7613705565b5b60006140e685828601613813565b92505060206140f785828601613813565b9150509250929050565b61410a8161405e565b82525050565b60006020820190506141256000830184614101565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006141616020836138b7565b915061416c8261412b565b602082019050919050565b6000602082019050818103600083015261419081614154565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006141d182613967565b91506141dc83613967565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561421557614214614197565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061425a82613967565b915061426583613967565b92508261427557614274614220565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806142c757607f821691505b6020821081036142da576142d9614280565b5b50919050565b7f6d696e7420686173206265656e20706175736564000000000000000000000000600082015250565b60006143166014836138b7565b9150614321826142e0565b602082019050919050565b6000602082019050818103600083015261434581614309565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000614382601f836138b7565b915061438d8261434c565b602082019050919050565b600060208201905081810360008301526143b181614375565b9050919050565b60006143c382613967565b91506143ce83613967565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561440357614402614197565b5b828201905092915050565b7f4d6178204a5253204d696e742052656163686564000000000000000000000000600082015250565b60006144446014836138b7565b915061444f8261440e565b602082019050919050565b6000602082019050818103600083015261447381614437565b9050919050565b7f4d6178204a525320706572206164647265737320697320320000000000000000600082015250565b60006144b06018836138b7565b91506144bb8261447a565b602082019050919050565b600060208201905081810360008301526144df816144a3565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614542602f836138b7565b915061454d826144e6565b604082019050919050565b6000602082019050818103600083015261457181614535565b9050919050565b600081905092915050565b600061458e826138ac565b6145988185614578565b93506145a88185602086016138c8565b80840191505092915050565b60006145c08285614583565b91506145cc8284614583565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006146346026836138b7565b915061463f826145d8565b604082019050919050565b6000602082019050818103600083015261466381614627565b9050919050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b60006146c6602a836138b7565b91506146d18261466a565b604082019050919050565b600060208201905081810360008301526146f5816146b9565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b60006147326019836138b7565b915061473d826146fc565b602082019050919050565b6000602082019050818103600083015261476181614725565b9050919050565b600060408201905061477d60008301856139ca565b61478a60208301846139ca565b9392505050565b6000815190506147a081613ea4565b92915050565b6000602082840312156147bc576147bb613705565b5b60006147ca84828501614791565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60006147fa826147d3565b61480481856147de565b93506148148185602086016138c8565b61481d816138fb565b840191505092915050565b600060808201905061483d60008301876139ca565b61484a60208301866139ca565b6148576040830185613a6c565b818103606083015261486981846147ef565b905095945050505050565b6000815190506148838161373b565b92915050565b60006020828403121561489f5761489e613705565b5b60006148ad84828501614874565b91505092915050565b60006148c182613967565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148f3576148f2614197565b5b600182019050919050565b600061490982613967565b915061491483613967565b92508282101561492757614926614197565b5b828203905092915050565b600061493d82613967565b915061494883613967565b92508261495857614957614220565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212208a7bd2a6e83b692e8e558d53e1361e5570faac0170a65c2b29286d748e6ca74764736f6c634300080d0033
Deployed Bytecode Sourcemap
40346:23190:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42494:314;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;60862:153;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;45616:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;46380:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;45951:363;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;40792:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;41734:312;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;47245:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15816:442;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;29888:143;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;47512:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;60703:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;63032:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;62757:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;61450:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;45424:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42872:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;37704:103;;;;;;;;;;;;;:::i;:::-;;61419:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;63191:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;37053:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;61265:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;45785:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;62160:367;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;46656:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;62656:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;61023;;;;;;;;;;;;;:::i;:::-;;47794:395;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;62924:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;61569:330;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;63217:78;;;;;;;;;;;;;:::i;:::-;;62066:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;62535:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;61160:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;47014:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;62037:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;37962:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;42494:314;42605:4;42657:25;42642:40;;;:11;:40;;;;:105;;;;42714:33;42699:48;;;:11;:48;;;;42642:105;:158;;;;42764:36;42788:11;42764:23;:36::i;:::-;42642:158;42622:178;;42494:314;;;:::o;60862:153::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;60959:48:::1;60978:8;60988:18;60959;:48::i;:::-;60862:153:::0;;:::o;45616:100::-;45670:13;45703:5;;;;;;;;;;;;;;;;;45696:12;;45616:100;:::o;46380:204::-;46448:7;46473:16;46481:7;46473;:16::i;:::-;46468:64;;46498:34;;;;;;;;;;;;;;46468:64;46552:15;:24;46568:7;46552:24;;;;;;;;;;;;;;;;;;;;;46545:31;;46380:204;;;:::o;45951:363::-;46024:13;46040:16;46048:7;46040;:16::i;:::-;46024:32;;46077:5;46071:11;;:2;:11;;;46067:48;;46091:24;;;;;;;;;;;;;;46067:48;46148:5;46132:21;;:12;:10;:12::i;:::-;:21;;;;:63;;;;;46158:37;46175:5;46182:12;:10;:12::i;:::-;46158:16;:37::i;:::-;46157:38;46132:63;46128:138;;;46219:35;;;;;;;;;;;;;;46128:138;46278:28;46287:2;46291:7;46300:5;46278:8;:28::i;:::-;46013:301;45951:363;;:::o;40792:34::-;40822:4;40792:34;:::o;41734:312::-;41787:7;42012:15;:13;:15::i;:::-;41997:12;;41981:13;;:28;:46;41974:53;;41734:312;:::o;47245:196::-;47388:4;31237:10;31229:18;;:4;:18;;;31225:83;;31264:32;31285:10;31264:20;:32::i;:::-;31225:83;47405:28:::1;47415:4;47421:2;47425:7;47405:9;:28::i;:::-;47245:196:::0;;;;:::o;15816:442::-;15913:7;15922;15942:26;15971:17;:27;15989:8;15971:27;;;;;;;;;;;15942:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16043:1;16015:30;;:7;:16;;;:30;;;16011:92;;16072:19;16062:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16011:92;16115:21;16180:17;:15;:17::i;:::-;16139:58;;16153:7;:23;;;16140:36;;:10;:36;;;;:::i;:::-;16139:58;;;;:::i;:::-;16115:82;;16218:7;:16;;;16236:13;16210:40;;;;;;15816:442;;;;;:::o;29888:143::-;29988:42;29888:143;:::o;47512:211::-;47659:4;31237:10;31229:18;;:4;:18;;;31225:83;;31264:32;31285:10;31264:20;:32::i;:::-;31225:83;47676:39:::1;47693:4;47699:2;47703:7;47676:39;;;;;;;;;;;::::0;:16:::1;:39::i;:::-;47512:211:::0;;;;:::o;60703:104::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;60779:20:::1;60785:7;60794:4;60779:5;:20::i;:::-;60703:104:::0;:::o;63032:100::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;63105:19:::1;63113:5;63120:3;63105:7;:19::i;:::-;63032:100:::0;;:::o;62757:102::-;62811:4;62835:16;62843:7;62835;:16::i;:::-;62828:23;;62757:102;;;:::o;61450:107::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;61543:6:::1;61532:8;:17;;;;;;;;;;;;:::i;:::-;;61450:107:::0;:::o;45424:125::-;45488:7;45515:21;45528:7;45515:12;:21::i;:::-;:26;;;45508:33;;45424:125;;;:::o;42872:206::-;42936:7;42977:1;42960:19;;:5;:19;;;42956:60;;42988:28;;;;;;;;;;;;;;42956:60;43042:12;:19;43055:5;43042:19;;;;;;;;;;;;;;;:27;;;;;;;;;;;;43034:36;;43027:43;;42872:206;;;:::o;37704:103::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;37769:30:::1;37796:1;37769:18;:30::i;:::-;37704:103::o:0;61419:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;63191:17::-;;;;;;;;;;;;;:::o;37053:87::-;37099:7;37126:6;;;;;;;;;;;37119:13;;37053:87;:::o;61265:103::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;61356:4:::1;;61341:12;:19;;;;;;;:::i;:::-;;61265:103:::0;;:::o;45785:104::-;45841:13;45874:7;;;;;;;;;;;;;;;;;45867:14;;45785:104;:::o;62160:367::-;62234:4;63343:5;;;;;;;;;;;63342:6;63334:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;34176:1:::1;34774:7;;:19:::0;34766:63:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;34176:1;34907:7;:18;;;;40822:4:::2;62269:32;;62285:8;62269:13;:11;:13::i;:::-;:24;;;;:::i;:::-;:32;;62261:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;62387:1;62375:8;62345:27;62359:12;:10;:12::i;:::-;62345:13;:27::i;:::-;:38;;;;:::i;:::-;:43;;:70;;;;62403:12;:10;:12::i;:::-;62392:23;;:7;:5;:7::i;:::-;:23;;;62345:70;62337:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;62455:33;62465:12;:10;:12::i;:::-;62479:8;62455:9;:33::i;:::-;62506:13;;62499:20;;34132:1:::1;35086:7;:22;;;;62160:367:::0;;;:::o;46656:287::-;46767:12;:10;:12::i;:::-;46755:24;;:8;:24;;;46751:54;;46788:17;;;;;;;;;;;;;;46751:54;46863:8;46818:18;:32;46837:12;:10;:12::i;:::-;46818:32;;;;;;;;;;;;;;;:42;46851:8;46818:42;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;46916:8;46887:48;;46902:12;:10;:12::i;:::-;46887:48;;;46926:8;46887:48;;;;;;:::i;:::-;;;;;;;;46656:287;;:::o;62656:93::-;62700:7;62727:14;:12;:14::i;:::-;62720:21;;62656:93;:::o;61023:::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;61085:23:::1;:21;:23::i;:::-;61023:93::o:0;47794:395::-;47970:4;31237:10;31229:18;;:4;:18;;;31225:83;;31264:32;31285:10;31264:20;:32::i;:::-;31225:83;47987:28:::1;47997:4;48003:2;48007:7;47987:9;:28::i;:::-;48030:15;:2;:13;;;:15::i;:::-;:76;;;;;48050:56;48081:4;48087:2;48091:7;48100:5;48050:30;:56::i;:::-;48049:57;48030:76;48026:156;;;48130:40;;;;;;;;;;;;;;48026:156;47794:395:::0;;;;;:::o;62924:100::-;62976:6;63002:14;63010:5;63002:7;:14::i;:::-;62995:21;;62924:100;;;:::o;61569:330::-;61642:13;61676:16;61684:7;61676;:16::i;:::-;61668:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;61755:21;61779:8;61755:32;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;61829:1;61811:7;61805:21;:25;:86;;;;;;;;;;;;;;;;;61857:7;61866:18;:7;:16;:18::i;:::-;61840:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;61805:86;61798:93;;;61569:330;;;:::o;63217:78::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;63282:5:::1;;;;;;;;;;;63281:6;63273:5;;:14;;;;;;;;;;;;;;;;;;63217:78::o:0;62066:86::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;62138:5:::1;62131:4;:12;;;;62066:86:::0;:::o;62535:113::-;62593:7;62620:20;62634:5;62620:13;:20::i;:::-;62613:27;;62535:113;;;:::o;61160:97::-;61204:13;61237:12;61230:19;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;61160:97;:::o;47014:164::-;47111:4;47135:18;:25;47154:5;47135:25;;;;;;;;;;;;;;;:35;47161:8;47135:35;;;;;;;;;;;;;;;;;;;;;;;;;47128:42;;47014:164;;;;:::o;62037:19::-;;;;:::o;37962:201::-;37284:12;:10;:12::i;:::-;37273:23;;:7;:5;:7::i;:::-;:23;;;37265:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;38071:1:::1;38051:22;;:8;:22;;::::0;38043:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;38127:28;38146:8;38127:18;:28::i;:::-;37962:201:::0;:::o;15546:215::-;15648:4;15687:26;15672:41;;;:11;:41;;;;:81;;;;15717:36;15741:11;15717:23;:36::i;:::-;15672:81;15665:88;;15546:215;;;:::o;35790:98::-;35843:7;35870:10;35863:17;;35790:98;:::o;16908:332::-;17027:17;:15;:17::i;:::-;17011:33;;:12;:33;;;;17003:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;17130:1;17110:22;;:8;:22;;;17102:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;17197:35;;;;;;;;17209:8;17197:35;;;;;;17219:12;17197:35;;;;;17175:19;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16908:332;;:::o;48444:174::-;48501:4;48544:7;48525:15;:13;:15::i;:::-;:26;;:53;;;;;48565:13;;48555:7;:23;48525:53;:85;;;;;48583:11;:20;48595:7;48583:20;;;;;;;;;;;:27;;;;;;;;;;;;48582:28;48525:85;48518:92;;48444:174;;;:::o;57666:196::-;57808:2;57781:15;:24;57797:7;57781:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;57846:7;57842:2;57826:28;;57835:5;57826:28;;;;;;;;;;;;57666:196;;;:::o;41508:92::-;41564:7;41591:1;41584:8;;41508:92;:::o;31467:419::-;31706:1;29988:42;31658:45;;;:49;31654:225;;;29988:42;31729;;;31780:4;31787:8;31729:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31724:144;;31843:8;31824:28;;;;;;;;;;;:::i;:::-;;;;;;;;31724:144;31654:225;31467:419;:::o;52614:2130::-;52729:35;52767:21;52780:7;52767:12;:21::i;:::-;52729:59;;52827:4;52805:26;;:13;:18;;;:26;;;52801:67;;52840:28;;;;;;;;;;;;;;52801:67;52881:22;52923:4;52907:20;;:12;:10;:12::i;:::-;:20;;;:73;;;;52944:36;52961:4;52967:12;:10;:12::i;:::-;52944:16;:36::i;:::-;52907:73;:126;;;;53021:12;:10;:12::i;:::-;52997:36;;:20;53009:7;52997:11;:20::i;:::-;:36;;;52907:126;52881:153;;53052:17;53047:66;;53078:35;;;;;;;;;;;;;;53047:66;53142:1;53128:16;;:2;:16;;;53124:52;;53153:23;;;;;;;;;;;;;;53124:52;53189:43;53211:4;53217:2;53221:7;53230:1;53189:21;:43::i;:::-;53297:35;53314:1;53318:7;53327:4;53297:8;:35::i;:::-;53658:1;53628:12;:18;53641:4;53628:18;;;;;;;;;;;;;;;:26;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53702:1;53674:12;:16;53687:2;53674:16;;;;;;;;;;;;;;;:24;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53720:31;53754:11;:20;53766:7;53754:20;;;;;;;;;;;53720:54;;53805:2;53789:8;:13;;;:18;;;;;;;;;;;;;;;;;;53855:15;53822:8;:23;;;:49;;;;;;;;;;;;;;;;;;54123:19;54155:1;54145:7;:11;54123:33;;54171:31;54205:11;:24;54217:11;54205:24;;;;;;;;;;;54171:58;;54273:1;54248:27;;:8;:13;;;;;;;;;;;;:27;;;54244:384;;54458:13;;54443:11;:28;54439:174;;54512:4;54496:8;:13;;;:20;;;;;;;;;;;;;;;;;;54565:13;:28;;;54539:8;:23;;;:54;;;;;;;;;;;;;;;;;;54439:174;54244:384;53603:1036;;;54675:7;54671:2;54656:27;;54665:4;54656:27;;;;;;;;;;;;54694:42;54715:4;54721:2;54725:7;54734:1;54694:20;:42::i;:::-;52718:2026;;52614:2130;;;:::o;16540:97::-;16598:6;16624:5;16617:12;;16540:97;:::o;55140:2408::-;55220:35;55258:21;55271:7;55258:12;:21::i;:::-;55220:59;;55292:12;55307:13;:18;;;55292:33;;55342:13;55338:290;;;55372:22;55414:4;55398:20;;:12;:10;:12::i;:::-;:20;;;:77;;;;55439:36;55456:4;55462:12;:10;:12::i;:::-;55439:16;:36::i;:::-;55398:77;:134;;;;55520:12;:10;:12::i;:::-;55496:36;;:20;55508:7;55496:11;:20::i;:::-;:36;;;55398:134;55372:161;;55555:17;55550:66;;55581:35;;;;;;;;;;;;;;55550:66;55357:271;55338:290;55640:51;55662:4;55676:1;55680:7;55689:1;55640:21;:51::i;:::-;55756:35;55773:1;55777:7;55786:4;55756:8;:35::i;:::-;56087:31;56121:12;:18;56134:4;56121:18;;;;;;;;;;;;;;;56087:52;;56177:1;56154:11;:19;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56221:1;56193:11;:24;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56321:31;56355:11;:20;56367:7;56355:20;;;;;;;;;;;56321:54;;56406:4;56390:8;:13;;;:20;;;;;;;;;;;;;;;;;;56458:15;56425:8;:23;;;:49;;;;;;;;;;;;;;;;;;56507:4;56489:8;:15;;;:22;;;;;;;;;;;;;;;;;;56759:19;56791:1;56781:7;:11;56759:33;;56807:31;56841:11;:24;56853:11;56841:24;;;;;;;;;;;56807:58;;56909:1;56884:27;;:8;:13;;;;;;;;;;;;:27;;;56880:384;;57094:13;;57079:11;:28;57075:174;;57148:4;57132:8;:13;;;:20;;;;;;;;;;;;;;;;;;57201:13;:28;;;57175:8;:23;;;:54;;;;;;;;;;;;;;;;;;57075:174;56880:384;56062:1213;;;;57319:7;57315:1;57292:35;;57301:4;57292:35;;;;;;;;;;;;57338:50;57359:4;57373:1;57377:7;57386:1;57338:20;:50::i;:::-;57515:12;;:14;;;;;;;;;;;;;55209:2339;;55140:2408;;:::o;43950:101::-;44040:3;44014:12;:19;44027:5;44014:19;;;;;;;;;;;;;;;:23;;;:29;;;;;;;;;;;;;;;;;;43950:101;;:::o;44253:1109::-;44315:21;;:::i;:::-;44349:12;44364:7;44349:22;;44432:4;44413:15;:13;:15::i;:::-;:23;;:47;;;;;44447:13;;44440:4;:20;44413:47;44409:886;;;44481:31;44515:11;:17;44527:4;44515:17;;;;;;;;;;;44481:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44556:9;:16;;;44551:729;;44627:1;44601:28;;:9;:14;;;:28;;;44597:101;;44665:9;44658:16;;;;;;44597:101;45000:261;45007:4;45000:261;;;45040:6;;;;;;;;45085:11;:17;45097:4;45085:17;;;;;;;;;;;45073:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45159:1;45133:28;;:9;:14;;;:28;;;45129:109;;45201:9;45194:16;;;;;;45129:109;45000:261;;;44551:729;44462:833;44409:886;45323:31;;;;;;;;;;;;;;44253:1109;;;;:::o;38323:191::-;38397:16;38416:6;;;;;;;;;;;38397:25;;38442:8;38433:6;;:17;;;;;;;;;;;;;;;;;;38497:8;38466:40;;38487:8;38466:40;;;;;;;;;;;;38386:128;38323:191;:::o;43160:137::-;43221:7;43256:12;:19;43269:5;43256:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;43248:41;;43241:48;;43160:137;;;:::o;48702:104::-;48771:27;48781:2;48785:8;48771:27;;;;;;;;;;;;:9;:27::i;:::-;48702:104;;:::o;42139:283::-;42186:7;42388:15;:13;:15::i;:::-;42372:13;;:31;42365:38;;42139:283;:::o;17316:95::-;17384:19;;17377:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17316:95::o;3335:326::-;3395:4;3652:1;3630:7;:19;;;:23;3623:30;;3335:326;;;:::o;58354:667::-;58517:4;58554:2;58538:36;;;58575:12;:10;:12::i;:::-;58589:4;58595:7;58604:5;58538:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;58534:480;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;58789:1;58772:6;:13;:18;58768:235;;58818:40;;;;;;;;;;;;;;58768:235;58961:6;58955:13;58946:6;58942:2;58938:15;58931:38;58534:480;58667:45;;;58657:55;;;:6;:55;;;;58650:62;;;58354:667;;;;;;:::o;43650:112::-;43705:6;43731:12;:19;43744:5;43731:19;;;;;;;;;;;;;;;:23;;;;;;;;;;;;43724:30;;43650:112;;;:::o;355:723::-;411:13;641:1;632:5;:10;628:53;;659:10;;;;;;;;;;;;;;;;;;;;;628:53;691:12;706:5;691:20;;722:14;747:78;762:1;754:4;:9;747:78;;780:8;;;;;:::i;:::-;;;;811:2;803:10;;;;;:::i;:::-;;;747:78;;;835:19;867:6;857:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;835:39;;885:154;901:1;892:5;:10;885:154;;929:1;919:11;;;;;:::i;:::-;;;996:2;988:5;:10;;;;:::i;:::-;975:2;:24;;;;:::i;:::-;962:39;;945:6;952;945:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;1025:2;1016:11;;;;;:::i;:::-;;;885:154;;;1063:6;1049:21;;;;;355:723;;;;:::o;14025:157::-;14110:4;14149:25;14134:40;;;:11;:40;;;;14127:47;;14025:157;;;:::o;59669:159::-;;;;;:::o;60487:158::-;;;;;:::o;49179:1749::-;49302:20;49325:13;;49302:36;;49367:1;49353:16;;:2;:16;;;49349:48;;49378:19;;;;;;;;;;;;;;49349:48;49424:1;49412:8;:13;49408:44;;49434:18;;;;;;;;;;;;;;49408:44;49465:61;49495:1;49499:2;49503:12;49517:8;49465:21;:61::i;:::-;49838:8;49803:12;:16;49816:2;49803:16;;;;;;;;;;;;;;;:24;;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49902:8;49862:12;:16;49875:2;49862:16;;;;;;;;;;;;;;;:29;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49961:2;49928:11;:25;49940:12;49928:25;;;;;;;;;;;:30;;;:35;;;;;;;;;;;;;;;;;;50028:15;49978:11;:25;49990:12;49978:25;;;;;;;;;;;:40;;;:66;;;;;;;;;;;;;;;;;;50061:20;50084:12;50061:35;;50111:11;50140:8;50125:12;:23;50111:37;;50169:15;:2;:13;;;:15::i;:::-;50165:631;;;50205:313;50261:12;50257:2;50236:38;;50253:1;50236:38;;;;;;;;;;;;50302:69;50341:1;50345:2;50349:14;;;;;;50365:5;50302:30;:69::i;:::-;50297:174;;50407:40;;;;;;;;;;;;;;50297:174;50513:3;50498:12;:18;50205:313;;50599:12;50582:13;;:29;50578:43;;50613:8;;;50578:43;50165:631;;;50662:119;50718:14;;;;;;50714:2;50693:40;;50710:1;50693:40;;;;;;;;;;;;50776:3;50761:12;:18;50662:119;;50165:631;50826:12;50810:13;:28;;;;49778:1072;;50860:60;50889:1;50893:2;50897:12;50911:8;50860:20;:60::i;:::-;49291:1637;49179:1749;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:126::-;1555:7;1595:42;1588:5;1584:54;1573:65;;1518:126;;;:::o;1650:96::-;1687:7;1716:24;1734:5;1716:24;:::i;:::-;1705:35;;1650:96;;;:::o;1752:122::-;1825:24;1843:5;1825:24;:::i;:::-;1818:5;1815:35;1805:63;;1864:1;1861;1854:12;1805:63;1752:122;:::o;1880:139::-;1926:5;1964:6;1951:20;1942:29;;1980:33;2007:5;1980:33;:::i;:::-;1880:139;;;;:::o;2025:109::-;2061:7;2101:26;2094:5;2090:38;2079:49;;2025:109;;;:::o;2140:120::-;2212:23;2229:5;2212:23;:::i;:::-;2205:5;2202:34;2192:62;;2250:1;2247;2240:12;2192:62;2140:120;:::o;2266:137::-;2311:5;2349:6;2336:20;2327:29;;2365:32;2391:5;2365:32;:::i;:::-;2266:137;;;;:::o;2409:472::-;2476:6;2484;2533:2;2521:9;2512:7;2508:23;2504:32;2501:119;;;2539:79;;:::i;:::-;2501:119;2659:1;2684:53;2729:7;2720:6;2709:9;2705:22;2684:53;:::i;:::-;2674:63;;2630:117;2786:2;2812:52;2856:7;2847:6;2836:9;2832:22;2812:52;:::i;:::-;2802:62;;2757:117;2409:472;;;;;:::o;2887:99::-;2939:6;2973:5;2967:12;2957:22;;2887:99;;;:::o;2992:169::-;3076:11;3110:6;3105:3;3098:19;3150:4;3145:3;3141:14;3126:29;;2992:169;;;;:::o;3167:307::-;3235:1;3245:113;3259:6;3256:1;3253:13;3245:113;;;3344:1;3339:3;3335:11;3329:18;3325:1;3320:3;3316:11;3309:39;3281:2;3278:1;3274:10;3269:15;;3245:113;;;3376:6;3373:1;3370:13;3367:101;;;3456:1;3447:6;3442:3;3438:16;3431:27;3367:101;3216:258;3167:307;;;:::o;3480:102::-;3521:6;3572:2;3568:7;3563:2;3556:5;3552:14;3548:28;3538:38;;3480:102;;;:::o;3588:364::-;3676:3;3704:39;3737:5;3704:39;:::i;:::-;3759:71;3823:6;3818:3;3759:71;:::i;:::-;3752:78;;3839:52;3884:6;3879:3;3872:4;3865:5;3861:16;3839:52;:::i;:::-;3916:29;3938:6;3916:29;:::i;:::-;3911:3;3907:39;3900:46;;3680:272;3588:364;;;;:::o;3958:313::-;4071:4;4109:2;4098:9;4094:18;4086:26;;4158:9;4152:4;4148:20;4144:1;4133:9;4129:17;4122:47;4186:78;4259:4;4250:6;4186:78;:::i;:::-;4178:86;;3958:313;;;;:::o;4277:77::-;4314:7;4343:5;4332:16;;4277:77;;;:::o;4360:122::-;4433:24;4451:5;4433:24;:::i;:::-;4426:5;4423:35;4413:63;;4472:1;4469;4462:12;4413:63;4360:122;:::o;4488:139::-;4534:5;4572:6;4559:20;4550:29;;4588:33;4615:5;4588:33;:::i;:::-;4488:139;;;;:::o;4633:329::-;4692:6;4741:2;4729:9;4720:7;4716:23;4712:32;4709:119;;;4747:79;;:::i;:::-;4709:119;4867:1;4892:53;4937:7;4928:6;4917:9;4913:22;4892:53;:::i;:::-;4882:63;;4838:117;4633:329;;;;:::o;4968:118::-;5055:24;5073:5;5055:24;:::i;:::-;5050:3;5043:37;4968:118;;:::o;5092:222::-;5185:4;5223:2;5212:9;5208:18;5200:26;;5236:71;5304:1;5293:9;5289:17;5280:6;5236:71;:::i;:::-;5092:222;;;;:::o;5320:474::-;5388:6;5396;5445:2;5433:9;5424:7;5420:23;5416:32;5413:119;;;5451:79;;:::i;:::-;5413:119;5571:1;5596:53;5641:7;5632:6;5621:9;5617:22;5596:53;:::i;:::-;5586:63;;5542:117;5698:2;5724:53;5769:7;5760:6;5749:9;5745:22;5724:53;:::i;:::-;5714:63;;5669:118;5320:474;;;;;:::o;5800:89::-;5836:7;5876:6;5869:5;5865:18;5854:29;;5800:89;;;:::o;5895:115::-;5980:23;5997:5;5980:23;:::i;:::-;5975:3;5968:36;5895:115;;:::o;6016:218::-;6107:4;6145:2;6134:9;6130:18;6122:26;;6158:69;6224:1;6213:9;6209:17;6200:6;6158:69;:::i;:::-;6016:218;;;;:::o;6240:118::-;6327:24;6345:5;6327:24;:::i;:::-;6322:3;6315:37;6240:118;;:::o;6364:222::-;6457:4;6495:2;6484:9;6480:18;6472:26;;6508:71;6576:1;6565:9;6561:17;6552:6;6508:71;:::i;:::-;6364:222;;;;:::o;6592:619::-;6669:6;6677;6685;6734:2;6722:9;6713:7;6709:23;6705:32;6702:119;;;6740:79;;:::i;:::-;6702:119;6860:1;6885:53;6930:7;6921:6;6910:9;6906:22;6885:53;:::i;:::-;6875:63;;6831:117;6987:2;7013:53;7058:7;7049:6;7038:9;7034:22;7013:53;:::i;:::-;7003:63;;6958:118;7115:2;7141:53;7186:7;7177:6;7166:9;7162:22;7141:53;:::i;:::-;7131:63;;7086:118;6592:619;;;;;:::o;7217:474::-;7285:6;7293;7342:2;7330:9;7321:7;7317:23;7313:32;7310:119;;;7348:79;;:::i;:::-;7310:119;7468:1;7493:53;7538:7;7529:6;7518:9;7514:22;7493:53;:::i;:::-;7483:63;;7439:117;7595:2;7621:53;7666:7;7657:6;7646:9;7642:22;7621:53;:::i;:::-;7611:63;;7566:118;7217:474;;;;;:::o;7697:332::-;7818:4;7856:2;7845:9;7841:18;7833:26;;7869:71;7937:1;7926:9;7922:17;7913:6;7869:71;:::i;:::-;7950:72;8018:2;8007:9;8003:18;7994:6;7950:72;:::i;:::-;7697:332;;;;;:::o;8035:60::-;8063:3;8084:5;8077:12;;8035:60;;;:::o;8101:142::-;8151:9;8184:53;8202:34;8211:24;8229:5;8211:24;:::i;:::-;8202:34;:::i;:::-;8184:53;:::i;:::-;8171:66;;8101:142;;;:::o;8249:126::-;8299:9;8332:37;8363:5;8332:37;:::i;:::-;8319:50;;8249:126;;;:::o;8381:158::-;8463:9;8496:37;8527:5;8496:37;:::i;:::-;8483:50;;8381:158;;;:::o;8545:195::-;8664:69;8727:5;8664:69;:::i;:::-;8659:3;8652:82;8545:195;;:::o;8746:286::-;8871:4;8909:2;8898:9;8894:18;8886:26;;8922:103;9022:1;9011:9;9007:17;8998:6;8922:103;:::i;:::-;8746:286;;;;:::o;9038:101::-;9074:7;9114:18;9107:5;9103:30;9092:41;;9038:101;;;:::o;9145:120::-;9217:23;9234:5;9217:23;:::i;:::-;9210:5;9207:34;9197:62;;9255:1;9252;9245:12;9197:62;9145:120;:::o;9271:137::-;9316:5;9354:6;9341:20;9332:29;;9370:32;9396:5;9370:32;:::i;:::-;9271:137;;;;:::o;9414:472::-;9481:6;9489;9538:2;9526:9;9517:7;9513:23;9509:32;9506:119;;;9544:79;;:::i;:::-;9506:119;9664:1;9689:53;9734:7;9725:6;9714:9;9710:22;9689:53;:::i;:::-;9679:63;;9635:117;9791:2;9817:52;9861:7;9852:6;9841:9;9837:22;9817:52;:::i;:::-;9807:62;;9762:117;9414:472;;;;;:::o;9892:117::-;10001:1;9998;9991:12;10015:117;10124:1;10121;10114:12;10138:180;10186:77;10183:1;10176:88;10283:4;10280:1;10273:15;10307:4;10304:1;10297:15;10324:281;10407:27;10429:4;10407:27;:::i;:::-;10399:6;10395:40;10537:6;10525:10;10522:22;10501:18;10489:10;10486:34;10483:62;10480:88;;;10548:18;;:::i;:::-;10480:88;10588:10;10584:2;10577:22;10367:238;10324:281;;:::o;10611:129::-;10645:6;10672:20;;:::i;:::-;10662:30;;10701:33;10729:4;10721:6;10701:33;:::i;:::-;10611:129;;;:::o;10746:308::-;10808:4;10898:18;10890:6;10887:30;10884:56;;;10920:18;;:::i;:::-;10884:56;10958:29;10980:6;10958:29;:::i;:::-;10950:37;;11042:4;11036;11032:15;11024:23;;10746:308;;;:::o;11060:154::-;11144:6;11139:3;11134;11121:30;11206:1;11197:6;11192:3;11188:16;11181:27;11060:154;;;:::o;11220:412::-;11298:5;11323:66;11339:49;11381:6;11339:49;:::i;:::-;11323:66;:::i;:::-;11314:75;;11412:6;11405:5;11398:21;11450:4;11443:5;11439:16;11488:3;11479:6;11474:3;11470:16;11467:25;11464:112;;;11495:79;;:::i;:::-;11464:112;11585:41;11619:6;11614:3;11609;11585:41;:::i;:::-;11304:328;11220:412;;;;;:::o;11652:340::-;11708:5;11757:3;11750:4;11742:6;11738:17;11734:27;11724:122;;11765:79;;:::i;:::-;11724:122;11882:6;11869:20;11907:79;11982:3;11974:6;11967:4;11959:6;11955:17;11907:79;:::i;:::-;11898:88;;11714:278;11652:340;;;;:::o;11998:509::-;12067:6;12116:2;12104:9;12095:7;12091:23;12087:32;12084:119;;;12122:79;;:::i;:::-;12084:119;12270:1;12259:9;12255:17;12242:31;12300:18;12292:6;12289:30;12286:117;;;12322:79;;:::i;:::-;12286:117;12427:63;12482:7;12473:6;12462:9;12458:22;12427:63;:::i;:::-;12417:73;;12213:287;11998:509;;;;:::o;12513:329::-;12572:6;12621:2;12609:9;12600:7;12596:23;12592:32;12589:119;;;12627:79;;:::i;:::-;12589:119;12747:1;12772:53;12817:7;12808:6;12797:9;12793:22;12772:53;:::i;:::-;12762:63;;12718:117;12513:329;;;;:::o;12848:117::-;12957:1;12954;12947:12;12971:117;13080:1;13077;13070:12;13108:553;13166:8;13176:6;13226:3;13219:4;13211:6;13207:17;13203:27;13193:122;;13234:79;;:::i;:::-;13193:122;13347:6;13334:20;13324:30;;13377:18;13369:6;13366:30;13363:117;;;13399:79;;:::i;:::-;13363:117;13513:4;13505:6;13501:17;13489:29;;13567:3;13559:4;13551:6;13547:17;13537:8;13533:32;13530:41;13527:128;;;13574:79;;:::i;:::-;13527:128;13108:553;;;;;:::o;13667:529::-;13738:6;13746;13795:2;13783:9;13774:7;13770:23;13766:32;13763:119;;;13801:79;;:::i;:::-;13763:119;13949:1;13938:9;13934:17;13921:31;13979:18;13971:6;13968:30;13965:117;;;14001:79;;:::i;:::-;13965:117;14114:65;14171:7;14162:6;14151:9;14147:22;14114:65;:::i;:::-;14096:83;;;;13892:297;13667:529;;;;;:::o;14202:116::-;14272:21;14287:5;14272:21;:::i;:::-;14265:5;14262:32;14252:60;;14308:1;14305;14298:12;14252:60;14202:116;:::o;14324:133::-;14367:5;14405:6;14392:20;14383:29;;14421:30;14445:5;14421:30;:::i;:::-;14324:133;;;;:::o;14463:468::-;14528:6;14536;14585:2;14573:9;14564:7;14560:23;14556:32;14553:119;;;14591:79;;:::i;:::-;14553:119;14711:1;14736:53;14781:7;14772:6;14761:9;14757:22;14736:53;:::i;:::-;14726:63;;14682:117;14838:2;14864:50;14906:7;14897:6;14886:9;14882:22;14864:50;:::i;:::-;14854:60;;14809:115;14463:468;;;;;:::o;14937:307::-;14998:4;15088:18;15080:6;15077:30;15074:56;;;15110:18;;:::i;:::-;15074:56;15148:29;15170:6;15148:29;:::i;:::-;15140:37;;15232:4;15226;15222:15;15214:23;;14937:307;;;:::o;15250:410::-;15327:5;15352:65;15368:48;15409:6;15368:48;:::i;:::-;15352:65;:::i;:::-;15343:74;;15440:6;15433:5;15426:21;15478:4;15471:5;15467:16;15516:3;15507:6;15502:3;15498:16;15495:25;15492:112;;;15523:79;;:::i;:::-;15492:112;15613:41;15647:6;15642:3;15637;15613:41;:::i;:::-;15333:327;15250:410;;;;;:::o;15679:338::-;15734:5;15783:3;15776:4;15768:6;15764:17;15760:27;15750:122;;15791:79;;:::i;:::-;15750:122;15908:6;15895:20;15933:78;16007:3;15999:6;15992:4;15984:6;15980:17;15933:78;:::i;:::-;15924:87;;15740:277;15679:338;;;;:::o;16023:943::-;16118:6;16126;16134;16142;16191:3;16179:9;16170:7;16166:23;16162:33;16159:120;;;16198:79;;:::i;:::-;16159:120;16318:1;16343:53;16388:7;16379:6;16368:9;16364:22;16343:53;:::i;:::-;16333:63;;16289:117;16445:2;16471:53;16516:7;16507:6;16496:9;16492:22;16471:53;:::i;:::-;16461:63;;16416:118;16573:2;16599:53;16644:7;16635:6;16624:9;16620:22;16599:53;:::i;:::-;16589:63;;16544:118;16729:2;16718:9;16714:18;16701:32;16760:18;16752:6;16749:30;16746:117;;;16782:79;;:::i;:::-;16746:117;16887:62;16941:7;16932:6;16921:9;16917:22;16887:62;:::i;:::-;16877:72;;16672:287;16023:943;;;;;;;:::o;16972:115::-;17057:23;17074:5;17057:23;:::i;:::-;17052:3;17045:36;16972:115;;:::o;17093:218::-;17184:4;17222:2;17211:9;17207:18;17199:26;;17235:69;17301:1;17290:9;17286:17;17277:6;17235:69;:::i;:::-;17093:218;;;;:::o;17317:77::-;17354:7;17383:5;17372:16;;17317:77;;;:::o;17400:122::-;17473:24;17491:5;17473:24;:::i;:::-;17466:5;17463:35;17453:63;;17512:1;17509;17502:12;17453:63;17400:122;:::o;17528:139::-;17574:5;17612:6;17599:20;17590:29;;17628:33;17655:5;17628:33;:::i;:::-;17528:139;;;;:::o;17673:329::-;17732:6;17781:2;17769:9;17760:7;17756:23;17752:32;17749:119;;;17787:79;;:::i;:::-;17749:119;17907:1;17932:53;17977:7;17968:6;17957:9;17953:22;17932:53;:::i;:::-;17922:63;;17878:117;17673:329;;;;:::o;18008:474::-;18076:6;18084;18133:2;18121:9;18112:7;18108:23;18104:32;18101:119;;;18139:79;;:::i;:::-;18101:119;18259:1;18284:53;18329:7;18320:6;18309:9;18305:22;18284:53;:::i;:::-;18274:63;;18230:117;18386:2;18412:53;18457:7;18448:6;18437:9;18433:22;18412:53;:::i;:::-;18402:63;;18357:118;18008:474;;;;;:::o;18488:118::-;18575:24;18593:5;18575:24;:::i;:::-;18570:3;18563:37;18488:118;;:::o;18612:222::-;18705:4;18743:2;18732:9;18728:18;18720:26;;18756:71;18824:1;18813:9;18809:17;18800:6;18756:71;:::i;:::-;18612:222;;;;:::o;18840:182::-;18980:34;18976:1;18968:6;18964:14;18957:58;18840:182;:::o;19028:366::-;19170:3;19191:67;19255:2;19250:3;19191:67;:::i;:::-;19184:74;;19267:93;19356:3;19267:93;:::i;:::-;19385:2;19380:3;19376:12;19369:19;;19028:366;;;:::o;19400:419::-;19566:4;19604:2;19593:9;19589:18;19581:26;;19653:9;19647:4;19643:20;19639:1;19628:9;19624:17;19617:47;19681:131;19807:4;19681:131;:::i;:::-;19673:139;;19400:419;;;:::o;19825:180::-;19873:77;19870:1;19863:88;19970:4;19967:1;19960:15;19994:4;19991:1;19984:15;20011:348;20051:7;20074:20;20092:1;20074:20;:::i;:::-;20069:25;;20108:20;20126:1;20108:20;:::i;:::-;20103:25;;20296:1;20228:66;20224:74;20221:1;20218:81;20213:1;20206:9;20199:17;20195:105;20192:131;;;20303:18;;:::i;:::-;20192:131;20351:1;20348;20344:9;20333:20;;20011:348;;;;:::o;20365:180::-;20413:77;20410:1;20403:88;20510:4;20507:1;20500:15;20534:4;20531:1;20524:15;20551:185;20591:1;20608:20;20626:1;20608:20;:::i;:::-;20603:25;;20642:20;20660:1;20642:20;:::i;:::-;20637:25;;20681:1;20671:35;;20686:18;;:::i;:::-;20671:35;20728:1;20725;20721:9;20716:14;;20551:185;;;;:::o;20742:180::-;20790:77;20787:1;20780:88;20887:4;20884:1;20877:15;20911:4;20908:1;20901:15;20928:320;20972:6;21009:1;21003:4;20999:12;20989:22;;21056:1;21050:4;21046:12;21077:18;21067:81;;21133:4;21125:6;21121:17;21111:27;;21067:81;21195:2;21187:6;21184:14;21164:18;21161:38;21158:84;;21214:18;;:::i;:::-;21158:84;20979:269;20928:320;;;:::o;21254:170::-;21394:22;21390:1;21382:6;21378:14;21371:46;21254:170;:::o;21430:366::-;21572:3;21593:67;21657:2;21652:3;21593:67;:::i;:::-;21586:74;;21669:93;21758:3;21669:93;:::i;:::-;21787:2;21782:3;21778:12;21771:19;;21430:366;;;:::o;21802:419::-;21968:4;22006:2;21995:9;21991:18;21983:26;;22055:9;22049:4;22045:20;22041:1;22030:9;22026:17;22019:47;22083:131;22209:4;22083:131;:::i;:::-;22075:139;;21802:419;;;:::o;22227:181::-;22367:33;22363:1;22355:6;22351:14;22344:57;22227:181;:::o;22414:366::-;22556:3;22577:67;22641:2;22636:3;22577:67;:::i;:::-;22570:74;;22653:93;22742:3;22653:93;:::i;:::-;22771:2;22766:3;22762:12;22755:19;;22414:366;;;:::o;22786:419::-;22952:4;22990:2;22979:9;22975:18;22967:26;;23039:9;23033:4;23029:20;23025:1;23014:9;23010:17;23003:47;23067:131;23193:4;23067:131;:::i;:::-;23059:139;;22786:419;;;:::o;23211:305::-;23251:3;23270:20;23288:1;23270:20;:::i;:::-;23265:25;;23304:20;23322:1;23304:20;:::i;:::-;23299:25;;23458:1;23390:66;23386:74;23383:1;23380:81;23377:107;;;23464:18;;:::i;:::-;23377:107;23508:1;23505;23501:9;23494:16;;23211:305;;;;:::o;23522:170::-;23662:22;23658:1;23650:6;23646:14;23639:46;23522:170;:::o;23698:366::-;23840:3;23861:67;23925:2;23920:3;23861:67;:::i;:::-;23854:74;;23937:93;24026:3;23937:93;:::i;:::-;24055:2;24050:3;24046:12;24039:19;;23698:366;;;:::o;24070:419::-;24236:4;24274:2;24263:9;24259:18;24251:26;;24323:9;24317:4;24313:20;24309:1;24298:9;24294:17;24287:47;24351:131;24477:4;24351:131;:::i;:::-;24343:139;;24070:419;;;:::o;24495:174::-;24635:26;24631:1;24623:6;24619:14;24612:50;24495:174;:::o;24675:366::-;24817:3;24838:67;24902:2;24897:3;24838:67;:::i;:::-;24831:74;;24914:93;25003:3;24914:93;:::i;:::-;25032:2;25027:3;25023:12;25016:19;;24675:366;;;:::o;25047:419::-;25213:4;25251:2;25240:9;25236:18;25228:26;;25300:9;25294:4;25290:20;25286:1;25275:9;25271:17;25264:47;25328:131;25454:4;25328:131;:::i;:::-;25320:139;;25047:419;;;:::o;25472:234::-;25612:34;25608:1;25600:6;25596:14;25589:58;25681:17;25676:2;25668:6;25664:15;25657:42;25472:234;:::o;25712:366::-;25854:3;25875:67;25939:2;25934:3;25875:67;:::i;:::-;25868:74;;25951:93;26040:3;25951:93;:::i;:::-;26069:2;26064:3;26060:12;26053:19;;25712:366;;;:::o;26084:419::-;26250:4;26288:2;26277:9;26273:18;26265:26;;26337:9;26331:4;26327:20;26323:1;26312:9;26308:17;26301:47;26365:131;26491:4;26365:131;:::i;:::-;26357:139;;26084:419;;;:::o;26509:148::-;26611:11;26648:3;26633:18;;26509:148;;;;:::o;26663:377::-;26769:3;26797:39;26830:5;26797:39;:::i;:::-;26852:89;26934:6;26929:3;26852:89;:::i;:::-;26845:96;;26950:52;26995:6;26990:3;26983:4;26976:5;26972:16;26950:52;:::i;:::-;27027:6;27022:3;27018:16;27011:23;;26773:267;26663:377;;;;:::o;27046:435::-;27226:3;27248:95;27339:3;27330:6;27248:95;:::i;:::-;27241:102;;27360:95;27451:3;27442:6;27360:95;:::i;:::-;27353:102;;27472:3;27465:10;;27046:435;;;;;:::o;27487:225::-;27627:34;27623:1;27615:6;27611:14;27604:58;27696:8;27691:2;27683:6;27679:15;27672:33;27487:225;:::o;27718:366::-;27860:3;27881:67;27945:2;27940:3;27881:67;:::i;:::-;27874:74;;27957:93;28046:3;27957:93;:::i;:::-;28075:2;28070:3;28066:12;28059:19;;27718:366;;;:::o;28090:419::-;28256:4;28294:2;28283:9;28279:18;28271:26;;28343:9;28337:4;28333:20;28329:1;28318:9;28314:17;28307:47;28371:131;28497:4;28371:131;:::i;:::-;28363:139;;28090:419;;;:::o;28515:229::-;28655:34;28651:1;28643:6;28639:14;28632:58;28724:12;28719:2;28711:6;28707:15;28700:37;28515:229;:::o;28750:366::-;28892:3;28913:67;28977:2;28972:3;28913:67;:::i;:::-;28906:74;;28989:93;29078:3;28989:93;:::i;:::-;29107:2;29102:3;29098:12;29091:19;;28750:366;;;:::o;29122:419::-;29288:4;29326:2;29315:9;29311:18;29303:26;;29375:9;29369:4;29365:20;29361:1;29350:9;29346:17;29339:47;29403:131;29529:4;29403:131;:::i;:::-;29395:139;;29122:419;;;:::o;29547:175::-;29687:27;29683:1;29675:6;29671:14;29664:51;29547:175;:::o;29728:366::-;29870:3;29891:67;29955:2;29950:3;29891:67;:::i;:::-;29884:74;;29967:93;30056:3;29967:93;:::i;:::-;30085:2;30080:3;30076:12;30069:19;;29728:366;;;:::o;30100:419::-;30266:4;30304:2;30293:9;30289:18;30281:26;;30353:9;30347:4;30343:20;30339:1;30328:9;30324:17;30317:47;30381:131;30507:4;30381:131;:::i;:::-;30373:139;;30100:419;;;:::o;30525:332::-;30646:4;30684:2;30673:9;30669:18;30661:26;;30697:71;30765:1;30754:9;30750:17;30741:6;30697:71;:::i;:::-;30778:72;30846:2;30835:9;30831:18;30822:6;30778:72;:::i;:::-;30525:332;;;;;:::o;30863:137::-;30917:5;30948:6;30942:13;30933:22;;30964:30;30988:5;30964:30;:::i;:::-;30863:137;;;;:::o;31006:345::-;31073:6;31122:2;31110:9;31101:7;31097:23;31093:32;31090:119;;;31128:79;;:::i;:::-;31090:119;31248:1;31273:61;31326:7;31317:6;31306:9;31302:22;31273:61;:::i;:::-;31263:71;;31219:125;31006:345;;;;:::o;31357:98::-;31408:6;31442:5;31436:12;31426:22;;31357:98;;;:::o;31461:168::-;31544:11;31578:6;31573:3;31566:19;31618:4;31613:3;31609:14;31594:29;;31461:168;;;;:::o;31635:360::-;31721:3;31749:38;31781:5;31749:38;:::i;:::-;31803:70;31866:6;31861:3;31803:70;:::i;:::-;31796:77;;31882:52;31927:6;31922:3;31915:4;31908:5;31904:16;31882:52;:::i;:::-;31959:29;31981:6;31959:29;:::i;:::-;31954:3;31950:39;31943:46;;31725:270;31635:360;;;;:::o;32001:640::-;32196:4;32234:3;32223:9;32219:19;32211:27;;32248:71;32316:1;32305:9;32301:17;32292:6;32248:71;:::i;:::-;32329:72;32397:2;32386:9;32382:18;32373:6;32329:72;:::i;:::-;32411;32479:2;32468:9;32464:18;32455:6;32411:72;:::i;:::-;32530:9;32524:4;32520:20;32515:2;32504:9;32500:18;32493:48;32558:76;32629:4;32620:6;32558:76;:::i;:::-;32550:84;;32001:640;;;;;;;:::o;32647:141::-;32703:5;32734:6;32728:13;32719:22;;32750:32;32776:5;32750:32;:::i;:::-;32647:141;;;;:::o;32794:349::-;32863:6;32912:2;32900:9;32891:7;32887:23;32883:32;32880:119;;;32918:79;;:::i;:::-;32880:119;33038:1;33063:63;33118:7;33109:6;33098:9;33094:22;33063:63;:::i;:::-;33053:73;;33009:127;32794:349;;;;:::o;33149:233::-;33188:3;33211:24;33229:5;33211:24;:::i;:::-;33202:33;;33257:66;33250:5;33247:77;33244:103;;33327:18;;:::i;:::-;33244:103;33374:1;33367:5;33363:13;33356:20;;33149:233;;;:::o;33388:191::-;33428:4;33448:20;33466:1;33448:20;:::i;:::-;33443:25;;33482:20;33500:1;33482:20;:::i;:::-;33477:25;;33521:1;33518;33515:8;33512:34;;;33526:18;;:::i;:::-;33512:34;33571:1;33568;33564:9;33556:17;;33388:191;;;;:::o;33585:176::-;33617:1;33634:20;33652:1;33634:20;:::i;:::-;33629:25;;33668:20;33686:1;33668:20;:::i;:::-;33663:25;;33707:1;33697:35;;33712:18;;:::i;:::-;33697:35;33753:1;33750;33746:9;33741:14;;33585:176;;;;:::o;33767:180::-;33815:77;33812:1;33805:88;33912:4;33909:1;33902:15;33936:4;33933:1;33926:15
Swarm Source
ipfs://8a7bd2a6e83b692e8e558d53e1361e5570faac0170a65c2b29286d748e6ca747
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.