Contract 0x51C0B29A1d84611373BA301706c6B4b72283C80F 4

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xcda653650877d506cef4163331a7b19f5d6e89fc8babcda067b595187815d686Set_skills385558962022-05-19 3:16:1613 hrs 13 mins ago0x5cdaecc1a78a3b08d186e3f02e9f05c1bb92a59b IN  Rarity: Skills 20 FTM0.059353783835
0x9d01d10adde08f33f9260b254d764c21024eab4186d20da994896b1c3e108ed5Set_skills385335672022-05-18 19:39:4220 hrs 50 mins ago0x5cdaecc1a78a3b08d186e3f02e9f05c1bb92a59b IN  Rarity: Skills 20 FTM0.024941573373
0xac87758599f779d78dc04ecefb9fc47db5ebff35a5d6755238b71575472dd081Set_skills384104022022-05-17 2:41:292 days 13 hrs ago0x5cdaecc1a78a3b08d186e3f02e9f05c1bb92a59b IN  Rarity: Skills 20 FTM0.047763741481
0x33aebd5bc3d41ab0ac35d21513a92131d3d41d20612422f9eec2b5fcd5da92f4Set_skills383380032022-05-16 3:27:043 days 13 hrs ago0x0b20f1ada3e99acb78493a5744d16df04992a7df IN  Rarity: Skills 20 FTM0.140190653784
0x28edbfad74a304da3594eb14316c23ed28766b652c1039721fa69af678ce4bd0Set_skills383378192022-05-16 3:22:393 days 13 hrs ago0x0b20f1ada3e99acb78493a5744d16df04992a7df IN  Rarity: Skills 20 FTM0.13152871843
0x265c537a6c6b1e201568a15bc0d1b950318596a3ee47730a48d71c1f01c070dcSet_skills382662582022-05-15 3:26:404 days 13 hrs ago0x91e04c5fe50a02440d822092f87ae6b8b957f4d4 IN  Rarity: Skills 20 FTM0.0787392
0xeae027aacc1de5f6621f3a3f3190ed096947ae3858822f7a1e573c08738a73bfSet_skills382662232022-05-15 3:25:504 days 13 hrs ago0x91e04c5fe50a02440d822092f87ae6b8b957f4d4 IN  Rarity: Skills 20 FTM0.08661312
0xc59fa63c327d48e35810e89f86f481be26cba1f3f25ef3187f2b1d756062184fSet_skills382661652022-05-15 3:24:534 days 13 hrs ago0x91e04c5fe50a02440d822092f87ae6b8b957f4d4 IN  Rarity: Skills 20 FTM0.08792544
0xeb03061377b5fa78e8e9aaaea770f3735dd6ca87446af341ea36f88622cd8b8aSet_skills382661222022-05-15 3:24:084 days 13 hrs ago0x91e04c5fe50a02440d822092f87ae6b8b957f4d4 IN  Rarity: Skills 20 FTM0.059049
0xc96a0f6f74b542b55dded8d253f052d8b97980e948b3975367190d97b766dc80Set_skills382661052022-05-15 3:23:514 days 13 hrs ago0x91e04c5fe50a02440d822092f87ae6b8b957f4d4 IN  Rarity: Skills 20 FTM0.0667386
0xaecc9333cada8ac4346abc0bdc65e06c5d6fbe152b40df8d11ffaba43aac5ab5Set_skills382036052022-05-14 6:17:465 days 10 hrs ago0x5cdaecc1a78a3b08d186e3f02e9f05c1bb92a59b IN  Rarity: Skills 20 FTM0.088893816177
0xb6d0e10a5f89e09b8648d8b114c6c026d29fbe15e4f307e1ae804318c028ca0eSet_skills378456442022-05-08 16:07:2611 days 22 mins ago0x67de6d9bd31f8baf7147a953fc1f42b71b0c9c6e IN  Rarity: Skills 20 FTM0.027353840604
0x860d9e6122f3542da06f1331ae5afa74ac77e8d6ed4c0dbf6514dc9e9f89106aSet_skills378447422022-05-08 15:50:2811 days 39 mins ago0x67de6d9bd31f8baf7147a953fc1f42b71b0c9c6e IN  Rarity: Skills 20 FTM0.02713619464
0xf5afab99b1d0d89e2823b742265dbef5b9aaa2ee48efe3259912e2c79aa6bb13Set_skills377624152022-05-07 13:33:0412 days 2 hrs agoTutipila Coin: Deployer IN  Rarity: Skills 20 FTM0.014575295
0xa4d3b60c023b545a490761d51ac97e6c444bbe930ef8f16dffda6559a3c7fef5Set_skills377622572022-05-07 13:30:2712 days 2 hrs agoTutipila Coin: Deployer IN  Rarity: Skills 20 FTM0.014330115
0x530fd1b85e2c342ba179d04e379ae2d32b76404410376b71da9e416449786e6aSet_skills377332222022-05-07 4:32:4512 days 11 hrs ago0xc271fa9b1afb3b9d4dd0e5eeaba92c97ba3e2b1e IN  Rarity: Skills 20 FTM0.014263285
0x97835469c778bee916604bf6a7ed70380b483f4584141f64fefc0918a27af43aSet_skills376367182022-05-05 21:40:3413 days 18 hrs ago0x4975580882fd991c0a9d2ae07a98d7d64f1a327a IN  Rarity: Skills 20 FTM0.03868682455
0x1ffb93ea488d9af8bbf2fe1b7933d60092fe5448c436c1cf493b8808427a6b53Set_skills376362902022-05-05 21:33:0613 days 18 hrs ago0x4975580882fd991c0a9d2ae07a98d7d64f1a327a IN  Rarity: Skills 20 FTM0.039313273084
0x7e6e084e0af1993997d93d4324d09485c2b1e390911a111f2bad3725410db08bSet_skills375934042022-05-05 7:29:0414 days 9 hrs ago0xe3eed5b3828ca6b71b83f621f829717938f8ad5c IN  Rarity: Skills 20 FTM0.015588812448
0x7938dd9b1f8ff120222e0b79653789d666e4f6c9aad8fbe802a04c6ba63b0884Set_skills375933902022-05-05 7:28:5114 days 9 hrs ago0xe3eed5b3828ca6b71b83f621f829717938f8ad5c IN  Rarity: Skills 20 FTM0.015928543728
0x2b1463918e43554e4b01e412fb7bb5911a2078922a09461f702a3d7fa1918c11Set_skills375317272022-05-04 12:38:3115 days 3 hrs ago0x3ad65dbccbb5da09e725333bd8573b4923a1e368 IN  Rarity: Skills 20 FTM0.035600898731
0x43902fab6f77b110c56de62cf5e966349c32e6bc124121f9357af54aa2c3680eSet_skills374578442022-05-03 13:08:2016 days 3 hrs ago0x8887af4a8cb01cc4149e2303e9ddc1daff7aae89 IN  Rarity: Skills 20 FTM0.050166234683
0xa818a76af3d6061cf8db2705d45d3147c1ad269a2e00b0c9f5283914b85a3556Set_skills374577742022-05-03 13:07:0516 days 3 hrs ago0x8887af4a8cb01cc4149e2303e9ddc1daff7aae89 IN  Rarity: Skills 20 FTM0.050443256824
0x9d9e71b907d224239b041d5ed7fa5b15f62b1368b61451c5604a6d0eed68f7b7Set_skills374128092022-05-02 21:16:1616 days 19 hrs ago0x9b890d12688f9ee83a15b325f764246f18daaeef IN  Rarity: Skills 20 FTM0.087211156607
0xba2d07f98fc9bfb41cd4b88673fea8fec75bf5a5de489a9d9b4588e6c75d03dcSet_skills374127332022-05-02 21:14:4216 days 19 hrs ago0x9b890d12688f9ee83a15b325f764246f18daaeef IN  Rarity: Skills 20 FTM0.091000903156
[ Download CSV Export 
Latest 2 internal transactions
Parent Txn Hash Block From To Value
0xa6770fed93d68a83ca29652f88bdbac96620a18b4e21ac2364b7a42c442cc2c4171357852021-09-16 12:37:10245 days 3 hrs ago 0xad268606cec97ef0fa77f74ddbebdcebbbd8d7c4 Rarity: Skills 20.2 FTM
0xc563a128a11bb51d46006beffac3123a7710fa5aa823e58bf77f49c278c56ef4167192452021-09-09 3:52:06252 days 12 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.