Contract 0x51C0B29A1d84611373BA301706c6B4b72283C80F 4

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x12ae5c55207a0b63763a3fcf7383ff3a319aafe530d11d572b5bce16fcc48297Set_skills546846432023-01-29 22:07:417 hrs 46 mins ago0x5bc7bcba624bb090865811f32dba5b9baf7ca761 IN  Rarity: Skills 20 FTM0.006056304311
0xf88001dfacd163a924dc4895118ecf98c62eff47ac6aef1afd6e56583b8f27ceSet_skills546457442023-01-29 8:02:1121 hrs 51 mins ago0xad6e362b5e01b5fd97ab32dbe12664abd2f766a9 IN  Rarity: Skills 20 FTM0.008620435406
0x783d25578db7df3ca08cf8b6bad32de7f80dc4d7d8936b169ff14671cc4642d9Set_skills546457082023-01-29 8:01:3321 hrs 52 mins ago0xad6e362b5e01b5fd97ab32dbe12664abd2f766a9 IN  Rarity: Skills 20 FTM0.008677426633
0x61b8eeac433b303aedbc32907e9ad8586b4006b38da2b1611bf9008784d8aa53Set_skills546456912023-01-29 8:01:1421 hrs 52 mins ago0xad6e362b5e01b5fd97ab32dbe12664abd2f766a9 IN  Rarity: Skills 20 FTM0.008699214842
0x151c2a01e36b6f61a02b09547939a313069c95d091497949ce97d8005afc15dfSet_skills546456722023-01-29 8:00:5621 hrs 52 mins ago0xad6e362b5e01b5fd97ab32dbe12664abd2f766a9 IN  Rarity: Skills 20 FTM0.008715332684
0x6849e1367b0f1948a5d0442c80b90afc76930a1d2a3543a877a753f809f4acd7Set_skills546456492023-01-29 8:00:3321 hrs 53 mins ago0xad6e362b5e01b5fd97ab32dbe12664abd2f766a9 IN  Rarity: Skills 20 FTM0.009874495483
0x7eba89add2d55b36d860000c8aa6c726003a277f7ca4fcd7499e3e71af329979Set_skills545414612023-01-27 12:05:042 days 17 hrs ago0x5e0b1f370c47cffa0e7a87137e9b8036e79caa2a IN  Rarity: Skills 20 FTM0.008468010522
0xd03a302c3763183329ea32a7af8b916420498a353b692f500fca96a80be2dbe1Set_skills544298992023-01-25 22:14:454 days 7 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.008602785835
0xc4bac3f294a30fd33667d6eb195566cb4e43ce960918108e4ae0a7bca51ee83dSet_skills544296922023-01-25 22:09:474 days 7 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.005304141834
0xf2f8883cfad02fb5066b944b95eb82b5b6d6fbce1fcfc89552d21513e999be24Set_skills544295822023-01-25 22:07:564 days 7 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.005981329797
0x9dd6050b763e985328a188d9538ab1409ed9f238529a0a3d303218bbc97cf2c3Set_skills544294782023-01-25 22:06:204 days 7 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.006885958727
0x5ac13ed1d847cb2b8ca6fd77f879ffdf1efec554a44b8a395b513dad76f23594Set_skills544292172023-01-25 22:01:084 days 7 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.007470821466
0x48d21afe34a6d19e58b30ce21d566f123704c2303d66f8ea3f7b8d41a99c7f6aSet_skills544291022023-01-25 21:58:284 days 7 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.008325775014
0x4689638afb11dfd72b7d4836890f702e9d4dadb8390d70f43f03cc3a1a4c35c4Set_skills544290432023-01-25 21:56:464 days 7 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.014145824133
0xffbce209be971dea9de4e1ee4602b20ac917832a67cfe6451b394dee960cfdd8Set_skills544288922023-01-25 21:53:384 days 8 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.004525373751
0x15d8c0cc6b4617bfe698c27e2616a5074b8a78f06412e6880c3e39c43aaf2a35Set_skills544288712023-01-25 21:53:164 days 8 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.005398993617
0x1a8c03d9e0dc1df8467b4825ae70db2f62fb1679a035508ba040b32e9a89b6ddSet_skills544286632023-01-25 21:49:334 days 8 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.00541494487
0xa201ba77a087565e1a3cf033199e9538a696d92f4f35f1ccd75738143de51c75Set_skills544284612023-01-25 21:45:304 days 8 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.006088269167
0x80e0dfe21662cd6eaca0822ce545496baca4cf02963c5b135d6de83107e6d851Set_skills544281282023-01-25 21:39:294 days 8 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.006187088889
0x6fbdb273498722da2eb1e78c4dfec5bc5c2b691a05ea884e5d1f18bf10b541ecSet_skills544281202023-01-25 21:39:174 days 8 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.007228578669
0x98690c43da95cba8dd9aa360174b6dd9c036929d298691982d0d7c60a14f6b3dSet_skills544281172023-01-25 21:39:134 days 8 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Skills 20 FTM0.006127018094
0x350f1dc3ae46525e079c225971e171b5eccdb515a66f8c28d2d4df043e3b533eSet_skills539204382023-01-17 9:52:0912 days 20 hrs agoTutipila Coin: Deployer IN  Rarity: Skills 20 FTM0.006526285392
0xadd34fbc0d5130c3bf8e819a89457775036c49b11cb57b25cf1622b086141383Set_skills536053952023-01-12 1:33:1418 days 4 hrs ago0xde0aef70a7ae324045b7722c903aaaec2ac175f5 IN  Rarity: Skills 20 FTM0.015158748989
0x36d2dc3161272b73c98b8224618861677488ddf4f6559d825ea1423891e16bfcSet_skills536050982023-01-12 1:26:5718 days 4 hrs ago0xde0aef70a7ae324045b7722c903aaaec2ac175f5 IN  Rarity: Skills 20 FTM0.016945848736
0x4b2d8215400aa7379eb50db90bee4cfc26147d5162174363453a946380596718Set_skills534626652023-01-09 2:45:2721 days 3 hrs ago0xde0aef70a7ae324045b7722c903aaaec2ac175f5 IN  Rarity: Skills 20 FTM0.005440702278
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xc563a128a11bb51d46006beffac3123a7710fa5aa823e58bf77f49c278c56ef4167192452021-09-09 3:52:06508 days 2 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.