Contract 0x51C0B29A1d84611373BA301706c6B4b72283C80F 3

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x8d0ea4d51fd5749bb405146d733196d45dfe74c9d97cd2d3fc7df7e68190ef3eSet_skills200139862021-10-25 2:27:0521 mins ago0xe7f3a94b28b3f674de0479f447d04101ca2add9b IN  Rarity: Skills 20 FTM0.030117584
0x24308cf5edd567fa1c19bdc98608ae874a122ee30edbf09f7af6a053737f3dceSet_skills200136712021-10-25 2:22:4825 mins ago0xaf55a7c95ab122dbcd349e6e7d4d94e3e4869712 IN  Rarity: Skills 20 FTM0.031584266804
0xbb2c383a519eb207cbf756fa4020da28a65273af8b1cac5fbfd755318288fd1bSet_skills200135172021-10-25 2:20:1228 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.029161908719
0x4695bda176500e2ba4f541ec84d79dc239782bd8d55ecc80495a5a3858bb85b5Set_skills200134772021-10-25 2:19:3828 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.028920610427
0xf9338dd25f6ae395714420292fcf048a072e3a65d1f78f685d6835eb3810ea9bSet_skills200134442021-10-25 2:19:1029 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.028920610427
0x319c7948868d49a2c73a5c72a8481179c6ddde6dec79f4b1484284d01d255092Set_skills200134132021-10-25 2:18:4629 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.029088611318
0x4c7bf42cf3901dddc9c62d5dab730f5a9616ddd47813dc1e53842a89f4a81ce8Set_skills200133732021-10-25 2:18:1530 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.029088611318
0x4f1d9f2932a87bcf67a53c5e2e25d8115ab58a7844415b3e5f5baac3b095d460Set_skills200133392021-10-25 2:17:5030 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.029088611318
0xb4b75db14338fa8f5ba204716cc63b564b65c58feb223fcad04f3bc3c525d80fSet_skills200133192021-10-25 2:17:3431 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.029825940363
0xc0a1110d7d24eb7d4031501b5f89d9e83f651d6b20fa99ac8031b5e9d1928dc1Set_skills200132802021-10-25 2:17:0531 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.029825940363
0x9c5b9d8347acaf192fc482bbe8a9a1e8924dacb04276f4759fa6a84ddef069e2Set_skills200132342021-10-25 2:16:3032 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.03058851383
0x96fac1d48e918292b8329ace94a9820b96f1f5b30d387365436799e195f8dd33Set_skills200131862021-10-25 2:15:5332 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.03058851383
0xb90de5de5a1be5f56bd916769e197e761fa43ebff0b2264d32e597466bca1e26Set_skills200131512021-10-25 2:15:2833 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.028577817746
0x6c88d8b9a41b0b740dc5745f6e56fac3fe82481a256cc80e0d3dd3c863e37d4eSet_skills200131292021-10-25 2:15:1133 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.028577817746
0x0763c92b42114efe2d436db326bf3009925faccb9f3db4726c11b6ae14ba195eSet_skills200131082021-10-25 2:14:5033 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.029344967687
0x2144d5be36eadd1e9109f4cd476f355d5703d1c8ea705b1a730c508d04d5b792Set_skills200127232021-10-25 2:09:3938 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.031694765747
0xd218cbdea110719f486438cb44e38ea7d56c5ea014091f043d1efd1f6a2bf087Set_skills200125642021-10-25 2:06:5641 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.034659435259
0x5ac8a27b3a53fccfcf46b794be8704a9ee712a2e358b4db9ab2e1e2b719f04b2Set_skills200117112021-10-25 1:53:5254 mins ago0xd48d8cef2f1a7b29bafb5e17e8b88bfebaec602a IN  Rarity: Skills 20 FTM0.032971859824
0x14b59e97adca4f99108294197e20e16bee67be113dd6fdf9b1142fde4b9caa41Set_skills200116772021-10-25 1:53:1755 mins ago0xd48d8cef2f1a7b29bafb5e17e8b88bfebaec602a IN  Rarity: Skills 20 FTM0.032387214039
0xc88293ebbc541e5057614be14f4128445d5cf19f7add0c7fc606f7605bbcdd40Set_skills200115492021-10-25 1:51:0457 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.028842293666
0xdf0a6850306c6c575f062fe559a3bec9a960fcc4f4080a9a17f3389b28df6105Set_skills200115192021-10-25 1:50:3558 mins ago0xc8d8765f4860d20aafdd3abeb358e7cd22000dc6 IN  Rarity: Skills 20 FTM0.033300329778
0x18d25425dcb038b582070269745064f34baf17ea0fde252f9e8a15952d81bcfdSet_skills200092042021-10-25 1:15:491 hr 32 mins ago0xa0f8bd3ee367edf7b1079f3df108a8bc8ed183b9 IN  Rarity: Skills 20 FTM0.043061483411
0x95166f86ef585f63117617ec5ce6d66276c7f25978d35a6c5a2555fb51c9386eSet_skills200089872021-10-25 1:11:541 hr 36 mins ago0xfec978153e0148de5c4fb45622214ffd6b5171da IN  Rarity: Skills 20 FTM0.029580705914
0xe7e5ca30ac9b820bdd0c42b9da84524a354ca1ef12650a53f14b443f7c75fc0cSet_skills200038882021-10-24 23:54:052 hrs 54 mins ago0x3cb226ae639bf01052c1c8a0479c2021d1906d96 IN  Rarity: Skills 20 FTM0.044424878865
0x0bec33536d30f16a3b767d07729f2090500f39697b618f2035c54e1898584ee5Set_skills200021732021-10-24 23:27:173 hrs 21 mins ago0x59072b3a3287f4a75cadfb36d671a2f0d1959b09 IN  Rarity: Skills 20 FTM0.029552564466
[ Download CSV Export 
Latest 2 internal transactions
Parent Txn Hash Block From To Value
0xa6770fed93d68a83ca29652f88bdbac96620a18b4e21ac2364b7a42c442cc2c4171357852021-09-16 12:37:1038 days 14 hrs ago 0xad268606cec97ef0fa77f74ddbebdcebbbd8d7c4 Rarity: Skills 20.2 FTM
0xc563a128a11bb51d46006beffac3123a7710fa5aa823e58bf77f49c278c56ef4167192452021-09-09 3:52:0645 days 22 hrs ago Fantom: Deployer  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
rarity_skills

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license
/**
 *Submitted for verification at FtmScan.com on 2021-09-09
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

interface rarity {
    function level(uint) external view returns (uint);
    function getApproved(uint) external view returns (address);
    function ownerOf(uint) external view returns (address);
    function class(uint) external view returns (uint);
}

interface attributes {
    function character_created(uint) external view returns (bool);
    function ability_scores(uint) external view returns (uint32,uint32,uint32,uint32,uint32,uint32);
}

interface codex_skills {
    function skill_by_id(uint) external view returns (
        uint id,
        string memory name,
        uint attribute_id,
        uint synergy,
        bool retry,
        bool armor_check_penalty,
        string memory check,
        string memory action
    );
}

contract rarity_skills {

    rarity constant rm = rarity(0xce761D788DF608BD21bdd59d6f4B54b2e27F25Bb);
    attributes constant _attr = attributes(0xB5F5AF1087A8DA62A23b08C00C6ec9af21F397a1);
    codex_skills constant _codex_skills = codex_skills(0x67ae39a2Ee91D7258a86CD901B17527e19E493B3);
    
    function class_skills_by_name(uint _class) public view returns (string[] memory) {
        bool[36] memory _skills = class_skills(_class);
        uint x = 0;
        for (uint i = 0; i < 36; i++) {
            if (_skills[i]) {
                x++;
            }
        }
        string[] memory _skill_names = new string[](x);
        x = 0;
        for (uint i = 0; i < 36; i++) {
            if (_skills[i]) {
                (,string memory name,,,,,,) = _codex_skills.skill_by_id(i+1);
                _skill_names[x++] = name;
            }
        }
        return  _skill_names;
    }
    
    function calculate_points_for_set(uint _class, uint8[36] memory _skills) public pure returns (uint points) {
        bool[36] memory _class_skills = class_skills(_class);
        for (uint i = 0; i < 36; i++) {
            if (_class_skills[i]) {
                points += _skills[i];
            } else {
                points += _skills[i]*2;
            }
        }
    }
    
    function is_valid_set(uint _summoner, uint8[36] memory _skills) public view returns (bool) {
        uint _level = rm.level(_summoner);
        uint _max_rank_class_skill = _level+3;
        uint _max_rank_cross_skill = _max_rank_class_skill / 2;
        uint _class = rm.class(_summoner);
        bool[36] memory _class_skills = class_skills(_class);
        for (uint i = 0; i < 36; i++) {
            if (_class_skills[i]) {
                if (_skills[i] > _max_rank_class_skill) {
                    return false;
                }
            } else {
                if (_skills[i] > _max_rank_cross_skill) {
                    return false;
                }
            }
        }
        
        (,,,uint _int,,) = _attr.ability_scores(_summoner);
        int _modifier = modifier_for_attribute(_int);
        uint _skill_points = skills_per_level(_modifier, _class, _level);
        uint _spent_points = calculate_points_for_set(_class, _skills);
        if (_skill_points < _spent_points) {
            return false;
        }
        return true;
    }
    
    function class_skills(uint _class) public pure returns (bool[36] memory _skills) {
        if (_class == 1) {
            return [false,false,false,true,false,true,false,false,false,false,false,false,false,true,false,false,true,true,false,true,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false];
        } else if (_class == 2) {
            return [true,true,true,true,true,true,true,true,false,true,true,false,true,false,false,true,false,true,true,true,true,false,true,true,false,false,true,true,true,true,false,false,true,true,true,false];
        } else if (_class == 3) {
            return [false,false,false,false,true,true,false,true,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false];
        } else if (_class == 4) {
            return [false,false,false,false,true,true,false,true,false,false,false,false,false,true,true,false,false,false,true,true,false,false,false,true,true,false,false,false,false,true,true,true,true,false,false,false];
        } else if (_class == 5) {
            return [false,false,false,true,false,true,false,false,false,false,false,false,false,true,false,false,true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false];
        } else if (_class == 6) {
            return [false,true,false,true,true,true,false,true,false,false,true,false,false,false,false,true,false,true,true,true,true,false,true,true,false,false,true,false,false,false,true,false,true,true,false,false];
        } else if (_class == 7) {
            return [false,false,false,false,true,true,false,true,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,true,true,false,true,false,false,false,false,false,false,false,false,false];
        } else if (_class == 8) {
            return [false,false,false,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,true,true,false,false,true,true,true,false,false,false,false,true,true,true,false,false,true];
        } else if (_class == 9) {
            return [true,true,true,true,false,true,true,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,false,true,true,true,false,false,true,false,true,true,true,true];
        } else if (_class == 10) {
            return [false,false,true,false,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false];
        } else if (_class == 11) {
            return [false,false,false,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false];
        }
    }
    
    function modifier_for_attribute(uint _attribute) public pure returns (int _modifier) {
        if (_attribute == 9) {
            return -1;
        }
        return (int(_attribute) - 10) / 2;
    }
    
    function skills_per_level(int _int, uint _class, uint _level) public pure returns (uint points) {
        points = uint(int(base_per_class(_class))+_int)*(_level+3);
    }
    
    function base_per_class(uint _class) public pure returns (uint base) {
        if (_class == 1) {
            return 4;
        } else if (_class == 2) {
            return 6;
        } else if (_class == 3) {
            return 2;
        } else if (_class == 4) {
            return 4;
        } else if (_class == 5) {
            return 2;
        } else if (_class == 6) {
            return 4;
        } else if (_class == 7) {
            return 2;
        } else if (_class == 8) {
            return 6;
        } else if (_class == 9) {
            return 8;
        } else if (_class == 10) {
            return 2;
        } else if (_class == 11) {
            return 2;
        }
    }
    
    mapping(uint => uint8[36]) public skills;
    
    function get_skills(uint _summoner) external view returns (uint8[36] memory) {
        return skills[_summoner];
    }

    function _isApprovedOrOwner(uint _summoner) internal view returns (bool) {
        return rm.getApproved(_summoner) == msg.sender || rm.ownerOf(_summoner) == msg.sender;
    }

    function set_skills(uint _summoner, uint8[36] memory _skills) external {
        require(_isApprovedOrOwner(_summoner));
        require(_attr.character_created(_summoner));
        require(is_valid_set(_summoner, _skills));
        uint8[36] memory _current_skills = skills[_summoner];
        for (uint i = 0; i < 36; i++) {
            require(_current_skills[i] <= _skills[i]);
        }
        skills[_summoner] = _skills;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_class","type":"uint256"}],"name":"base_per_class","outputs":[{"internalType":"uint256","name":"base","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_class","type":"uint256"},{"internalType":"uint8[36]","name":"_skills","type":"uint8[36]"}],"name":"calculate_points_for_set","outputs":[{"internalType":"uint256","name":"points","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_class","type":"uint256"}],"name":"class_skills","outputs":[{"internalType":"bool[36]","name":"_skills","type":"bool[36]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_class","type":"uint256"}],"name":"class_skills_by_name","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"get_skills","outputs":[{"internalType":"uint8[36]","name":"","type":"uint8[36]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"},{"internalType":"uint8[36]","name":"_skills","type":"uint8[36]"}],"name":"is_valid_set","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_attribute","type":"uint256"}],"name":"modifier_for_attribute","outputs":[{"internalType":"int256","name":"_modifier","type":"int256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"},{"internalType":"uint8[36]","name":"_skills","type":"uint8[36]"}],"name":"set_skills","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"skills","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int256","name":"_int","type":"int256"},{"internalType":"uint256","name":"_class","type":"uint256"},{"internalType":"uint256","name":"_level","type":"uint256"}],"name":"skills_per_level","outputs":[{"internalType":"uint256","name":"points","type":"uint256"}],"stateMutability":"pure","type":"function"}]

608060405234801561001057600080fd5b50611f7b806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063aa19814311610066578063aa19814314610124578063bffe71c614610144578063d48464c414610157578063da0ee3541461017c578063e67d77e81461019c57600080fd5b806354d3652a146100a35780635938b63a146100b857806367193047146100de578063927330db146100f15780639a67298214610104575b600080fd5b6100b66100b1366004611a9e565b6101bf565b005b6100cb6100c6366004611a6c565b610345565b6040519081526020015b60405180910390f35b6100cb6100ec366004611a9e565b610407565b6100cb6100ff366004611a6c565b6104b4565b610117610112366004611a6c565b6104e5565b6040516100d59190611c80565b610137610132366004611a6c565b6111fe565b6040516100d59190611d2e565b6100cb610152366004611a40565b611263565b61016a610165366004611bea565b611296565b60405160ff90911681526020016100d5565b61018f61018a366004611a6c565b6112cf565b6040516100d59190611cb4565b6101af6101aa366004611a9e565b61148e565b60405190151581526020016100d5565b6101c882611755565b6101d157600080fd5b604051637c4aaa1960e11b81526004810183905273b5f5af1087a8da62a23b08c00c6ec9af21f397a19063f89554329060240160206040518083038186803b15801561021c57600080fd5b505afa158015610230573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102549190611a25565b61025d57600080fd5b610267828261148e565b61027057600080fd5b6000828152602081905260408082208151610480810192839052916024908285855b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116102925790505050505050905060005b6024811015610324578281602481106102e5576102e5611f19565b602002015160ff168282602481106102ff576102ff611f19565b602002015160ff16111561031257600080fd5b8061031c81611ed2565b9150506102ca565b50600083815260208190526040902061033f90836024611882565b50505050565b6000816001141561035857506004919050565b816002141561036957506006919050565b816003141561037a57506002919050565b816004141561038b57506004919050565b816005141561039c57506002919050565b81600614156103ad57506004919050565b81600714156103be57506002919050565b81600814156103cf57506006919050565b81600914156103e057506008919050565b81600a14156103f157506002919050565b81600b141561040257506002919050565b919050565b600080610413846104e5565b905060005b60248110156104ac5781816024811061043357610433611f19565b6020020151156104685783816024811061044f5761044f611f19565b60200201516104619060ff1684611dc5565b925061049a565b83816024811061047a5761047a611f19565b602002015161048a906002611e3e565b6104979060ff1684611dc5565b92505b806104a481611ed2565b915050610418565b505092915050565b600081600914156104c85750600019919050565b60026104d5600a84611e67565b6104df9190611ddd565b92915050565b6104ed611915565b816001141561061c57505060408051610480810182526000808252602082018190529181018290526001606082018190526080820183905260a0820181905260c0820183905260e08201839052610100820183905261012082018390526101408201839052610160820183905261018082018390526101a082018190526101c082018390526101e08201839052610200820181905261022082018190526102408201839052610260820181905261028082018390526102a082018390526102c082018390526102e08201839052610300820181905261032082018390526103408201839052610360820183905261038082018390526103a082018390526103c082018390526103e082018190526104008201526104208101829052610440810182905261046081019190915290565b816002141561074e5750506040805161048081018252600180825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526000610100820181905261012082018390526101408201839052610160820181905261018082018390526101a082018190526101c082018190526101e08201839052610200820181905261022082018390526102408201839052610260820183905261028082018390526102a082018190526102c082018390526102e08201839052610300820181905261032082018190526103408201839052610360820183905261038082018390526103a082018390526103c082018190526103e082018190526104008201839052610420820183905261044082019290925261046081019190915290565b816003141561087d57505060408051610480810182526000808252602082018190529181018290526060810182905260016080820181905260a0820181905260c0820183905260e08201819052610100820183905261012082018390526101408201839052610160820183905261018082018390526101a082018390526101c082018190526101e08201839052610200820183905261022082018390526102408201819052610260820183905261028082018390526102a082018390526102c082018390526102e08201819052610300820183905261032082018390526103408201839052610360820183905261038082018390526103a08201526103c081018290526103e0810182905261040081018290526104208101829052610440810182905261046081019190915290565b81600414156109ac57505060408051610480810182526000808252602082018190529181018290526060810182905260016080820181905260a0820181905260c0820183905260e08201819052610100820183905261012082018390526101408201839052610160820183905261018082018390526101a082018190526101c082018190526101e08201839052610200820183905261022082018390526102408201819052610260820181905261028082018390526102a082018390526102c082018390526102e08201819052610300820181905261032082018390526103408201839052610360820183905261038082018390526103a082018190526103c082018190526103e082018190526104008201526104208101829052610440810182905261046081019190915290565b8160051415610adb57505060408051610480810182526000808252602082018190529181018290526001606082018190526080820183905260a0820181905260c0820183905260e08201839052610100820183905261012082018390526101408201839052610160820183905261018082018390526101a082018190526101c082018390526101e08201839052610200820181905261022082018190526102408201839052610260820183905261028082018390526102a082018390526102c082018390526102e08201839052610300820181905261032082018390526103408201839052610360820183905261038082018390526103a082018390526103c082018390526103e082018390526104008201526104208101829052610440810182905261046081019190915290565b8160061415610c0d57505060408051610480810182526000808252600160208301819052928201819052606082018390526080820183905260a0820183905260c0820181905260e08201839052610100820181905261012082018190526101408201839052610160820181905261018082018190526101a082018190526101c082018190526101e08201839052610200820181905261022082018390526102408201839052610260820183905261028082018390526102a082018190526102c082018390526102e08201839052610300820181905261032082018190526103408201839052610360820181905261038082018190526103a082018190526103c082018390526103e082018190526104008201839052610420820192909252610440810182905261046081019190915290565b8160071415610d3c57505060408051610480810182526000808252602082018190529181018290526060810182905260016080820181905260a0820181905260c0820183905260e08201819052610100820183905261012082018390526101408201839052610160820183905261018082018390526101a082018190526101c082018190526101e08201839052610200820183905261022082018390526102408201819052610260820183905261028082018390526102a082018390526102c082018390526102e0820181905261030082018190526103208201839052610340820152610360810182905261038081018290526103a081018290526103c081018290526103e0810182905261040081018290526104208101829052610440810182905261046081019190915290565b8160081415610e6e57505060408051610480810182526000808252602082018190529181018290526001606082018190526080820181905260a0820181905260c0820183905260e08201839052610100820183905261012082018390526101408201839052610160820183905261018082018390526101a082018190526101c082018190526101e08201839052610200820183905261022082018190526102408201819052610260820181905261028082018190526102a082018390526102c082018390526102e08201819052610300820181905261032082018190526103408201839052610360820183905261038082018390526103a082018390526103c082018190526103e082018190526104008201819052610420820183905261044082019290925261046081019190915290565b8160091415610f9d57505060408051610480810182526001808252602082018190529181018290526060810182905260006080820181905260a0820183905260c0820183905260e08201839052610100820183905261012082018390526101408201839052610160820183905261018082018390526101a082018190526101c082018190526101e08201839052610200820183905261022082018390526102408201839052610260820183905261028082018390526102a082018390526102c082018390526102e08201839052610300820181905261032082018390526103408201839052610360820183905261038082018190526103a082018190526103c082018390526103e082015261040081018290526104208101829052610440810182905261046081019190915290565b81600a14156110cf57505060408051610480810182526000808252602082018190526001928201839052606082018190526080820183905260a0820183905260c0820181905260e08201819052610100820181905261012082018190526101408201819052610160820181905261018082018190526101a082018190526101c082018190526101e08201819052610200820181905261022082018190526102408201839052610260820181905261028082018190526102a082018190526102c082018190526102e08201839052610300820181905261032082018190526103408201819052610360820181905261038082018190526103a08201929092526103c081018290526103e0810182905261040081018290526104208101829052610440810182905261046081019190915290565b81600b141561040257505060408051610480810182526000808252602082018190529181018290526060810182905260016080820181905260a0820181905260c0820181905260e08201839052610100820183905261012082018390526101408201839052610160820183905261018082018390526101a082018390526101c082018390526101e08201839052610200820183905261022082018390526102408201819052610260820183905261028082018390526102a082018390526102c082018390526102e08201819052610300820183905261032082018390526103408201839052610360820183905261038082018390526103a08201526103c081018290526103e0810182905261040081018290526104208101829052610440810182905261046081019190915290565b611206611915565b60008281526020819052604080822081516104808101928390529290916024918390855b825461010083900a900460ff1681526020600192830181810494850194909303909202910180841161122a575094979650505050505050565b6000611270826003611dc5565b8461127a85610345565b6112849190611d84565b61128e9190611e1f565b949350505050565b600060205281600052604060002081602481106112b257600080fd5b602081049091015460ff601f9092166101000a9004169150829050565b606060006112dc836104e5565b90506000805b6024811015611327578281602481106112fd576112fd611f19565b602002015115611315578161131181611ed2565b9250505b8061131f81611ed2565b9150506112e2565b5060008167ffffffffffffffff81111561134357611343611f2f565b60405190808252806020026020018201604052801561137657816020015b60608152602001906001900390816113615790505b5090506000915060005b60248110156114855783816024811061139b5761139b611f19565b6020020151156114735760007367ae39a2ee91d7258a86cd901b17527e19e493b363335dd05f6113cc846001611dc5565b6040518263ffffffff1660e01b81526004016113ea91815260200190565b60006040518083038186803b15801561140257600080fd5b505afa158015611416573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261143e9190810190611b23565b5050505050509150508083858061145490611ed2565b96508151811061146657611466611f19565b6020026020010181905250505b8061147d81611ed2565b915050611380565b50949350505050565b6040516302e2c6f960e11b815260048101839052600090819073ce761d788df608bd21bdd59d6f4b54b2e27f25bb906305c58df29060240160206040518083038186803b1580156114de57600080fd5b505afa1580156114f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115169190611a85565b90506000611525826003611dc5565b90506000611534600283611e0b565b604051630d84ea7d60e21b81526004810188905290915060009073ce761d788df608bd21bdd59d6f4b54b2e27f25bb90633613a9f49060240160206040518083038186803b15801561158557600080fd5b505afa158015611599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bd9190611a85565b905060006115ca826104e5565b905060005b602481101561166b578181602481106115ea576115ea611f19565b602002015115611629578488826024811061160757611607611f19565b602002015160ff16111561162457600096505050505050506104df565b611659565b8388826024811061163c5761163c611f19565b602002015160ff16111561165957600096505050505050506104df565b8061166381611ed2565b9150506115cf565b50604051631df6784760e21b81526004810189905260009073b5f5af1087a8da62a23b08c00c6ec9af21f397a1906377d9e11c9060240160c06040518083038186803b1580156116ba57600080fd5b505afa1580156116ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f29190611c0c565b505063ffffffff169350505050600061170a826104b4565b9050600061171982868a611263565b90506000611727868c610407565b90508082101561174357600099505050505050505050506104df565b5060019b9a5050505050505050505050565b60405163020604bf60e21b815260048101829052600090339073ce761d788df608bd21bdd59d6f4b54b2e27f25bb9063081812fc9060240160206040518083038186803b1580156117a557600080fd5b505afa1580156117b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117dd91906119f5565b6001600160a01b031614806104df57506040516331a9108f60e11b815260048101839052339073ce761d788df608bd21bdd59d6f4b54b2e27f25bb90636352211e9060240160206040518083038186803b15801561183a57600080fd5b505afa15801561184e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187291906119f5565b6001600160a01b03161492915050565b6002830191839082156119055791602002820160005b838211156118d657835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302611898565b80156119035782816101000a81549060ff02191690556001016020816000010492830192600103026118d6565b505b50611911929150611934565b5090565b6040518061048001604052806024906020820280368337509192915050565b5b808211156119115760008155600101611935565b8051801515811461040257600080fd5b600082601f83011261196a57600080fd5b815167ffffffffffffffff8082111561198557611985611f2f565b604051601f8301601f19908116603f011681019082821181831017156119ad576119ad611f2f565b816040528381528660208588010111156119c657600080fd5b6119d7846020830160208901611ea6565b9695505050505050565b805163ffffffff8116811461040257600080fd5b600060208284031215611a0757600080fd5b81516001600160a01b0381168114611a1e57600080fd5b9392505050565b600060208284031215611a3757600080fd5b611a1e82611949565b600080600060608486031215611a5557600080fd5b505081359360208301359350604090920135919050565b600060208284031215611a7e57600080fd5b5035919050565b600060208284031215611a9757600080fd5b5051919050565b6000806104a0808486031215611ab357600080fd5b83359250602085603f860112611ac857600080fd5b611ad0611d5a565b80828701888589011115611ae357600080fd5b60009450845b6024811015611b1457813560ff81168114611b02578687fd5b84529284019290840190600101611ae9565b50959890975095505050505050565b600080600080600080600080610100898b031215611b4057600080fd5b88519750602089015167ffffffffffffffff80821115611b5f57600080fd5b611b6b8c838d01611959565b985060408b0151975060608b01519650611b8760808c01611949565b9550611b9560a08c01611949565b945060c08b0151915080821115611bab57600080fd5b611bb78c838d01611959565b935060e08b0151915080821115611bcd57600080fd5b50611bda8b828c01611959565b9150509295985092959890939650565b60008060408385031215611bfd57600080fd5b50508035926020909101359150565b60008060008060008060c08789031215611c2557600080fd5b611c2e876119e1565b9550611c3c602088016119e1565b9450611c4a604088016119e1565b9350611c58606088016119e1565b9250611c66608088016119e1565b9150611c7460a088016119e1565b90509295509295509295565b6104808101818360005b6024811015611cab5781511515835260209283019290910190600101611c8a565b50505092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611d2157878503603f1901845281518051808752611d02818989018a8501611ea6565b601f01601f191695909501860194509285019290850190600101611cdb565b5092979650505050505050565b6104808101818360005b6024811015611cab57815160ff16835260209283019290910190600101611d38565b604051610480810167ffffffffffffffff81118282101715611d7e57611d7e611f2f565b60405290565b600080821280156001600160ff1b0384900385131615611da657611da6611eed565b600160ff1b8390038412811615611dbf57611dbf611eed565b50500190565b60008219821115611dd857611dd8611eed565b500190565b600082611dec57611dec611f03565b600160ff1b821460001984141615611e0657611e06611eed565b500590565b600082611e1a57611e1a611f03565b500490565b6000816000190483118215151615611e3957611e39611eed565b500290565b600060ff821660ff84168160ff0481118215151615611e5f57611e5f611eed565b029392505050565b60008083128015600160ff1b850184121615611e8557611e85611eed565b6001600160ff1b0384018313811615611ea057611ea0611eed565b50500390565b60005b83811015611ec1578181015183820152602001611ea9565b8381111561033f5750506000910152565b6000600019821415611ee657611ee6611eed565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122054f1af059869bc06d2365913b8bc4cbf33c53dc62b46182ca6fabaad1b157c2564736f6c63430008070033

Deployed ByteCode Sourcemap

831:7355:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7740:443;;;;;;:::i;:::-;;:::i;:::-;;6641:721;;;;;;:::i;:::-;;:::i;:::-;;;7446:25:1;;;7434:2;7419:18;6641:721:0;;;;;;;;1760:384;;;;;;:::i;:::-;;:::i;6240:204::-;;;;;;:::i;:::-;;:::i;3263:2965::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7427:120::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6456:173::-;;;;;;:::i;:::-;;:::i;7374:40::-;;;;;;:::i;:::-;;:::i;:::-;;;7836:4:1;7824:17;;;7806:36;;7794:2;7779:18;7374:40:0;7664:184:1;1137:611:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2156:1095::-;;;;;;:::i;:::-;;:::i;:::-;;;7275:14:1;;7268:22;7250:41;;7238:2;7223:18;2156:1095:0;7110:187:1;7740:443:0;7830:29;7849:9;7830:18;:29::i;:::-;7822:38;;;;;;7879:34;;-1:-1:-1;;;7879:34:0;;;;;7446:25:1;;;980:42:0;;7879:23;;7419:18:1;;7879:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7871:43;;;;;;7933:32;7946:9;7957:7;7933:12;:32::i;:::-;7925:41;;;;;;7977:32;8012:17;;;;;;;;;;;7977:52;;;;;;;;;;;;8012:17;7977:32;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8045:6;8040:98;8061:2;8057:1;:6;8040:98;;;8115:7;8123:1;8115:10;;;;;;;:::i;:::-;;;;;8093:32;;:15;8109:1;8093:18;;;;;;;:::i;:::-;;;;;:32;;;;8085:41;;;;;;8065:3;;;;:::i;:::-;;;;8040:98;;;-1:-1:-1;8148:6:0;:17;;;;;;;;;;:27;;8168:7;8148:27;;:::i;:::-;;7811:372;7740:443;;:::o;6641:721::-;6699:9;6725:6;6735:1;6725:11;6721:634;;;-1:-1:-1;6760:1:0;;6641:721;-1:-1:-1;6641:721:0:o;6721:634::-;6783:6;6793:1;6783:11;6779:576;;;-1:-1:-1;6818:1:0;;6641:721;-1:-1:-1;6641:721:0:o;6779:576::-;6841:6;6851:1;6841:11;6837:518;;;-1:-1:-1;6876:1:0;;6641:721;-1:-1:-1;6641:721:0:o;6837:518::-;6899:6;6909:1;6899:11;6895:460;;;-1:-1:-1;6934:1:0;;6641:721;-1:-1:-1;6641:721:0:o;6895:460::-;6957:6;6967:1;6957:11;6953:402;;;-1:-1:-1;6992:1:0;;6641:721;-1:-1:-1;6641:721:0:o;6953:402::-;7015:6;7025:1;7015:11;7011:344;;;-1:-1:-1;7050:1:0;;6641:721;-1:-1:-1;6641:721:0:o;7011:344::-;7073:6;7083:1;7073:11;7069:286;;;-1:-1:-1;7108:1:0;;6641:721;-1:-1:-1;6641:721:0:o;7069:286::-;7131:6;7141:1;7131:11;7127:228;;;-1:-1:-1;7166:1:0;;6641:721;-1:-1:-1;6641:721:0:o;7127:228::-;7189:6;7199:1;7189:11;7185:170;;;-1:-1:-1;7224:1:0;;6641:721;-1:-1:-1;6641:721:0:o;7185:170::-;7247:6;7257:2;7247:12;7243:112;;;-1:-1:-1;7283:1:0;;6641:721;-1:-1:-1;6641:721:0:o;7243:112::-;7306:6;7316:2;7306:12;7302:53;;;-1:-1:-1;7342:1:0;;6641:721;-1:-1:-1;6641:721:0:o;7302:53::-;6641:721;;;:::o;1760:384::-;1854:11;1878:29;1910:20;1923:6;1910:12;:20::i;:::-;1878:52;;1946:6;1941:196;1962:2;1958:1;:6;1941:196;;;1990:13;2004:1;1990:16;;;;;;;:::i;:::-;;;;;1986:140;;;2037:7;2045:1;2037:10;;;;;;;:::i;:::-;;;;;2027:20;;;;;;:::i;:::-;;;1986:140;;;2098:7;2106:1;2098:10;;;;;;;:::i;:::-;;;;;:12;;2109:1;2098:12;:::i;:::-;2088:22;;;;;;:::i;:::-;;;1986:140;1966:3;;;;:::i;:::-;;;;1941:196;;;;1867:277;1760:384;;;;:::o;6240:204::-;6310:13;6340:10;6354:1;6340:15;6336:57;;;-1:-1:-1;;;6379:2:0;6240:204;-1:-1:-1;6240:204:0:o;6336:57::-;6435:1;6411:20;6429:2;6415:10;6411:20;:::i;:::-;6410:26;;;;:::i;:::-;6403:33;6240:204;-1:-1:-1;;6240:204:0:o;3263:2965::-;3319:23;;:::i;:::-;3359:6;3369:1;3359:11;3355:2866;;;-1:-1:-1;;3387:215:0;;;;;;;;-1:-1:-1;3387:215:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;3355:2866::-;3624:6;3634:1;3624:11;3620:2601;;;-1:-1:-1;;3652:199:0;;;;;;;;3660:4;3652:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3652:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;3620:2601::-;3873:6;3883:1;3873:11;3869:2352;;;-1:-1:-1;;3901:217:0;;;;;;;;-1:-1:-1;3901:217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;3869:2352::-;4140:6;4150:1;4140:11;4136:2085;;;-1:-1:-1;;4168:211:0;;;;;;;;-1:-1:-1;4168:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;4136:2085::-;4401:6;4411:1;4401:11;4397:1824;;;-1:-1:-1;;4429:217:0;;;;;;;;-1:-1:-1;4429:217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;4397:1824::-;4668:6;4678:1;4668:11;4664:1557;;;-1:-1:-1;;4696:207:0;;;;;;;;-1:-1:-1;4696:207:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;4664:1557::-;4925:6;4935:1;4925:11;4921:1300;;;-1:-1:-1;;4953:215:0;;;;;;;;-1:-1:-1;4953:215:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;4921:1300::-;5190:6;5200:1;5190:11;5186:1035;;;-1:-1:-1;;5218:208:0;;;;;;;;-1:-1:-1;5218:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;5186:1035::-;5448:6;5458:1;5448:11;5444:777;;;-1:-1:-1;;5476:195:0;;;;;;;;5484:4;5476:195;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5476:195:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;5444:777::-;5693:6;5703:2;5693:12;5689:532;;;-1:-1:-1;;5722:218:0;;;;;;;;-1:-1:-1;5722:218:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;5689:532::-;5962:6;5972:2;5962:12;5958:263;;;-1:-1:-1;;5991:218:0;;;;;;;;-1:-1:-1;5991:218:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:2965::o;7427:120::-;7486:16;;:::i;:::-;7522:6;:17;;;;;;;;;;;7515:24;;;;;;;;;;7522:17;;7515:24;;7522:17;;7515:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7515:24:0;;7427:120;-1:-1:-1;;;;;;;7427:120:0:o;6456:173::-;6539:11;6612:8;:6;6619:1;6612:8;:::i;:::-;6605:4;6581:22;6596:6;6581:14;:22::i;:::-;6577:32;;;;:::i;:::-;6572:49;;;;:::i;:::-;6563:58;6456:173;-1:-1:-1;;;;6456:173:0:o;7374:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7374:40:0;;-1:-1:-1;7374:40:0:o;1137:611::-;1201:15;1229:23;1255:20;1268:6;1255:12;:20::i;:::-;1229:46;;1286:6;1312;1307:110;1328:2;1324:1;:6;1307:110;;;1356:7;1364:1;1356:10;;;;;;;:::i;:::-;;;;;1352:54;;;1387:3;;;;:::i;:::-;;;;1352:54;1332:3;;;;:::i;:::-;;;;1307:110;;;;1427:28;1471:1;1458:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1427:46;;1488:1;1484:5;;1505:6;1500:210;1521:2;1517:1;:6;1500:210;;;1549:7;1557:1;1549:10;;;;;;;:::i;:::-;;;;;1545:154;;;1582:18;1081:42;1610:25;1636:3;:1;1638;1636:3;:::i;:::-;1610:30;;;;;;;;;;;;;7446:25:1;;7434:2;7419:18;;7302:175;1610:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1610:30:0;;;;;;;;;;;;:::i;:::-;1580:60;;;;;;;;;1679:4;1659:12;1672:3;;;;;:::i;:::-;;;1659:17;;;;;;;;:::i;:::-;;;;;;:24;;;;1561:138;1545:154;1525:3;;;;:::i;:::-;;;;1500:210;;;-1:-1:-1;1728:12:0;1137:611;-1:-1:-1;;;;1137:611:0:o;2156:1095::-;2272:19;;-1:-1:-1;;;2272:19:0;;;;;7446:25:1;;;2241:4:0;;;;891:42;;2272:8;;7419:18:1;;2272:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2258:33;-1:-1:-1;2302:26:0;2331:8;2258:33;2338:1;2331:8;:::i;:::-;2302:37;-1:-1:-1;2350:26:0;2379:25;2403:1;2302:37;2379:25;:::i;:::-;2429:19;;-1:-1:-1;;;2429:19:0;;;;;7446:25:1;;;2350:54:0;;-1:-1:-1;2415:11:0;;891:42;;2429:8;;7419:18:1;;2429:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2415:33;;2459:29;2491:20;2504:6;2491:12;:20::i;:::-;2459:52;;2527:6;2522:342;2543:2;2539:1;:6;2522:342;;;2571:13;2585:1;2571:16;;;;;;;:::i;:::-;;;;;2567:286;;;2625:21;2612:7;2620:1;2612:10;;;;;;;:::i;:::-;;;;;:34;;;2608:95;;;2678:5;2671:12;;;;;;;;;;2608:95;2567:286;;;2760:21;2747:7;2755:1;2747:10;;;;;;;:::i;:::-;;;;;:34;;;2743:95;;;2813:5;2806:12;;;;;;;;;;2743:95;2547:3;;;;:::i;:::-;;;;2522:342;;;-1:-1:-1;2903:31:0;;-1:-1:-1;;;2903:31:0;;;;;7446:25:1;;;2888:9:0;;980:42;;2903:20;;7419:18:1;;2903:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2884:50;;;;;;;;;2945:13;2961:28;2984:4;2961:22;:28::i;:::-;2945:44;;3000:18;3021:43;3038:9;3049:6;3057;3021:16;:43::i;:::-;3000:64;;3075:18;3096:41;3121:6;3129:7;3096:24;:41::i;:::-;3075:62;;3168:13;3152;:29;3148:74;;;3205:5;3198:12;;;;;;;;;;;;;3148:74;-1:-1:-1;3239:4:0;;2156:1095;-1:-1:-1;;;;;;;;;;;2156:1095:0:o;7555:177::-;7646:25;;-1:-1:-1;;;7646:25:0;;;;;7446::1;;;7622:4:0;;7675:10;;891:42;;7646:14;;7419:18:1;;7646:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7646:39:0;;:78;;;-1:-1:-1;7689:21:0;;-1:-1:-1;;;7689:21:0;;;;;7446:25:1;;;7714:10:0;;891:42;;7689:10;;7419:18:1;;7689:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7689:35:0;;7639:85;7555:177;-1:-1:-1;;7555:177:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;14:164:1;90:13;;139;;132:21;122:32;;112:60;;168:1;165;158:12;183:686;237:5;290:3;283:4;275:6;271:17;267:27;257:55;;308:1;305;298:12;257:55;337:6;331:13;363:18;400:2;396;393:10;390:36;;;406:18;;:::i;:::-;481:2;475:9;449:2;535:13;;-1:-1:-1;;531:22:1;;;555:2;527:31;523:40;511:53;;;579:18;;;599:22;;;576:46;573:72;;;625:18;;:::i;:::-;665:10;661:2;654:22;700:2;692:6;685:18;746:3;739:4;734:2;726:6;722:15;718:26;715:35;712:55;;;763:1;760;753:12;712:55;776:63;836:2;829:4;821:6;817:17;810:4;802:6;798:17;776:63;:::i;:::-;857:6;183:686;-1:-1:-1;;;;;;183:686:1:o;874:167::-;952:13;;1005:10;994:22;;984:33;;974:61;;1031:1;1028;1021:12;1046:290;1116:6;1169:2;1157:9;1148:7;1144:23;1140:32;1137:52;;;1185:1;1182;1175:12;1137:52;1211:16;;-1:-1:-1;;;;;1256:31:1;;1246:42;;1236:70;;1302:1;1299;1292:12;1236:70;1325:5;1046:290;-1:-1:-1;;;1046:290:1:o;1341:202::-;1408:6;1461:2;1449:9;1440:7;1436:23;1432:32;1429:52;;;1477:1;1474;1467:12;1429:52;1500:37;1527:9;1500:37;:::i;1548:315::-;1624:6;1632;1640;1693:2;1681:9;1672:7;1668:23;1664:32;1661:52;;;1709:1;1706;1699:12;1661:52;-1:-1:-1;;1732:23:1;;;1802:2;1787:18;;1774:32;;-1:-1:-1;1853:2:1;1838:18;;;1825:32;;1548:315;-1:-1:-1;1548:315:1:o;1868:180::-;1927:6;1980:2;1968:9;1959:7;1955:23;1951:32;1948:52;;;1996:1;1993;1986:12;1948:52;-1:-1:-1;2019:23:1;;1868:180;-1:-1:-1;1868:180:1:o;2053:184::-;2123:6;2176:2;2164:9;2155:7;2151:23;2147:32;2144:52;;;2192:1;2189;2182:12;2144:52;-1:-1:-1;2215:16:1;;2053:184;-1:-1:-1;2053:184:1:o;2242:835::-;2332:6;2340;2371:4;2416:2;2404:9;2395:7;2391:23;2387:32;2384:52;;;2432:1;2429;2422:12;2384:52;2468:9;2455:23;2445:33;;2497:2;2542:7;2537:2;2526:9;2522:18;2518:32;2508:60;;2564:1;2561;2554:12;2508:60;2588:17;;:::i;:::-;2627:3;2665:2;2654:9;2650:18;2703:7;2698:2;2687:9;2683:18;2680:31;2677:51;;;2724:1;2721;2714:12;2677:51;2746:1;2737:10;;2767:1;2777:270;2793:4;2788:3;2785:13;2777:270;;;2870:3;2857:17;2918:4;2911:5;2907:16;2900:5;2897:27;2887:55;;2938:1;2935;2928:12;2887:55;2955:18;;2993:12;;;;3025;;;;2817:1;2808:11;2777:270;;;-1:-1:-1;2242:835:1;;3066:5;;-1:-1:-1;2242:835:1;-1:-1:-1;;;;;;2242:835:1:o;3082:1112::-;3239:6;3247;3255;3263;3271;3279;3287;3295;3348:3;3336:9;3327:7;3323:23;3319:33;3316:53;;;3365:1;3362;3355:12;3316:53;3394:9;3388:16;3378:26;;3448:2;3437:9;3433:18;3427:25;3471:18;3512:2;3504:6;3501:14;3498:34;;;3528:1;3525;3518:12;3498:34;3551:61;3604:7;3595:6;3584:9;3580:22;3551:61;:::i;:::-;3541:71;;3652:2;3641:9;3637:18;3631:25;3621:35;;3696:2;3685:9;3681:18;3675:25;3665:35;;3719:47;3761:3;3750:9;3746:19;3719:47;:::i;:::-;3709:57;;3785:47;3827:3;3816:9;3812:19;3785:47;:::i;:::-;3775:57;;3878:3;3867:9;3863:19;3857:26;3841:42;;3908:2;3898:8;3895:16;3892:36;;;3924:1;3921;3914:12;3892:36;3947:63;4002:7;3991:8;3980:9;3976:24;3947:63;:::i;:::-;3937:73;;4056:3;4045:9;4041:19;4035:26;4019:42;;4086:2;4076:8;4073:16;4070:36;;;4102:1;4099;4092:12;4070:36;;4125:63;4180:7;4169:8;4158:9;4154:24;4125:63;:::i;:::-;4115:73;;;3082:1112;;;;;;;;;;;:::o;4199:248::-;4267:6;4275;4328:2;4316:9;4307:7;4303:23;4299:32;4296:52;;;4344:1;4341;4334:12;4296:52;-1:-1:-1;;4367:23:1;;;4437:2;4422:18;;;4409:32;;-1:-1:-1;4199:248:1:o;4452:624::-;4561:6;4569;4577;4585;4593;4601;4654:3;4642:9;4633:7;4629:23;4625:33;4622:53;;;4671:1;4668;4661:12;4622:53;4694:39;4723:9;4694:39;:::i;:::-;4684:49;;4752:48;4796:2;4785:9;4781:18;4752:48;:::i;:::-;4742:58;;4819:48;4863:2;4852:9;4848:18;4819:48;:::i;:::-;4809:58;;4886:48;4930:2;4919:9;4915:18;4886:48;:::i;:::-;4876:58;;4953:49;4997:3;4986:9;4982:19;4953:49;:::i;:::-;4943:59;;5021:49;5065:3;5054:9;5050:19;5021:49;:::i;:::-;5011:59;;4452:624;;;;;;;;:::o;5081:508::-;5257:4;5242:20;;5246:9;5339:6;5215:4;5373:210;5387:4;5384:1;5381:11;5373:210;;;5460:13;;5453:21;5446:29;5434:42;;5499:4;5523:12;;;;5558:15;;;;5407:1;5400:9;5373:210;;;5377:3;;;5081:508;;;;:::o;5594:1001::-;5756:4;5785:2;5825;5814:9;5810:18;5855:2;5844:9;5837:21;5878:6;5913;5907:13;5944:6;5936;5929:22;5982:2;5971:9;5967:18;5960:25;;6044:2;6034:6;6031:1;6027:14;6016:9;6012:30;6008:39;5994:53;;6082:2;6074:6;6070:15;6103:1;6113:453;6127:6;6124:1;6121:13;6113:453;;;6192:22;;;-1:-1:-1;;6188:36:1;6176:49;;6248:13;;6290:9;;6312:24;;;6349:61;6290:9;6384:15;;;6371:11;;;6349:61;:::i;:::-;6476:2;6453:17;-1:-1:-1;;6449:31:1;6437:44;;;;6433:53;;;-1:-1:-1;6544:12:1;;;;6509:15;;;;6149:1;6142:9;6113:453;;;-1:-1:-1;6583:6:1;;5594:1001;-1:-1:-1;;;;;;;5594:1001:1:o;6600:505::-;6778:4;6763:20;;6767:9;6860:6;6736:4;6894:205;6908:4;6905:1;6902:11;6894:205;;;6971:13;;6986:4;6967:24;6955:37;;7015:4;7039:12;;;;7074:15;;;;6928:1;6921:9;6894:205;;7853:248;7920:2;7914:9;7962:4;7950:17;;7997:18;7982:34;;8018:22;;;7979:62;7976:88;;;8044:18;;:::i;:::-;8080:2;8073:22;7853:248;:::o;8106:265::-;8145:3;8173:9;;;8198:10;;-1:-1:-1;;;;;8217:27:1;;;8210:35;;8194:52;8191:78;;;8249:18;;:::i;:::-;-1:-1:-1;;;8296:19:1;;;8289:27;;8281:36;;8278:62;;;8320:18;;:::i;:::-;-1:-1:-1;;8356:9:1;;8106:265::o;8376:128::-;8416:3;8447:1;8443:6;8440:1;8437:13;8434:39;;;8453:18;;:::i;:::-;-1:-1:-1;8489:9:1;;8376:128::o;8509:193::-;8548:1;8574;8564:35;;8579:18;;:::i;:::-;-1:-1:-1;;;8615:18:1;;-1:-1:-1;;8635:13:1;;8611:38;8608:64;;;8652:18;;:::i;:::-;-1:-1:-1;8686:10:1;;8509:193::o;8707:120::-;8747:1;8773;8763:35;;8778:18;;:::i;:::-;-1:-1:-1;8812:9:1;;8707:120::o;8832:168::-;8872:7;8938:1;8934;8930:6;8926:14;8923:1;8920:21;8915:1;8908:9;8901:17;8897:45;8894:71;;;8945:18;;:::i;:::-;-1:-1:-1;8985:9:1;;8832:168::o;9005:238::-;9043:7;9083:4;9080:1;9076:12;9115:4;9112:1;9108:12;9175:3;9169:4;9165:14;9160:3;9157:23;9150:3;9143:11;9136:19;9132:49;9129:75;;;9184:18;;:::i;:::-;9224:13;;9005:238;-1:-1:-1;;;9005:238:1:o;9248:267::-;9287:4;9316:9;;;9341:10;;-1:-1:-1;;;9360:19:1;;9353:27;;9337:44;9334:70;;;9384:18;;:::i;:::-;-1:-1:-1;;;;;9431:27:1;;9424:35;;9416:44;;9413:70;;;9463:18;;:::i;:::-;-1:-1:-1;;9500:9:1;;9248:267::o;9520:258::-;9592:1;9602:113;9616:6;9613:1;9610:13;9602:113;;;9692:11;;;9686:18;9673:11;;;9666:39;9638:2;9631:10;9602:113;;;9733:6;9730:1;9727:13;9724:48;;;-1:-1:-1;;9768:1:1;9750:16;;9743:27;9520:258::o;9783:135::-;9822:3;-1:-1:-1;;9843:17:1;;9840:43;;;9863:18;;:::i;:::-;-1:-1:-1;9910:1:1;9899:13;;9783:135::o;9923:127::-;9984:10;9979:3;9975:20;9972:1;9965:31;10015:4;10012:1;10005:15;10039:4;10036:1;10029:15;10055:127;10116:10;10111:3;10107:20;10104:1;10097:31;10147:4;10144:1;10137:15;10171:4;10168:1;10161:15;10187:127;10248:10;10243:3;10239:20;10236:1;10229:31;10279:4;10276:1;10269:15;10303:4;10300:1;10293:15;10319:127;10380:10;10375:3;10371:20;10368:1;10361:31;10411:4;10408:1;10401:15;10435:4;10432:1;10425:15

Swarm Source

ipfs://54f1af059869bc06d2365913b8bc4cbf33c53dc62b46182ca6fabaad1b157c25
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.