Overview
APE Balance
0 APE
APE Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 46 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Submit Feedback | 5049435 | 69 days ago | IN | 0 APE | 0.0076262 | ||||
Submit Feedback | 5038166 | 69 days ago | IN | 0 APE | 0.0076262 | ||||
Submit Feedback | 5037450 | 69 days ago | IN | 0 APE | 0.0076262 | ||||
Submit Feedback | 5037406 | 69 days ago | IN | 0 APE | 0.0076262 | ||||
Submit Feedback | 5036587 | 69 days ago | IN | 0 APE | 0.0076262 | ||||
Submit Feedback | 5036338 | 69 days ago | IN | 0 APE | 0.0076262 | ||||
Submit Feedback | 5022291 | 69 days ago | IN | 0 APE | 0.00832662 | ||||
Submit Feedback | 5018738 | 69 days ago | IN | 0 APE | 0.0076262 | ||||
Submit Feedback | 4956788 | 70 days ago | IN | 0 APE | 0.00832758 | ||||
Submit Feedback | 4956017 | 70 days ago | IN | 0 APE | 0.00832756 | ||||
Submit Feedback | 4955970 | 70 days ago | IN | 0 APE | 0.00832969 | ||||
Submit Feedback | 4955577 | 70 days ago | IN | 0 APE | 0.00889846 | ||||
Submit Feedback | 4955559 | 70 days ago | IN | 0 APE | 0.00889848 | ||||
Submit Feedback | 4952304 | 70 days ago | IN | 0 APE | 0.00832878 | ||||
Submit Feedback | 4948213 | 70 days ago | IN | 0 APE | 0.00890308 | ||||
Add Episode | 4942467 | 70 days ago | IN | 0 APE | 0.00256782 | ||||
Submit Feedback | 4941621 | 70 days ago | IN | 0 APE | 0.00890311 | ||||
Submit Feedback | 4941290 | 70 days ago | IN | 0 APE | 0.00890308 | ||||
Submit Feedback | 4940284 | 70 days ago | IN | 0 APE | 0.00889785 | ||||
Submit Feedback | 4938313 | 70 days ago | IN | 0 APE | 0.00890308 | ||||
Submit Feedback | 4933635 | 70 days ago | IN | 0 APE | 0.00890311 | ||||
Submit Feedback | 4932429 | 70 days ago | IN | 0 APE | 0.00890306 | ||||
Submit Feedback | 4931987 | 70 days ago | IN | 0 APE | 0.00890308 | ||||
Submit Feedback | 4930585 | 70 days ago | IN | 0 APE | 0.00890308 | ||||
Submit Feedback | 4929607 | 70 days ago | IN | 0 APE | 0.00890552 |
Loading...
Loading
Contract Name:
DixoPodcastEngagement
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at apescan.io on 2024-11-21 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; interface IERC20 { function transfer(address to, uint256 amount) external returns (bool); function balanceOf(address account) external view returns (uint256); } contract DixoPodcastEngagement { IERC20 public dixoToken; address public owner; struct UserEngagement { mapping(uint256 => bool) hasRatedEpisode; mapping(uint256 => bool) hasGivenFeedback; mapping(uint256 => bool) hasSharedEpisode; mapping(bytes32 => uint256) lastEngagementByType; uint256 totalRewardsEarned; uint256 episodesEngaged; uint256 lastEngagementTime; } struct BasicAnalytics { uint256 totalFeedbacks; uint256 totalRatings; uint256 totalShares; uint256 averageRating; uint256 totalRewardsDistributed; uint256 uniqueEngagers; uint256 publishDate; uint256 firstEngagementTime; uint256 lastEngagementTime; } struct RewardType { uint256 amount; bool isActive; uint256 cooldownPeriod; string description; } mapping(bytes32 => RewardType) public rewardTypes; bytes32[] public allRewardTypes; mapping(address => UserEngagement) private userEngagements; mapping(uint256 => string[]) public episodeFeedbacks; mapping(uint256 => uint256) public episodeRatingsSum; mapping(uint256 => uint256) public episodeRatingsCount; mapping(uint256 => string) public episodeSpotifyIds; mapping(uint256 => string) public episodeTitles; mapping(uint256 => BasicAnalytics) public episodeAnalytics; uint256 public episodeCount; event FeedbackSubmitted(address indexed user, uint256 indexed episodeId, string feedback); event RatingSubmitted(address indexed user, uint256 indexed episodeId, uint256 rating); event RewardDistributed(address indexed user, uint256 amount, string rewardType); event EpisodeAdded(uint256 indexed episodeId, string spotifyId, string title); event RewardTypeAdded(bytes32 indexed rewardTypeId, uint256 amount, uint256 cooldownPeriod); event RewardTypeUpdated(bytes32 indexed rewardTypeId, uint256 newAmount, uint256 newCooldownPeriod); event EngagementRecorded(address indexed user, uint256 indexed episodeId, bytes32 indexed rewardTypeId); constructor(address _dixoToken) { dixoToken = IERC20(_dixoToken); owner = msg.sender; _addRewardType("FEEDBACK", 3 * 10**18, 0, "Episode feedback submission"); _addRewardType("RATING", 3 * 10**18, 0, "Episode rating submission"); _addRewardType("SOCIAL_SHARE", 2 * 10**18, 1 days, "Social media share"); } modifier validEpisodeId(uint256 episodeId) { require(episodeId > 0 && episodeId <= episodeCount, "Invalid episode ID"); require(bytes(episodeSpotifyIds[episodeId]).length > 0, "Episode not found"); _; } modifier validRating(uint256 rating) { require(rating >= 1 && rating <= 5, "Rating must be between 1 and 5"); _; } modifier onlyOwner() { require(msg.sender == owner, "Only owner can call this function"); _; } function _addRewardType( string memory name, uint256 amount, uint256 cooldownPeriod, string memory description ) private { bytes32 rewardTypeId = keccak256(abi.encodePacked(name)); rewardTypes[rewardTypeId] = RewardType({ amount: amount, isActive: true, cooldownPeriod: cooldownPeriod, description: description }); allRewardTypes.push(rewardTypeId); emit RewardTypeAdded(rewardTypeId, amount, cooldownPeriod); } function addRewardType( string calldata name, uint256 amount, uint256 cooldownPeriod, string calldata description ) external onlyOwner { _addRewardType(name, amount, cooldownPeriod, description); } function updateRewardType( bytes32 rewardTypeId, uint256 newAmount, uint256 newCooldownPeriod, bool isActive ) external onlyOwner { require(rewardTypes[rewardTypeId].amount > 0, "Reward type does not exist"); rewardTypes[rewardTypeId].amount = newAmount; rewardTypes[rewardTypeId].cooldownPeriod = newCooldownPeriod; rewardTypes[rewardTypeId].isActive = isActive; emit RewardTypeUpdated(rewardTypeId, newAmount, newCooldownPeriod); } function recordEngagement( address user, uint256 episodeId, bytes32 rewardTypeId ) external onlyOwner returns (bool) { RewardType storage rewardType = rewardTypes[rewardTypeId]; require(rewardType.isActive, "Reward type not active"); UserEngagement storage userEng = userEngagements[user]; if (rewardType.cooldownPeriod > 0) { require( block.timestamp >= userEng.lastEngagementByType[rewardTypeId] + rewardType.cooldownPeriod, "Cooldown period not elapsed" ); } userEng.lastEngagementByType[rewardTypeId] = block.timestamp; userEng.totalRewardsEarned += rewardType.amount; userEng.lastEngagementTime = block.timestamp; require(dixoToken.transfer(user, rewardType.amount), "Reward transfer failed"); emit EngagementRecorded(user, episodeId, rewardTypeId); emit RewardDistributed(user, rewardType.amount, rewardTypes[rewardTypeId].description); return true; } function hasGivenFeedback(address user, uint256 episodeId) public view returns (bool) { require(episodeId > 0 && episodeId <= episodeCount, "Invalid episode ID"); return userEngagements[user].hasGivenFeedback[episodeId]; } function hasRatedEpisode(address user, uint256 episodeId) public view returns (bool) { require(episodeId > 0 && episodeId <= episodeCount, "Invalid episode ID"); return userEngagements[user].hasRatedEpisode[episodeId]; } function submitFeedback(uint256 episodeId, string calldata feedback) external validEpisodeId(episodeId) { require(bytes(feedback).length >= 50, "Feedback must be at least 50 characters"); require(!userEngagements[msg.sender].hasGivenFeedback[episodeId], "Already gave feedback"); UserEngagement storage userEng = userEngagements[msg.sender]; BasicAnalytics storage analytics = episodeAnalytics[episodeId]; userEng.hasGivenFeedback[episodeId] = true; userEng.episodesEngaged += 1; userEng.lastEngagementTime = block.timestamp; userEng.totalRewardsEarned += rewardTypes[keccak256(abi.encodePacked("FEEDBACK"))].amount; episodeFeedbacks[episodeId].push(feedback); analytics.totalFeedbacks += 1; analytics.totalRewardsDistributed += rewardTypes[keccak256(abi.encodePacked("FEEDBACK"))].amount; analytics.uniqueEngagers += 1; analytics.lastEngagementTime = block.timestamp; if (analytics.firstEngagementTime == 0) { analytics.firstEngagementTime = block.timestamp; } require(dixoToken.transfer(msg.sender, rewardTypes[keccak256(abi.encodePacked("FEEDBACK"))].amount), "Reward transfer failed"); emit FeedbackSubmitted(msg.sender, episodeId, feedback); emit RewardDistributed(msg.sender, rewardTypes[keccak256(abi.encodePacked("FEEDBACK"))].amount, "FEEDBACK"); } function submitRating(uint256 episodeId, uint256 rating) external validEpisodeId(episodeId) validRating(rating) { require(!userEngagements[msg.sender].hasRatedEpisode[episodeId], "Already rated"); UserEngagement storage userEng = userEngagements[msg.sender]; BasicAnalytics storage analytics = episodeAnalytics[episodeId]; userEng.hasRatedEpisode[episodeId] = true; userEng.episodesEngaged += 1; userEng.lastEngagementTime = block.timestamp; userEng.totalRewardsEarned += rewardTypes[keccak256(abi.encodePacked("RATING"))].amount; episodeRatingsSum[episodeId] += rating; episodeRatingsCount[episodeId] += 1; analytics.totalRatings += 1; analytics.averageRating = episodeRatingsSum[episodeId] / episodeRatingsCount[episodeId]; analytics.totalRewardsDistributed += rewardTypes[keccak256(abi.encodePacked("RATING"))].amount; analytics.uniqueEngagers += 1; analytics.lastEngagementTime = block.timestamp; if (analytics.firstEngagementTime == 0) { analytics.firstEngagementTime = block.timestamp; } require(dixoToken.transfer(msg.sender, rewardTypes[keccak256(abi.encodePacked("RATING"))].amount), "Reward transfer failed"); emit RatingSubmitted(msg.sender, episodeId, rating); emit RewardDistributed(msg.sender, rewardTypes[keccak256(abi.encodePacked("RATING"))].amount, "RATING"); } function addEpisode(string calldata spotifyId, string calldata title) external onlyOwner { episodeCount += 1; episodeSpotifyIds[episodeCount] = spotifyId; episodeTitles[episodeCount] = title; BasicAnalytics storage analytics = episodeAnalytics[episodeCount]; analytics.publishDate = block.timestamp; emit EpisodeAdded(episodeCount, spotifyId, title); } function getEpisodeStats(uint256 episodeId) external view validEpisodeId(episodeId) returns ( string memory spotifyId, string memory title, uint256 totalFeedbacks, uint256 totalRatings, uint256 averageRating, uint256 totalRewards, uint256 uniqueEngagers ) { BasicAnalytics storage analytics = episodeAnalytics[episodeId]; return ( episodeSpotifyIds[episodeId], episodeTitles[episodeId], analytics.totalFeedbacks, analytics.totalRatings, analytics.averageRating, analytics.totalRewardsDistributed, analytics.uniqueEngagers ); } function getUserStats(address user) external view returns ( uint256 totalRewards, uint256 episodesEngaged, uint256 lastEngagement ) { UserEngagement storage engagement = userEngagements[user]; return ( engagement.totalRewardsEarned, engagement.episodesEngaged, engagement.lastEngagementTime ); } function getEpisodeFeedbacks(uint256 episodeId) external view validEpisodeId(episodeId) returns (string[] memory) { return episodeFeedbacks[episodeId]; } function getAllEpisodes() external view returns (uint256[] memory ids, string[] memory titles) { ids = new uint256[](episodeCount); titles = new string[](episodeCount); for (uint256 i = 1; i <= episodeCount; i++) { ids[i-1] = i; titles[i-1] = episodeTitles[i]; } return (ids, titles); } function getRewardTypeInfo(bytes32 rewardTypeId) external view returns ( uint256 amount, bool isActive, uint256 cooldownPeriod, string memory description ) { RewardType storage reward = rewardTypes[rewardTypeId]; return (reward.amount, reward.isActive, reward.cooldownPeriod, reward.description); } function getAllRewardTypes() external view returns ( bytes32[] memory ids, uint256[] memory amounts, bool[] memory activeStates, uint256[] memory cooldowns, string[] memory descriptions ) { uint256 length = allRewardTypes.length; ids = new bytes32[](length); amounts = new uint256[](length); activeStates = new bool[](length); cooldowns = new uint256[](length); descriptions = new string[](length); for (uint256 i = 0; i < length; i++) { bytes32 rewardTypeId = allRewardTypes[i]; RewardType storage reward = rewardTypes[rewardTypeId]; ids[i] = rewardTypeId; amounts[i] = reward.amount; activeStates[i] = reward.isActive; cooldowns[i] = reward.cooldownPeriod; descriptions[i] = reward.description; } } function updateRewardToken(address newToken) external onlyOwner { dixoToken = IERC20(newToken); } function transferOwnership(address newOwner) external onlyOwner { require(newOwner != address(0), "Invalid address"); owner = newOwner; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_dixoToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"episodeId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"rewardTypeId","type":"bytes32"}],"name":"EngagementRecorded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"episodeId","type":"uint256"},{"indexed":false,"internalType":"string","name":"spotifyId","type":"string"},{"indexed":false,"internalType":"string","name":"title","type":"string"}],"name":"EpisodeAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"episodeId","type":"uint256"},{"indexed":false,"internalType":"string","name":"feedback","type":"string"}],"name":"FeedbackSubmitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"episodeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rating","type":"uint256"}],"name":"RatingSubmitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"rewardType","type":"string"}],"name":"RewardDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"rewardTypeId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"cooldownPeriod","type":"uint256"}],"name":"RewardTypeAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"rewardTypeId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newCooldownPeriod","type":"uint256"}],"name":"RewardTypeUpdated","type":"event"},{"inputs":[{"internalType":"string","name":"spotifyId","type":"string"},{"internalType":"string","name":"title","type":"string"}],"name":"addEpisode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"cooldownPeriod","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"name":"addRewardType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allRewardTypes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dixoToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"episodeAnalytics","outputs":[{"internalType":"uint256","name":"totalFeedbacks","type":"uint256"},{"internalType":"uint256","name":"totalRatings","type":"uint256"},{"internalType":"uint256","name":"totalShares","type":"uint256"},{"internalType":"uint256","name":"averageRating","type":"uint256"},{"internalType":"uint256","name":"totalRewardsDistributed","type":"uint256"},{"internalType":"uint256","name":"uniqueEngagers","type":"uint256"},{"internalType":"uint256","name":"publishDate","type":"uint256"},{"internalType":"uint256","name":"firstEngagementTime","type":"uint256"},{"internalType":"uint256","name":"lastEngagementTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"episodeCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"episodeFeedbacks","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"episodeRatingsCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"episodeRatingsSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"episodeSpotifyIds","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"episodeTitles","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllEpisodes","outputs":[{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"string[]","name":"titles","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllRewardTypes","outputs":[{"internalType":"bytes32[]","name":"ids","type":"bytes32[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bool[]","name":"activeStates","type":"bool[]"},{"internalType":"uint256[]","name":"cooldowns","type":"uint256[]"},{"internalType":"string[]","name":"descriptions","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"episodeId","type":"uint256"}],"name":"getEpisodeFeedbacks","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"episodeId","type":"uint256"}],"name":"getEpisodeStats","outputs":[{"internalType":"string","name":"spotifyId","type":"string"},{"internalType":"string","name":"title","type":"string"},{"internalType":"uint256","name":"totalFeedbacks","type":"uint256"},{"internalType":"uint256","name":"totalRatings","type":"uint256"},{"internalType":"uint256","name":"averageRating","type":"uint256"},{"internalType":"uint256","name":"totalRewards","type":"uint256"},{"internalType":"uint256","name":"uniqueEngagers","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"rewardTypeId","type":"bytes32"}],"name":"getRewardTypeInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint256","name":"cooldownPeriod","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUserStats","outputs":[{"internalType":"uint256","name":"totalRewards","type":"uint256"},{"internalType":"uint256","name":"episodesEngaged","type":"uint256"},{"internalType":"uint256","name":"lastEngagement","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"episodeId","type":"uint256"}],"name":"hasGivenFeedback","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"episodeId","type":"uint256"}],"name":"hasRatedEpisode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"episodeId","type":"uint256"},{"internalType":"bytes32","name":"rewardTypeId","type":"bytes32"}],"name":"recordEngagement","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"rewardTypes","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint256","name":"cooldownPeriod","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"episodeId","type":"uint256"},{"internalType":"string","name":"feedback","type":"string"}],"name":"submitFeedback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"episodeId","type":"uint256"},{"internalType":"uint256","name":"rating","type":"uint256"}],"name":"submitRating","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newToken","type":"address"}],"name":"updateRewardToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"rewardTypeId","type":"bytes32"},{"internalType":"uint256","name":"newAmount","type":"uint256"},{"internalType":"uint256","name":"newCooldownPeriod","type":"uint256"},{"internalType":"bool","name":"isActive","type":"bool"}],"name":"updateRewardType","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801562000010575f80fd5b5060405162002dc738038062002dc78339810160408190526200003391620002b2565b5f80546001600160a01b0383166001600160a01b031991821617825560018054909116331790556040805180820182526008815267464545444241434b60c01b6020808301919091528251808401909352601b83527f457069736f646520666565646261636b207375626d697373696f6e000000000090830152620000c59290916729a2241af62c00009190620001a8565b6200013460405180604001604052806006815260200165524154494e4760d01b8152506729a2241af62c00005f6040518060400160405280601981526020017f457069736f646520726174696e67207375626d697373696f6e00000000000000815250620001a860201b60201c565b620001a16040518060400160405280600c81526020016b534f4349414c5f534841524560a01b815250671bc16d674ec800006201518060405180604001604052806012815260200171536f6369616c206d6564696120736861726560701b815250620001a860201b60201c565b5062000477565b5f84604051602001620001bc9190620002e1565b60408051808303601f1901815282825280516020918201206080840183528784526001828501818152858501898152606087018981525f85815260029687905296909620875181559151928201805460ff1916931515939093179092559051928101929092559151919350906003820190620002399082620003af565b5050600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0182905550604080518581526020810185905282917ffd8e84b86c64d40bf05a7726c354f80221e993b1c690421b3cd3e249fb703fe0910160405180910390a25050505050565b5f60208284031215620002c3575f80fd5b81516001600160a01b0381168114620002da575f80fd5b9392505050565b5f82515f5b81811015620003025760208186018101518583015201620002e6565b505f920191825250919050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200033857607f821691505b6020821081036200035757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003aa575f81815260208120601f850160051c81016020861015620003855750805b601f850160051c820191505b81811015620003a65782815560010162000391565b5050505b505050565b81516001600160401b03811115620003cb57620003cb6200030f565b620003e381620003dc845462000323565b846200035d565b602080601f83116001811462000419575f8415620004015750858301515b5f19600386901b1c1916600185901b178555620003a6565b5f85815260208120601f198616915b82811015620004495788860151825594840194600190910190840162000428565b50858210156200046757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b61294280620004855f395ff3fe608060405234801561000f575f80fd5b50600436106101a1575f3560e01c806383c18d5e116100f3578063aedf309a11610093578063dcda3c9d1161006e578063dcda3c9d146104a9578063f1c183d0146104c8578063f2fde38b146104db578063f8cf31cb146104ee575f80fd5b8063aedf309a1461045d578063afa4e17014610470578063afd8e60814610483575f80fd5b8063a243fa31116100ce578063a243fa31146103f9578063a34878a414610418578063a8649d651461042a578063add5d5881461043d575f80fd5b806383c18d5e146103a557806387dd0849146103b85780638da5cb5b146103ce575f80fd5b80633fd4c0bb1161015e5780635b6b8431116101395780635b6b8431146103555780636be153ae14610368578063708511711461037f5780637fe5a1cc14610392575f80fd5b80633fd4c0bb146102c75780634e43603a146102e05780635a7195f914610335575f80fd5b8063096b2b91146101a557806320b0c9d6146101cd57806325c04d23146101e2578063322e36fa1461027e57806332447b4c1461029157806337438519146102b4575b5f80fd5b6101b86101b3366004611fb7565b610501565b60405190151581526020015b60405180910390f35b6101e06101db366004612023565b610566565b005b61023a6101f036600461206a565b600a602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154908060050154908060060154908060070154908060080154905089565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e0830152610100820152610120016101c4565b6101e061028c366004612081565b6109cc565b6102a461029f36600461206a565b610aa4565b6040516101c49493929190612134565b6101b86102c2366004611fb7565b610b71565b6102cf610bce565b6040516101c49594939291906121f0565b61031a6102ee3660046122a8565b6001600160a01b03165f9081526004602081905260409091209081015460058201546006909201549092565b604080519384526020840192909252908201526060016101c4565b6103486103433660046122c8565b610ed1565b6040516101c491906122e8565b61034861036336600461206a565b610f82565b610371600b5481565b6040519081526020016101c4565b6101e061038d3660046122c8565b610f9a565b6103716103a036600461206a565b611412565b6103486103b336600461206a565b611431565b6103c0611449565b6040516101c49291906122fa565b6001546103e1906001600160a01b031681565b6040516001600160a01b0390911681526020016101c4565b61037161040736600461206a565b60066020525f908152604090205481565b5f546103e1906001600160a01b031681565b6101e0610438366004612337565b6115f0565b61045061044b36600461206a565b6116dd565b6040516101c49190612375565b6101e061046b366004612387565b611821565b6102a461047e36600461206a565b6118c8565b61049661049136600461206a565b61197b565b6040516101c49796959493929190612403565b6103716104b736600461206a565b60076020525f908152604090205481565b6101b86104d6366004612452565b611b4c565b6101e06104e93660046122a8565b611dc1565b6101e06104fc3660046122a8565b611e55565b5f80821180156105135750600b548211155b6105385760405162461bcd60e51b815260040161052f90612482565b60405180910390fd5b506001600160a01b0382165f90815260046020908152604080832084845290915290205460ff165b92915050565b825f811180156105785750600b548111155b6105945760405162461bcd60e51b815260040161052f90612482565b5f81815260086020526040812080546105ac906124ae565b9050116105cb5760405162461bcd60e51b815260040161052f906124e0565b603282101561062c5760405162461bcd60e51b815260206004820152602760248201527f466565646261636b206d757374206265206174206c65617374203530206368616044820152667261637465727360c81b606482015260840161052f565b335f90815260046020908152604080832087845260010190915290205460ff16156106915760405162461bcd60e51b8152602060048201526015602482015274416c7265616479206761766520666565646261636b60581b604482015260640161052f565b335f908152600460209081526040808320878452600a83528184206001808301909452918420805460ff191684179055600581018054919492939290916106d990849061251f565b909155505042600683015560405167464545444241434b60c01b60208201526002905f906028016040516020818303038152906040528051906020012081526020019081526020015f205f0154826004015f828254610738919061251f565b90915550505f86815260056020908152604082208054600181018255908352912001610765858783612590565b506001815f015f828254610779919061251f565b909155505060405167464545444241434b60c01b60208201526002905f906028016040516020818303038152906040528051906020012081526020019081526020015f205f0154816004015f8282546107d2919061251f565b925050819055506001816005015f8282546107ed919061251f565b909155505042600882015560078101545f0361080a574260078201555b5f80546040805167464545444241434b60c01b60208083019190915282516008818403018152602883018085528151918301919091208652600282528386205463a9059cbb60e01b90915233602c840152604c83015291516001600160a01b039093169363a9059cbb93606c808401949391929183900301908290875af1158015610897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bb919061264b565b6108d75760405162461bcd60e51b815260040161052f90612666565b85336001600160a01b03167fc7e666f164da054d2ca2bd712fb261158473066d414c8cfc33a1b9c7df775fe787876040516109139291906126be565b60405180910390a3336001600160a01b03167f49649141d16971a88c3cfdd73fec34babb1cf163cf8b804c8f537a023c6ce50660025f6040516020016109679067464545444241434b60c01b815260080190565b6040516020818303038152906040528051906020012081526020019081526020015f205f01546040516109bc91815260406020820181905260089082015267464545444241434b60c01b606082015260800190565b60405180910390a2505050505050565b6001546001600160a01b031633146109f65760405162461bcd60e51b815260040161052f906126d9565b6001600b5f828254610a08919061251f565b9091555050600b545f908152600860205260409020610a28848683612590565b50600b545f908152600960205260409020610a44828483612590565b50600b80545f908152600a602052604090819020426006820155915490517f4c47174aceef2329ac0aa8b9d70bdcc7a034d50212cca2651ecc2939dc518cbb90610a9590889088908890889061271a565b60405180910390a25050505050565b5f81815260026020819052604082208054600182015492820154600383018054869586956060959094909360ff909216929091908190610ae3906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0f906124ae565b8015610b5a5780601f10610b3157610100808354040283529160200191610b5a565b820191905f5260205f20905b815481529060010190602001808311610b3d57829003601f168201915b505050505090509450945094509450509193509193565b5f8082118015610b835750600b548211155b610b9f5760405162461bcd60e51b815260040161052f90612482565b506001600160a01b03919091165f90815260046020908152604080832093835260019093019052205460ff1690565b6003546060908190819081908190806001600160401b03811115610bf457610bf4612532565b604051908082528060200260200182016040528015610c1d578160200160208202803683370190505b509550806001600160401b03811115610c3857610c38612532565b604051908082528060200260200182016040528015610c61578160200160208202803683370190505b509450806001600160401b03811115610c7c57610c7c612532565b604051908082528060200260200182016040528015610ca5578160200160208202803683370190505b509350806001600160401b03811115610cc057610cc0612532565b604051908082528060200260200182016040528015610ce9578160200160208202803683370190505b509250806001600160401b03811115610d0457610d04612532565b604051908082528060200260200182016040528015610d3757816020015b6060815260200190600190039081610d225790505b5091505f5b81811015610ec8575f60038281548110610d5857610d5861274b565b905f5260205f20015490505f60025f8381526020019081526020015f20905081898481518110610d8a57610d8a61274b565b602002602001018181525050805f0154888481518110610dac57610dac61274b565b60209081029190910101526001810154875160ff90911690889085908110610dd657610dd661274b565b6020026020010190151590811515815250508060020154868481518110610dff57610dff61274b565b602002602001018181525050806003018054610e1a906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054610e46906124ae565b8015610e915780601f10610e6857610100808354040283529160200191610e91565b820191905f5260205f20905b815481529060010190602001808311610e7457829003601f168201915b5050505050858481518110610ea857610ea861274b565b602002602001018190525050508080610ec09061275f565b915050610d3c565b50509091929394565b6005602052815f5260405f208181548110610eea575f80fd5b905f5260205f20015f91509150508054610f03906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2f906124ae565b8015610f7a5780601f10610f5157610100808354040283529160200191610f7a565b820191905f5260205f20905b815481529060010190602001808311610f5d57829003601f168201915b505050505081565b60096020525f908152604090208054610f03906124ae565b815f81118015610fac5750600b548111155b610fc85760405162461bcd60e51b815260040161052f90612482565b5f8181526008602052604081208054610fe0906124ae565b905011610fff5760405162461bcd60e51b815260040161052f906124e0565b8160018110158015611012575060058111155b61105e5760405162461bcd60e51b815260206004820152601e60248201527f526174696e67206d757374206265206265747765656e203120616e6420350000604482015260640161052f565b335f90815260046020908152604080832087845290915290205460ff16156110b85760405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481c985d1959609a1b604482015260640161052f565b335f908152600460209081526040808320878452600a835281842092819052908320805460ff191660019081179091556005820180549294919290919061110090849061251f565b909155505042600683015560405165524154494e4760d01b60208201526002905f906026016040516020818303038152906040528051906020012081526020019081526020015f205f0154826004015f82825461115d919061251f565b90915550505f868152600660205260408120805487929061117f90849061251f565b90915550505f8681526007602052604081208054600192906111a290849061251f565b9091555050600181810180545f906111bb90849061251f565b90915550505f868152600760209081526040808320546006909252909120546111e49190612777565b600382015560405165524154494e4760d01b60208201526002905f906026016040516020818303038152906040528051906020012081526020019081526020015f205f0154816004015f82825461123b919061251f565b925050819055506001816005015f828254611256919061251f565b909155505042600882015560078101545f03611273574260078201555b5f80546040805165524154494e4760d01b60208083019190915282516006818403018152602683018085528151918301919091208652600282528386205463a9059cbb60e01b90915233602a840152604a83015291516001600160a01b039093169363a9059cbb93606a808401949391929183900301908290875af11580156112fe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611322919061264b565b61133e5760405162461bcd60e51b815260040161052f90612666565b604051858152869033907f9ad94a2c7f8872191edf99ce7af0a64dd79d2073e90525b8321b21561e7391e19060200160405180910390a3336001600160a01b03167f49649141d16971a88c3cfdd73fec34babb1cf163cf8b804c8f537a023c6ce50660025f6040516020016113bf9065524154494e4760d01b815260060190565b6040516020818303038152906040528051906020012081526020019081526020015f205f01546040516109bc91815260406020820181905260069082015265524154494e4760d01b606082015260800190565b60038181548110611421575f80fd5b5f91825260209091200154905081565b60086020525f908152604090208054610f03906124ae565b606080600b546001600160401b0381111561146657611466612532565b60405190808252806020026020018201604052801561148f578160200160208202803683370190505b509150600b546001600160401b038111156114ac576114ac612532565b6040519080825280602002602001820160405280156114df57816020015b60608152602001906001900390816114ca5790505b50905060015b600b5481116115eb5780836114fb600183612796565b8151811061150b5761150b61274b565b60200260200101818152505060095f8281526020019081526020015f208054611533906124ae565b80601f016020809104026020016040519081016040528092919081815260200182805461155f906124ae565b80156115aa5780601f10611581576101008083540402835291602001916115aa565b820191905f5260205f20905b81548152906001019060200180831161158d57829003601f168201915b5050505050826001836115bd9190612796565b815181106115cd576115cd61274b565b602002602001018190525080806115e39061275f565b9150506114e5565b509091565b6001546001600160a01b0316331461161a5760405162461bcd60e51b815260040161052f906126d9565b5f848152600260205260409020546116745760405162461bcd60e51b815260206004820152601a60248201527f526577617264207479706520646f6573206e6f74206578697374000000000000604482015260640161052f565b5f848152600260208181526040928390208681559182018590556001909101805460ff1916841515179055815185815290810184905285917f4d583ec21d805d0faf09c3cfbcd3d2b8eaf39506328a35033af1d4c866bcad79910160405180910390a250505050565b6060815f811180156116f15750600b548111155b61170d5760405162461bcd60e51b815260040161052f90612482565b5f8181526008602052604081208054611725906124ae565b9050116117445760405162461bcd60e51b815260040161052f906124e0565b5f83815260056020908152604080832080548251818502810185019093528083529193909284015b82821015611814578382905f5260205f20018054611789906124ae565b80601f01602080910402602001604051908101604052809291908181526020018280546117b5906124ae565b80156118005780601f106117d757610100808354040283529160200191611800565b820191905f5260205f20905b8154815290600101906020018083116117e357829003601f168201915b50505050508152602001906001019061176c565b5050505091505b50919050565b6001546001600160a01b0316331461184b5760405162461bcd60e51b815260040161052f906126d9565b6118c086868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f88018190048102820181019092528681528993508892509087908790819084018382808284375f92019190915250611ea092505050565b505050505050565b600260208190525f91825260409091208054600182015492820154600383018054929460ff169391926118fa906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611926906124ae565b80156119715780601f1061194857610100808354040283529160200191611971565b820191905f5260205f20905b81548152906001019060200180831161195457829003601f168201915b5050505050905084565b6060805f805f805f875f811180156119955750600b548111155b6119b15760405162461bcd60e51b815260040161052f90612482565b5f81815260086020526040812080546119c9906124ae565b9050116119e85760405162461bcd60e51b815260040161052f906124e0565b5f898152600a6020908152604080832060088352818420600990935292208254600184015460038501546004860154600587015486548790611a29906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611a55906124ae565b8015611aa05780601f10611a7757610100808354040283529160200191611aa0565b820191905f5260205f20905b815481529060010190602001808311611a8357829003601f168201915b50505050509650858054611ab3906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611adf906124ae565b8015611b2a5780601f10611b0157610100808354040283529160200191611b2a565b820191905f5260205f20905b815481529060010190602001808311611b0d57829003601f168201915b5050505050955098509850985098509850985098505050919395979092949650565b6001545f906001600160a01b03163314611b785760405162461bcd60e51b815260040161052f906126d9565b5f828152600260205260409020600181015460ff16611bd25760405162461bcd60e51b81526020600482015260166024820152755265776172642074797065206e6f742061637469766560501b604482015260640161052f565b6001600160a01b0385165f908152600460205260409020600282015415611c615760028201545f858152600383016020526040902054611c12919061251f565b421015611c615760405162461bcd60e51b815260206004820152601b60248201527f436f6f6c646f776e20706572696f64206e6f7420656c61707365640000000000604482015260640161052f565b5f8481526003820160205260408120429055825460048301805491929091611c8a90849061251f565b90915550504260068201555f54825460405163a9059cbb60e01b81526001600160a01b038981166004830152602482019290925291169063a9059cbb906044016020604051808303815f875af1158015611ce6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0a919061264b565b611d265760405162461bcd60e51b815260040161052f90612666565b8385876001600160a01b03167f3ed09e53b5cec26e02fd409bceea57d2c3aea48a84c77814f20fde4f2b18ccbc60405160405180910390a481545f858152600260205260409081902090516001600160a01b038916927f49649141d16971a88c3cfdd73fec34babb1cf163cf8b804c8f537a023c6ce50692611dad926003909101906127a9565b60405180910390a250600195945050505050565b6001546001600160a01b03163314611deb5760405162461bcd60e51b815260040161052f906126d9565b6001600160a01b038116611e335760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161052f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314611e7f5760405162461bcd60e51b815260040161052f906126d9565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f84604051602001611eb29190612836565b60408051808303601f1901815282825280516020918201206080840183528784526001828501818152858501898152606087018981525f85815260029687905296909620875181559151928201805460ff1916931515939093179092559051928101929092559151919350906003820190611f2d9082612851565b5050600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0182905550604080518581526020810185905282917ffd8e84b86c64d40bf05a7726c354f80221e993b1c690421b3cd3e249fb703fe09101610a95565b80356001600160a01b0381168114611fb2575f80fd5b919050565b5f8060408385031215611fc8575f80fd5b611fd183611f9c565b946020939093013593505050565b5f8083601f840112611fef575f80fd5b5081356001600160401b03811115612005575f80fd5b60208301915083602082850101111561201c575f80fd5b9250929050565b5f805f60408486031215612035575f80fd5b8335925060208401356001600160401b03811115612051575f80fd5b61205d86828701611fdf565b9497909650939450505050565b5f6020828403121561207a575f80fd5b5035919050565b5f805f8060408587031215612094575f80fd5b84356001600160401b03808211156120aa575f80fd5b6120b688838901611fdf565b909650945060208701359150808211156120ce575f80fd5b506120db87828801611fdf565b95989497509550505050565b5f5b838110156121015781810151838201526020016120e9565b50505f910152565b5f81518084526121208160208601602086016120e7565b601f01601f19169290920160200192915050565b8481528315156020820152826040820152608060608201525f61215a6080830184612109565b9695505050505050565b5f8151808452602080850194508084015f5b8381101561219257815187529582019590820190600101612176565b509495945050505050565b5f81518084526020808501808196508360051b810191508286015f5b858110156121e35782840389526121d1848351612109565b988501989350908401906001016121b9565b5091979650505050505050565b60a080825286519082018190525f9060209060c0840190828a01845b828110156122285781518452928401929084019060010161220c565b5050508381038285015261223c8189612164565b848103604086015287518082528389019250908301905f5b81811015612272578351151583529284019291840191600101612254565b505084810360608601526122868188612164565b92505050828103608084015261229c818561219d565b98975050505050505050565b5f602082840312156122b8575f80fd5b6122c182611f9c565b9392505050565b5f80604083850312156122d9575f80fd5b50508035926020909101359150565b602081525f6122c16020830184612109565b604081525f61230c6040830185612164565b828103602084015261231e818561219d565b95945050505050565b8015158114612334575f80fd5b50565b5f805f806080858703121561234a575f80fd5b843593506020850135925060408501359150606085013561236a81612327565b939692955090935050565b602081525f6122c1602083018461219d565b5f805f805f806080878903121561239c575f80fd5b86356001600160401b03808211156123b2575f80fd5b6123be8a838b01611fdf565b9098509650602089013595506040890135945060608901359150808211156123e4575f80fd5b506123f189828a01611fdf565b979a9699509497509295939492505050565b60e081525f61241560e083018a612109565b8281036020840152612427818a612109565b604084019890985250506060810194909452608084019290925260a083015260c09091015292915050565b5f805f60608486031215612464575f80fd5b61246d84611f9c565b95602085013595506040909401359392505050565b602080825260129082015271125b9d985b1a5908195c1a5cdbd91948125160721b604082015260600190565b600181811c908216806124c257607f821691505b60208210810361181b57634e487b7160e01b5f52602260045260245ffd5b602080825260119082015270115c1a5cdbd919481b9bdd08199bdd5b99607a1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105605761056061250b565b634e487b7160e01b5f52604160045260245ffd5b601f82111561258b575f81815260208120601f850160051c8101602086101561256c5750805b601f850160051c820191505b818110156118c057828155600101612578565b505050565b6001600160401b038311156125a7576125a7612532565b6125bb836125b583546124ae565b83612546565b5f601f8411600181146125ec575f85156125d55750838201355b5f19600387901b1c1916600186901b178355612644565b5f83815260209020601f19861690835b8281101561261c57868501358255602094850194600190920191016125fc565b5086821015612638575f1960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b5f6020828403121561265b575f80fd5b81516122c181612327565b60208082526016908201527514995dd85c99081d1c985b9cd9995c8819985a5b195960521b604082015260600190565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f6126d1602083018486612696565b949350505050565b60208082526021908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6040820152603760f91b606082015260800190565b604081525f61272d604083018688612696565b8281036020840152612740818587612696565b979650505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f600182016127705761277061250b565b5060010190565b5f8261279157634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156105605761056061250b565b8281525f60206040818401525f84546127c1816124ae565b806040870152606060018084165f81146127e257600181146127fc57612827565b60ff1985168984015283151560051b890183019550612827565b895f52865f205f5b8581101561281f5781548b8201860152908301908801612804565b8a0184019650505b50939998505050505050505050565b5f82516128478184602087016120e7565b9190910192915050565b81516001600160401b0381111561286a5761286a612532565b61287e8161287884546124ae565b84612546565b602080601f8311600181146128b1575f841561289a5750858301515b5f19600386901b1c1916600185901b1785556118c0565b5f85815260208120601f198616915b828110156128df578886015182559484019460019091019084016128c0565b50858210156128fc57878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220620f9ccd777fb741e89497a249707dba3accc1a30d6b79d9cc20435a8635609f64736f6c63430008140033000000000000000000000000db5fffc581cc045583cf58afca4f9eba40ddd002
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106101a1575f3560e01c806383c18d5e116100f3578063aedf309a11610093578063dcda3c9d1161006e578063dcda3c9d146104a9578063f1c183d0146104c8578063f2fde38b146104db578063f8cf31cb146104ee575f80fd5b8063aedf309a1461045d578063afa4e17014610470578063afd8e60814610483575f80fd5b8063a243fa31116100ce578063a243fa31146103f9578063a34878a414610418578063a8649d651461042a578063add5d5881461043d575f80fd5b806383c18d5e146103a557806387dd0849146103b85780638da5cb5b146103ce575f80fd5b80633fd4c0bb1161015e5780635b6b8431116101395780635b6b8431146103555780636be153ae14610368578063708511711461037f5780637fe5a1cc14610392575f80fd5b80633fd4c0bb146102c75780634e43603a146102e05780635a7195f914610335575f80fd5b8063096b2b91146101a557806320b0c9d6146101cd57806325c04d23146101e2578063322e36fa1461027e57806332447b4c1461029157806337438519146102b4575b5f80fd5b6101b86101b3366004611fb7565b610501565b60405190151581526020015b60405180910390f35b6101e06101db366004612023565b610566565b005b61023a6101f036600461206a565b600a602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154908060050154908060060154908060070154908060080154905089565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e0830152610100820152610120016101c4565b6101e061028c366004612081565b6109cc565b6102a461029f36600461206a565b610aa4565b6040516101c49493929190612134565b6101b86102c2366004611fb7565b610b71565b6102cf610bce565b6040516101c49594939291906121f0565b61031a6102ee3660046122a8565b6001600160a01b03165f9081526004602081905260409091209081015460058201546006909201549092565b604080519384526020840192909252908201526060016101c4565b6103486103433660046122c8565b610ed1565b6040516101c491906122e8565b61034861036336600461206a565b610f82565b610371600b5481565b6040519081526020016101c4565b6101e061038d3660046122c8565b610f9a565b6103716103a036600461206a565b611412565b6103486103b336600461206a565b611431565b6103c0611449565b6040516101c49291906122fa565b6001546103e1906001600160a01b031681565b6040516001600160a01b0390911681526020016101c4565b61037161040736600461206a565b60066020525f908152604090205481565b5f546103e1906001600160a01b031681565b6101e0610438366004612337565b6115f0565b61045061044b36600461206a565b6116dd565b6040516101c49190612375565b6101e061046b366004612387565b611821565b6102a461047e36600461206a565b6118c8565b61049661049136600461206a565b61197b565b6040516101c49796959493929190612403565b6103716104b736600461206a565b60076020525f908152604090205481565b6101b86104d6366004612452565b611b4c565b6101e06104e93660046122a8565b611dc1565b6101e06104fc3660046122a8565b611e55565b5f80821180156105135750600b548211155b6105385760405162461bcd60e51b815260040161052f90612482565b60405180910390fd5b506001600160a01b0382165f90815260046020908152604080832084845290915290205460ff165b92915050565b825f811180156105785750600b548111155b6105945760405162461bcd60e51b815260040161052f90612482565b5f81815260086020526040812080546105ac906124ae565b9050116105cb5760405162461bcd60e51b815260040161052f906124e0565b603282101561062c5760405162461bcd60e51b815260206004820152602760248201527f466565646261636b206d757374206265206174206c65617374203530206368616044820152667261637465727360c81b606482015260840161052f565b335f90815260046020908152604080832087845260010190915290205460ff16156106915760405162461bcd60e51b8152602060048201526015602482015274416c7265616479206761766520666565646261636b60581b604482015260640161052f565b335f908152600460209081526040808320878452600a83528184206001808301909452918420805460ff191684179055600581018054919492939290916106d990849061251f565b909155505042600683015560405167464545444241434b60c01b60208201526002905f906028016040516020818303038152906040528051906020012081526020019081526020015f205f0154826004015f828254610738919061251f565b90915550505f86815260056020908152604082208054600181018255908352912001610765858783612590565b506001815f015f828254610779919061251f565b909155505060405167464545444241434b60c01b60208201526002905f906028016040516020818303038152906040528051906020012081526020019081526020015f205f0154816004015f8282546107d2919061251f565b925050819055506001816005015f8282546107ed919061251f565b909155505042600882015560078101545f0361080a574260078201555b5f80546040805167464545444241434b60c01b60208083019190915282516008818403018152602883018085528151918301919091208652600282528386205463a9059cbb60e01b90915233602c840152604c83015291516001600160a01b039093169363a9059cbb93606c808401949391929183900301908290875af1158015610897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bb919061264b565b6108d75760405162461bcd60e51b815260040161052f90612666565b85336001600160a01b03167fc7e666f164da054d2ca2bd712fb261158473066d414c8cfc33a1b9c7df775fe787876040516109139291906126be565b60405180910390a3336001600160a01b03167f49649141d16971a88c3cfdd73fec34babb1cf163cf8b804c8f537a023c6ce50660025f6040516020016109679067464545444241434b60c01b815260080190565b6040516020818303038152906040528051906020012081526020019081526020015f205f01546040516109bc91815260406020820181905260089082015267464545444241434b60c01b606082015260800190565b60405180910390a2505050505050565b6001546001600160a01b031633146109f65760405162461bcd60e51b815260040161052f906126d9565b6001600b5f828254610a08919061251f565b9091555050600b545f908152600860205260409020610a28848683612590565b50600b545f908152600960205260409020610a44828483612590565b50600b80545f908152600a602052604090819020426006820155915490517f4c47174aceef2329ac0aa8b9d70bdcc7a034d50212cca2651ecc2939dc518cbb90610a9590889088908890889061271a565b60405180910390a25050505050565b5f81815260026020819052604082208054600182015492820154600383018054869586956060959094909360ff909216929091908190610ae3906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0f906124ae565b8015610b5a5780601f10610b3157610100808354040283529160200191610b5a565b820191905f5260205f20905b815481529060010190602001808311610b3d57829003601f168201915b505050505090509450945094509450509193509193565b5f8082118015610b835750600b548211155b610b9f5760405162461bcd60e51b815260040161052f90612482565b506001600160a01b03919091165f90815260046020908152604080832093835260019093019052205460ff1690565b6003546060908190819081908190806001600160401b03811115610bf457610bf4612532565b604051908082528060200260200182016040528015610c1d578160200160208202803683370190505b509550806001600160401b03811115610c3857610c38612532565b604051908082528060200260200182016040528015610c61578160200160208202803683370190505b509450806001600160401b03811115610c7c57610c7c612532565b604051908082528060200260200182016040528015610ca5578160200160208202803683370190505b509350806001600160401b03811115610cc057610cc0612532565b604051908082528060200260200182016040528015610ce9578160200160208202803683370190505b509250806001600160401b03811115610d0457610d04612532565b604051908082528060200260200182016040528015610d3757816020015b6060815260200190600190039081610d225790505b5091505f5b81811015610ec8575f60038281548110610d5857610d5861274b565b905f5260205f20015490505f60025f8381526020019081526020015f20905081898481518110610d8a57610d8a61274b565b602002602001018181525050805f0154888481518110610dac57610dac61274b565b60209081029190910101526001810154875160ff90911690889085908110610dd657610dd661274b565b6020026020010190151590811515815250508060020154868481518110610dff57610dff61274b565b602002602001018181525050806003018054610e1a906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054610e46906124ae565b8015610e915780601f10610e6857610100808354040283529160200191610e91565b820191905f5260205f20905b815481529060010190602001808311610e7457829003601f168201915b5050505050858481518110610ea857610ea861274b565b602002602001018190525050508080610ec09061275f565b915050610d3c565b50509091929394565b6005602052815f5260405f208181548110610eea575f80fd5b905f5260205f20015f91509150508054610f03906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2f906124ae565b8015610f7a5780601f10610f5157610100808354040283529160200191610f7a565b820191905f5260205f20905b815481529060010190602001808311610f5d57829003601f168201915b505050505081565b60096020525f908152604090208054610f03906124ae565b815f81118015610fac5750600b548111155b610fc85760405162461bcd60e51b815260040161052f90612482565b5f8181526008602052604081208054610fe0906124ae565b905011610fff5760405162461bcd60e51b815260040161052f906124e0565b8160018110158015611012575060058111155b61105e5760405162461bcd60e51b815260206004820152601e60248201527f526174696e67206d757374206265206265747765656e203120616e6420350000604482015260640161052f565b335f90815260046020908152604080832087845290915290205460ff16156110b85760405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481c985d1959609a1b604482015260640161052f565b335f908152600460209081526040808320878452600a835281842092819052908320805460ff191660019081179091556005820180549294919290919061110090849061251f565b909155505042600683015560405165524154494e4760d01b60208201526002905f906026016040516020818303038152906040528051906020012081526020019081526020015f205f0154826004015f82825461115d919061251f565b90915550505f868152600660205260408120805487929061117f90849061251f565b90915550505f8681526007602052604081208054600192906111a290849061251f565b9091555050600181810180545f906111bb90849061251f565b90915550505f868152600760209081526040808320546006909252909120546111e49190612777565b600382015560405165524154494e4760d01b60208201526002905f906026016040516020818303038152906040528051906020012081526020019081526020015f205f0154816004015f82825461123b919061251f565b925050819055506001816005015f828254611256919061251f565b909155505042600882015560078101545f03611273574260078201555b5f80546040805165524154494e4760d01b60208083019190915282516006818403018152602683018085528151918301919091208652600282528386205463a9059cbb60e01b90915233602a840152604a83015291516001600160a01b039093169363a9059cbb93606a808401949391929183900301908290875af11580156112fe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611322919061264b565b61133e5760405162461bcd60e51b815260040161052f90612666565b604051858152869033907f9ad94a2c7f8872191edf99ce7af0a64dd79d2073e90525b8321b21561e7391e19060200160405180910390a3336001600160a01b03167f49649141d16971a88c3cfdd73fec34babb1cf163cf8b804c8f537a023c6ce50660025f6040516020016113bf9065524154494e4760d01b815260060190565b6040516020818303038152906040528051906020012081526020019081526020015f205f01546040516109bc91815260406020820181905260069082015265524154494e4760d01b606082015260800190565b60038181548110611421575f80fd5b5f91825260209091200154905081565b60086020525f908152604090208054610f03906124ae565b606080600b546001600160401b0381111561146657611466612532565b60405190808252806020026020018201604052801561148f578160200160208202803683370190505b509150600b546001600160401b038111156114ac576114ac612532565b6040519080825280602002602001820160405280156114df57816020015b60608152602001906001900390816114ca5790505b50905060015b600b5481116115eb5780836114fb600183612796565b8151811061150b5761150b61274b565b60200260200101818152505060095f8281526020019081526020015f208054611533906124ae565b80601f016020809104026020016040519081016040528092919081815260200182805461155f906124ae565b80156115aa5780601f10611581576101008083540402835291602001916115aa565b820191905f5260205f20905b81548152906001019060200180831161158d57829003601f168201915b5050505050826001836115bd9190612796565b815181106115cd576115cd61274b565b602002602001018190525080806115e39061275f565b9150506114e5565b509091565b6001546001600160a01b0316331461161a5760405162461bcd60e51b815260040161052f906126d9565b5f848152600260205260409020546116745760405162461bcd60e51b815260206004820152601a60248201527f526577617264207479706520646f6573206e6f74206578697374000000000000604482015260640161052f565b5f848152600260208181526040928390208681559182018590556001909101805460ff1916841515179055815185815290810184905285917f4d583ec21d805d0faf09c3cfbcd3d2b8eaf39506328a35033af1d4c866bcad79910160405180910390a250505050565b6060815f811180156116f15750600b548111155b61170d5760405162461bcd60e51b815260040161052f90612482565b5f8181526008602052604081208054611725906124ae565b9050116117445760405162461bcd60e51b815260040161052f906124e0565b5f83815260056020908152604080832080548251818502810185019093528083529193909284015b82821015611814578382905f5260205f20018054611789906124ae565b80601f01602080910402602001604051908101604052809291908181526020018280546117b5906124ae565b80156118005780601f106117d757610100808354040283529160200191611800565b820191905f5260205f20905b8154815290600101906020018083116117e357829003601f168201915b50505050508152602001906001019061176c565b5050505091505b50919050565b6001546001600160a01b0316331461184b5760405162461bcd60e51b815260040161052f906126d9565b6118c086868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f88018190048102820181019092528681528993508892509087908790819084018382808284375f92019190915250611ea092505050565b505050505050565b600260208190525f91825260409091208054600182015492820154600383018054929460ff169391926118fa906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611926906124ae565b80156119715780601f1061194857610100808354040283529160200191611971565b820191905f5260205f20905b81548152906001019060200180831161195457829003601f168201915b5050505050905084565b6060805f805f805f875f811180156119955750600b548111155b6119b15760405162461bcd60e51b815260040161052f90612482565b5f81815260086020526040812080546119c9906124ae565b9050116119e85760405162461bcd60e51b815260040161052f906124e0565b5f898152600a6020908152604080832060088352818420600990935292208254600184015460038501546004860154600587015486548790611a29906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611a55906124ae565b8015611aa05780601f10611a7757610100808354040283529160200191611aa0565b820191905f5260205f20905b815481529060010190602001808311611a8357829003601f168201915b50505050509650858054611ab3906124ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611adf906124ae565b8015611b2a5780601f10611b0157610100808354040283529160200191611b2a565b820191905f5260205f20905b815481529060010190602001808311611b0d57829003601f168201915b5050505050955098509850985098509850985098505050919395979092949650565b6001545f906001600160a01b03163314611b785760405162461bcd60e51b815260040161052f906126d9565b5f828152600260205260409020600181015460ff16611bd25760405162461bcd60e51b81526020600482015260166024820152755265776172642074797065206e6f742061637469766560501b604482015260640161052f565b6001600160a01b0385165f908152600460205260409020600282015415611c615760028201545f858152600383016020526040902054611c12919061251f565b421015611c615760405162461bcd60e51b815260206004820152601b60248201527f436f6f6c646f776e20706572696f64206e6f7420656c61707365640000000000604482015260640161052f565b5f8481526003820160205260408120429055825460048301805491929091611c8a90849061251f565b90915550504260068201555f54825460405163a9059cbb60e01b81526001600160a01b038981166004830152602482019290925291169063a9059cbb906044016020604051808303815f875af1158015611ce6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0a919061264b565b611d265760405162461bcd60e51b815260040161052f90612666565b8385876001600160a01b03167f3ed09e53b5cec26e02fd409bceea57d2c3aea48a84c77814f20fde4f2b18ccbc60405160405180910390a481545f858152600260205260409081902090516001600160a01b038916927f49649141d16971a88c3cfdd73fec34babb1cf163cf8b804c8f537a023c6ce50692611dad926003909101906127a9565b60405180910390a250600195945050505050565b6001546001600160a01b03163314611deb5760405162461bcd60e51b815260040161052f906126d9565b6001600160a01b038116611e335760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161052f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314611e7f5760405162461bcd60e51b815260040161052f906126d9565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f84604051602001611eb29190612836565b60408051808303601f1901815282825280516020918201206080840183528784526001828501818152858501898152606087018981525f85815260029687905296909620875181559151928201805460ff1916931515939093179092559051928101929092559151919350906003820190611f2d9082612851565b5050600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0182905550604080518581526020810185905282917ffd8e84b86c64d40bf05a7726c354f80221e993b1c690421b3cd3e249fb703fe09101610a95565b80356001600160a01b0381168114611fb2575f80fd5b919050565b5f8060408385031215611fc8575f80fd5b611fd183611f9c565b946020939093013593505050565b5f8083601f840112611fef575f80fd5b5081356001600160401b03811115612005575f80fd5b60208301915083602082850101111561201c575f80fd5b9250929050565b5f805f60408486031215612035575f80fd5b8335925060208401356001600160401b03811115612051575f80fd5b61205d86828701611fdf565b9497909650939450505050565b5f6020828403121561207a575f80fd5b5035919050565b5f805f8060408587031215612094575f80fd5b84356001600160401b03808211156120aa575f80fd5b6120b688838901611fdf565b909650945060208701359150808211156120ce575f80fd5b506120db87828801611fdf565b95989497509550505050565b5f5b838110156121015781810151838201526020016120e9565b50505f910152565b5f81518084526121208160208601602086016120e7565b601f01601f19169290920160200192915050565b8481528315156020820152826040820152608060608201525f61215a6080830184612109565b9695505050505050565b5f8151808452602080850194508084015f5b8381101561219257815187529582019590820190600101612176565b509495945050505050565b5f81518084526020808501808196508360051b810191508286015f5b858110156121e35782840389526121d1848351612109565b988501989350908401906001016121b9565b5091979650505050505050565b60a080825286519082018190525f9060209060c0840190828a01845b828110156122285781518452928401929084019060010161220c565b5050508381038285015261223c8189612164565b848103604086015287518082528389019250908301905f5b81811015612272578351151583529284019291840191600101612254565b505084810360608601526122868188612164565b92505050828103608084015261229c818561219d565b98975050505050505050565b5f602082840312156122b8575f80fd5b6122c182611f9c565b9392505050565b5f80604083850312156122d9575f80fd5b50508035926020909101359150565b602081525f6122c16020830184612109565b604081525f61230c6040830185612164565b828103602084015261231e818561219d565b95945050505050565b8015158114612334575f80fd5b50565b5f805f806080858703121561234a575f80fd5b843593506020850135925060408501359150606085013561236a81612327565b939692955090935050565b602081525f6122c1602083018461219d565b5f805f805f806080878903121561239c575f80fd5b86356001600160401b03808211156123b2575f80fd5b6123be8a838b01611fdf565b9098509650602089013595506040890135945060608901359150808211156123e4575f80fd5b506123f189828a01611fdf565b979a9699509497509295939492505050565b60e081525f61241560e083018a612109565b8281036020840152612427818a612109565b604084019890985250506060810194909452608084019290925260a083015260c09091015292915050565b5f805f60608486031215612464575f80fd5b61246d84611f9c565b95602085013595506040909401359392505050565b602080825260129082015271125b9d985b1a5908195c1a5cdbd91948125160721b604082015260600190565b600181811c908216806124c257607f821691505b60208210810361181b57634e487b7160e01b5f52602260045260245ffd5b602080825260119082015270115c1a5cdbd919481b9bdd08199bdd5b99607a1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105605761056061250b565b634e487b7160e01b5f52604160045260245ffd5b601f82111561258b575f81815260208120601f850160051c8101602086101561256c5750805b601f850160051c820191505b818110156118c057828155600101612578565b505050565b6001600160401b038311156125a7576125a7612532565b6125bb836125b583546124ae565b83612546565b5f601f8411600181146125ec575f85156125d55750838201355b5f19600387901b1c1916600186901b178355612644565b5f83815260209020601f19861690835b8281101561261c57868501358255602094850194600190920191016125fc565b5086821015612638575f1960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b5f6020828403121561265b575f80fd5b81516122c181612327565b60208082526016908201527514995dd85c99081d1c985b9cd9995c8819985a5b195960521b604082015260600190565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f6126d1602083018486612696565b949350505050565b60208082526021908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6040820152603760f91b606082015260800190565b604081525f61272d604083018688612696565b8281036020840152612740818587612696565b979650505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f600182016127705761277061250b565b5060010190565b5f8261279157634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156105605761056061250b565b8281525f60206040818401525f84546127c1816124ae565b806040870152606060018084165f81146127e257600181146127fc57612827565b60ff1985168984015283151560051b890183019550612827565b895f52865f205f5b8581101561281f5781548b8201860152908301908801612804565b8a0184019650505b50939998505050505050505050565b5f82516128478184602087016120e7565b9190910192915050565b81516001600160401b0381111561286a5761286a612532565b61287e8161287884546124ae565b84612546565b602080601f8311600181146128b1575f841561289a5750858301515b5f19600386901b1c1916600185901b1785556118c0565b5f85815260208120601f198616915b828110156128df578886015182559484019460019091019084016128c0565b50858210156128fc57878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220620f9ccd777fb741e89497a249707dba3accc1a30d6b79d9cc20435a8635609f64736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000db5fffc581cc045583cf58afca4f9eba40ddd002
-----Decoded View---------------
Arg [0] : _dixoToken (address): 0xdB5fFfc581cc045583CF58afcA4F9EBa40dDd002
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000db5fffc581cc045583cf58afca4f9eba40ddd002
Deployed Bytecode Sourcemap
236:13252:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6071:243;;;;;;:::i;:::-;;:::i;:::-;;;616:14:1;;609:22;591:41;;579:2;564:18;6071:243:0;;;;;;;;6322:1523;;;;;;:::i;:::-;;:::i;:::-;;1652:58;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2036:25:1;;;2092:2;2077:18;;2070:34;;;;2120:18;;;2113:34;;;;2178:2;2163:18;;2156:34;;;;2221:3;2206:19;;2199:35;;;;2265:3;2250:19;;2243:35;2309:3;2294:19;;2287:35;2353:3;2338:19;;2331:35;2397:3;2382:19;;2375:35;2023:3;2008:19;1652:58:0;1665:751:1;9427:457:0;;;;;;:::i;:::-;;:::i;11784:418::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;5818:245::-;;;;;;:::i;:::-;;:::i;12210:980::-;;;:::i;:::-;;;;;;;;;;;:::i;10699:450::-;;;;;;:::i;:::-;-1:-1:-1;;;;;10962:21:0;10802:20;10962:21;;;:15;:21;;;;;;;;11016:29;;;;11060:26;;;;11101:29;;;;;11016;;10699:450;;;;;7545:25:1;;;7601:2;7586:18;;7579:34;;;;7629:18;;;7622:34;7533:2;7518:18;10699:450:0;7343:319:1;1355:52:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1598:47::-;;;;;;:::i;:::-;;:::i;1717:27::-;;;;;;;;;8291:25:1;;;8279:2;8264:18;1717:27:0;8145:177:1;7857:1562:0;;;;;;:::i;:::-;;:::i;1246:31::-;;;;;;:::i;:::-;;:::i;1540:51::-;;;;;;:::i;:::-;;:::i;11378:398::-;;;:::i;:::-;;;;;;;;:::i;304:20::-;;;;;-1:-1:-1;;;;;304:20:0;;;;;;-1:-1:-1;;;;;9162:32:1;;;9144:51;;9132:2;9117:18;304:20:0;8998:203:1;1414:52:0;;;;;;:::i;:::-;;;;;;;;;;;;;;274:23;;;;;-1:-1:-1;;;;;274:23:0;;;4156:524;;;;;;:::i;:::-;;:::i;11157:213::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3896:252::-;;;;;;:::i;:::-;;:::i;1190:49::-;;;;;;:::i;:::-;;:::i;9892:795::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;1473:54::-;;;;;;:::i;:::-;;;;;;;;;;;;;;4688:1122;;;;;;:::i;:::-;;:::i;13325:160::-;;;;;;:::i;:::-;;:::i;13202:111::-;;;;;;:::i;:::-;;:::i;6071:243::-;6150:4;6187:1;6175:9;:13;:42;;;;;6205:12;;6192:9;:25;;6175:42;6167:73;;;;-1:-1:-1;;;6167:73:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;6258:21:0;;;;;;:15;:21;;;;;;;;:48;;;;;;;;;;;6071:243;;;;;:::o;6322:1523::-;6435:9;2888:1;2876:9;:13;:42;;;;;2906:12;;2893:9;:25;;2876:42;2868:73;;;;-1:-1:-1;;;2868:73:0;;;;;;;:::i;:::-;3005:1;2966:28;;;:17;:28;;;;;2960:42;;;;;:::i;:::-;;;:46;2952:76;;;;-1:-1:-1;;;2952:76:0;;;;;;;:::i;:::-;6497:2:::1;6471:28:::0;::::1;;6463:80;;;::::0;-1:-1:-1;;;6463:80:0;;13504:2:1;6463:80:0::1;::::0;::::1;13486:21:1::0;13543:2;13523:18;;;13516:30;13582:34;13562:18;;;13555:62;-1:-1:-1;;;13633:18:1;;;13626:37;13680:19;;6463:80:0::1;13302:403:1::0;6463:80:0::1;6579:10;6563:27;::::0;;;:15:::1;:27;::::0;;;;;;;:55;;;:44:::1;;:55:::0;;;;;;::::1;;6562:56;6554:90;;;::::0;-1:-1:-1;;;6554:90:0;;13912:2:1;6554:90:0::1;::::0;::::1;13894:21:1::0;13951:2;13931:18;;;13924:30;-1:-1:-1;;;13970:18:1;;;13963:51;14031:18;;6554:90:0::1;13710:345:1::0;6554:90:0::1;6714:10;6665:30;6698:27:::0;;;:15:::1;:27;::::0;;;;;;;6771;;;:16:::1;:27:::0;;;;;6857:4:::1;6819:24:::0;;::::1;:35:::0;;;;;;:42;;-1:-1:-1;;6819:42:0::1;::::0;::::1;::::0;;6872:23:::1;::::0;::::1;:28:::0;;6698:27;;6771;;6857:4;6872:23;;:28:::1;::::0;6857:4;;6872:28:::1;:::i;:::-;::::0;;;-1:-1:-1;;6940:15:0::1;6911:26;::::0;::::1;:44:::0;7018:28:::1;::::0;-1:-1:-1;;;7018:28:0::1;::::0;::::1;14524:23:1::0;6996:11:0::1;::::0;:52:::1;::::0;14563:11:1;;7018:28:0::1;;;;;;;;;;;;7008:39;;;;;;6996:52;;;;;;;;;;;:59;;;6966:7;:26;;;:89;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;7076:27:0::1;::::0;;;:16:::1;:27;::::0;;;;;;:42;;::::1;::::0;::::1;::::0;;;;;;;::::1;;7109:8:::0;;7076:42;::::1;:::i;:::-;;7167:1;7139:9;:24;;;:29;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;7238:28:0::1;::::0;-1:-1:-1;;;7238:28:0::1;::::0;::::1;14524:23:1::0;7216:11:0::1;::::0;:52:::1;::::0;14563:11:1;;7238:28:0::1;;;;;;;;;;;;7228:39;;;;;;7216:52;;;;;;;;;;;:59;;;7179:9;:33;;;:96;;;;;;;:::i;:::-;;;;;;;;7314:1;7286:9;:24;;;:29;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;7357:15:0::1;7326:28;::::0;::::1;:46:::0;7387:29:::1;::::0;::::1;::::0;7420:1:::1;7387:34:::0;7383:114:::1;;7470:15;7438:29;::::0;::::1;:47:::0;7383:114:::1;7525:9;::::0;;7578:28:::1;::::0;;-1:-1:-1;;;7578:28:0::1;::::0;;::::1;14524:23:1::0;;;;7578:28:0;;;;;;;;;14563:11:1;;;7578:28:0;;;7568:39;;;;::::1;::::0;;;;7556:52;;:11:::1;:52:::0;;;;;:59;-1:-1:-1;;;7525:91:0;;;7544:10:::1;7525:91:::0;;;16949:51:1;17016:18;;;17009:34;7525:91:0;;-1:-1:-1;;;;;7525:9:0;;::::1;::::0;:18:::1;::::0;16922::1;;;;;7578:28:0;7525:91;;;;;;;;;;:9;:91:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7517:126;;;;-1:-1:-1::0;;;7517:126:0::1;;;;;;;:::i;:::-;7699:9;7687:10;-1:-1:-1::0;;;;;7669:50:0::1;;7710:8;;7669:50;;;;;;;:::i;:::-;;;;;;;;7753:10;-1:-1:-1::0;;;;;7735:102:0::1;;7765:11;:52;7787:28;;;;;;-1:-1:-1::0;;;14524:23:1;;14572:1;14563:11;;14322:258;7787:28:0::1;;;;;;;;;;;;;7777:39;;;;;;7765:52;;;;;;;;;;;:59;;;7735:102;;;;18391:25:1::0;;18452:2;18447;18432:18;;18425:30;;;18491:1;18471:18;;;18464:29;-1:-1:-1;;;18524:2:1;18509:18;;18502:38;18572:3;18557:19;;18179:403;7735:102:0::1;;;;;;;;6452:1393;;6322:1523:::0;;;;:::o;9427:457::-;3263:5;;-1:-1:-1;;;;;3263:5:0;3249:10;:19;3241:65;;;;-1:-1:-1;;;3241:65:0;;;;;;;:::i;:::-;9569:1:::1;9553:12;;:17;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;9599:12:0::1;::::0;9581:31:::1;::::0;;;:17:::1;:31;::::0;;;;:43:::1;9615:9:::0;;9581:31;:43:::1;:::i;:::-;-1:-1:-1::0;9649:12:0::1;::::0;9635:27:::1;::::0;;;:13:::1;:27;::::0;;;;:35:::1;9665:5:::0;;9635:27;:35:::1;:::i;:::-;-1:-1:-1::0;9743:12:0::1;::::0;;9691:32:::1;9726:30:::0;;;:16:::1;:30;::::0;;;;;;9791:15:::1;9767:21;::::0;::::1;:39:::0;9845:12;;9832:44;;::::1;::::0;::::1;::::0;9859:9;;;;9870:5;;;;9832:44:::1;:::i;:::-;;;;;;;;9542:342;9427:457:::0;;;;:::o;11784:418::-;11900:14;12076:25;;;:11;:25;;;;;;;12120:13;;12135:15;;;;12152:21;;;;12175:18;;;12112:82;;11900:14;;;;11994:25;;12076;;12120:13;;12135:15;;;;;12152:21;;12175:18;;;12112:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11784:418;;;;;:::o;5818:245::-;5898:4;5935:1;5923:9;:13;:42;;;;;5953:12;;5940:9;:25;;5923:42;5915:73;;;;-1:-1:-1;;;5915:73:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;6006:21:0;;;;;;;;:15;:21;;;;;;;;:49;;;:38;;;;:49;;;;;;;5818:245::o;12210:980::-;12536:14;:21;12306:20;;;;;;;;;;12536:21;-1:-1:-1;;;;;12574:21:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12574:21:0;;12568:27;;12630:6;-1:-1:-1;;;;;12616:21:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12616:21:0;;12606:31;;12674:6;-1:-1:-1;;;;;12663:18:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12663:18:0;;12648:33;;12718:6;-1:-1:-1;;;;;12704:21:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12704:21:0;;12692:33;;12764:6;-1:-1:-1;;;;;12751:20:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12736:35;;12789:9;12784:399;12808:6;12804:1;:10;12784:399;;;12836:20;12859:14;12874:1;12859:17;;;;;;;;:::i;:::-;;;;;;;;;12836:40;;12891:25;12919:11;:25;12931:12;12919:25;;;;;;;;;;;12891:53;;12968:12;12959:3;12963:1;12959:6;;;;;;;;:::i;:::-;;;;;;:21;;;;;13008:6;:13;;;12995:7;13003:1;12995:10;;;;;;;;:::i;:::-;;;;;;;;;;:26;13054:15;;;;13036;;13054;;;;;13036:12;;13049:1;;13036:15;;;;;;:::i;:::-;;;;;;:33;;;;;;;;;;;13099:6;:21;;;13084:9;13094:1;13084:12;;;;;;;;:::i;:::-;;;;;;:36;;;;;13153:6;:18;;13135:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;13148:1;13135:15;;;;;;;;:::i;:::-;;;;;;:36;;;;12821:362;;12816:3;;;;;:::i;:::-;;;;12784:399;;;;12508:682;12210:980;;;;;:::o;1355:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1598:47::-;;;;;;;;;;;;;;;;:::i;7857:1562::-;7958:9;2888:1;2876:9;:13;:42;;;;;2906:12;;2893:9;:25;;2876:42;2868:73;;;;-1:-1:-1;;;2868:73:0;;;;;;;:::i;:::-;3005:1;2966:28;;;:17;:28;;;;;2960:42;;;;;:::i;:::-;;;:46;2952:76;;;;-1:-1:-1;;;2952:76:0;;;;;;;:::i;:::-;7990:6:::1;3126:1;3116:6;:11;;:26;;;;;3141:1;3131:6;:11;;3116:26;3108:69;;;::::0;-1:-1:-1;;;3108:69:0;;19905:2:1;3108:69:0::1;::::0;::::1;19887:21:1::0;19944:2;19924:18;;;19917:30;19983:32;19963:18;;;19956:60;20033:18;;3108:69:0::1;19703:354:1::0;3108:69:0::1;8039:10:::2;8023:27;::::0;;;:15:::2;:27;::::0;;;;;;;:54;;;;;;;;;::::2;;8022:55;8014:81;;;::::0;-1:-1:-1;;;8014:81:0;;20264:2:1;8014:81:0::2;::::0;::::2;20246:21:1::0;20303:2;20283:18;;;20276:30;-1:-1:-1;;;20322:18:1;;;20315:43;20375:18;;8014:81:0::2;20062:337:1::0;8014:81:0::2;8165:10;8116:30;8149:27:::0;;;:15:::2;:27;::::0;;;;;;;8222;;;:16:::2;:27:::0;;;;;8270:34;;;;;;;:41;;-1:-1:-1;;8270:41:0::2;8307:4;8270:41:::0;;::::2;::::0;;;8322:23:::2;::::0;::::2;:28:::0;;8149:27;;8307:4;;8322:23;;8116:30;8322:28:::2;::::0;8307:4;;8322:28:::2;:::i;:::-;::::0;;;-1:-1:-1;;8390:15:0::2;8361:26;::::0;::::2;:44:::0;8468:26:::2;::::0;-1:-1:-1;;;8468:26:0::2;::::0;::::2;20606:21:1::0;8446:11:0::2;::::0;:50:::2;::::0;20643:11:1;;8468:26:0::2;;;;;;;;;;;;8458:37;;;;;;8446:50;;;;;;;;;;;:57;;;8416:7;:26;;;:87;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;8524:28:0::2;::::0;;;:17:::2;:28;::::0;;;;:38;;8556:6;;8524:28;:38:::2;::::0;8556:6;;8524:38:::2;:::i;:::-;::::0;;;-1:-1:-1;;8573:30:0::2;::::0;;;:19:::2;:30;::::0;;;;:35;;8607:1:::2;::::0;8573:30;:35:::2;::::0;8607:1;;8573:35:::2;:::i;:::-;::::0;;;-1:-1:-1;;8655:1:0::2;8629:22:::0;;::::2;:27:::0;;:22:::2;::::0;:27:::2;::::0;8655:1;;8629:27:::2;:::i;:::-;::::0;;;-1:-1:-1;;8724:30:0::2;::::0;;;:19:::2;:30;::::0;;;;;;;;8693:17:::2;:28:::0;;;;;;;:61:::2;::::0;8724:30;8693:61:::2;:::i;:::-;8667:23;::::0;::::2;:87:::0;8824:26:::2;::::0;-1:-1:-1;;;8824:26:0::2;::::0;::::2;20606:21:1::0;8802:11:0::2;::::0;:50:::2;::::0;20643:11:1;;8824:26:0::2;;;;;;;;;;;;8814:37;;;;;;8802:50;;;;;;;;;;;:57;;;8765:9;:33;;;:94;;;;;;;:::i;:::-;;;;;;;;8898:1;8870:9;:24;;;:29;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;8941:15:0::2;8910:28;::::0;::::2;:46:::0;8971:29:::2;::::0;::::2;::::0;9004:1:::2;8971:34:::0;8967:114:::2;;9054:15;9022:29;::::0;::::2;:47:::0;8967:114:::2;9109:9;::::0;;9162:26:::2;::::0;;-1:-1:-1;;;9162:26:0::2;::::0;;::::2;20606:21:1::0;;;;9162:26:0;;;;;;;;;20643:11:1;;;9162:26:0;;;9152:37;;;;::::2;::::0;;;;9140:50;;:11:::2;:50:::0;;;;;:57;-1:-1:-1;;;9109:89:0;;;9128:10:::2;9109:89:::0;;;16949:51:1;17016:18;;;17009:34;9109:89:0;;-1:-1:-1;;;;;9109:9:0;;::::2;::::0;:18:::2;::::0;16922::1;;;;;9162:26:0;9109:89;;;;;;;;;;:9;:89:::2;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9101:124;;;;-1:-1:-1::0;;;9101:124:0::2;;;;;;;:::i;:::-;9251:46;::::0;8291:25:1;;;9279:9:0;;9267:10:::2;::::0;9251:46:::2;::::0;8279:2:1;8264:18;9251:46:0::2;;;;;;;9331:10;-1:-1:-1::0;;;;;9313:98:0::2;;9343:11;:50;9365:26;;;;;;-1:-1:-1::0;;;20606:21:1;;20652:1;20643:11;;20404:256;9365:26:0::2;;;;;;;;;;;;;9355:37;;;;;;9343:50;;;;;;;;;;;:57;;;9313:98;;;;21099:25:1::0;;21160:2;21155;21140:18;;21133:30;;;21199:1;21179:18;;;21172:29;-1:-1:-1;;;21232:2:1;21217:18;;21210:36;21278:3;21263:19;;20887:401;1246:31:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1246:31:0;:::o;1540:51::-;;;;;;;;;;;;;;;;:::i;11378:398::-;11457:20;11479:22;11540:12;;-1:-1:-1;;;;;11526:27:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11526:27:0;;11520:33;;11586:12;;-1:-1:-1;;;;;11573:26:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11564:35:0;-1:-1:-1;11627:1:0;11610:128;11635:12;;11630:1;:17;11610:128;;11680:1;11669:3;11673;11675:1;11680;11673:3;:::i;:::-;11669:8;;;;;;;;:::i;:::-;;;;;;:12;;;;;11710:13;:16;11724:1;11710:16;;;;;;;;;;;11696:30;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:6;11705:1;11703;:3;;;;:::i;:::-;11696:11;;;;;;;;:::i;:::-;;;;;;:30;;;;11649:3;;;;;:::i;:::-;;;;11610:128;;;;11378:398;;:::o;4156:524::-;3263:5;;-1:-1:-1;;;;;3263:5:0;3249:10;:19;3241:65;;;;-1:-1:-1;;;3241:65:0;;;;;;;:::i;:::-;4381:1:::1;4346:25:::0;;;:11:::1;:25;::::0;;;;:32;4338:75:::1;;;::::0;-1:-1:-1;;;4338:75:0;;21628:2:1;4338:75:0::1;::::0;::::1;21610:21:1::0;21667:2;21647:18;;;21640:30;21706:28;21686:18;;;21679:56;21752:18;;4338:75:0::1;21426:350:1::0;4338:75:0::1;4424:25;::::0;;;:11:::1;:25;::::0;;;;;;;;:44;;;4479:40;;::::1;:60:::0;;;4550:34:::1;::::0;;::::1;:45:::0;;-1:-1:-1;;4550:45:0::1;::::0;::::1;;;::::0;;4611:61;;21955:25:1;;;21996:18;;;21989:34;;;4424:25:0;;4611:61:::1;::::0;21928:18:1;4611:61:0::1;;;;;;;4156:524:::0;;;;:::o;11157:213::-;11294:15;11264:9;2888:1;2876:9;:13;:42;;;;;2906:12;;2893:9;:25;;2876:42;2868:73;;;;-1:-1:-1;;;2868:73:0;;;;;;;:::i;:::-;3005:1;2966:28;;;:17;:28;;;;;2960:42;;;;;:::i;:::-;;;:46;2952:76;;;;-1:-1:-1;;;2952:76:0;;;;;;;:::i;:::-;11335:27:::1;::::0;;;:16:::1;:27;::::0;;;;;;;11328:34;;;;;;::::1;::::0;;;;;;;;;;;;11335:27;;11328:34;::::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3039:1;11157:213:::0;;;;:::o;3896:252::-;3263:5;;-1:-1:-1;;;;;3263:5:0;3249:10;:19;3241:65;;;;-1:-1:-1;;;3241:65:0;;;;;;;:::i;:::-;4083:57:::1;4098:4;;4083:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;4083:57:0::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;4104:6;;-1:-1:-1;4112:14:0;;-1:-1:-1;4083:57:0;4128:11;;;;;;4083:57;::::1;4128:11:::0;;;;4083:57;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;4083:14:0::1;::::0;-1:-1:-1;;;4083:57:0:i:1;:::-;3896:252:::0;;;;;;:::o;1190:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9892:795::-;10039:23;10077:19;10111:22;10148:20;10183:21;10219:20;10254:22;9995:9;2888:1;2876:9;:13;:42;;;;;2906:12;;2893:9;:25;;2876:42;2868:73;;;;-1:-1:-1;;;2868:73:0;;;;;;;:::i;:::-;3005:1;2966:28;;;:17;:28;;;;;2960:42;;;;;:::i;:::-;;;:46;2952:76;;;;-1:-1:-1;;;2952:76:0;;;;;;;:::i;:::-;10305:32:::1;10340:27:::0;;;:16:::1;:27;::::0;;;;;;;10400:17:::1;:28:::0;;;;;10443:13:::1;:24:::0;;;;;10482;;10521:22:::1;::::0;::::1;::::0;10558:23:::1;::::0;::::1;::::0;10596:33:::1;::::0;::::1;::::0;10644:24:::1;::::0;::::1;::::0;10378:301;;10400:28;;10378:301:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9892:795:::0;;;;;;;;;;:::o;4688:1122::-;3263:5;;4831:4;;-1:-1:-1;;;;;3263:5:0;3249:10;:19;3241:65;;;;-1:-1:-1;;;3241:65:0;;;;;;;:::i;:::-;4848:29:::1;4880:25:::0;;;:11:::1;:25;::::0;;;;4924:19:::1;::::0;::::1;::::0;::::1;;4916:54;;;::::0;-1:-1:-1;;;4916:54:0;;22236:2:1;4916:54:0::1;::::0;::::1;22218:21:1::0;22275:2;22255:18;;;22248:30;-1:-1:-1;;;22294:18:1;;;22287:52;22356:18;;4916:54:0::1;22034:346:1::0;4916:54:0::1;-1:-1:-1::0;;;;;5024:21:0;::::1;4991:30;5024:21:::0;;;:15:::1;:21;::::0;;;;5070:25:::1;::::0;::::1;::::0;:29;5066:240:::1;;5206:25;::::0;::::1;::::0;5161:42:::1;::::0;;;:28:::1;::::0;::::1;:42;::::0;;;;;:70:::1;::::0;5206:25;5161:70:::1;:::i;:::-;5142:15;:89;;5116:178;;;::::0;-1:-1:-1;;;5116:178:0;;22587:2:1;5116:178:0::1;::::0;::::1;22569:21:1::0;22626:2;22606:18;;;22599:30;22665:29;22645:18;;;22638:57;22712:18;;5116:178:0::1;22385:351:1::0;5116:178:0::1;5326:42;::::0;;;:28:::1;::::0;::::1;:42;::::0;;;;5371:15:::1;5326:60:::0;;5427:17;;5397:26:::1;::::0;::::1;:47:::0;;5427:17;;5397:26;;:47:::1;::::0;5427:17;;5397:47:::1;:::i;:::-;::::0;;;-1:-1:-1;;5484:15:0::1;5455:26;::::0;::::1;:44:::0;5528:9:::1;::::0;5553:17;;5528:43:::1;::::0;-1:-1:-1;;;5528:43:0;;-1:-1:-1;;;;;16967:32:1;;;5528:43:0::1;::::0;::::1;16949:51:1::0;17016:18;;;17009:34;;;;5528:9:0;::::1;::::0;:18:::1;::::0;16922::1;;5528:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5520:78;;;;-1:-1:-1::0;;;5520:78:0::1;;;;;;;:::i;:::-;5660:12;5649:9;5643:4;-1:-1:-1::0;;;;;5624:49:0::1;;;;;;;;;;;5713:17:::0;;::::1;5732:25:::0;;;:11:::1;:25;::::0;;;;;;5689:81;;-1:-1:-1;;;;;5689:81:0;::::1;::::0;::::1;::::0;::::1;::::0;5732:37:::1;::::0;;::::1;::::0;5689:81:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;5798:4:0::1;::::0;4688:1122;-1:-1:-1;;;;;4688:1122:0:o;13325:160::-;3263:5;;-1:-1:-1;;;;;3263:5:0;3249:10;:19;3241:65;;;;-1:-1:-1;;;3241:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13408:22:0;::::1;13400:50;;;::::0;-1:-1:-1;;;13400:50:0;;23982:2:1;13400:50:0::1;::::0;::::1;23964:21:1::0;24021:2;24001:18;;;23994:30;-1:-1:-1;;;24040:18:1;;;24033:45;24095:18;;13400:50:0::1;23780:339:1::0;13400:50:0::1;13461:5;:16:::0;;-1:-1:-1;;;;;;13461:16:0::1;-1:-1:-1::0;;;;;13461:16:0;;;::::1;::::0;;;::::1;::::0;;13325:160::o;13202:111::-;3263:5;;-1:-1:-1;;;;;3263:5:0;3249:10;:19;3241:65;;;;-1:-1:-1;;;3241:65:0;;;;;;;:::i;:::-;13277:9:::1;:28:::0;;-1:-1:-1;;;;;;13277:28:0::1;-1:-1:-1::0;;;;;13277:28:0;;;::::1;::::0;;;::::1;::::0;;13202:111::o;3334:554::-;3507:20;3557:4;3540:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;3540:22:0;;;;;;3530:33;;3540:22;3530:33;;;;3602:165;;;;;;;;3667:4;3602:165;;;;;;;;;;;;;;;;;;-1:-1:-1;3574:25:0;;;:11;:25;;;;;;;;:193;;;;;;;;;;;-1:-1:-1;;3574:193:0;;;;;;;;;;;;;;;;;;;;;;3530:33;;-1:-1:-1;3574:25:0;:193;;;;;;;;:::i;:::-;-1:-1:-1;;3778:14:0;:33;;;;;;;-1:-1:-1;3778:33:0;;;;;;;;;-1:-1:-1;3827:53:0;;;21955:25:1;;;22011:2;21996:18;;21989:34;;;3778:33:0;;3827:53;;21928:18:1;3827:53:0;21781:248:1;14:173;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:1:o;643:348::-;695:8;705:6;759:3;752:4;744:6;740:17;736:27;726:55;;777:1;774;767:12;726:55;-1:-1:-1;800:20:1;;-1:-1:-1;;;;;832:30:1;;829:50;;;875:1;872;865:12;829:50;912:4;904:6;900:17;888:29;;964:3;957:4;948:6;940;936:19;932:30;929:39;926:59;;;981:1;978;971:12;926:59;643:348;;;;;:::o;996:479::-;1076:6;1084;1092;1145:2;1133:9;1124:7;1120:23;1116:32;1113:52;;;1161:1;1158;1151:12;1113:52;1197:9;1184:23;1174:33;;1258:2;1247:9;1243:18;1230:32;-1:-1:-1;;;;;1277:6:1;1274:30;1271:50;;;1317:1;1314;1307:12;1271:50;1356:59;1407:7;1398:6;1387:9;1383:22;1356:59;:::i;:::-;996:479;;1434:8;;-1:-1:-1;1330:85:1;;-1:-1:-1;;;;996:479:1:o;1480:180::-;1539:6;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;-1:-1:-1;1631:23:1;;1480:180;-1:-1:-1;1480:180:1:o;2421:721::-;2513:6;2521;2529;2537;2590:2;2578:9;2569:7;2565:23;2561:32;2558:52;;;2606:1;2603;2596:12;2558:52;2646:9;2633:23;-1:-1:-1;;;;;2716:2:1;2708:6;2705:14;2702:34;;;2732:1;2729;2722:12;2702:34;2771:59;2822:7;2813:6;2802:9;2798:22;2771:59;:::i;:::-;2849:8;;-1:-1:-1;2745:85:1;-1:-1:-1;2937:2:1;2922:18;;2909:32;;-1:-1:-1;2953:16:1;;;2950:36;;;2982:1;2979;2972:12;2950:36;;3021:61;3074:7;3063:8;3052:9;3048:24;3021:61;:::i;:::-;2421:721;;;;-1:-1:-1;3101:8:1;-1:-1:-1;;;;2421:721:1:o;3332:250::-;3417:1;3427:113;3441:6;3438:1;3435:13;3427:113;;;3517:11;;;3511:18;3498:11;;;3491:39;3463:2;3456:10;3427:113;;;-1:-1:-1;;3574:1:1;3556:16;;3549:27;3332:250::o;3587:271::-;3629:3;3667:5;3661:12;3694:6;3689:3;3682:19;3710:76;3779:6;3772:4;3767:3;3763:14;3756:4;3749:5;3745:16;3710:76;:::i;:::-;3840:2;3819:15;-1:-1:-1;;3815:29:1;3806:39;;;;3847:4;3802:50;;3587:271;-1:-1:-1;;3587:271:1:o;3863:445::-;4090:6;4079:9;4072:25;4147:6;4140:14;4133:22;4128:2;4117:9;4113:18;4106:50;4192:6;4187:2;4176:9;4172:18;4165:34;4235:3;4230:2;4219:9;4215:18;4208:31;4053:4;4256:46;4297:3;4286:9;4282:19;4274:6;4256:46;:::i;:::-;4248:54;3863:445;-1:-1:-1;;;;;;3863:445:1:o;4313:435::-;4366:3;4404:5;4398:12;4431:6;4426:3;4419:19;4457:4;4486:2;4481:3;4477:12;4470:19;;4523:2;4516:5;4512:14;4544:1;4554:169;4568:6;4565:1;4562:13;4554:169;;;4629:13;;4617:26;;4663:12;;;;4698:15;;;;4590:1;4583:9;4554:169;;;-1:-1:-1;4739:3:1;;4313:435;-1:-1:-1;;;;;4313:435:1:o;4753:616::-;4805:3;4843:5;4837:12;4870:6;4865:3;4858:19;4896:4;4937:2;4932:3;4928:12;4962:11;4989;4982:18;;5039:6;5036:1;5032:14;5025:5;5021:26;5009:38;;5081:2;5074:5;5070:14;5102:1;5112:231;5126:6;5123:1;5120:13;5112:231;;;5197:5;5191:4;5187:16;5182:3;5175:29;5225:38;5258:4;5249:6;5243:13;5225:38;:::i;:::-;5321:12;;;;5217:46;-1:-1:-1;5286:15:1;;;;5148:1;5141:9;5112:231;;;-1:-1:-1;5359:4:1;;4753:616;-1:-1:-1;;;;;;;4753:616:1:o;5374:1773::-;5890:3;5903:22;;;5974:13;;5875:19;;;5996:22;;;5842:4;;6072;;6049:3;6034:19;;;6099:15;;;5842:4;6142:169;6156:6;6153:1;6150:13;6142:169;;;6217:13;;6205:26;;6251:12;;;;6286:15;;;;6178:1;6171:9;6142:169;;;6146:3;;;6356:9;6351:3;6347:19;6342:2;6331:9;6327:18;6320:47;6390:41;6427:3;6419:6;6390:41;:::i;:::-;6467:22;;;6462:2;6447:18;;6440:50;6543:13;;6565:24;;;6647:15;;;;-1:-1:-1;6607:15:1;;;;6682:1;6692:205;6708:8;6703:3;6700:17;6692:205;;;6791:15;;6784:23;6777:31;6763:46;;6870:17;;;;6831:14;;;;6736:1;6727:11;6692:205;;;6696:3;;6944:9;6937:5;6933:21;6928:2;6917:9;6913:18;6906:49;6978:43;7015:5;7007:6;6978:43;:::i;:::-;6964:57;;;;7070:9;7062:6;7058:22;7052:3;7041:9;7037:19;7030:51;7098:43;7134:6;7126;7098:43;:::i;:::-;7090:51;5374:1773;-1:-1:-1;;;;;;;;5374:1773:1:o;7152:186::-;7211:6;7264:2;7252:9;7243:7;7239:23;7235:32;7232:52;;;7280:1;7277;7270:12;7232:52;7303:29;7322:9;7303:29;:::i;:::-;7293:39;7152:186;-1:-1:-1;;;7152:186:1:o;7667:248::-;7735:6;7743;7796:2;7784:9;7775:7;7771:23;7767:32;7764:52;;;7812:1;7809;7802:12;7764:52;-1:-1:-1;;7835:23:1;;;7905:2;7890:18;;;7877:32;;-1:-1:-1;7667:248:1:o;7920:220::-;8069:2;8058:9;8051:21;8032:4;8089:45;8130:2;8119:9;8115:18;8107:6;8089:45;:::i;8509:484::-;8786:2;8775:9;8768:21;8749:4;8812:56;8864:2;8853:9;8849:18;8841:6;8812:56;:::i;:::-;8916:9;8908:6;8904:22;8899:2;8888:9;8884:18;8877:50;8944:43;8980:6;8972;8944:43;:::i;:::-;8936:51;8509:484;-1:-1:-1;;;;;8509:484:1:o;9427:118::-;9513:5;9506:13;9499:21;9492:5;9489:32;9479:60;;9535:1;9532;9525:12;9479:60;9427:118;:::o;9550:446::-;9633:6;9641;9649;9657;9710:3;9698:9;9689:7;9685:23;9681:33;9678:53;;;9727:1;9724;9717:12;9678:53;9763:9;9750:23;9740:33;;9820:2;9809:9;9805:18;9792:32;9782:42;;9871:2;9860:9;9856:18;9843:32;9833:42;;9925:2;9914:9;9910:18;9897:32;9938:28;9960:5;9938:28;:::i;:::-;9550:446;;;;-1:-1:-1;9550:446:1;;-1:-1:-1;;9550:446:1:o;10001:280::-;10200:2;10189:9;10182:21;10163:4;10220:55;10271:2;10260:9;10256:18;10248:6;10220:55;:::i;10286:858::-;10396:6;10404;10412;10420;10428;10436;10489:3;10477:9;10468:7;10464:23;10460:33;10457:53;;;10506:1;10503;10496:12;10457:53;10546:9;10533:23;-1:-1:-1;;;;;10616:2:1;10608:6;10605:14;10602:34;;;10632:1;10629;10622:12;10602:34;10671:59;10722:7;10713:6;10702:9;10698:22;10671:59;:::i;:::-;10749:8;;-1:-1:-1;10645:85:1;-1:-1:-1;10831:2:1;10816:18;;10803:32;;-1:-1:-1;10882:2:1;10867:18;;10854:32;;-1:-1:-1;10939:2:1;10924:18;;10911:32;;-1:-1:-1;10955:16:1;;;10952:36;;;10984:1;10981;10974:12;10952:36;;11023:61;11076:7;11065:8;11054:9;11050:24;11023:61;:::i;:::-;10286:858;;;;-1:-1:-1;10286:858:1;;-1:-1:-1;10286:858:1;;11103:8;;10286:858;-1:-1:-1;;;10286:858:1:o;11149:743::-;11486:3;11475:9;11468:22;11449:4;11513:46;11554:3;11543:9;11539:19;11531:6;11513:46;:::i;:::-;11607:9;11599:6;11595:22;11590:2;11579:9;11575:18;11568:50;11635:33;11661:6;11653;11635:33;:::i;:::-;11699:2;11684:18;;11677:34;;;;-1:-1:-1;;11742:2:1;11727:18;;11720:34;;;;11785:3;11770:19;;11763:35;;;;11829:3;11814:19;;11807:35;11873:3;11858:19;;;11851:35;11627:41;11149:743;-1:-1:-1;;11149:743:1:o;11897:322::-;11974:6;11982;11990;12043:2;12031:9;12022:7;12018:23;12014:32;12011:52;;;12059:1;12056;12049:12;12011:52;12082:29;12101:9;12082:29;:::i;:::-;12072:39;12158:2;12143:18;;12130:32;;-1:-1:-1;12209:2:1;12194:18;;;12181:32;;11897:322;-1:-1:-1;;;11897:322:1:o;12224:342::-;12426:2;12408:21;;;12465:2;12445:18;;;12438:30;-1:-1:-1;;;12499:2:1;12484:18;;12477:48;12557:2;12542:18;;12224:342::o;12571:380::-;12650:1;12646:12;;;;12693;;;12714:61;;12768:4;12760:6;12756:17;12746:27;;12714:61;12821:2;12813:6;12810:14;12790:18;12787:38;12784:161;;12867:10;12862:3;12858:20;12855:1;12848:31;12902:4;12899:1;12892:15;12930:4;12927:1;12920:15;12956:341;13158:2;13140:21;;;13197:2;13177:18;;;13170:30;-1:-1:-1;;;13231:2:1;13216:18;;13209:47;13288:2;13273:18;;12956:341::o;14060:127::-;14121:10;14116:3;14112:20;14109:1;14102:31;14152:4;14149:1;14142:15;14176:4;14173:1;14166:15;14192:125;14257:9;;;14278:10;;;14275:36;;;14291:18;;:::i;14585:127::-;14646:10;14641:3;14637:20;14634:1;14627:31;14677:4;14674:1;14667:15;14701:4;14698:1;14691:15;14843:545;14945:2;14940:3;14937:11;14934:448;;;14981:1;15006:5;15002:2;14995:17;15051:4;15047:2;15037:19;15121:2;15109:10;15105:19;15102:1;15098:27;15092:4;15088:38;15157:4;15145:10;15142:20;15139:47;;;-1:-1:-1;15180:4:1;15139:47;15235:2;15230:3;15226:12;15223:1;15219:20;15213:4;15209:31;15199:41;;15290:82;15308:2;15301:5;15298:13;15290:82;;;15353:17;;;15334:1;15323:13;15290:82;;14934:448;14843:545;;;:::o;15564:1206::-;-1:-1:-1;;;;;15683:3:1;15680:27;15677:53;;;15710:18;;:::i;:::-;15739:94;15829:3;15789:38;15821:4;15815:11;15789:38;:::i;:::-;15783:4;15739:94;:::i;:::-;15859:1;15884:2;15879:3;15876:11;15901:1;15896:616;;;;16556:1;16573:3;16570:93;;;-1:-1:-1;16629:19:1;;;16616:33;16570:93;-1:-1:-1;;15521:1:1;15517:11;;;15513:24;15509:29;15499:40;15545:1;15541:11;;;15496:57;16676:78;;15869:895;;15896:616;14790:1;14783:14;;;14827:4;14814:18;;-1:-1:-1;;15932:17:1;;;16033:9;16055:229;16069:7;16066:1;16063:14;16055:229;;;16158:19;;;16145:33;16130:49;;16265:4;16250:20;;;;16218:1;16206:14;;;;16085:12;16055:229;;;16059:3;16312;16303:7;16300:16;16297:159;;;16436:1;16432:6;16426:3;16420;16417:1;16413:11;16409:21;16405:34;16401:39;16388:9;16383:3;16379:19;16366:33;16362:79;16354:6;16347:95;16297:159;;;16499:1;16493:3;16490:1;16486:11;16482:19;16476:4;16469:33;15869:895;;;15564:1206;;;:::o;17054:245::-;17121:6;17174:2;17162:9;17153:7;17149:23;17145:32;17142:52;;;17190:1;17187;17180:12;17142:52;17222:9;17216:16;17241:28;17263:5;17241:28;:::i;17304:346::-;17506:2;17488:21;;;17545:2;17525:18;;;17518:30;-1:-1:-1;;;17579:2:1;17564:18;;17557:52;17641:2;17626:18;;17304:346::o;17655:267::-;17744:6;17739:3;17732:19;17796:6;17789:5;17782:4;17777:3;17773:14;17760:43;-1:-1:-1;17848:1:1;17823:16;;;17841:4;17819:27;;;17812:38;;;;17904:2;17883:15;;;-1:-1:-1;;17879:29:1;17870:39;;;17866:50;;17655:267::o;17927:247::-;18086:2;18075:9;18068:21;18049:4;18106:62;18164:2;18153:9;18149:18;18141:6;18133;18106:62;:::i;:::-;18098:70;17927:247;-1:-1:-1;;;;17927:247:1:o;18587:397::-;18789:2;18771:21;;;18828:2;18808:18;;;18801:30;18867:34;18862:2;18847:18;;18840:62;-1:-1:-1;;;18933:2:1;18918:18;;18911:31;18974:3;18959:19;;18587:397::o;18989:437::-;19206:2;19195:9;19188:21;19169:4;19232:62;19290:2;19279:9;19275:18;19267:6;19259;19232:62;:::i;:::-;19342:9;19334:6;19330:22;19325:2;19314:9;19310:18;19303:50;19370;19413:6;19405;19397;19370:50;:::i;:::-;19362:58;18989:437;-1:-1:-1;;;;;;;18989:437:1:o;19431:127::-;19492:10;19487:3;19483:20;19480:1;19473:31;19523:4;19520:1;19513:15;19547:4;19544:1;19537:15;19563:135;19602:3;19623:17;;;19620:43;;19643:18;;:::i;:::-;-1:-1:-1;19690:1:1;19679:13;;19563:135::o;20665:217::-;20705:1;20731;20721:132;;20775:10;20770:3;20766:20;20763:1;20756:31;20810:4;20807:1;20800:15;20838:4;20835:1;20828:15;20721:132;-1:-1:-1;20867:9:1;;20665:217::o;21293:128::-;21360:9;;;21381:11;;;21378:37;;;21395:18;;:::i;22741:1034::-;22915:6;22904:9;22897:25;22878:4;22941:2;22979;22974;22963:9;22959:18;22952:30;23002:1;23035:6;23029:13;23065:36;23091:9;23065:36;:::i;:::-;23137:6;23132:2;23121:9;23117:18;23110:34;23163:2;23184:1;23216:2;23205:9;23201:18;23233:1;23228:158;;;;23400:1;23395:354;;;;23194:555;;23228:158;-1:-1:-1;;23276:24:1;;23256:18;;;23249:52;23354:14;;23347:22;23344:1;23340:30;23325:46;;23321:55;;;-1:-1:-1;23228:158:1;;23395:354;23426:6;23423:1;23416:17;23474:2;23471:1;23461:16;23499:1;23513:180;23527:6;23524:1;23521:13;23513:180;;;23620:14;;23596:17;;;23592:26;;23585:50;23663:16;;;;23542:10;;23513:180;;;23717:17;;23713:26;;;-1:-1:-1;;23194:555:1;-1:-1:-1;23766:3:1;;22741:1034;-1:-1:-1;;;;;;;;;22741:1034:1:o;24124:289::-;24255:3;24293:6;24287:13;24309:66;24368:6;24363:3;24356:4;24348:6;24344:17;24309:66;:::i;:::-;24391:16;;;;;24124:289;-1:-1:-1;;24124:289:1:o;24418:1352::-;24544:3;24538:10;-1:-1:-1;;;;;24563:6:1;24560:30;24557:56;;;24593:18;;:::i;:::-;24622:97;24712:6;24672:38;24704:4;24698:11;24672:38;:::i;:::-;24666:4;24622:97;:::i;:::-;24774:4;;24838:2;24827:14;;24855:1;24850:663;;;;25557:1;25574:6;25571:89;;;-1:-1:-1;25626:19:1;;;25620:26;25571:89;-1:-1:-1;;15521:1:1;15517:11;;;15513:24;15509:29;15499:40;15545:1;15541:11;;;15496:57;25673:81;;24820:944;;24850:663;14790:1;14783:14;;;14827:4;14814:18;;-1:-1:-1;;24886:20:1;;;25004:236;25018:7;25015:1;25012:14;25004:236;;;25107:19;;;25101:26;25086:42;;25199:27;;;;25167:1;25155:14;;;;25034:19;;25004:236;;;25008:3;25268:6;25259:7;25256:19;25253:201;;;25329:19;;;25323:26;-1:-1:-1;;25412:1:1;25408:14;;;25424:3;25404:24;25400:37;25396:42;25381:58;25366:74;;25253:201;-1:-1:-1;;;;;25500:1:1;25484:14;;;25480:22;25467:36;;-1:-1:-1;24418:1352:1:o
Swarm Source
ipfs://620f9ccd777fb741e89497a249707dba3accc1a30d6b79d9cc20435a8635609f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.