contract LifeBankerCoin is Owned, StandardToken{
    string public constant name = "LifeBanker Coin";
    string public constant symbol = "LBC";
    uint8 public constant decimals = 18;

    address public lockAddress;
    address public teamAddress;

    constructor() public {
        totalSupply = 10000000000000000000000000000; //10 billion
    }

    /*
     * @dev Initialize token attribution,only allowed to call once
     * @param _team address : TeamTokensHolder contract deployment address
     * @param _lock address : TokenLock contract deployment address
     * @param _sare address : The token storage address of the sales part
     */
    function initialization(address _team, address _lock, address _sale) onlyOwner public returns(bool) {
        require(lockAddress == 0 && teamAddress == 0);
        require(_team != 0 && _lock != 0);
        require(_sale != 0);
        teamAddress = _team;
        lockAddress = _lock;
    
        balances[teamAddress] = totalSupply.mul(225).div(1000); //22.5% 
        balances[lockAddress] = totalSupply.mul(500).div(1000); //50.0% 
        balances[_sale]       = totalSupply.mul(275).div(1000); //27.5%
        return true;
    }
}
function initialization(address _team, address _lock, address _sale) onlyOwner public returns(bool) {
    require(lockAddress == 0 && teamAddress == 0);
    require(_team != 0 && _lock != 0);
    require(_sale != 0);
    teamAddress = _team;
    lockAddress = _lock;
    
    balances[teamAddress] = totalSupply.mul(225).div(1000); //22.5% 
    balances[lockAddress] = totalSupply.mul(500).div(1000); //50.0% 
    balances[_sale]       = totalSupply.mul(275).div(1000); //27.5%
    return true;
}

/*
 * @dev Initialize token attribution,only allowed to call once
 * @param _team address : TeamTokensHolder contract deployment address
 * @param _lock address : TokenLock contract deployment address
 * @param _sare address : The token storage address of the sales part
 */