contract Util {

   /**
    * @notice changes a string to upper case
    * @param _base string to change
    */
    function upper(string _base) internal pure returns (string) {
        bytes memory _baseBytes = bytes(_base);
        for (uint i = 0; i < _baseBytes.length; i++) {
            bytes1 b1 = _baseBytes[i];
            if (b1 >= 0x61 && b1 <= 0x7A) {
                b1 = bytes1(uint8(b1)-32);
            }
            _baseBytes[i] = b1;
        }
        return string(_baseBytes);
    }

}
/**
 * @title Utility contract for reusable code
 */
function upper(string _base) internal pure returns (string) {
    bytes memory _baseBytes = bytes(_base);
    for (uint i = 0; i < _baseBytes.length; i++) {
        bytes1 b1 = _baseBytes[i];
        if (b1 >= 0x61 && b1 <= 0x7A) {
            b1 = bytes1(uint8(b1)-32);
        }
        _baseBytes[i] = b1;
    }
    return string(_baseBytes);
}

/**
 * @notice changes a string to upper case
 * @param _base string to change
 */