function holdedOf(address _owner) public view returns (uint256) {
        
        
        uint256 requiredTime = block.timestamp - holdTime;

        
        uint256 iValid = 0;                         
        uint256 iNotValid = holded[_owner].length;  
        if (iNotValid == 0                          
        || holded[_owner].time[iValid] >= requiredTime) { 
            return 0;
        }

        
        uint256 i = iNotValid / 2;  
        while (i > iValid) {  
            if (holded[_owner].time[i] < requiredTime) {
                iValid = i;   
            } else {
                iNotValid = i; 
            }
            i = (iNotValid + iValid) / 2;
        }
        return holded[_owner].amount[iValid];
    }