A student was given this proto specification: message LoginR…

A student was given this proto specification: message LoginRequest { string username = 1; string password = 2; } message LoginResponse { bool success = 1; string session_token = 2; string error = 3; } Guidelines: – On success: set success=true and session_token, don’t set the error field – On error: set success=false and error message, don’t set session_token field Their server was implemented with the following Java code for two scenarios: Scenario 1: Valid login LoginResponse response = LoginResponse.newBuilder() .setSuccess(true) .setSessionToken(“abc123”) .setError(“”) .build(); Scenario 2: Invalid password LoginResponse response = LoginResponse.newBuilder() .setSuccess(false) .setSessionToken(“”) .build(); Part 1: List all protocol violations across both scenarios. Part 2: Write out how both scenarios should look according to the specification.