// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/identity_b2b/v1/keyapis_identity_b2b_authorization_v1.proto

package ru.keyapis.identity_b2b.v1;

public final class KeyapisIdentityB2bV1Proto {
  private KeyapisIdentityB2bV1Proto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public interface UserTokenOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.UserToken)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The accessToken.
     */
    java.lang.String getAccessToken();
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for accessToken.
     */
    com.google.protobuf.ByteString
        getAccessTokenBytes();

    /**
     * <pre>
     * Окончание действия токена
     * </pre>
     *
     * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return Whether the expiredAt field is set.
     */
    boolean hasExpiredAt();
    /**
     * <pre>
     * Окончание действия токена
     * </pre>
     *
     * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The expiredAt.
     */
    com.google.protobuf.Timestamp getExpiredAt();
  }
  /**
   * <pre>
   * Информация о токене пользователя
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.UserToken}
   */
  public  static final class UserToken extends
      com.google.protobuf.GeneratedMessageLite<
          UserToken, UserToken.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.UserToken)
      UserTokenOrBuilder {
    private UserToken() {
      accessToken_ = "";
    }
    public static final int ACCESS_TOKEN_FIELD_NUMBER = 1;
    private java.lang.String accessToken_;
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The accessToken.
     */
    @java.lang.Override
    public java.lang.String getAccessToken() {
      return accessToken_;
    }
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for accessToken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAccessTokenBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(accessToken_);
    }
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The accessToken to set.
     */
    private void setAccessToken(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      accessToken_ = value;
    }
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearAccessToken() {

      accessToken_ = getDefaultInstance().getAccessToken();
    }
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for accessToken to set.
     */
    private void setAccessTokenBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      accessToken_ = value.toStringUtf8();

    }

    public static final int EXPIRED_AT_FIELD_NUMBER = 2;
    private com.google.protobuf.Timestamp expiredAt_;
    /**
     * <pre>
     * Окончание действия токена
     * </pre>
     *
     * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    @java.lang.Override
    public boolean hasExpiredAt() {
      return expiredAt_ != null;
    }
    /**
     * <pre>
     * Окончание действия токена
     * </pre>
     *
     * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    @java.lang.Override
    public com.google.protobuf.Timestamp getExpiredAt() {
      return expiredAt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : expiredAt_;
    }
    /**
     * <pre>
     * Окончание действия токена
     * </pre>
     *
     * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void setExpiredAt(com.google.protobuf.Timestamp value) {
      value.getClass();
  expiredAt_ = value;

      }
    /**
     * <pre>
     * Окончание действия токена
     * </pre>
     *
     * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeExpiredAt(com.google.protobuf.Timestamp value) {
      value.getClass();
  if (expiredAt_ != null &&
          expiredAt_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
        expiredAt_ =
          com.google.protobuf.Timestamp.newBuilder(expiredAt_).mergeFrom(value).buildPartial();
      } else {
        expiredAt_ = value;
      }

    }
    /**
     * <pre>
     * Окончание действия токена
     * </pre>
     *
     * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearExpiredAt() {  expiredAt_ = null;

    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Информация о токене пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.UserToken}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.UserToken)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserTokenOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The accessToken.
       */
      @java.lang.Override
      public java.lang.String getAccessToken() {
        return instance.getAccessToken();
      }
      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for accessToken.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getAccessTokenBytes() {
        return instance.getAccessTokenBytes();
      }
      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The accessToken to set.
       * @return This builder for chaining.
       */
      public Builder setAccessToken(
          java.lang.String value) {
        copyOnWrite();
        instance.setAccessToken(value);
        return this;
      }
      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearAccessToken() {
        copyOnWrite();
        instance.clearAccessToken();
        return this;
      }
      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for accessToken to set.
       * @return This builder for chaining.
       */
      public Builder setAccessTokenBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setAccessTokenBytes(value);
        return this;
      }

      /**
       * <pre>
       * Окончание действия токена
       * </pre>
       *
       * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      @java.lang.Override
      public boolean hasExpiredAt() {
        return instance.hasExpiredAt();
      }
      /**
       * <pre>
       * Окончание действия токена
       * </pre>
       *
       * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      @java.lang.Override
      public com.google.protobuf.Timestamp getExpiredAt() {
        return instance.getExpiredAt();
      }
      /**
       * <pre>
       * Окончание действия токена
       * </pre>
       *
       * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      public Builder setExpiredAt(com.google.protobuf.Timestamp value) {
        copyOnWrite();
        instance.setExpiredAt(value);
        return this;
        }
      /**
       * <pre>
       * Окончание действия токена
       * </pre>
       *
       * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      public Builder setExpiredAt(
          com.google.protobuf.Timestamp.Builder builderForValue) {
        copyOnWrite();
        instance.setExpiredAt(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Окончание действия токена
       * </pre>
       *
       * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      public Builder mergeExpiredAt(com.google.protobuf.Timestamp value) {
        copyOnWrite();
        instance.mergeExpiredAt(value);
        return this;
      }
      /**
       * <pre>
       * Окончание действия токена
       * </pre>
       *
       * <code>.google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      public Builder clearExpiredAt() {  copyOnWrite();
        instance.clearExpiredAt();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.UserToken)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "accessToken_",
              "expiredAt_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.UserToken)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken DEFAULT_INSTANCE;
    static {
      UserToken defaultInstance = new UserToken();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        UserToken.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<UserToken> PARSER;

    public static com.google.protobuf.Parser<UserToken> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface CaptchaOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.Captcha)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <pre>
     * Ссылка на капчу
     * </pre>
     *
     * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The url.
     */
    java.lang.String getUrl();
    /**
     * <pre>
     * Ссылка на капчу
     * </pre>
     *
     * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for url.
     */
    com.google.protobuf.ByteString
        getUrlBytes();
  }
  /**
   * <pre>
   * Капча
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.Captcha}
   */
  public  static final class Captcha extends
      com.google.protobuf.GeneratedMessageLite<
          Captcha, Captcha.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.Captcha)
      CaptchaOrBuilder {
    private Captcha() {
      id_ = "";
      url_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearId() {

      id_ = getDefaultInstance().getId();
    }
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();

    }

    public static final int URL_FIELD_NUMBER = 2;
    private java.lang.String url_;
    /**
     * <pre>
     * Ссылка на капчу
     * </pre>
     *
     * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The url.
     */
    @java.lang.Override
    public java.lang.String getUrl() {
      return url_;
    }
    /**
     * <pre>
     * Ссылка на капчу
     * </pre>
     *
     * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for url.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUrlBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(url_);
    }
    /**
     * <pre>
     * Ссылка на капчу
     * </pre>
     *
     * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The url to set.
     */
    private void setUrl(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      url_ = value;
    }
    /**
     * <pre>
     * Ссылка на капчу
     * </pre>
     *
     * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearUrl() {

      url_ = getDefaultInstance().getUrl();
    }
    /**
     * <pre>
     * Ссылка на капчу
     * </pre>
     *
     * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for url to set.
     */
    private void setUrlBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      url_ = value.toStringUtf8();

    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Капча
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.Captcha}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.Captcha)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Ссылка на капчу
       * </pre>
       *
       * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The url.
       */
      @java.lang.Override
      public java.lang.String getUrl() {
        return instance.getUrl();
      }
      /**
       * <pre>
       * Ссылка на капчу
       * </pre>
       *
       * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for url.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUrlBytes() {
        return instance.getUrlBytes();
      }
      /**
       * <pre>
       * Ссылка на капчу
       * </pre>
       *
       * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The url to set.
       * @return This builder for chaining.
       */
      public Builder setUrl(
          java.lang.String value) {
        copyOnWrite();
        instance.setUrl(value);
        return this;
      }
      /**
       * <pre>
       * Ссылка на капчу
       * </pre>
       *
       * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearUrl() {
        copyOnWrite();
        instance.clearUrl();
        return this;
      }
      /**
       * <pre>
       * Ссылка на капчу
       * </pre>
       *
       * <code>string url = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for url to set.
       * @return This builder for chaining.
       */
      public Builder setUrlBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setUrlBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.Captcha)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "url_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\u0208" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.Captcha)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha DEFAULT_INSTANCE;
    static {
      Captcha defaultInstance = new Captcha();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Captcha.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Captcha> PARSER;

    public static com.google.protobuf.Parser<Captcha> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface CaptchaAnswerOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.CaptchaAnswer)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The code.
     */
    java.lang.String getCode();
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for code.
     */
    com.google.protobuf.ByteString
        getCodeBytes();
  }
  /**
   * <pre>
   * Ответ на капчу
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.CaptchaAnswer}
   */
  public  static final class CaptchaAnswer extends
      com.google.protobuf.GeneratedMessageLite<
          CaptchaAnswer, CaptchaAnswer.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.CaptchaAnswer)
      CaptchaAnswerOrBuilder {
    private CaptchaAnswer() {
      id_ = "";
      code_ = "";
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.CaptchaAnswer.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
       * @return Whether the captcha field is set.
       */
      boolean hasCaptcha();
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
       * @return The captcha.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha getCaptcha();

      /**
       * <pre>
       * Некорректный ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
       * @return Whether the wrongAnswer field is set.
       */
      boolean hasWrongAnswer();
      /**
       * <pre>
       * Некорректный ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
       * @return The wrongAnswer.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer getWrongAnswer();

      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка ответа на капчу
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.CaptchaAnswer.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.CaptchaAnswer.Error)
        ErrorOrBuilder {
      private Error() {
      }
      public interface WrongAnswerOrBuilder extends
          // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer)
          com.google.protobuf.MessageLiteOrBuilder {
      }
      /**
       * <pre>
       * Некорректный ответ на капчу
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer}
       */
      public  static final class WrongAnswer extends
          com.google.protobuf.GeneratedMessageLite<
              WrongAnswer, WrongAnswer.Builder> implements
          // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer)
          WrongAnswerOrBuilder {
        private WrongAnswer() {
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static Builder newBuilder() {
          return (Builder) DEFAULT_INSTANCE.createBuilder();
        }
        public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer prototype) {
          return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
        }

        /**
         * <pre>
         * Некорректный ответ на капчу
         * </pre>
         *
         * Protobuf type {@code keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageLite.Builder<
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer, Builder> implements
            // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer)
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswerOrBuilder {
          // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer.newBuilder()
          private Builder() {
            super(DEFAULT_INSTANCE);
          }


          // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer)
        }
        @java.lang.Override
        @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
        protected final java.lang.Object dynamicMethod(
            com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
            java.lang.Object arg0, java.lang.Object arg1) {
          switch (method) {
            case NEW_MUTABLE_INSTANCE: {
              return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer();
            }
            case NEW_BUILDER: {
              return new Builder();
            }
            case BUILD_MESSAGE_INFO: {
                java.lang.Object[] objects = null;java.lang.String info =
                    "\u0000\u0000";
                return newMessageInfo(DEFAULT_INSTANCE, info, objects);
            }
            // fall through
            case GET_DEFAULT_INSTANCE: {
              return DEFAULT_INSTANCE;
            }
            case GET_PARSER: {
              com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer> parser = PARSER;
              if (parser == null) {
                synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer.class) {
                  parser = PARSER;
                  if (parser == null) {
                    parser =
                        new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer>(
                            DEFAULT_INSTANCE);
                    PARSER = parser;
                  }
                }
              }
              return parser;
          }
          case GET_MEMOIZED_IS_INITIALIZED: {
            return (byte) 1;
          }
          case SET_MEMOIZED_IS_INITIALIZED: {
            return null;
          }
          }
          throw new UnsupportedOperationException();
        }


        // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer)
        private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer DEFAULT_INSTANCE;
        static {
          WrongAnswer defaultInstance = new WrongAnswer();
          // New instances are implicitly immutable so no need to make
          // immutable.
          DEFAULT_INSTANCE = defaultInstance;
          com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
            WrongAnswer.class, defaultInstance);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static volatile com.google.protobuf.Parser<WrongAnswer> PARSER;

        public static com.google.protobuf.Parser<WrongAnswer> parser() {
          return DEFAULT_INSTANCE.getParserForType();
        }
      }

      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        WRONG_ANSWER(2),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 2: return WRONG_ANSWER;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int CAPTCHA_FIELD_NUMBER = 1;
      private ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha captcha_;
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
       */
      @java.lang.Override
      public boolean hasCaptcha() {
        return captcha_ != null;
      }
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha getCaptcha() {
        return captcha_ == null ? ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.getDefaultInstance() : captcha_;
      }
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
       */
      private void setCaptcha(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha value) {
        value.getClass();
  captcha_ = value;

        }
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
       */
      @java.lang.SuppressWarnings({"ReferenceEquality"})
      private void mergeCaptcha(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha value) {
        value.getClass();
  if (captcha_ != null &&
            captcha_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.getDefaultInstance()) {
          captcha_ =
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.newBuilder(captcha_).mergeFrom(value).buildPartial();
        } else {
          captcha_ = value;
        }

      }
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
       */
      private void clearCaptcha() {  captcha_ = null;

      }

      public static final int WRONG_ANSWER_FIELD_NUMBER = 2;
      /**
       * <pre>
       * Некорректный ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
       */
      @java.lang.Override
      public boolean hasWrongAnswer() {
        return reasonCase_ == 2;
      }
      /**
       * <pre>
       * Некорректный ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer getWrongAnswer() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer.getDefaultInstance();
      }
      /**
       * <pre>
       * Некорректный ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
       */
      private void setWrongAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Некорректный ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
       */
      private void mergeWrongAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer value) {
        value.getClass();
  if (reasonCase_ == 2 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Некорректный ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
       */
      private void clearWrongAnswer() {
        if (reasonCase_ == 2) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка ответа на капчу
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.CaptchaAnswer.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.CaptchaAnswer.Error)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.ErrorOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
         */
        @java.lang.Override
        public boolean hasCaptcha() {
          return instance.hasCaptcha();
        }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha getCaptcha() {
          return instance.getCaptcha();
        }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
         */
        public Builder setCaptcha(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha value) {
          copyOnWrite();
          instance.setCaptcha(value);
          return this;
          }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
         */
        public Builder setCaptcha(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.Builder builderForValue) {
          copyOnWrite();
          instance.setCaptcha(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
         */
        public Builder mergeCaptcha(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha value) {
          copyOnWrite();
          instance.mergeCaptcha(value);
          return this;
        }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1;</code>
         */
        public Builder clearCaptcha() {  copyOnWrite();
          instance.clearCaptcha();
          return this;
        }

        /**
         * <pre>
         * Некорректный ответ на капчу
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
         */
        @java.lang.Override
        public boolean hasWrongAnswer() {
          return instance.hasWrongAnswer();
        }
        /**
         * <pre>
         * Некорректный ответ на капчу
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer getWrongAnswer() {
          return instance.getWrongAnswer();
        }
        /**
         * <pre>
         * Некорректный ответ на капчу
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
         */
        public Builder setWrongAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer value) {
          copyOnWrite();
          instance.setWrongAnswer(value);
          return this;
        }
        /**
         * <pre>
         * Некорректный ответ на капчу
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
         */
        public Builder setWrongAnswer(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer.Builder builderForValue) {
          copyOnWrite();
          instance.setWrongAnswer(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Некорректный ответ на капчу
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
         */
        public Builder mergeWrongAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer value) {
          copyOnWrite();
          instance.mergeWrongAnswer(value);
          return this;
        }
        /**
         * <pre>
         * Некорректный ответ на капчу
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 2;</code>
         */
        public Builder clearWrongAnswer() {
          copyOnWrite();
          instance.clearWrongAnswer();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.CaptchaAnswer.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                "captcha_",
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.WrongAnswer.class,
              };
              java.lang.String info =
                  "\u0000\u0002\u0001\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\t\u0002<\u0000" +
                  "";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.CaptchaAnswer.Error)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

      public static com.google.protobuf.Parser<Error> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearId() {

      id_ = getDefaultInstance().getId();
    }
    /**
     * <pre>
     * Идентификатор капчи
     * </pre>
     *
     * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();

    }

    public static final int CODE_FIELD_NUMBER = 2;
    private java.lang.String code_;
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The code.
     */
    @java.lang.Override
    public java.lang.String getCode() {
      return code_;
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for code.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(code_);
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The code to set.
     */
    private void setCode(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      code_ = value;
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearCode() {

      code_ = getDefaultInstance().getCode();
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for code to set.
     */
    private void setCodeBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      code_ = value.toStringUtf8();

    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.CaptchaAnswer}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.CaptchaAnswer)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswerOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор капчи
       * </pre>
       *
       * <code>string id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The code.
       */
      @java.lang.Override
      public java.lang.String getCode() {
        return instance.getCode();
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for code.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeBytes() {
        return instance.getCodeBytes();
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(
          java.lang.String value) {
        copyOnWrite();
        instance.setCode(value);
        return this;
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        copyOnWrite();
        instance.clearCode();
        return this;
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for code to set.
       * @return This builder for chaining.
       */
      public Builder setCodeBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCodeBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.CaptchaAnswer)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "code_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\u0208" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.CaptchaAnswer)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer DEFAULT_INSTANCE;
    static {
      CaptchaAnswer defaultInstance = new CaptchaAnswer();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        CaptchaAnswer.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<CaptchaAnswer> PARSER;

    public static com.google.protobuf.Parser<CaptchaAnswer> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface OtpCodeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.OtpCode)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    java.lang.String getCodeId();
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    com.google.protobuf.ByteString
        getCodeIdBytes();

    /**
     * <pre>
     * Время в секундах, оставшееся до возможности отправки следующего кода
     * </pre>
     *
     * <code>int32 timeout = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The timeout.
     */
    int getTimeout();
  }
  /**
   * <pre>
   * Информация о вводе ОТП-кода
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode}
   */
  public  static final class OtpCode extends
      com.google.protobuf.GeneratedMessageLite<
          OtpCode, OtpCode.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.OtpCode)
      OtpCodeOrBuilder {
    private OtpCode() {
      codeId_ = "";
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.OtpCode.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Код истек
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
       * @return Whether the lifeTimeExpired field is set.
       */
      boolean hasLifeTimeExpired();
      /**
       * <pre>
       * Код истек
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
       * @return The lifeTimeExpired.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired getLifeTimeExpired();

      /**
       * <pre>
       * Попыток больше нет
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
       * @return Whether the noAttempts field is set.
       */
      boolean hasNoAttempts();
      /**
       * <pre>
       * Попыток больше нет
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
       * @return The noAttempts.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts getNoAttempts();

      /**
       * <pre>
       * Адрес для отправки кода не найден.
       * В текущей реализации, эту ошибку невозможно получить
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
       * @return Whether the addressNotFound field is set.
       */
      boolean hasAddressNotFound();
      /**
       * <pre>
       * Адрес для отправки кода не найден.
       * В текущей реализации, эту ошибку невозможно получить
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
       * @return The addressNotFound.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound getAddressNotFound();

      /**
       * <pre>
       * Неправильный ОТП-код
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
       * @return Whether the invalidCode field is set.
       */
      boolean hasInvalidCode();
      /**
       * <pre>
       * Неправильный ОТП-код
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
       * @return The invalidCode.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode getInvalidCode();

      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка ответа на капчу
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.OtpCode.Error)
        ErrorOrBuilder {
      private Error() {
      }
      public interface LifeTimeExpiredOrBuilder extends
          // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired)
          com.google.protobuf.MessageLiteOrBuilder {
      }
      /**
       * <pre>
       * Код истек
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired}
       */
      public  static final class LifeTimeExpired extends
          com.google.protobuf.GeneratedMessageLite<
              LifeTimeExpired, LifeTimeExpired.Builder> implements
          // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired)
          LifeTimeExpiredOrBuilder {
        private LifeTimeExpired() {
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static Builder newBuilder() {
          return (Builder) DEFAULT_INSTANCE.createBuilder();
        }
        public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired prototype) {
          return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
        }

        /**
         * <pre>
         * Код истек
         * </pre>
         *
         * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageLite.Builder<
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired, Builder> implements
            // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired)
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpiredOrBuilder {
          // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired.newBuilder()
          private Builder() {
            super(DEFAULT_INSTANCE);
          }


          // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired)
        }
        @java.lang.Override
        @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
        protected final java.lang.Object dynamicMethod(
            com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
            java.lang.Object arg0, java.lang.Object arg1) {
          switch (method) {
            case NEW_MUTABLE_INSTANCE: {
              return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired();
            }
            case NEW_BUILDER: {
              return new Builder();
            }
            case BUILD_MESSAGE_INFO: {
                java.lang.Object[] objects = null;java.lang.String info =
                    "\u0000\u0000";
                return newMessageInfo(DEFAULT_INSTANCE, info, objects);
            }
            // fall through
            case GET_DEFAULT_INSTANCE: {
              return DEFAULT_INSTANCE;
            }
            case GET_PARSER: {
              com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired> parser = PARSER;
              if (parser == null) {
                synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired.class) {
                  parser = PARSER;
                  if (parser == null) {
                    parser =
                        new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired>(
                            DEFAULT_INSTANCE);
                    PARSER = parser;
                  }
                }
              }
              return parser;
          }
          case GET_MEMOIZED_IS_INITIALIZED: {
            return (byte) 1;
          }
          case SET_MEMOIZED_IS_INITIALIZED: {
            return null;
          }
          }
          throw new UnsupportedOperationException();
        }


        // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired)
        private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired DEFAULT_INSTANCE;
        static {
          LifeTimeExpired defaultInstance = new LifeTimeExpired();
          // New instances are implicitly immutable so no need to make
          // immutable.
          DEFAULT_INSTANCE = defaultInstance;
          com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
            LifeTimeExpired.class, defaultInstance);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static volatile com.google.protobuf.Parser<LifeTimeExpired> PARSER;

        public static com.google.protobuf.Parser<LifeTimeExpired> parser() {
          return DEFAULT_INSTANCE.getParserForType();
        }
      }

      public interface NoAttemptsOrBuilder extends
          // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts)
          com.google.protobuf.MessageLiteOrBuilder {
      }
      /**
       * <pre>
       * Попыток больше нет
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts}
       */
      public  static final class NoAttempts extends
          com.google.protobuf.GeneratedMessageLite<
              NoAttempts, NoAttempts.Builder> implements
          // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts)
          NoAttemptsOrBuilder {
        private NoAttempts() {
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static Builder newBuilder() {
          return (Builder) DEFAULT_INSTANCE.createBuilder();
        }
        public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts prototype) {
          return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
        }

        /**
         * <pre>
         * Попыток больше нет
         * </pre>
         *
         * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageLite.Builder<
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts, Builder> implements
            // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts)
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttemptsOrBuilder {
          // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts.newBuilder()
          private Builder() {
            super(DEFAULT_INSTANCE);
          }


          // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts)
        }
        @java.lang.Override
        @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
        protected final java.lang.Object dynamicMethod(
            com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
            java.lang.Object arg0, java.lang.Object arg1) {
          switch (method) {
            case NEW_MUTABLE_INSTANCE: {
              return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts();
            }
            case NEW_BUILDER: {
              return new Builder();
            }
            case BUILD_MESSAGE_INFO: {
                java.lang.Object[] objects = null;java.lang.String info =
                    "\u0000\u0000";
                return newMessageInfo(DEFAULT_INSTANCE, info, objects);
            }
            // fall through
            case GET_DEFAULT_INSTANCE: {
              return DEFAULT_INSTANCE;
            }
            case GET_PARSER: {
              com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts> parser = PARSER;
              if (parser == null) {
                synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts.class) {
                  parser = PARSER;
                  if (parser == null) {
                    parser =
                        new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts>(
                            DEFAULT_INSTANCE);
                    PARSER = parser;
                  }
                }
              }
              return parser;
          }
          case GET_MEMOIZED_IS_INITIALIZED: {
            return (byte) 1;
          }
          case SET_MEMOIZED_IS_INITIALIZED: {
            return null;
          }
          }
          throw new UnsupportedOperationException();
        }


        // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts)
        private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts DEFAULT_INSTANCE;
        static {
          NoAttempts defaultInstance = new NoAttempts();
          // New instances are implicitly immutable so no need to make
          // immutable.
          DEFAULT_INSTANCE = defaultInstance;
          com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
            NoAttempts.class, defaultInstance);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static volatile com.google.protobuf.Parser<NoAttempts> PARSER;

        public static com.google.protobuf.Parser<NoAttempts> parser() {
          return DEFAULT_INSTANCE.getParserForType();
        }
      }

      public interface AddressNotFoundOrBuilder extends
          // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound)
          com.google.protobuf.MessageLiteOrBuilder {
      }
      /**
       * <pre>
       * Адрес для отправки кода не найден
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound}
       */
      public  static final class AddressNotFound extends
          com.google.protobuf.GeneratedMessageLite<
              AddressNotFound, AddressNotFound.Builder> implements
          // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound)
          AddressNotFoundOrBuilder {
        private AddressNotFound() {
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static Builder newBuilder() {
          return (Builder) DEFAULT_INSTANCE.createBuilder();
        }
        public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound prototype) {
          return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
        }

        /**
         * <pre>
         * Адрес для отправки кода не найден
         * </pre>
         *
         * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageLite.Builder<
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound, Builder> implements
            // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound)
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFoundOrBuilder {
          // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound.newBuilder()
          private Builder() {
            super(DEFAULT_INSTANCE);
          }


          // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound)
        }
        @java.lang.Override
        @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
        protected final java.lang.Object dynamicMethod(
            com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
            java.lang.Object arg0, java.lang.Object arg1) {
          switch (method) {
            case NEW_MUTABLE_INSTANCE: {
              return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound();
            }
            case NEW_BUILDER: {
              return new Builder();
            }
            case BUILD_MESSAGE_INFO: {
                java.lang.Object[] objects = null;java.lang.String info =
                    "\u0000\u0000";
                return newMessageInfo(DEFAULT_INSTANCE, info, objects);
            }
            // fall through
            case GET_DEFAULT_INSTANCE: {
              return DEFAULT_INSTANCE;
            }
            case GET_PARSER: {
              com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound> parser = PARSER;
              if (parser == null) {
                synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound.class) {
                  parser = PARSER;
                  if (parser == null) {
                    parser =
                        new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound>(
                            DEFAULT_INSTANCE);
                    PARSER = parser;
                  }
                }
              }
              return parser;
          }
          case GET_MEMOIZED_IS_INITIALIZED: {
            return (byte) 1;
          }
          case SET_MEMOIZED_IS_INITIALIZED: {
            return null;
          }
          }
          throw new UnsupportedOperationException();
        }


        // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound)
        private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound DEFAULT_INSTANCE;
        static {
          AddressNotFound defaultInstance = new AddressNotFound();
          // New instances are implicitly immutable so no need to make
          // immutable.
          DEFAULT_INSTANCE = defaultInstance;
          com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
            AddressNotFound.class, defaultInstance);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static volatile com.google.protobuf.Parser<AddressNotFound> PARSER;

        public static com.google.protobuf.Parser<AddressNotFound> parser() {
          return DEFAULT_INSTANCE.getParserForType();
        }
      }

      public interface InvalidCodeOrBuilder extends
          // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode)
          com.google.protobuf.MessageLiteOrBuilder {
      }
      /**
       * <pre>
       * Неправильный ОТП-код
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode}
       */
      public  static final class InvalidCode extends
          com.google.protobuf.GeneratedMessageLite<
              InvalidCode, InvalidCode.Builder> implements
          // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode)
          InvalidCodeOrBuilder {
        private InvalidCode() {
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static Builder newBuilder() {
          return (Builder) DEFAULT_INSTANCE.createBuilder();
        }
        public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode prototype) {
          return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
        }

        /**
         * <pre>
         * Неправильный ОТП-код
         * </pre>
         *
         * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageLite.Builder<
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode, Builder> implements
            // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode)
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCodeOrBuilder {
          // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode.newBuilder()
          private Builder() {
            super(DEFAULT_INSTANCE);
          }


          // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode)
        }
        @java.lang.Override
        @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
        protected final java.lang.Object dynamicMethod(
            com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
            java.lang.Object arg0, java.lang.Object arg1) {
          switch (method) {
            case NEW_MUTABLE_INSTANCE: {
              return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode();
            }
            case NEW_BUILDER: {
              return new Builder();
            }
            case BUILD_MESSAGE_INFO: {
                java.lang.Object[] objects = null;java.lang.String info =
                    "\u0000\u0000";
                return newMessageInfo(DEFAULT_INSTANCE, info, objects);
            }
            // fall through
            case GET_DEFAULT_INSTANCE: {
              return DEFAULT_INSTANCE;
            }
            case GET_PARSER: {
              com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode> parser = PARSER;
              if (parser == null) {
                synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode.class) {
                  parser = PARSER;
                  if (parser == null) {
                    parser =
                        new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode>(
                            DEFAULT_INSTANCE);
                    PARSER = parser;
                  }
                }
              }
              return parser;
          }
          case GET_MEMOIZED_IS_INITIALIZED: {
            return (byte) 1;
          }
          case SET_MEMOIZED_IS_INITIALIZED: {
            return null;
          }
          }
          throw new UnsupportedOperationException();
        }


        // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode)
        private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode DEFAULT_INSTANCE;
        static {
          InvalidCode defaultInstance = new InvalidCode();
          // New instances are implicitly immutable so no need to make
          // immutable.
          DEFAULT_INSTANCE = defaultInstance;
          com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
            InvalidCode.class, defaultInstance);
        }

        public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static volatile com.google.protobuf.Parser<InvalidCode> PARSER;

        public static com.google.protobuf.Parser<InvalidCode> parser() {
          return DEFAULT_INSTANCE.getParserForType();
        }
      }

      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        LIFE_TIME_EXPIRED(1),
        NO_ATTEMPTS(2),
        ADDRESS_NOT_FOUND(3),
        INVALID_CODE(4),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 1: return LIFE_TIME_EXPIRED;
            case 2: return NO_ATTEMPTS;
            case 3: return ADDRESS_NOT_FOUND;
            case 4: return INVALID_CODE;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int LIFE_TIME_EXPIRED_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Код истек
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
       */
      @java.lang.Override
      public boolean hasLifeTimeExpired() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Код истек
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired getLifeTimeExpired() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired.getDefaultInstance();
      }
      /**
       * <pre>
       * Код истек
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
       */
      private void setLifeTimeExpired(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Код истек
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
       */
      private void mergeLifeTimeExpired(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Код истек
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
       */
      private void clearLifeTimeExpired() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int NO_ATTEMPTS_FIELD_NUMBER = 2;
      /**
       * <pre>
       * Попыток больше нет
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
       */
      @java.lang.Override
      public boolean hasNoAttempts() {
        return reasonCase_ == 2;
      }
      /**
       * <pre>
       * Попыток больше нет
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts getNoAttempts() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts.getDefaultInstance();
      }
      /**
       * <pre>
       * Попыток больше нет
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
       */
      private void setNoAttempts(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Попыток больше нет
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
       */
      private void mergeNoAttempts(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts value) {
        value.getClass();
  if (reasonCase_ == 2 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Попыток больше нет
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
       */
      private void clearNoAttempts() {
        if (reasonCase_ == 2) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int ADDRESS_NOT_FOUND_FIELD_NUMBER = 3;
      /**
       * <pre>
       * Адрес для отправки кода не найден.
       * В текущей реализации, эту ошибку невозможно получить
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
       */
      @java.lang.Override
      public boolean hasAddressNotFound() {
        return reasonCase_ == 3;
      }
      /**
       * <pre>
       * Адрес для отправки кода не найден.
       * В текущей реализации, эту ошибку невозможно получить
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound getAddressNotFound() {
        if (reasonCase_ == 3) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound.getDefaultInstance();
      }
      /**
       * <pre>
       * Адрес для отправки кода не найден.
       * В текущей реализации, эту ошибку невозможно получить
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
       */
      private void setAddressNotFound(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Адрес для отправки кода не найден.
       * В текущей реализации, эту ошибку невозможно получить
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
       */
      private void mergeAddressNotFound(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound value) {
        value.getClass();
  if (reasonCase_ == 3 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Адрес для отправки кода не найден.
       * В текущей реализации, эту ошибку невозможно получить
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
       */
      private void clearAddressNotFound() {
        if (reasonCase_ == 3) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int INVALID_CODE_FIELD_NUMBER = 4;
      /**
       * <pre>
       * Неправильный ОТП-код
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
       */
      @java.lang.Override
      public boolean hasInvalidCode() {
        return reasonCase_ == 4;
      }
      /**
       * <pre>
       * Неправильный ОТП-код
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode getInvalidCode() {
        if (reasonCase_ == 4) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode.getDefaultInstance();
      }
      /**
       * <pre>
       * Неправильный ОТП-код
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
       */
      private void setInvalidCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 4;
      }
      /**
       * <pre>
       * Неправильный ОТП-код
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
       */
      private void mergeInvalidCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode value) {
        value.getClass();
  if (reasonCase_ == 4 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 4;
      }
      /**
       * <pre>
       * Неправильный ОТП-код
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
       */
      private void clearInvalidCode() {
        if (reasonCase_ == 4) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка ответа на капчу
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.OtpCode.Error)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.ErrorOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Код истек
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
         */
        @java.lang.Override
        public boolean hasLifeTimeExpired() {
          return instance.hasLifeTimeExpired();
        }
        /**
         * <pre>
         * Код истек
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired getLifeTimeExpired() {
          return instance.getLifeTimeExpired();
        }
        /**
         * <pre>
         * Код истек
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
         */
        public Builder setLifeTimeExpired(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired value) {
          copyOnWrite();
          instance.setLifeTimeExpired(value);
          return this;
        }
        /**
         * <pre>
         * Код истек
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
         */
        public Builder setLifeTimeExpired(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired.Builder builderForValue) {
          copyOnWrite();
          instance.setLifeTimeExpired(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Код истек
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
         */
        public Builder mergeLifeTimeExpired(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired value) {
          copyOnWrite();
          instance.mergeLifeTimeExpired(value);
          return this;
        }
        /**
         * <pre>
         * Код истек
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;</code>
         */
        public Builder clearLifeTimeExpired() {
          copyOnWrite();
          instance.clearLifeTimeExpired();
          return this;
        }

        /**
         * <pre>
         * Попыток больше нет
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
         */
        @java.lang.Override
        public boolean hasNoAttempts() {
          return instance.hasNoAttempts();
        }
        /**
         * <pre>
         * Попыток больше нет
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts getNoAttempts() {
          return instance.getNoAttempts();
        }
        /**
         * <pre>
         * Попыток больше нет
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
         */
        public Builder setNoAttempts(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts value) {
          copyOnWrite();
          instance.setNoAttempts(value);
          return this;
        }
        /**
         * <pre>
         * Попыток больше нет
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
         */
        public Builder setNoAttempts(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts.Builder builderForValue) {
          copyOnWrite();
          instance.setNoAttempts(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Попыток больше нет
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
         */
        public Builder mergeNoAttempts(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts value) {
          copyOnWrite();
          instance.mergeNoAttempts(value);
          return this;
        }
        /**
         * <pre>
         * Попыток больше нет
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.NoAttempts no_attempts = 2;</code>
         */
        public Builder clearNoAttempts() {
          copyOnWrite();
          instance.clearNoAttempts();
          return this;
        }

        /**
         * <pre>
         * Адрес для отправки кода не найден.
         * В текущей реализации, эту ошибку невозможно получить
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
         */
        @java.lang.Override
        public boolean hasAddressNotFound() {
          return instance.hasAddressNotFound();
        }
        /**
         * <pre>
         * Адрес для отправки кода не найден.
         * В текущей реализации, эту ошибку невозможно получить
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound getAddressNotFound() {
          return instance.getAddressNotFound();
        }
        /**
         * <pre>
         * Адрес для отправки кода не найден.
         * В текущей реализации, эту ошибку невозможно получить
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
         */
        public Builder setAddressNotFound(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound value) {
          copyOnWrite();
          instance.setAddressNotFound(value);
          return this;
        }
        /**
         * <pre>
         * Адрес для отправки кода не найден.
         * В текущей реализации, эту ошибку невозможно получить
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
         */
        public Builder setAddressNotFound(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound.Builder builderForValue) {
          copyOnWrite();
          instance.setAddressNotFound(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Адрес для отправки кода не найден.
         * В текущей реализации, эту ошибку невозможно получить
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
         */
        public Builder mergeAddressNotFound(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound value) {
          copyOnWrite();
          instance.mergeAddressNotFound(value);
          return this;
        }
        /**
         * <pre>
         * Адрес для отправки кода не найден.
         * В текущей реализации, эту ошибку невозможно получить
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.AddressNotFound address_not_found = 3;</code>
         */
        public Builder clearAddressNotFound() {
          copyOnWrite();
          instance.clearAddressNotFound();
          return this;
        }

        /**
         * <pre>
         * Неправильный ОТП-код
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
         */
        @java.lang.Override
        public boolean hasInvalidCode() {
          return instance.hasInvalidCode();
        }
        /**
         * <pre>
         * Неправильный ОТП-код
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode getInvalidCode() {
          return instance.getInvalidCode();
        }
        /**
         * <pre>
         * Неправильный ОТП-код
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
         */
        public Builder setInvalidCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode value) {
          copyOnWrite();
          instance.setInvalidCode(value);
          return this;
        }
        /**
         * <pre>
         * Неправильный ОТП-код
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
         */
        public Builder setInvalidCode(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode.Builder builderForValue) {
          copyOnWrite();
          instance.setInvalidCode(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Неправильный ОТП-код
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
         */
        public Builder mergeInvalidCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode value) {
          copyOnWrite();
          instance.mergeInvalidCode(value);
          return this;
        }
        /**
         * <pre>
         * Неправильный ОТП-код
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error.InvalidCode invalid_code = 4;</code>
         */
        public Builder clearInvalidCode() {
          copyOnWrite();
          instance.clearInvalidCode();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.OtpCode.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.LifeTimeExpired.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.NoAttempts.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.AddressNotFound.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.InvalidCode.class,
              };
              java.lang.String info =
                  "\u0000\u0004\u0001\u0000\u0001\u0004\u0004\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                  "\u0000\u0003<\u0000\u0004<\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.OtpCode.Error)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

      public static com.google.protobuf.Parser<Error> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    public static final int CODE_ID_FIELD_NUMBER = 1;
    private java.lang.String codeId_;
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    @java.lang.Override
    public java.lang.String getCodeId() {
      return codeId_;
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(codeId_);
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The codeId to set.
     */
    private void setCodeId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      codeId_ = value;
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearCodeId() {

      codeId_ = getDefaultInstance().getCodeId();
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for codeId to set.
     */
    private void setCodeIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      codeId_ = value.toStringUtf8();

    }

    public static final int TIMEOUT_FIELD_NUMBER = 2;
    private int timeout_;
    /**
     * <pre>
     * Время в секундах, оставшееся до возможности отправки следующего кода
     * </pre>
     *
     * <code>int32 timeout = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The timeout.
     */
    @java.lang.Override
    public int getTimeout() {
      return timeout_;
    }
    /**
     * <pre>
     * Время в секундах, оставшееся до возможности отправки следующего кода
     * </pre>
     *
     * <code>int32 timeout = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The timeout to set.
     */
    private void setTimeout(int value) {
      
      timeout_ = value;
    }
    /**
     * <pre>
     * Время в секундах, оставшееся до возможности отправки следующего кода
     * </pre>
     *
     * <code>int32 timeout = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearTimeout() {

      timeout_ = 0;
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Информация о вводе ОТП-кода
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.OtpCode}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.OtpCode)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCodeOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The codeId.
       */
      @java.lang.Override
      public java.lang.String getCodeId() {
        return instance.getCodeId();
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for codeId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeIdBytes() {
        return instance.getCodeIdBytes();
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeId(
          java.lang.String value) {
        copyOnWrite();
        instance.setCodeId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCodeId() {
        copyOnWrite();
        instance.clearCodeId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCodeIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Время в секундах, оставшееся до возможности отправки следующего кода
       * </pre>
       *
       * <code>int32 timeout = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The timeout.
       */
      @java.lang.Override
      public int getTimeout() {
        return instance.getTimeout();
      }
      /**
       * <pre>
       * Время в секундах, оставшееся до возможности отправки следующего кода
       * </pre>
       *
       * <code>int32 timeout = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The timeout to set.
       * @return This builder for chaining.
       */
      public Builder setTimeout(int value) {
        copyOnWrite();
        instance.setTimeout(value);
        return this;
      }
      /**
       * <pre>
       * Время в секундах, оставшееся до возможности отправки следующего кода
       * </pre>
       *
       * <code>int32 timeout = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearTimeout() {
        copyOnWrite();
        instance.clearTimeout();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.OtpCode)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "codeId_",
              "timeout_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\u0004" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.OtpCode)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode DEFAULT_INSTANCE;
    static {
      OtpCode defaultInstance = new OtpCode();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        OtpCode.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<OtpCode> PARSER;

    public static com.google.protobuf.Parser<OtpCode> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface SsoErrorOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.SsoError)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Пользователь временно заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
     * @return Whether the userIsTemporaryBlocked field is set.
     */
    boolean hasUserIsTemporaryBlocked();
    /**
     * <pre>
     * Пользователь временно заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
     * @return The userIsTemporaryBlocked.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked getUserIsTemporaryBlocked();

    /**
     * <pre>
     * Пользователь не найден
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
     * @return Whether the userNotFound field is set.
     */
    boolean hasUserNotFound();
    /**
     * <pre>
     * Пользователь не найден
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
     * @return The userNotFound.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound getUserNotFound();

    /**
     * <pre>
     * Неверный пароль
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
     * @return Whether the wrongCredentials field is set.
     */
    boolean hasWrongCredentials();
    /**
     * <pre>
     * Неверный пароль
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
     * @return The wrongCredentials.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials getWrongCredentials();

    /**
     * <pre>
     * Пользователь заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
     * @return Whether the userIsBlocked field is set.
     */
    boolean hasUserIsBlocked();
    /**
     * <pre>
     * Пользователь заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
     * @return The userIsBlocked.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked getUserIsBlocked();

    /**
     * <pre>
     * Превышен интервал отправки кода подтверждения
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
     * @return Whether the intervalExceeded field is set.
     */
    boolean hasIntervalExceeded();
    /**
     * <pre>
     * Превышен интервал отправки кода подтверждения
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
     * @return The intervalExceeded.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded getIntervalExceeded();

    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.ReasonCase getReasonCase();
  }
  /**
   * <pre>
   * Ошибки из ССО
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.SsoError}
   */
  public  static final class SsoError extends
      com.google.protobuf.GeneratedMessageLite<
          SsoError, SsoError.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.SsoError)
      SsoErrorOrBuilder {
    private SsoError() {
    }
    public interface UserIsTemporaryBlockedOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked)
        com.google.protobuf.MessageLiteOrBuilder {
    }
    /**
     * <pre>
     * Пользователь временно заблокирован
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked}
     */
    public  static final class UserIsTemporaryBlocked extends
        com.google.protobuf.GeneratedMessageLite<
            UserIsTemporaryBlocked, UserIsTemporaryBlocked.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked)
        UserIsTemporaryBlockedOrBuilder {
      private UserIsTemporaryBlocked() {
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Пользователь временно заблокирован
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlockedOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }


        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = null;java.lang.String info =
                  "\u0000\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked DEFAULT_INSTANCE;
      static {
        UserIsTemporaryBlocked defaultInstance = new UserIsTemporaryBlocked();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          UserIsTemporaryBlocked.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<UserIsTemporaryBlocked> PARSER;

      public static com.google.protobuf.Parser<UserIsTemporaryBlocked> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    public interface UserNotFoundOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.SsoError.UserNotFound)
        com.google.protobuf.MessageLiteOrBuilder {
    }
    /**
     * <pre>
     * Пользователь не найден
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.UserNotFound}
     */
    public  static final class UserNotFound extends
        com.google.protobuf.GeneratedMessageLite<
            UserNotFound, UserNotFound.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.SsoError.UserNotFound)
        UserNotFoundOrBuilder {
      private UserNotFound() {
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Пользователь не найден
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.UserNotFound}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.SsoError.UserNotFound)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFoundOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }


        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.SsoError.UserNotFound)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = null;java.lang.String info =
                  "\u0000\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.SsoError.UserNotFound)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound DEFAULT_INSTANCE;
      static {
        UserNotFound defaultInstance = new UserNotFound();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          UserNotFound.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<UserNotFound> PARSER;

      public static com.google.protobuf.Parser<UserNotFound> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    public interface WrongCredentialsOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.SsoError.WrongCredentials)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
       * @return Whether the captcha field is set.
       */
      boolean hasCaptcha();
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
       * @return The captcha.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha getCaptcha();
    }
    /**
     * <pre>
     * Неверный пароль
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.WrongCredentials}
     */
    public  static final class WrongCredentials extends
        com.google.protobuf.GeneratedMessageLite<
            WrongCredentials, WrongCredentials.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.SsoError.WrongCredentials)
        WrongCredentialsOrBuilder {
      private WrongCredentials() {
      }
      public static final int CAPTCHA_FIELD_NUMBER = 1;
      private ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha captcha_;
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      @java.lang.Override
      public boolean hasCaptcha() {
        return captcha_ != null;
      }
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha getCaptcha() {
        return captcha_ == null ? ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.getDefaultInstance() : captcha_;
      }
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      private void setCaptcha(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha value) {
        value.getClass();
  captcha_ = value;

        }
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      @java.lang.SuppressWarnings({"ReferenceEquality"})
      private void mergeCaptcha(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha value) {
        value.getClass();
  if (captcha_ != null &&
            captcha_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.getDefaultInstance()) {
          captcha_ =
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.newBuilder(captcha_).mergeFrom(value).buildPartial();
        } else {
          captcha_ = value;
        }

      }
      /**
       * <pre>
       * Капча
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      private void clearCaptcha() {  captcha_ = null;

      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Неверный пароль
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.WrongCredentials}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.SsoError.WrongCredentials)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentialsOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }


        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
         */
        @java.lang.Override
        public boolean hasCaptcha() {
          return instance.hasCaptcha();
        }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha getCaptcha() {
          return instance.getCaptcha();
        }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
         */
        public Builder setCaptcha(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha value) {
          copyOnWrite();
          instance.setCaptcha(value);
          return this;
          }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
         */
        public Builder setCaptcha(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha.Builder builderForValue) {
          copyOnWrite();
          instance.setCaptcha(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
         */
        public Builder mergeCaptcha(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Captcha value) {
          copyOnWrite();
          instance.mergeCaptcha(value);
          return this;
        }
        /**
         * <pre>
         * Капча
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
         */
        public Builder clearCaptcha() {  copyOnWrite();
          instance.clearCaptcha();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.SsoError.WrongCredentials)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "captcha_",
              };
              java.lang.String info =
                  "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001\t";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.SsoError.WrongCredentials)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials DEFAULT_INSTANCE;
      static {
        WrongCredentials defaultInstance = new WrongCredentials();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          WrongCredentials.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<WrongCredentials> PARSER;

      public static com.google.protobuf.Parser<WrongCredentials> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    public interface UserIsBlockedOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.SsoError.UserIsBlocked)
        com.google.protobuf.MessageLiteOrBuilder {
    }
    /**
     * <pre>
     * Пользователь заблокирован
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.UserIsBlocked}
     */
    public  static final class UserIsBlocked extends
        com.google.protobuf.GeneratedMessageLite<
            UserIsBlocked, UserIsBlocked.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.SsoError.UserIsBlocked)
        UserIsBlockedOrBuilder {
      private UserIsBlocked() {
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Пользователь заблокирован
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.UserIsBlocked}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.SsoError.UserIsBlocked)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlockedOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }


        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.SsoError.UserIsBlocked)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = null;java.lang.String info =
                  "\u0000\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.SsoError.UserIsBlocked)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked DEFAULT_INSTANCE;
      static {
        UserIsBlocked defaultInstance = new UserIsBlocked();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          UserIsBlocked.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<UserIsBlocked> PARSER;

      public static com.google.protobuf.Parser<UserIsBlocked> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    public interface IntervalExceededOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.SsoError.IntervalExceeded)
        com.google.protobuf.MessageLiteOrBuilder {
    }
    /**
     * <pre>
     * Превышен интервал отправки кода подтверждения
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.IntervalExceeded}
     */
    public  static final class IntervalExceeded extends
        com.google.protobuf.GeneratedMessageLite<
            IntervalExceeded, IntervalExceeded.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.SsoError.IntervalExceeded)
        IntervalExceededOrBuilder {
      private IntervalExceeded() {
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Превышен интервал отправки кода подтверждения
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.SsoError.IntervalExceeded}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.SsoError.IntervalExceeded)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceededOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }


        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.SsoError.IntervalExceeded)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = null;java.lang.String info =
                  "\u0000\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.SsoError.IntervalExceeded)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded DEFAULT_INSTANCE;
      static {
        IntervalExceeded defaultInstance = new IntervalExceeded();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          IntervalExceeded.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<IntervalExceeded> PARSER;

      public static com.google.protobuf.Parser<IntervalExceeded> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int reasonCase_ = 0;
    private java.lang.Object reason_;
    public enum ReasonCase {
      USER_IS_TEMPORARY_BLOCKED(1),
      USER_NOT_FOUND(2),
      WRONG_CREDENTIALS(3),
      USER_IS_BLOCKED(4),
      INTERVAL_EXCEEDED(5),
      REASON_NOT_SET(0);
      private final int value;
      private ReasonCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ReasonCase valueOf(int value) {
        return forNumber(value);
      }

      public static ReasonCase forNumber(int value) {
        switch (value) {
          case 1: return USER_IS_TEMPORARY_BLOCKED;
          case 2: return USER_NOT_FOUND;
          case 3: return WRONG_CREDENTIALS;
          case 4: return USER_IS_BLOCKED;
          case 5: return INTERVAL_EXCEEDED;
          case 0: return REASON_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public ReasonCase
    getReasonCase() {
      return ReasonCase.forNumber(
          reasonCase_);
    }

    private void clearReason() {
      reasonCase_ = 0;
      reason_ = null;
    }

    public static final int USER_IS_TEMPORARY_BLOCKED_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Пользователь временно заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
     */
    @java.lang.Override
    public boolean hasUserIsTemporaryBlocked() {
      return reasonCase_ == 1;
    }
    /**
     * <pre>
     * Пользователь временно заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked getUserIsTemporaryBlocked() {
      if (reasonCase_ == 1) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked) reason_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked.getDefaultInstance();
    }
    /**
     * <pre>
     * Пользователь временно заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
     */
    private void setUserIsTemporaryBlocked(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked value) {
      value.getClass();
  reason_ = value;
      reasonCase_ = 1;
    }
    /**
     * <pre>
     * Пользователь временно заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
     */
    private void mergeUserIsTemporaryBlocked(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked value) {
      value.getClass();
  if (reasonCase_ == 1 &&
          reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked.getDefaultInstance()) {
        reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked) reason_)
            .mergeFrom(value).buildPartial();
      } else {
        reason_ = value;
      }
      reasonCase_ = 1;
    }
    /**
     * <pre>
     * Пользователь временно заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
     */
    private void clearUserIsTemporaryBlocked() {
      if (reasonCase_ == 1) {
        reasonCase_ = 0;
        reason_ = null;
      }
    }

    public static final int USER_NOT_FOUND_FIELD_NUMBER = 2;
    /**
     * <pre>
     * Пользователь не найден
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
     */
    @java.lang.Override
    public boolean hasUserNotFound() {
      return reasonCase_ == 2;
    }
    /**
     * <pre>
     * Пользователь не найден
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound getUserNotFound() {
      if (reasonCase_ == 2) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound) reason_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound.getDefaultInstance();
    }
    /**
     * <pre>
     * Пользователь не найден
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
     */
    private void setUserNotFound(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound value) {
      value.getClass();
  reason_ = value;
      reasonCase_ = 2;
    }
    /**
     * <pre>
     * Пользователь не найден
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
     */
    private void mergeUserNotFound(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound value) {
      value.getClass();
  if (reasonCase_ == 2 &&
          reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound.getDefaultInstance()) {
        reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound) reason_)
            .mergeFrom(value).buildPartial();
      } else {
        reason_ = value;
      }
      reasonCase_ = 2;
    }
    /**
     * <pre>
     * Пользователь не найден
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
     */
    private void clearUserNotFound() {
      if (reasonCase_ == 2) {
        reasonCase_ = 0;
        reason_ = null;
      }
    }

    public static final int WRONG_CREDENTIALS_FIELD_NUMBER = 3;
    /**
     * <pre>
     * Неверный пароль
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
     */
    @java.lang.Override
    public boolean hasWrongCredentials() {
      return reasonCase_ == 3;
    }
    /**
     * <pre>
     * Неверный пароль
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials getWrongCredentials() {
      if (reasonCase_ == 3) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials) reason_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials.getDefaultInstance();
    }
    /**
     * <pre>
     * Неверный пароль
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
     */
    private void setWrongCredentials(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials value) {
      value.getClass();
  reason_ = value;
      reasonCase_ = 3;
    }
    /**
     * <pre>
     * Неверный пароль
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
     */
    private void mergeWrongCredentials(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials value) {
      value.getClass();
  if (reasonCase_ == 3 &&
          reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials.getDefaultInstance()) {
        reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials) reason_)
            .mergeFrom(value).buildPartial();
      } else {
        reason_ = value;
      }
      reasonCase_ = 3;
    }
    /**
     * <pre>
     * Неверный пароль
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
     */
    private void clearWrongCredentials() {
      if (reasonCase_ == 3) {
        reasonCase_ = 0;
        reason_ = null;
      }
    }

    public static final int USER_IS_BLOCKED_FIELD_NUMBER = 4;
    /**
     * <pre>
     * Пользователь заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
     */
    @java.lang.Override
    public boolean hasUserIsBlocked() {
      return reasonCase_ == 4;
    }
    /**
     * <pre>
     * Пользователь заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked getUserIsBlocked() {
      if (reasonCase_ == 4) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked) reason_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked.getDefaultInstance();
    }
    /**
     * <pre>
     * Пользователь заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
     */
    private void setUserIsBlocked(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked value) {
      value.getClass();
  reason_ = value;
      reasonCase_ = 4;
    }
    /**
     * <pre>
     * Пользователь заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
     */
    private void mergeUserIsBlocked(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked value) {
      value.getClass();
  if (reasonCase_ == 4 &&
          reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked.getDefaultInstance()) {
        reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked) reason_)
            .mergeFrom(value).buildPartial();
      } else {
        reason_ = value;
      }
      reasonCase_ = 4;
    }
    /**
     * <pre>
     * Пользователь заблокирован
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
     */
    private void clearUserIsBlocked() {
      if (reasonCase_ == 4) {
        reasonCase_ = 0;
        reason_ = null;
      }
    }

    public static final int INTERVAL_EXCEEDED_FIELD_NUMBER = 5;
    /**
     * <pre>
     * Превышен интервал отправки кода подтверждения
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
     */
    @java.lang.Override
    public boolean hasIntervalExceeded() {
      return reasonCase_ == 5;
    }
    /**
     * <pre>
     * Превышен интервал отправки кода подтверждения
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded getIntervalExceeded() {
      if (reasonCase_ == 5) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded) reason_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded.getDefaultInstance();
    }
    /**
     * <pre>
     * Превышен интервал отправки кода подтверждения
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
     */
    private void setIntervalExceeded(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded value) {
      value.getClass();
  reason_ = value;
      reasonCase_ = 5;
    }
    /**
     * <pre>
     * Превышен интервал отправки кода подтверждения
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
     */
    private void mergeIntervalExceeded(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded value) {
      value.getClass();
  if (reasonCase_ == 5 &&
          reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded.getDefaultInstance()) {
        reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded) reason_)
            .mergeFrom(value).buildPartial();
      } else {
        reason_ = value;
      }
      reasonCase_ = 5;
    }
    /**
     * <pre>
     * Превышен интервал отправки кода подтверждения
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
     */
    private void clearIntervalExceeded() {
      if (reasonCase_ == 5) {
        reasonCase_ = 0;
        reason_ = null;
      }
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ошибки из ССО
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.SsoError}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.SsoError)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoErrorOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public ReasonCase
          getReasonCase() {
        return instance.getReasonCase();
      }

      public Builder clearReason() {
        copyOnWrite();
        instance.clearReason();
        return this;
      }


      /**
       * <pre>
       * Пользователь временно заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
       */
      @java.lang.Override
      public boolean hasUserIsTemporaryBlocked() {
        return instance.hasUserIsTemporaryBlocked();
      }
      /**
       * <pre>
       * Пользователь временно заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked getUserIsTemporaryBlocked() {
        return instance.getUserIsTemporaryBlocked();
      }
      /**
       * <pre>
       * Пользователь временно заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
       */
      public Builder setUserIsTemporaryBlocked(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked value) {
        copyOnWrite();
        instance.setUserIsTemporaryBlocked(value);
        return this;
      }
      /**
       * <pre>
       * Пользователь временно заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
       */
      public Builder setUserIsTemporaryBlocked(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked.Builder builderForValue) {
        copyOnWrite();
        instance.setUserIsTemporaryBlocked(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Пользователь временно заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
       */
      public Builder mergeUserIsTemporaryBlocked(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked value) {
        copyOnWrite();
        instance.mergeUserIsTemporaryBlocked(value);
        return this;
      }
      /**
       * <pre>
       * Пользователь временно заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;</code>
       */
      public Builder clearUserIsTemporaryBlocked() {
        copyOnWrite();
        instance.clearUserIsTemporaryBlocked();
        return this;
      }

      /**
       * <pre>
       * Пользователь не найден
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
       */
      @java.lang.Override
      public boolean hasUserNotFound() {
        return instance.hasUserNotFound();
      }
      /**
       * <pre>
       * Пользователь не найден
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound getUserNotFound() {
        return instance.getUserNotFound();
      }
      /**
       * <pre>
       * Пользователь не найден
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
       */
      public Builder setUserNotFound(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound value) {
        copyOnWrite();
        instance.setUserNotFound(value);
        return this;
      }
      /**
       * <pre>
       * Пользователь не найден
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
       */
      public Builder setUserNotFound(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound.Builder builderForValue) {
        copyOnWrite();
        instance.setUserNotFound(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Пользователь не найден
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
       */
      public Builder mergeUserNotFound(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound value) {
        copyOnWrite();
        instance.mergeUserNotFound(value);
        return this;
      }
      /**
       * <pre>
       * Пользователь не найден
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserNotFound user_not_found = 2;</code>
       */
      public Builder clearUserNotFound() {
        copyOnWrite();
        instance.clearUserNotFound();
        return this;
      }

      /**
       * <pre>
       * Неверный пароль
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
       */
      @java.lang.Override
      public boolean hasWrongCredentials() {
        return instance.hasWrongCredentials();
      }
      /**
       * <pre>
       * Неверный пароль
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials getWrongCredentials() {
        return instance.getWrongCredentials();
      }
      /**
       * <pre>
       * Неверный пароль
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
       */
      public Builder setWrongCredentials(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials value) {
        copyOnWrite();
        instance.setWrongCredentials(value);
        return this;
      }
      /**
       * <pre>
       * Неверный пароль
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
       */
      public Builder setWrongCredentials(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials.Builder builderForValue) {
        copyOnWrite();
        instance.setWrongCredentials(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Неверный пароль
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
       */
      public Builder mergeWrongCredentials(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials value) {
        copyOnWrite();
        instance.mergeWrongCredentials(value);
        return this;
      }
      /**
       * <pre>
       * Неверный пароль
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.WrongCredentials wrong_credentials = 3;</code>
       */
      public Builder clearWrongCredentials() {
        copyOnWrite();
        instance.clearWrongCredentials();
        return this;
      }

      /**
       * <pre>
       * Пользователь заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
       */
      @java.lang.Override
      public boolean hasUserIsBlocked() {
        return instance.hasUserIsBlocked();
      }
      /**
       * <pre>
       * Пользователь заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked getUserIsBlocked() {
        return instance.getUserIsBlocked();
      }
      /**
       * <pre>
       * Пользователь заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
       */
      public Builder setUserIsBlocked(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked value) {
        copyOnWrite();
        instance.setUserIsBlocked(value);
        return this;
      }
      /**
       * <pre>
       * Пользователь заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
       */
      public Builder setUserIsBlocked(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked.Builder builderForValue) {
        copyOnWrite();
        instance.setUserIsBlocked(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Пользователь заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
       */
      public Builder mergeUserIsBlocked(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked value) {
        copyOnWrite();
        instance.mergeUserIsBlocked(value);
        return this;
      }
      /**
       * <pre>
       * Пользователь заблокирован
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.UserIsBlocked user_is_blocked = 4;</code>
       */
      public Builder clearUserIsBlocked() {
        copyOnWrite();
        instance.clearUserIsBlocked();
        return this;
      }

      /**
       * <pre>
       * Превышен интервал отправки кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
       */
      @java.lang.Override
      public boolean hasIntervalExceeded() {
        return instance.hasIntervalExceeded();
      }
      /**
       * <pre>
       * Превышен интервал отправки кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded getIntervalExceeded() {
        return instance.getIntervalExceeded();
      }
      /**
       * <pre>
       * Превышен интервал отправки кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
       */
      public Builder setIntervalExceeded(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded value) {
        copyOnWrite();
        instance.setIntervalExceeded(value);
        return this;
      }
      /**
       * <pre>
       * Превышен интервал отправки кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
       */
      public Builder setIntervalExceeded(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded.Builder builderForValue) {
        copyOnWrite();
        instance.setIntervalExceeded(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Превышен интервал отправки кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
       */
      public Builder mergeIntervalExceeded(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded value) {
        copyOnWrite();
        instance.mergeIntervalExceeded(value);
        return this;
      }
      /**
       * <pre>
       * Превышен интервал отправки кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError.IntervalExceeded interval_exceeded = 5;</code>
       */
      public Builder clearIntervalExceeded() {
        copyOnWrite();
        instance.clearIntervalExceeded();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.SsoError)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "reason_",
              "reasonCase_",
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsTemporaryBlocked.class,
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserNotFound.class,
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.WrongCredentials.class,
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.UserIsBlocked.class,
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.IntervalExceeded.class,
            };
            java.lang.String info =
                "\u0000\u0005\u0001\u0000\u0001\u0005\u0005\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                "\u0000\u0003<\u0000\u0004<\u0000\u0005<\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.SsoError)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError DEFAULT_INSTANCE;
    static {
      SsoError defaultInstance = new SsoError();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        SsoError.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<SsoError> PARSER;

    public static com.google.protobuf.Parser<SsoError> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface KeyErrorOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.KeyError)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ошибка создания пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
     * @return Whether the userCreation field is set.
     */
    boolean hasUserCreation();
    /**
     * <pre>
     * Ошибка создания пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
     * @return The userCreation.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation getUserCreation();

    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.ReasonCase getReasonCase();
  }
  /**
   * <pre>
   * Ошибки сервисов ключа
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.KeyError}
   */
  public  static final class KeyError extends
      com.google.protobuf.GeneratedMessageLite<
          KeyError, KeyError.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.KeyError)
      KeyErrorOrBuilder {
    private KeyError() {
    }
    public interface UserCreationOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.KeyError.UserCreation)
        com.google.protobuf.MessageLiteOrBuilder {
    }
    /**
     * <pre>
     * Ошибка создания пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.KeyError.UserCreation}
     */
    public  static final class UserCreation extends
        com.google.protobuf.GeneratedMessageLite<
            UserCreation, UserCreation.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.KeyError.UserCreation)
        UserCreationOrBuilder {
      private UserCreation() {
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка создания пользователя
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.KeyError.UserCreation}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.KeyError.UserCreation)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreationOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }


        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.KeyError.UserCreation)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = null;java.lang.String info =
                  "\u0000\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.KeyError.UserCreation)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation DEFAULT_INSTANCE;
      static {
        UserCreation defaultInstance = new UserCreation();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          UserCreation.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<UserCreation> PARSER;

      public static com.google.protobuf.Parser<UserCreation> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int reasonCase_ = 0;
    private java.lang.Object reason_;
    public enum ReasonCase {
      USER_CREATION(1),
      REASON_NOT_SET(0);
      private final int value;
      private ReasonCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ReasonCase valueOf(int value) {
        return forNumber(value);
      }

      public static ReasonCase forNumber(int value) {
        switch (value) {
          case 1: return USER_CREATION;
          case 0: return REASON_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public ReasonCase
    getReasonCase() {
      return ReasonCase.forNumber(
          reasonCase_);
    }

    private void clearReason() {
      reasonCase_ = 0;
      reason_ = null;
    }

    public static final int USER_CREATION_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Ошибка создания пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
     */
    @java.lang.Override
    public boolean hasUserCreation() {
      return reasonCase_ == 1;
    }
    /**
     * <pre>
     * Ошибка создания пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation getUserCreation() {
      if (reasonCase_ == 1) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation) reason_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка создания пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
     */
    private void setUserCreation(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation value) {
      value.getClass();
  reason_ = value;
      reasonCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка создания пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
     */
    private void mergeUserCreation(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation value) {
      value.getClass();
  if (reasonCase_ == 1 &&
          reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation.getDefaultInstance()) {
        reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation) reason_)
            .mergeFrom(value).buildPartial();
      } else {
        reason_ = value;
      }
      reasonCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка создания пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
     */
    private void clearUserCreation() {
      if (reasonCase_ == 1) {
        reasonCase_ = 0;
        reason_ = null;
      }
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ошибки сервисов ключа
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.KeyError}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.KeyError)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyErrorOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public ReasonCase
          getReasonCase() {
        return instance.getReasonCase();
      }

      public Builder clearReason() {
        copyOnWrite();
        instance.clearReason();
        return this;
      }


      /**
       * <pre>
       * Ошибка создания пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
       */
      @java.lang.Override
      public boolean hasUserCreation() {
        return instance.hasUserCreation();
      }
      /**
       * <pre>
       * Ошибка создания пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation getUserCreation() {
        return instance.getUserCreation();
      }
      /**
       * <pre>
       * Ошибка создания пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
       */
      public Builder setUserCreation(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation value) {
        copyOnWrite();
        instance.setUserCreation(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка создания пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
       */
      public Builder setUserCreation(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation.Builder builderForValue) {
        copyOnWrite();
        instance.setUserCreation(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибка создания пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
       */
      public Builder mergeUserCreation(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation value) {
        copyOnWrite();
        instance.mergeUserCreation(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка создания пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError.UserCreation user_creation = 1;</code>
       */
      public Builder clearUserCreation() {
        copyOnWrite();
        instance.clearUserCreation();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.KeyError)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "reason_",
              "reasonCase_",
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.UserCreation.class,
            };
            java.lang.String info =
                "\u0000\u0001\u0001\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001<\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.KeyError)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError DEFAULT_INSTANCE;
    static {
      KeyError defaultInstance = new KeyError();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        KeyError.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<KeyError> PARSER;

    public static com.google.protobuf.Parser<KeyError> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostAuthorizationSendCodeRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationSendCodeRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
     * @return Whether the captchaAnswer field is set.
     */
    boolean hasCaptchaAnswer();
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
     * @return The captchaAnswer.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer getCaptchaAnswer();

    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 2;</code>
     * @return Whether the phoneNumber field is set.
     */
    boolean hasPhoneNumber();
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 2;</code>
     * @return The phoneNumber.
     */
    java.lang.String getPhoneNumber();
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 2;</code>
     * @return The bytes for phoneNumber.
     */
    com.google.protobuf.ByteString
        getPhoneNumberBytes();

    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 3;</code>
     * @return Whether the email field is set.
     */
    boolean hasEmail();
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 3;</code>
     * @return The email.
     */
    java.lang.String getEmail();
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 3;</code>
     * @return The bytes for email.
     */
    com.google.protobuf.ByteString
        getEmailBytes();

    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest.OtpTextCase getOtpTextCase();
  }
  /**
   * <pre>
   * Запрос на отправку ОТП-кода для B2B
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationSendCodeRequest}
   */
  public  static final class PostAuthorizationSendCodeRequest extends
      com.google.protobuf.GeneratedMessageLite<
          PostAuthorizationSendCodeRequest, PostAuthorizationSendCodeRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationSendCodeRequest)
      PostAuthorizationSendCodeRequestOrBuilder {
    private PostAuthorizationSendCodeRequest() {
    }
    private int otpTextCase_ = 0;
    private java.lang.Object otpText_;
    public enum OtpTextCase {
      PHONE_NUMBER(2),
      EMAIL(3),
      OTPTEXT_NOT_SET(0);
      private final int value;
      private OtpTextCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static OtpTextCase valueOf(int value) {
        return forNumber(value);
      }

      public static OtpTextCase forNumber(int value) {
        switch (value) {
          case 2: return PHONE_NUMBER;
          case 3: return EMAIL;
          case 0: return OTPTEXT_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public OtpTextCase
    getOtpTextCase() {
      return OtpTextCase.forNumber(
          otpTextCase_);
    }

    private void clearOtpText() {
      otpTextCase_ = 0;
      otpText_ = null;
    }

    public static final int CAPTCHA_ANSWER_FIELD_NUMBER = 1;
    private ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer captchaAnswer_;
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
     */
    @java.lang.Override
    public boolean hasCaptchaAnswer() {
      return captchaAnswer_ != null;
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer getCaptchaAnswer() {
      return captchaAnswer_ == null ? ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.getDefaultInstance() : captchaAnswer_;
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
     */
    private void setCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer value) {
      value.getClass();
  captchaAnswer_ = value;

      }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer value) {
      value.getClass();
  if (captchaAnswer_ != null &&
          captchaAnswer_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.getDefaultInstance()) {
        captchaAnswer_ =
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.newBuilder(captchaAnswer_).mergeFrom(value).buildPartial();
      } else {
        captchaAnswer_ = value;
      }

    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
     */
    private void clearCaptchaAnswer() {  captchaAnswer_ = null;

    }

    public static final int PHONE_NUMBER_FIELD_NUMBER = 2;
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 2;</code>
     * @return Whether the phoneNumber field is set.
     */
    @java.lang.Override
    public boolean hasPhoneNumber() {
      return otpTextCase_ == 2;
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 2;</code>
     * @return The phoneNumber.
     */
    @java.lang.Override
    public java.lang.String getPhoneNumber() {
      java.lang.String ref = "";
      if (otpTextCase_ == 2) {
        ref = (java.lang.String) otpText_;
      }
      return ref;
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 2;</code>
     * @return The bytes for phoneNumber.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPhoneNumberBytes() {
      java.lang.String ref = "";
      if (otpTextCase_ == 2) {
        ref = (java.lang.String) otpText_;
      }
      return com.google.protobuf.ByteString.copyFromUtf8(ref);
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 2;</code>
     * @param value The phoneNumber to set.
     */
    private void setPhoneNumber(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  otpTextCase_ = 2;
      otpText_ = value;
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 2;</code>
     */
    private void clearPhoneNumber() {
      if (otpTextCase_ == 2) {
        otpTextCase_ = 0;
        otpText_ = null;
      }
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 2;</code>
     * @param value The bytes for phoneNumber to set.
     */
    private void setPhoneNumberBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      otpText_ = value.toStringUtf8();
      otpTextCase_ = 2;
    }

    public static final int EMAIL_FIELD_NUMBER = 3;
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 3;</code>
     * @return Whether the email field is set.
     */
    @java.lang.Override
    public boolean hasEmail() {
      return otpTextCase_ == 3;
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 3;</code>
     * @return The email.
     */
    @java.lang.Override
    public java.lang.String getEmail() {
      java.lang.String ref = "";
      if (otpTextCase_ == 3) {
        ref = (java.lang.String) otpText_;
      }
      return ref;
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 3;</code>
     * @return The bytes for email.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getEmailBytes() {
      java.lang.String ref = "";
      if (otpTextCase_ == 3) {
        ref = (java.lang.String) otpText_;
      }
      return com.google.protobuf.ByteString.copyFromUtf8(ref);
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 3;</code>
     * @param value The email to set.
     */
    private void setEmail(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  otpTextCase_ = 3;
      otpText_ = value;
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 3;</code>
     */
    private void clearEmail() {
      if (otpTextCase_ == 3) {
        otpTextCase_ = 0;
        otpText_ = null;
      }
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 3;</code>
     * @param value The bytes for email to set.
     */
    private void setEmailBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      otpText_ = value.toStringUtf8();
      otpTextCase_ = 3;
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос на отправку ОТП-кода для B2B
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationSendCodeRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationSendCodeRequest)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequestOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public OtpTextCase
          getOtpTextCase() {
        return instance.getOtpTextCase();
      }

      public Builder clearOtpText() {
        copyOnWrite();
        instance.clearOtpText();
        return this;
      }


      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
       */
      @java.lang.Override
      public boolean hasCaptchaAnswer() {
        return instance.hasCaptchaAnswer();
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer getCaptchaAnswer() {
        return instance.getCaptchaAnswer();
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
       */
      public Builder setCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer value) {
        copyOnWrite();
        instance.setCaptchaAnswer(value);
        return this;
        }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
       */
      public Builder setCaptchaAnswer(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Builder builderForValue) {
        copyOnWrite();
        instance.setCaptchaAnswer(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
       */
      public Builder mergeCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer value) {
        copyOnWrite();
        instance.mergeCaptchaAnswer(value);
        return this;
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 1;</code>
       */
      public Builder clearCaptchaAnswer() {  copyOnWrite();
        instance.clearCaptchaAnswer();
        return this;
      }

      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 2;</code>
       * @return Whether the phoneNumber field is set.
       */
      @java.lang.Override
      public boolean hasPhoneNumber() {
        return instance.hasPhoneNumber();
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 2;</code>
       * @return The phoneNumber.
       */
      @java.lang.Override
      public java.lang.String getPhoneNumber() {
        return instance.getPhoneNumber();
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 2;</code>
       * @return The bytes for phoneNumber.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPhoneNumberBytes() {
        return instance.getPhoneNumberBytes();
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 2;</code>
       * @param value The phoneNumber to set.
       * @return This builder for chaining.
       */
      public Builder setPhoneNumber(
          java.lang.String value) {
        copyOnWrite();
        instance.setPhoneNumber(value);
        return this;
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearPhoneNumber() {
        copyOnWrite();
        instance.clearPhoneNumber();
        return this;
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 2;</code>
       * @param value The bytes for phoneNumber to set.
       * @return This builder for chaining.
       */
      public Builder setPhoneNumberBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPhoneNumberBytes(value);
        return this;
      }

      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 3;</code>
       * @return Whether the email field is set.
       */
      @java.lang.Override
      public boolean hasEmail() {
        return instance.hasEmail();
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 3;</code>
       * @return The email.
       */
      @java.lang.Override
      public java.lang.String getEmail() {
        return instance.getEmail();
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 3;</code>
       * @return The bytes for email.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getEmailBytes() {
        return instance.getEmailBytes();
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 3;</code>
       * @param value The email to set.
       * @return This builder for chaining.
       */
      public Builder setEmail(
          java.lang.String value) {
        copyOnWrite();
        instance.setEmail(value);
        return this;
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmail() {
        copyOnWrite();
        instance.clearEmail();
        return this;
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 3;</code>
       * @param value The bytes for email to set.
       * @return This builder for chaining.
       */
      public Builder setEmailBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setEmailBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationSendCodeRequest)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "otpText_",
              "otpTextCase_",
              "captchaAnswer_",
            };
            java.lang.String info =
                "\u0000\u0003\u0001\u0000\u0001\u0003\u0003\u0000\u0000\u0000\u0001\t\u0002\u023b" +
                "\u0000\u0003\u023b\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationSendCodeRequest)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest DEFAULT_INSTANCE;
    static {
      PostAuthorizationSendCodeRequest defaultInstance = new PostAuthorizationSendCodeRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostAuthorizationSendCodeRequest.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostAuthorizationSendCodeRequest> PARSER;

    public static com.google.protobuf.Parser<PostAuthorizationSendCodeRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostAuthorizationSendCodeResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
     * @return Whether the error field is set.
     */
    boolean hasError();
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
     * @return The error.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error getError();

    /**
     * <pre>
     * Информация об ОТП-коде
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Информация об ОТП-коде
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
     * @return The data.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode getData();

    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос на отправку ОТП-кода для B2B
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse}
   */
  public  static final class PostAuthorizationSendCodeResponse extends
      com.google.protobuf.GeneratedMessageLite<
          PostAuthorizationSendCodeResponse, PostAuthorizationSendCodeResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse)
      PostAuthorizationSendCodeResponseOrBuilder {
    private PostAuthorizationSendCodeResponse() {
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Ошибка ответа с капчей
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       * @return Whether the captchaAnswer field is set.
       */
      boolean hasCaptchaAnswer();
      /**
       * <pre>
       * Ошибка ответа с капчей
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       * @return The captchaAnswer.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error getCaptchaAnswer();

      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       * @return Whether the sso field is set.
       */
      boolean hasSso();
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       * @return The sso.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso();

      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка запроса на отправку ОТП-кода
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error)
        ErrorOrBuilder {
      private Error() {
      }
      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        CAPTCHA_ANSWER(1),
        SSO(2),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 1: return CAPTCHA_ANSWER;
            case 2: return SSO;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int CAPTCHA_ANSWER_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибка ответа с капчей
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      @java.lang.Override
      public boolean hasCaptchaAnswer() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибка ответа с капчей
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error getCaptchaAnswer() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка ответа с капчей
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      private void setCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка ответа с капчей
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      private void mergeCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка ответа с капчей
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      private void clearCaptchaAnswer() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int SSO_FIELD_NUMBER = 2;
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public boolean hasSso() {
        return reasonCase_ == 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      private void setSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      private void mergeSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
        value.getClass();
  if (reasonCase_ == 2 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      private void clearSso() {
        if (reasonCase_ == 2) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка запроса на отправку ОТП-кода
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.ErrorOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Ошибка ответа с капчей
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        @java.lang.Override
        public boolean hasCaptchaAnswer() {
          return instance.hasCaptchaAnswer();
        }
        /**
         * <pre>
         * Ошибка ответа с капчей
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error getCaptchaAnswer() {
          return instance.getCaptchaAnswer();
        }
        /**
         * <pre>
         * Ошибка ответа с капчей
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder setCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error value) {
          copyOnWrite();
          instance.setCaptchaAnswer(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка ответа с капчей
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder setCaptchaAnswer(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.Builder builderForValue) {
          copyOnWrite();
          instance.setCaptchaAnswer(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка ответа с капчей
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder mergeCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error value) {
          copyOnWrite();
          instance.mergeCaptchaAnswer(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка ответа с капчей
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder clearCaptchaAnswer() {
          copyOnWrite();
          instance.clearCaptchaAnswer();
          return this;
        }

        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public boolean hasSso() {
          return instance.hasSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso() {
          return instance.getSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
          copyOnWrite();
          instance.setSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.Builder builderForValue) {
          copyOnWrite();
          instance.setSso(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder mergeSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
          copyOnWrite();
          instance.mergeSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder clearSso() {
          copyOnWrite();
          instance.clearSso();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.class,
              };
              java.lang.String info =
                  "\u0000\u0002\u0001\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                  "\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

      public static com.google.protobuf.Parser<Error> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      ERROR(1),
      DATA(2),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 1: return ERROR;
          case 2: return DATA;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int ERROR_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public boolean hasError() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error getError() {
      if (typeCase_ == 1) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error) type_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
     */
    private void setError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
     */
    private void mergeError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error.getDefaultInstance()) {
        type_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
     */
    private void clearError() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static final int DATA_FIELD_NUMBER = 2;
    /**
     * <pre>
     * Информация об ОТП-коде
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
     */
    @java.lang.Override
    public boolean hasData() {
      return typeCase_ == 2;
    }
    /**
     * <pre>
     * Информация об ОТП-коде
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode getData() {
      if (typeCase_ == 2) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode) type_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.getDefaultInstance();
    }
    /**
     * <pre>
     * Информация об ОТП-коде
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
     */
    private void setData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode value) {
      value.getClass();
  type_ = value;
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Информация об ОТП-коде
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
     */
    private void mergeData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode value) {
      value.getClass();
  if (typeCase_ == 2 &&
          type_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.getDefaultInstance()) {
        type_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Информация об ОТП-коде
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
     */
    private void clearData() {
      if (typeCase_ == 2) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос на отправку ОТП-кода для B2B
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponseOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public boolean hasError() {
        return instance.hasError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error getError() {
        return instance.getError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
       */
      public Builder setError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error value) {
        copyOnWrite();
        instance.setError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
       */
      public Builder setError(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error.Builder builderForValue) {
        copyOnWrite();
        instance.setError(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
       */
      public Builder mergeError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error value) {
        copyOnWrite();
        instance.mergeError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse.Error error = 1;</code>
       */
      public Builder clearError() {
        copyOnWrite();
        instance.clearError();
        return this;
      }

      /**
       * <pre>
       * Информация об ОТП-коде
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
       */
      @java.lang.Override
      public boolean hasData() {
        return instance.hasData();
      }
      /**
       * <pre>
       * Информация об ОТП-коде
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode getData() {
        return instance.getData();
      }
      /**
       * <pre>
       * Информация об ОТП-коде
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
       */
      public Builder setData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode value) {
        copyOnWrite();
        instance.setData(value);
        return this;
      }
      /**
       * <pre>
       * Информация об ОТП-коде
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
       */
      public Builder setData(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Builder builderForValue) {
        copyOnWrite();
        instance.setData(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Информация об ОТП-коде
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
       */
      public Builder mergeData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode value) {
        copyOnWrite();
        instance.mergeData(value);
        return this;
      }
      /**
       * <pre>
       * Информация об ОТП-коде
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode data = 2;</code>
       */
      public Builder clearData() {
        copyOnWrite();
        instance.clearData();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.Error.class,
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.class,
            };
            java.lang.String info =
                "\u0000\u0002\u0001\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                "\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationSendCodeResponse)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse DEFAULT_INSTANCE;
    static {
      PostAuthorizationSendCodeResponse defaultInstance = new PostAuthorizationSendCodeResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostAuthorizationSendCodeResponse.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationSendCodeResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostAuthorizationSendCodeResponse> PARSER;

    public static com.google.protobuf.Parser<PostAuthorizationSendCodeResponse> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostAuthorizationLoginRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationLoginRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    java.lang.String getCodeId();
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    com.google.protobuf.ByteString
        getCodeIdBytes();

    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The code.
     */
    java.lang.String getCode();
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for code.
     */
    com.google.protobuf.ByteString
        getCodeBytes();
  }
  /**
   * <pre>
   * Запрос на авторизацию по ОТП-коду для B2B
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginRequest}
   */
  public  static final class PostAuthorizationLoginRequest extends
      com.google.protobuf.GeneratedMessageLite<
          PostAuthorizationLoginRequest, PostAuthorizationLoginRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginRequest)
      PostAuthorizationLoginRequestOrBuilder {
    private PostAuthorizationLoginRequest() {
      codeId_ = "";
      code_ = "";
    }
    public static final int CODE_ID_FIELD_NUMBER = 1;
    private java.lang.String codeId_;
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    @java.lang.Override
    public java.lang.String getCodeId() {
      return codeId_;
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(codeId_);
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The codeId to set.
     */
    private void setCodeId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      codeId_ = value;
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearCodeId() {

      codeId_ = getDefaultInstance().getCodeId();
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for codeId to set.
     */
    private void setCodeIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      codeId_ = value.toStringUtf8();

    }

    public static final int CODE_FIELD_NUMBER = 2;
    private java.lang.String code_;
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The code.
     */
    @java.lang.Override
    public java.lang.String getCode() {
      return code_;
    }
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for code.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(code_);
    }
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The code to set.
     */
    private void setCode(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      code_ = value;
    }
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearCode() {

      code_ = getDefaultInstance().getCode();
    }
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for code to set.
     */
    private void setCodeBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      code_ = value.toStringUtf8();

    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос на авторизацию по ОТП-коду для B2B
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginRequest)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequestOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The codeId.
       */
      @java.lang.Override
      public java.lang.String getCodeId() {
        return instance.getCodeId();
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for codeId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeIdBytes() {
        return instance.getCodeIdBytes();
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeId(
          java.lang.String value) {
        copyOnWrite();
        instance.setCodeId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCodeId() {
        copyOnWrite();
        instance.clearCodeId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCodeIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The code.
       */
      @java.lang.Override
      public java.lang.String getCode() {
        return instance.getCode();
      }
      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for code.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeBytes() {
        return instance.getCodeBytes();
      }
      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(
          java.lang.String value) {
        copyOnWrite();
        instance.setCode(value);
        return this;
      }
      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        copyOnWrite();
        instance.clearCode();
        return this;
      }
      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for code to set.
       * @return This builder for chaining.
       */
      public Builder setCodeBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCodeBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginRequest)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "codeId_",
              "code_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\u0208" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginRequest)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest DEFAULT_INSTANCE;
    static {
      PostAuthorizationLoginRequest defaultInstance = new PostAuthorizationLoginRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostAuthorizationLoginRequest.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostAuthorizationLoginRequest> PARSER;

    public static com.google.protobuf.Parser<PostAuthorizationLoginRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostAuthorizationLoginResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
     * @return Whether the error field is set.
     */
    boolean hasError();
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
     * @return The error.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error getError();

    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     * @return The data.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getData();

    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос об авторизации пользователя B2B
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginResponse}
   */
  public  static final class PostAuthorizationLoginResponse extends
      com.google.protobuf.GeneratedMessageLite<
          PostAuthorizationLoginResponse, PostAuthorizationLoginResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse)
      PostAuthorizationLoginResponseOrBuilder {
    private PostAuthorizationLoginResponse() {
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
       * @return Whether the otpCode field is set.
       */
      boolean hasOtpCode();
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
       * @return The otpCode.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getOtpCode();

      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       * @return Whether the sso field is set.
       */
      boolean hasSso();
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       * @return The sso.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso();

      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       * @return The key.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getKey();

      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка запроса авторизации пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error)
        ErrorOrBuilder {
      private Error() {
      }
      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        OTP_CODE(1),
        SSO(2),
        KEY(3),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 1: return OTP_CODE;
            case 2: return SSO;
            case 3: return KEY;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int OTP_CODE_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
       */
      @java.lang.Override
      public boolean hasOtpCode() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getOtpCode() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
       */
      private void setOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
       */
      private void mergeOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
       */
      private void clearOtpCode() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int SSO_FIELD_NUMBER = 2;
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public boolean hasSso() {
        return reasonCase_ == 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      private void setSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      private void mergeSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
        value.getClass();
  if (reasonCase_ == 2 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      private void clearSso() {
        if (reasonCase_ == 2) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int KEY_FIELD_NUMBER = 3;
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      @java.lang.Override
      public boolean hasKey() {
        return reasonCase_ == 3;
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getKey() {
        if (reasonCase_ == 3) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      private void setKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      private void mergeKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
        value.getClass();
  if (reasonCase_ == 3 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      private void clearKey() {
        if (reasonCase_ == 3) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка запроса авторизации пользователя
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.ErrorOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
         */
        @java.lang.Override
        public boolean hasOtpCode() {
          return instance.hasOtpCode();
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getOtpCode() {
          return instance.getOtpCode();
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
         */
        public Builder setOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
          copyOnWrite();
          instance.setOtpCode(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
         */
        public Builder setOtpCode(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.Builder builderForValue) {
          copyOnWrite();
          instance.setOtpCode(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
         */
        public Builder mergeOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
          copyOnWrite();
          instance.mergeOtpCode(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 1;</code>
         */
        public Builder clearOtpCode() {
          copyOnWrite();
          instance.clearOtpCode();
          return this;
        }

        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public boolean hasSso() {
          return instance.hasSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso() {
          return instance.getSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
          copyOnWrite();
          instance.setSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.Builder builderForValue) {
          copyOnWrite();
          instance.setSso(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder mergeSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
          copyOnWrite();
          instance.mergeSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder clearSso() {
          copyOnWrite();
          instance.clearSso();
          return this;
        }

        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        @java.lang.Override
        public boolean hasKey() {
          return instance.hasKey();
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getKey() {
          return instance.getKey();
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        public Builder setKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
          copyOnWrite();
          instance.setKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        public Builder setKey(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.Builder builderForValue) {
          copyOnWrite();
          instance.setKey(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        public Builder mergeKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
          copyOnWrite();
          instance.mergeKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        public Builder clearKey() {
          copyOnWrite();
          instance.clearKey();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.class,
              };
              java.lang.String info =
                  "\u0000\u0003\u0001\u0000\u0001\u0003\u0003\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                  "\u0000\u0003<\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

      public static com.google.protobuf.Parser<Error> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      ERROR(1),
      DATA(2),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 1: return ERROR;
          case 2: return DATA;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int ERROR_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public boolean hasError() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error getError() {
      if (typeCase_ == 1) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error) type_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
     */
    private void setError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
     */
    private void mergeError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error.getDefaultInstance()) {
        type_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
     */
    private void clearError() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static final int DATA_FIELD_NUMBER = 2;
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    @java.lang.Override
    public boolean hasData() {
      return typeCase_ == 2;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getData() {
      if (typeCase_ == 2) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken) type_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.getDefaultInstance();
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    private void setData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
      value.getClass();
  type_ = value;
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    private void mergeData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
      value.getClass();
  if (typeCase_ == 2 &&
          type_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.getDefaultInstance()) {
        type_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    private void clearData() {
      if (typeCase_ == 2) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос об авторизации пользователя B2B
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponseOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public boolean hasError() {
        return instance.hasError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error getError() {
        return instance.getError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
       */
      public Builder setError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error value) {
        copyOnWrite();
        instance.setError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
       */
      public Builder setError(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error.Builder builderForValue) {
        copyOnWrite();
        instance.setError(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
       */
      public Builder mergeError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error value) {
        copyOnWrite();
        instance.mergeError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginResponse.Error error = 1;</code>
       */
      public Builder clearError() {
        copyOnWrite();
        instance.clearError();
        return this;
      }

      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      @java.lang.Override
      public boolean hasData() {
        return instance.hasData();
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getData() {
        return instance.getData();
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder setData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
        copyOnWrite();
        instance.setData(value);
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder setData(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.Builder builderForValue) {
        copyOnWrite();
        instance.setData(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder mergeData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
        copyOnWrite();
        instance.mergeData(value);
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder clearData() {
        copyOnWrite();
        instance.clearData();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.Error.class,
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.class,
            };
            java.lang.String info =
                "\u0000\u0002\u0001\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                "\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginResponse)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse DEFAULT_INSTANCE;
    static {
      PostAuthorizationLoginResponse defaultInstance = new PostAuthorizationLoginResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostAuthorizationLoginResponse.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostAuthorizationLoginResponse> PARSER;

    public static com.google.protobuf.Parser<PostAuthorizationLoginResponse> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostAuthorizationLoginByPasswordRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The password.
     */
    java.lang.String getPassword();
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for password.
     */
    com.google.protobuf.ByteString
        getPasswordBytes();

    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return Whether the captchaAnswer field is set.
     */
    boolean hasCaptchaAnswer();
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return The captchaAnswer.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer getCaptchaAnswer();

    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 3;</code>
     * @return Whether the phoneNumber field is set.
     */
    boolean hasPhoneNumber();
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 3;</code>
     * @return The phoneNumber.
     */
    java.lang.String getPhoneNumber();
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 3;</code>
     * @return The bytes for phoneNumber.
     */
    com.google.protobuf.ByteString
        getPhoneNumberBytes();

    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 4;</code>
     * @return Whether the email field is set.
     */
    boolean hasEmail();
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 4;</code>
     * @return The email.
     */
    java.lang.String getEmail();
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 4;</code>
     * @return The bytes for email.
     */
    com.google.protobuf.ByteString
        getEmailBytes();

    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 5;</code>
     * @return Whether the login field is set.
     */
    boolean hasLogin();
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 5;</code>
     * @return The login.
     */
    java.lang.String getLogin();
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 5;</code>
     * @return The bytes for login.
     */
    com.google.protobuf.ByteString
        getLoginBytes();

    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Запрос на авторизацию по паролю для B2B
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordRequest}
   */
  public  static final class PostAuthorizationLoginByPasswordRequest extends
      com.google.protobuf.GeneratedMessageLite<
          PostAuthorizationLoginByPasswordRequest, PostAuthorizationLoginByPasswordRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordRequest)
      PostAuthorizationLoginByPasswordRequestOrBuilder {
    private PostAuthorizationLoginByPasswordRequest() {
      password_ = "";
    }
    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      PHONE_NUMBER(3),
      EMAIL(4),
      LOGIN(5),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 3: return PHONE_NUMBER;
          case 4: return EMAIL;
          case 5: return LOGIN;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int PASSWORD_FIELD_NUMBER = 1;
    private java.lang.String password_;
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The password.
     */
    @java.lang.Override
    public java.lang.String getPassword() {
      return password_;
    }
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for password.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPasswordBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(password_);
    }
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The password to set.
     */
    private void setPassword(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      password_ = value;
    }
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearPassword() {

      password_ = getDefaultInstance().getPassword();
    }
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for password to set.
     */
    private void setPasswordBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      password_ = value.toStringUtf8();

    }

    public static final int CAPTCHA_ANSWER_FIELD_NUMBER = 2;
    private ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer captchaAnswer_;
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    @java.lang.Override
    public boolean hasCaptchaAnswer() {
      return captchaAnswer_ != null;
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer getCaptchaAnswer() {
      return captchaAnswer_ == null ? ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.getDefaultInstance() : captchaAnswer_;
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    private void setCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer value) {
      value.getClass();
  captchaAnswer_ = value;

      }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer value) {
      value.getClass();
  if (captchaAnswer_ != null &&
          captchaAnswer_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.getDefaultInstance()) {
        captchaAnswer_ =
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.newBuilder(captchaAnswer_).mergeFrom(value).buildPartial();
      } else {
        captchaAnswer_ = value;
      }

    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    private void clearCaptchaAnswer() {  captchaAnswer_ = null;

    }

    public static final int PHONE_NUMBER_FIELD_NUMBER = 3;
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 3;</code>
     * @return Whether the phoneNumber field is set.
     */
    @java.lang.Override
    public boolean hasPhoneNumber() {
      return typeCase_ == 3;
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 3;</code>
     * @return The phoneNumber.
     */
    @java.lang.Override
    public java.lang.String getPhoneNumber() {
      java.lang.String ref = "";
      if (typeCase_ == 3) {
        ref = (java.lang.String) type_;
      }
      return ref;
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 3;</code>
     * @return The bytes for phoneNumber.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPhoneNumberBytes() {
      java.lang.String ref = "";
      if (typeCase_ == 3) {
        ref = (java.lang.String) type_;
      }
      return com.google.protobuf.ByteString.copyFromUtf8(ref);
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 3;</code>
     * @param value The phoneNumber to set.
     */
    private void setPhoneNumber(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  typeCase_ = 3;
      type_ = value;
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 3;</code>
     */
    private void clearPhoneNumber() {
      if (typeCase_ == 3) {
        typeCase_ = 0;
        type_ = null;
      }
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 3;</code>
     * @param value The bytes for phoneNumber to set.
     */
    private void setPhoneNumberBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      type_ = value.toStringUtf8();
      typeCase_ = 3;
    }

    public static final int EMAIL_FIELD_NUMBER = 4;
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 4;</code>
     * @return Whether the email field is set.
     */
    @java.lang.Override
    public boolean hasEmail() {
      return typeCase_ == 4;
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 4;</code>
     * @return The email.
     */
    @java.lang.Override
    public java.lang.String getEmail() {
      java.lang.String ref = "";
      if (typeCase_ == 4) {
        ref = (java.lang.String) type_;
      }
      return ref;
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 4;</code>
     * @return The bytes for email.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getEmailBytes() {
      java.lang.String ref = "";
      if (typeCase_ == 4) {
        ref = (java.lang.String) type_;
      }
      return com.google.protobuf.ByteString.copyFromUtf8(ref);
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 4;</code>
     * @param value The email to set.
     */
    private void setEmail(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  typeCase_ = 4;
      type_ = value;
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 4;</code>
     */
    private void clearEmail() {
      if (typeCase_ == 4) {
        typeCase_ = 0;
        type_ = null;
      }
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 4;</code>
     * @param value The bytes for email to set.
     */
    private void setEmailBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      type_ = value.toStringUtf8();
      typeCase_ = 4;
    }

    public static final int LOGIN_FIELD_NUMBER = 5;
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 5;</code>
     * @return Whether the login field is set.
     */
    @java.lang.Override
    public boolean hasLogin() {
      return typeCase_ == 5;
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 5;</code>
     * @return The login.
     */
    @java.lang.Override
    public java.lang.String getLogin() {
      java.lang.String ref = "";
      if (typeCase_ == 5) {
        ref = (java.lang.String) type_;
      }
      return ref;
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 5;</code>
     * @return The bytes for login.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLoginBytes() {
      java.lang.String ref = "";
      if (typeCase_ == 5) {
        ref = (java.lang.String) type_;
      }
      return com.google.protobuf.ByteString.copyFromUtf8(ref);
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 5;</code>
     * @param value The login to set.
     */
    private void setLogin(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  typeCase_ = 5;
      type_ = value;
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 5;</code>
     */
    private void clearLogin() {
      if (typeCase_ == 5) {
        typeCase_ = 0;
        type_ = null;
      }
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 5;</code>
     * @param value The bytes for login to set.
     */
    private void setLoginBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      type_ = value.toStringUtf8();
      typeCase_ = 5;
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос на авторизацию по паролю для B2B
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordRequest)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequestOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The password.
       */
      @java.lang.Override
      public java.lang.String getPassword() {
        return instance.getPassword();
      }
      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for password.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPasswordBytes() {
        return instance.getPasswordBytes();
      }
      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The password to set.
       * @return This builder for chaining.
       */
      public Builder setPassword(
          java.lang.String value) {
        copyOnWrite();
        instance.setPassword(value);
        return this;
      }
      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearPassword() {
        copyOnWrite();
        instance.clearPassword();
        return this;
      }
      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for password to set.
       * @return This builder for chaining.
       */
      public Builder setPasswordBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPasswordBytes(value);
        return this;
      }

      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      @java.lang.Override
      public boolean hasCaptchaAnswer() {
        return instance.hasCaptchaAnswer();
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer getCaptchaAnswer() {
        return instance.getCaptchaAnswer();
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      public Builder setCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer value) {
        copyOnWrite();
        instance.setCaptchaAnswer(value);
        return this;
        }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      public Builder setCaptchaAnswer(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Builder builderForValue) {
        copyOnWrite();
        instance.setCaptchaAnswer(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      public Builder mergeCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer value) {
        copyOnWrite();
        instance.mergeCaptchaAnswer(value);
        return this;
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      public Builder clearCaptchaAnswer() {  copyOnWrite();
        instance.clearCaptchaAnswer();
        return this;
      }

      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 3;</code>
       * @return Whether the phoneNumber field is set.
       */
      @java.lang.Override
      public boolean hasPhoneNumber() {
        return instance.hasPhoneNumber();
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 3;</code>
       * @return The phoneNumber.
       */
      @java.lang.Override
      public java.lang.String getPhoneNumber() {
        return instance.getPhoneNumber();
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 3;</code>
       * @return The bytes for phoneNumber.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPhoneNumberBytes() {
        return instance.getPhoneNumberBytes();
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 3;</code>
       * @param value The phoneNumber to set.
       * @return This builder for chaining.
       */
      public Builder setPhoneNumber(
          java.lang.String value) {
        copyOnWrite();
        instance.setPhoneNumber(value);
        return this;
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearPhoneNumber() {
        copyOnWrite();
        instance.clearPhoneNumber();
        return this;
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 3;</code>
       * @param value The bytes for phoneNumber to set.
       * @return This builder for chaining.
       */
      public Builder setPhoneNumberBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPhoneNumberBytes(value);
        return this;
      }

      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 4;</code>
       * @return Whether the email field is set.
       */
      @java.lang.Override
      public boolean hasEmail() {
        return instance.hasEmail();
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 4;</code>
       * @return The email.
       */
      @java.lang.Override
      public java.lang.String getEmail() {
        return instance.getEmail();
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 4;</code>
       * @return The bytes for email.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getEmailBytes() {
        return instance.getEmailBytes();
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 4;</code>
       * @param value The email to set.
       * @return This builder for chaining.
       */
      public Builder setEmail(
          java.lang.String value) {
        copyOnWrite();
        instance.setEmail(value);
        return this;
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmail() {
        copyOnWrite();
        instance.clearEmail();
        return this;
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 4;</code>
       * @param value The bytes for email to set.
       * @return This builder for chaining.
       */
      public Builder setEmailBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setEmailBytes(value);
        return this;
      }

      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 5;</code>
       * @return Whether the login field is set.
       */
      @java.lang.Override
      public boolean hasLogin() {
        return instance.hasLogin();
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 5;</code>
       * @return The login.
       */
      @java.lang.Override
      public java.lang.String getLogin() {
        return instance.getLogin();
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 5;</code>
       * @return The bytes for login.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLoginBytes() {
        return instance.getLoginBytes();
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 5;</code>
       * @param value The login to set.
       * @return This builder for chaining.
       */
      public Builder setLogin(
          java.lang.String value) {
        copyOnWrite();
        instance.setLogin(value);
        return this;
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearLogin() {
        copyOnWrite();
        instance.clearLogin();
        return this;
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 5;</code>
       * @param value The bytes for login to set.
       * @return This builder for chaining.
       */
      public Builder setLoginBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setLoginBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordRequest)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              "password_",
              "captchaAnswer_",
            };
            java.lang.String info =
                "\u0000\u0005\u0001\u0000\u0001\u0005\u0005\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "\u0003\u023b\u0000\u0004\u023b\u0000\u0005\u023b\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordRequest)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest DEFAULT_INSTANCE;
    static {
      PostAuthorizationLoginByPasswordRequest defaultInstance = new PostAuthorizationLoginByPasswordRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostAuthorizationLoginByPasswordRequest.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostAuthorizationLoginByPasswordRequest> PARSER;

    public static com.google.protobuf.Parser<PostAuthorizationLoginByPasswordRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostAuthorizationLoginByPasswordResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
     * @return Whether the error field is set.
     */
    boolean hasError();
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
     * @return The error.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error getError();

    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     * @return The data.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getData();

    /**
     * <pre>
     * Данные для двухфакторной аутентификации
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
     * @return Whether the data2fa field is set.
     */
    boolean hasData2Fa();
    /**
     * <pre>
     * Данные для двухфакторной аутентификации
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
     * @return The data2fa.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa getData2Fa();

    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос об авторизации по паролю пользователя B2B
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse}
   */
  public  static final class PostAuthorizationLoginByPasswordResponse extends
      com.google.protobuf.GeneratedMessageLite<
          PostAuthorizationLoginByPasswordResponse, PostAuthorizationLoginByPasswordResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse)
      PostAuthorizationLoginByPasswordResponseOrBuilder {
    private PostAuthorizationLoginByPasswordResponse() {
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       * @return Whether the captchaAnswer field is set.
       */
      boolean hasCaptchaAnswer();
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       * @return The captchaAnswer.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error getCaptchaAnswer();

      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       * @return Whether the sso field is set.
       */
      boolean hasSso();
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       * @return The sso.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso();

      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       * @return The key.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getKey();

      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
       * @return Whether the otpCode field is set.
       */
      boolean hasOtpCode();
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
       * @return The otpCode.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getOtpCode();

      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка запроса авторизации по паролю пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error)
        ErrorOrBuilder {
      private Error() {
      }
      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        CAPTCHA_ANSWER(1),
        SSO(2),
        KEY(3),
        OTP_CODE(4),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 1: return CAPTCHA_ANSWER;
            case 2: return SSO;
            case 3: return KEY;
            case 4: return OTP_CODE;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int CAPTCHA_ANSWER_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      @java.lang.Override
      public boolean hasCaptchaAnswer() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error getCaptchaAnswer() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      private void setCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      private void mergeCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      private void clearCaptchaAnswer() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int SSO_FIELD_NUMBER = 2;
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public boolean hasSso() {
        return reasonCase_ == 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      private void setSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      private void mergeSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
        value.getClass();
  if (reasonCase_ == 2 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
       */
      private void clearSso() {
        if (reasonCase_ == 2) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int KEY_FIELD_NUMBER = 3;
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      @java.lang.Override
      public boolean hasKey() {
        return reasonCase_ == 3;
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getKey() {
        if (reasonCase_ == 3) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      private void setKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      private void mergeKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
        value.getClass();
  if (reasonCase_ == 3 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
       */
      private void clearKey() {
        if (reasonCase_ == 3) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int OTP_CODE_FIELD_NUMBER = 4;
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
       */
      @java.lang.Override
      public boolean hasOtpCode() {
        return reasonCase_ == 4;
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getOtpCode() {
        if (reasonCase_ == 4) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
       */
      private void setOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 4;
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
       */
      private void mergeOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
        value.getClass();
  if (reasonCase_ == 4 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 4;
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
       */
      private void clearOtpCode() {
        if (reasonCase_ == 4) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка запроса авторизации по паролю пользователя
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.ErrorOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        @java.lang.Override
        public boolean hasCaptchaAnswer() {
          return instance.hasCaptchaAnswer();
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error getCaptchaAnswer() {
          return instance.getCaptchaAnswer();
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder setCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error value) {
          copyOnWrite();
          instance.setCaptchaAnswer(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder setCaptchaAnswer(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.Builder builderForValue) {
          copyOnWrite();
          instance.setCaptchaAnswer(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder mergeCaptchaAnswer(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error value) {
          copyOnWrite();
          instance.mergeCaptchaAnswer(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder clearCaptchaAnswer() {
          copyOnWrite();
          instance.clearCaptchaAnswer();
          return this;
        }

        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public boolean hasSso() {
          return instance.hasSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso() {
          return instance.getSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
          copyOnWrite();
          instance.setSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.Builder builderForValue) {
          copyOnWrite();
          instance.setSso(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder mergeSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
          copyOnWrite();
          instance.mergeSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 2;</code>
         */
        public Builder clearSso() {
          copyOnWrite();
          instance.clearSso();
          return this;
        }

        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        @java.lang.Override
        public boolean hasKey() {
          return instance.hasKey();
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getKey() {
          return instance.getKey();
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        public Builder setKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
          copyOnWrite();
          instance.setKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        public Builder setKey(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.Builder builderForValue) {
          copyOnWrite();
          instance.setKey(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        public Builder mergeKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
          copyOnWrite();
          instance.mergeKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 3;</code>
         */
        public Builder clearKey() {
          copyOnWrite();
          instance.clearKey();
          return this;
        }

        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
         */
        @java.lang.Override
        public boolean hasOtpCode() {
          return instance.hasOtpCode();
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getOtpCode() {
          return instance.getOtpCode();
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
         */
        public Builder setOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
          copyOnWrite();
          instance.setOtpCode(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
         */
        public Builder setOtpCode(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.Builder builderForValue) {
          copyOnWrite();
          instance.setOtpCode(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
         */
        public Builder mergeOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
          copyOnWrite();
          instance.mergeOtpCode(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 4;</code>
         */
        public Builder clearOtpCode() {
          copyOnWrite();
          instance.clearOtpCode();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.CaptchaAnswer.Error.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.class,
              };
              java.lang.String info =
                  "\u0000\u0004\u0001\u0000\u0001\u0004\u0004\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                  "\u0000\u0003<\u0000\u0004<\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

      public static com.google.protobuf.Parser<Error> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      ERROR(1),
      DATA(2),
      DATA2FA(3),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 1: return ERROR;
          case 2: return DATA;
          case 3: return DATA2FA;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int ERROR_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public boolean hasError() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error getError() {
      if (typeCase_ == 1) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error) type_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
     */
    private void setError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
     */
    private void mergeError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error.getDefaultInstance()) {
        type_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
     */
    private void clearError() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static final int DATA_FIELD_NUMBER = 2;
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    @java.lang.Override
    public boolean hasData() {
      return typeCase_ == 2;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getData() {
      if (typeCase_ == 2) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken) type_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.getDefaultInstance();
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    private void setData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
      value.getClass();
  type_ = value;
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    private void mergeData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
      value.getClass();
  if (typeCase_ == 2 &&
          type_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.getDefaultInstance()) {
        type_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    private void clearData() {
      if (typeCase_ == 2) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static final int DATA2FA_FIELD_NUMBER = 3;
    /**
     * <pre>
     * Данные для двухфакторной аутентификации
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
     */
    @java.lang.Override
    public boolean hasData2Fa() {
      return typeCase_ == 3;
    }
    /**
     * <pre>
     * Данные для двухфакторной аутентификации
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa getData2Fa() {
      if (typeCase_ == 3) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa) type_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa.getDefaultInstance();
    }
    /**
     * <pre>
     * Данные для двухфакторной аутентификации
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
     */
    private void setData2Fa(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa value) {
      value.getClass();
  type_ = value;
      typeCase_ = 3;
    }
    /**
     * <pre>
     * Данные для двухфакторной аутентификации
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
     */
    private void mergeData2Fa(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa value) {
      value.getClass();
  if (typeCase_ == 3 &&
          type_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa.getDefaultInstance()) {
        type_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 3;
    }
    /**
     * <pre>
     * Данные для двухфакторной аутентификации
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
     */
    private void clearData2Fa() {
      if (typeCase_ == 3) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос об авторизации по паролю пользователя B2B
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponseOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public boolean hasError() {
        return instance.hasError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error getError() {
        return instance.getError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
       */
      public Builder setError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error value) {
        copyOnWrite();
        instance.setError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
       */
      public Builder setError(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error.Builder builderForValue) {
        copyOnWrite();
        instance.setError(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
       */
      public Builder mergeError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error value) {
        copyOnWrite();
        instance.mergeError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse.Error error = 1;</code>
       */
      public Builder clearError() {
        copyOnWrite();
        instance.clearError();
        return this;
      }

      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      @java.lang.Override
      public boolean hasData() {
        return instance.hasData();
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getData() {
        return instance.getData();
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder setData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
        copyOnWrite();
        instance.setData(value);
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder setData(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.Builder builderForValue) {
        copyOnWrite();
        instance.setData(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder mergeData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
        copyOnWrite();
        instance.mergeData(value);
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder clearData() {
        copyOnWrite();
        instance.clearData();
        return this;
      }

      /**
       * <pre>
       * Данные для двухфакторной аутентификации
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
       */
      @java.lang.Override
      public boolean hasData2Fa() {
        return instance.hasData2Fa();
      }
      /**
       * <pre>
       * Данные для двухфакторной аутентификации
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa getData2Fa() {
        return instance.getData2Fa();
      }
      /**
       * <pre>
       * Данные для двухфакторной аутентификации
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
       */
      public Builder setData2Fa(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa value) {
        copyOnWrite();
        instance.setData2Fa(value);
        return this;
      }
      /**
       * <pre>
       * Данные для двухфакторной аутентификации
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
       */
      public Builder setData2Fa(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa.Builder builderForValue) {
        copyOnWrite();
        instance.setData2Fa(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Данные для двухфакторной аутентификации
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
       */
      public Builder mergeData2Fa(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa value) {
        copyOnWrite();
        instance.mergeData2Fa(value);
        return this;
      }
      /**
       * <pre>
       * Данные для двухфакторной аутентификации
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.Data2fa data2fa = 3;</code>
       */
      public Builder clearData2Fa() {
        copyOnWrite();
        instance.clearData2Fa();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.Error.class,
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.class,
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa.class,
            };
            java.lang.String info =
                "\u0000\u0003\u0001\u0000\u0001\u0003\u0003\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                "\u0000\u0003<\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationLoginByPasswordResponse)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse DEFAULT_INSTANCE;
    static {
      PostAuthorizationLoginByPasswordResponse defaultInstance = new PostAuthorizationLoginByPasswordResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostAuthorizationLoginByPasswordResponse.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationLoginByPasswordResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostAuthorizationLoginByPasswordResponse> PARSER;

    public static com.google.protobuf.Parser<PostAuthorizationLoginByPasswordResponse> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostAuthorizationCheckCodeRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The sessionId.
     */
    java.lang.String getSessionId();
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for sessionId.
     */
    com.google.protobuf.ByteString
        getSessionIdBytes();

    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The actionId.
     */
    java.lang.String getActionId();
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for actionId.
     */
    com.google.protobuf.ByteString
        getActionIdBytes();

    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    java.lang.String getCodeId();
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    com.google.protobuf.ByteString
        getCodeIdBytes();

    /**
     * <pre>
     * Код, введенный пользователем
     * </pre>
     *
     * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The code.
     */
    java.lang.String getCode();
    /**
     * <pre>
     * Код, введенный пользователем
     * </pre>
     *
     * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for code.
     */
    com.google.protobuf.ByteString
        getCodeBytes();
  }
  /**
   * <pre>
   * Запрос проверки кода двухфакторной авторизации и активация сессии для B2B
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationCheckCodeRequest}
   */
  public  static final class PostAuthorizationCheckCodeRequest extends
      com.google.protobuf.GeneratedMessageLite<
          PostAuthorizationCheckCodeRequest, PostAuthorizationCheckCodeRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeRequest)
      PostAuthorizationCheckCodeRequestOrBuilder {
    private PostAuthorizationCheckCodeRequest() {
      sessionId_ = "";
      actionId_ = "";
      codeId_ = "";
      code_ = "";
    }
    public static final int SESSION_ID_FIELD_NUMBER = 1;
    private java.lang.String sessionId_;
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The sessionId.
     */
    @java.lang.Override
    public java.lang.String getSessionId() {
      return sessionId_;
    }
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for sessionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSessionIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(sessionId_);
    }
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The sessionId to set.
     */
    private void setSessionId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      sessionId_ = value;
    }
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearSessionId() {

      sessionId_ = getDefaultInstance().getSessionId();
    }
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for sessionId to set.
     */
    private void setSessionIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      sessionId_ = value.toStringUtf8();

    }

    public static final int ACTION_ID_FIELD_NUMBER = 2;
    private java.lang.String actionId_;
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The actionId.
     */
    @java.lang.Override
    public java.lang.String getActionId() {
      return actionId_;
    }
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for actionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getActionIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(actionId_);
    }
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The actionId to set.
     */
    private void setActionId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      actionId_ = value;
    }
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearActionId() {

      actionId_ = getDefaultInstance().getActionId();
    }
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for actionId to set.
     */
    private void setActionIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      actionId_ = value.toStringUtf8();

    }

    public static final int CODE_ID_FIELD_NUMBER = 3;
    private java.lang.String codeId_;
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    @java.lang.Override
    public java.lang.String getCodeId() {
      return codeId_;
    }
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(codeId_);
    }
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The codeId to set.
     */
    private void setCodeId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      codeId_ = value;
    }
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearCodeId() {

      codeId_ = getDefaultInstance().getCodeId();
    }
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for codeId to set.
     */
    private void setCodeIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      codeId_ = value.toStringUtf8();

    }

    public static final int CODE_FIELD_NUMBER = 4;
    private java.lang.String code_;
    /**
     * <pre>
     * Код, введенный пользователем
     * </pre>
     *
     * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The code.
     */
    @java.lang.Override
    public java.lang.String getCode() {
      return code_;
    }
    /**
     * <pre>
     * Код, введенный пользователем
     * </pre>
     *
     * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for code.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(code_);
    }
    /**
     * <pre>
     * Код, введенный пользователем
     * </pre>
     *
     * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The code to set.
     */
    private void setCode(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      code_ = value;
    }
    /**
     * <pre>
     * Код, введенный пользователем
     * </pre>
     *
     * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearCode() {

      code_ = getDefaultInstance().getCode();
    }
    /**
     * <pre>
     * Код, введенный пользователем
     * </pre>
     *
     * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for code to set.
     */
    private void setCodeBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      code_ = value.toStringUtf8();

    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос проверки кода двухфакторной авторизации и активация сессии для B2B
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationCheckCodeRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeRequest)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequestOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The sessionId.
       */
      @java.lang.Override
      public java.lang.String getSessionId() {
        return instance.getSessionId();
      }
      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for sessionId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSessionIdBytes() {
        return instance.getSessionIdBytes();
      }
      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The sessionId to set.
       * @return This builder for chaining.
       */
      public Builder setSessionId(
          java.lang.String value) {
        copyOnWrite();
        instance.setSessionId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearSessionId() {
        copyOnWrite();
        instance.clearSessionId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for sessionId to set.
       * @return This builder for chaining.
       */
      public Builder setSessionIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setSessionIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The actionId.
       */
      @java.lang.Override
      public java.lang.String getActionId() {
        return instance.getActionId();
      }
      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for actionId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getActionIdBytes() {
        return instance.getActionIdBytes();
      }
      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The actionId to set.
       * @return This builder for chaining.
       */
      public Builder setActionId(
          java.lang.String value) {
        copyOnWrite();
        instance.setActionId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearActionId() {
        copyOnWrite();
        instance.clearActionId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for actionId to set.
       * @return This builder for chaining.
       */
      public Builder setActionIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setActionIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The codeId.
       */
      @java.lang.Override
      public java.lang.String getCodeId() {
        return instance.getCodeId();
      }
      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for codeId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeIdBytes() {
        return instance.getCodeIdBytes();
      }
      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeId(
          java.lang.String value) {
        copyOnWrite();
        instance.setCodeId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCodeId() {
        copyOnWrite();
        instance.clearCodeId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCodeIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Код, введенный пользователем
       * </pre>
       *
       * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The code.
       */
      @java.lang.Override
      public java.lang.String getCode() {
        return instance.getCode();
      }
      /**
       * <pre>
       * Код, введенный пользователем
       * </pre>
       *
       * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for code.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeBytes() {
        return instance.getCodeBytes();
      }
      /**
       * <pre>
       * Код, введенный пользователем
       * </pre>
       *
       * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(
          java.lang.String value) {
        copyOnWrite();
        instance.setCode(value);
        return this;
      }
      /**
       * <pre>
       * Код, введенный пользователем
       * </pre>
       *
       * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        copyOnWrite();
        instance.clearCode();
        return this;
      }
      /**
       * <pre>
       * Код, введенный пользователем
       * </pre>
       *
       * <code>string code = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for code to set.
       * @return This builder for chaining.
       */
      public Builder setCodeBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCodeBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeRequest)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "sessionId_",
              "actionId_",
              "codeId_",
              "code_",
            };
            java.lang.String info =
                "\u0000\u0004\u0000\u0000\u0001\u0004\u0004\u0000\u0000\u0000\u0001\u0208\u0002\u0208" +
                "\u0003\u0208\u0004\u0208";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeRequest)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest DEFAULT_INSTANCE;
    static {
      PostAuthorizationCheckCodeRequest defaultInstance = new PostAuthorizationCheckCodeRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostAuthorizationCheckCodeRequest.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostAuthorizationCheckCodeRequest> PARSER;

    public static com.google.protobuf.Parser<PostAuthorizationCheckCodeRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostAuthorizationCheckCodeResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
     * @return Whether the error field is set.
     */
    boolean hasError();
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
     * @return The error.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error getError();

    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     * @return The data.
     */
    ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getData();

    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос проверки кода двухфакторной авторизации и активация сессии для B2B
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse}
   */
  public  static final class PostAuthorizationCheckCodeResponse extends
      com.google.protobuf.GeneratedMessageLite<
          PostAuthorizationCheckCodeResponse, PostAuthorizationCheckCodeResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse)
      PostAuthorizationCheckCodeResponseOrBuilder {
    private PostAuthorizationCheckCodeResponse() {
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
       * @return Whether the sso field is set.
       */
      boolean hasSso();
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
       * @return The sso.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso();

      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
       * @return The key.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getKey();

      /**
       * <pre>
       * Ошибка кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
       * @return Whether the otpCode field is set.
       */
      boolean hasOtpCode();
      /**
       * <pre>
       * Ошибка кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
       * @return The otpCode.
       */
      ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getOtpCode();

      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка запроса авторизации по паролю пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error)
        ErrorOrBuilder {
      private Error() {
      }
      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        SSO(1),
        KEY(2),
        OTP_CODE(3),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 1: return SSO;
            case 2: return KEY;
            case 3: return OTP_CODE;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int SSO_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
       */
      @java.lang.Override
      public boolean hasSso() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
       */
      private void setSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
       */
      private void mergeSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
       */
      private void clearSso() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int KEY_FIELD_NUMBER = 2;
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
       */
      @java.lang.Override
      public boolean hasKey() {
        return reasonCase_ == 2;
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getKey() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
       */
      private void setKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
       */
      private void mergeKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
        value.getClass();
  if (reasonCase_ == 2 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
       */
      private void clearKey() {
        if (reasonCase_ == 2) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int OTP_CODE_FIELD_NUMBER = 3;
      /**
       * <pre>
       * Ошибка кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
       */
      @java.lang.Override
      public boolean hasOtpCode() {
        return reasonCase_ == 3;
      }
      /**
       * <pre>
       * Ошибка кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getOtpCode() {
        if (reasonCase_ == 3) {
           return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error) reason_;
        }
        return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
       */
      private void setOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибка кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
       */
      private void mergeOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
        value.getClass();
  if (reasonCase_ == 3 &&
            reason_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.getDefaultInstance()) {
          reason_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибка кода подтверждения
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
       */
      private void clearOtpCode() {
        if (reasonCase_ == 3) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка запроса авторизации по паролю пользователя
       * </pre>
       *
       * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error)
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.ErrorOrBuilder {
        // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
         */
        @java.lang.Override
        public boolean hasSso() {
          return instance.hasSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError getSso() {
          return instance.getSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
         */
        public Builder setSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
          copyOnWrite();
          instance.setSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
         */
        public Builder setSso(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.Builder builderForValue) {
          copyOnWrite();
          instance.setSso(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
         */
        public Builder mergeSso(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError value) {
          copyOnWrite();
          instance.mergeSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.SsoError sso = 1;</code>
         */
        public Builder clearSso() {
          copyOnWrite();
          instance.clearSso();
          return this;
        }

        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
         */
        @java.lang.Override
        public boolean hasKey() {
          return instance.hasKey();
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError getKey() {
          return instance.getKey();
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
         */
        public Builder setKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
          copyOnWrite();
          instance.setKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
         */
        public Builder setKey(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.Builder builderForValue) {
          copyOnWrite();
          instance.setKey(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
         */
        public Builder mergeKey(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError value) {
          copyOnWrite();
          instance.mergeKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.KeyError key = 2;</code>
         */
        public Builder clearKey() {
          copyOnWrite();
          instance.clearKey();
          return this;
        }

        /**
         * <pre>
         * Ошибка кода подтверждения
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
         */
        @java.lang.Override
        public boolean hasOtpCode() {
          return instance.hasOtpCode();
        }
        /**
         * <pre>
         * Ошибка кода подтверждения
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error getOtpCode() {
          return instance.getOtpCode();
        }
        /**
         * <pre>
         * Ошибка кода подтверждения
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
         */
        public Builder setOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
          copyOnWrite();
          instance.setOtpCode(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка кода подтверждения
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
         */
        public Builder setOtpCode(
            ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.Builder builderForValue) {
          copyOnWrite();
          instance.setOtpCode(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка кода подтверждения
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
         */
        public Builder mergeOtpCode(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error value) {
          copyOnWrite();
          instance.mergeOtpCode(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка кода подтверждения
         * </pre>
         *
         * <code>.keyapis.identity_b2b.v1.OtpCode.Error otp_code = 3;</code>
         */
        public Builder clearOtpCode() {
          copyOnWrite();
          instance.clearOtpCode();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.SsoError.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.KeyError.class,
                ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.OtpCode.Error.class,
              };
              java.lang.String info =
                  "\u0000\u0003\u0001\u0000\u0001\u0003\u0003\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                  "\u0000\u0003<\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error)
      private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

      public static com.google.protobuf.Parser<Error> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      ERROR(1),
      DATA(2),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 1: return ERROR;
          case 2: return DATA;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int ERROR_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public boolean hasError() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error getError() {
      if (typeCase_ == 1) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error) type_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
     */
    private void setError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
     */
    private void mergeError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error.getDefaultInstance()) {
        type_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
     */
    private void clearError() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static final int DATA_FIELD_NUMBER = 2;
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    @java.lang.Override
    public boolean hasData() {
      return typeCase_ == 2;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getData() {
      if (typeCase_ == 2) {
         return (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken) type_;
      }
      return ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.getDefaultInstance();
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    private void setData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
      value.getClass();
  type_ = value;
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    private void mergeData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
      value.getClass();
  if (typeCase_ == 2 &&
          type_ != ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.getDefaultInstance()) {
        type_ = ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.newBuilder((ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
     */
    private void clearData() {
      if (typeCase_ == 2) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос проверки кода двухфакторной авторизации и активация сессии для B2B
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponseOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public boolean hasError() {
        return instance.hasError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error getError() {
        return instance.getError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
       */
      public Builder setError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error value) {
        copyOnWrite();
        instance.setError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
       */
      public Builder setError(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error.Builder builderForValue) {
        copyOnWrite();
        instance.setError(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
       */
      public Builder mergeError(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error value) {
        copyOnWrite();
        instance.mergeError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse.Error error = 1;</code>
       */
      public Builder clearError() {
        copyOnWrite();
        instance.clearError();
        return this;
      }

      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      @java.lang.Override
      public boolean hasData() {
        return instance.hasData();
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken getData() {
        return instance.getData();
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder setData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
        copyOnWrite();
        instance.setData(value);
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder setData(
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.Builder builderForValue) {
        copyOnWrite();
        instance.setData(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder mergeData(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken value) {
        copyOnWrite();
        instance.mergeData(value);
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity_b2b.v1.UserToken data = 2;</code>
       */
      public Builder clearData() {
        copyOnWrite();
        instance.clearData();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.Error.class,
              ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.UserToken.class,
            };
            java.lang.String info =
                "\u0000\u0002\u0001\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                "\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.PostAuthorizationCheckCodeResponse)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse DEFAULT_INSTANCE;
    static {
      PostAuthorizationCheckCodeResponse defaultInstance = new PostAuthorizationCheckCodeResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostAuthorizationCheckCodeResponse.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.PostAuthorizationCheckCodeResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostAuthorizationCheckCodeResponse> PARSER;

    public static com.google.protobuf.Parser<PostAuthorizationCheckCodeResponse> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface Data2faOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity_b2b.v1.Data2fa)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The sessionId.
     */
    java.lang.String getSessionId();
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for sessionId.
     */
    com.google.protobuf.ByteString
        getSessionIdBytes();

    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The actionId.
     */
    java.lang.String getActionId();
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for actionId.
     */
    com.google.protobuf.ByteString
        getActionIdBytes();

    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    java.lang.String getCodeId();
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    com.google.protobuf.ByteString
        getCodeIdBytes();

    /**
     * <pre>
     * Время в секундах, оставшееся до возможности отправки следующего кода
     * </pre>
     *
     * <code>int32 timeout = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The timeout.
     */
    int getTimeout();
  }
  /**
   * <pre>
   * Данные для двухфакторной аутентификации
   * </pre>
   *
   * Protobuf type {@code keyapis.identity_b2b.v1.Data2fa}
   */
  public  static final class Data2fa extends
      com.google.protobuf.GeneratedMessageLite<
          Data2fa, Data2fa.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity_b2b.v1.Data2fa)
      Data2faOrBuilder {
    private Data2fa() {
      sessionId_ = "";
      actionId_ = "";
      codeId_ = "";
    }
    public static final int SESSION_ID_FIELD_NUMBER = 1;
    private java.lang.String sessionId_;
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The sessionId.
     */
    @java.lang.Override
    public java.lang.String getSessionId() {
      return sessionId_;
    }
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for sessionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSessionIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(sessionId_);
    }
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The sessionId to set.
     */
    private void setSessionId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      sessionId_ = value;
    }
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearSessionId() {

      sessionId_ = getDefaultInstance().getSessionId();
    }
    /**
     * <pre>
     * Идентификатор сессии двухфакторной аутентификации
     * </pre>
     *
     * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for sessionId to set.
     */
    private void setSessionIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      sessionId_ = value.toStringUtf8();

    }

    public static final int ACTION_ID_FIELD_NUMBER = 2;
    private java.lang.String actionId_;
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The actionId.
     */
    @java.lang.Override
    public java.lang.String getActionId() {
      return actionId_;
    }
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for actionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getActionIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(actionId_);
    }
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The actionId to set.
     */
    private void setActionId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      actionId_ = value;
    }
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearActionId() {

      actionId_ = getDefaultInstance().getActionId();
    }
    /**
     * <pre>
     * Идентификатор процесса двухфакторной аутентификации
     * </pre>
     *
     * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for actionId to set.
     */
    private void setActionIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      actionId_ = value.toStringUtf8();

    }

    public static final int CODE_ID_FIELD_NUMBER = 3;
    private java.lang.String codeId_;
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    @java.lang.Override
    public java.lang.String getCodeId() {
      return codeId_;
    }
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(codeId_);
    }
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The codeId to set.
     */
    private void setCodeId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      codeId_ = value;
    }
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearCodeId() {

      codeId_ = getDefaultInstance().getCodeId();
    }
    /**
     * <pre>
     * Идентификатор кода двухфакторной авторизации
     * </pre>
     *
     * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for codeId to set.
     */
    private void setCodeIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      codeId_ = value.toStringUtf8();

    }

    public static final int TIMEOUT_FIELD_NUMBER = 4;
    private int timeout_;
    /**
     * <pre>
     * Время в секундах, оставшееся до возможности отправки следующего кода
     * </pre>
     *
     * <code>int32 timeout = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The timeout.
     */
    @java.lang.Override
    public int getTimeout() {
      return timeout_;
    }
    /**
     * <pre>
     * Время в секундах, оставшееся до возможности отправки следующего кода
     * </pre>
     *
     * <code>int32 timeout = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The timeout to set.
     */
    private void setTimeout(int value) {
      
      timeout_ = value;
    }
    /**
     * <pre>
     * Время в секундах, оставшееся до возможности отправки следующего кода
     * </pre>
     *
     * <code>int32 timeout = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearTimeout() {

      timeout_ = 0;
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Данные для двухфакторной аутентификации
     * </pre>
     *
     * Protobuf type {@code keyapis.identity_b2b.v1.Data2fa}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity_b2b.v1.Data2fa)
        ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2faOrBuilder {
      // Construct using ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The sessionId.
       */
      @java.lang.Override
      public java.lang.String getSessionId() {
        return instance.getSessionId();
      }
      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for sessionId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSessionIdBytes() {
        return instance.getSessionIdBytes();
      }
      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The sessionId to set.
       * @return This builder for chaining.
       */
      public Builder setSessionId(
          java.lang.String value) {
        copyOnWrite();
        instance.setSessionId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearSessionId() {
        copyOnWrite();
        instance.clearSessionId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор сессии двухфакторной аутентификации
       * </pre>
       *
       * <code>string session_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for sessionId to set.
       * @return This builder for chaining.
       */
      public Builder setSessionIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setSessionIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The actionId.
       */
      @java.lang.Override
      public java.lang.String getActionId() {
        return instance.getActionId();
      }
      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for actionId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getActionIdBytes() {
        return instance.getActionIdBytes();
      }
      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The actionId to set.
       * @return This builder for chaining.
       */
      public Builder setActionId(
          java.lang.String value) {
        copyOnWrite();
        instance.setActionId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearActionId() {
        copyOnWrite();
        instance.clearActionId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор процесса двухфакторной аутентификации
       * </pre>
       *
       * <code>string action_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for actionId to set.
       * @return This builder for chaining.
       */
      public Builder setActionIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setActionIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The codeId.
       */
      @java.lang.Override
      public java.lang.String getCodeId() {
        return instance.getCodeId();
      }
      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for codeId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeIdBytes() {
        return instance.getCodeIdBytes();
      }
      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeId(
          java.lang.String value) {
        copyOnWrite();
        instance.setCodeId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCodeId() {
        copyOnWrite();
        instance.clearCodeId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор кода двухфакторной авторизации
       * </pre>
       *
       * <code>string code_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCodeIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Время в секундах, оставшееся до возможности отправки следующего кода
       * </pre>
       *
       * <code>int32 timeout = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The timeout.
       */
      @java.lang.Override
      public int getTimeout() {
        return instance.getTimeout();
      }
      /**
       * <pre>
       * Время в секундах, оставшееся до возможности отправки следующего кода
       * </pre>
       *
       * <code>int32 timeout = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The timeout to set.
       * @return This builder for chaining.
       */
      public Builder setTimeout(int value) {
        copyOnWrite();
        instance.setTimeout(value);
        return this;
      }
      /**
       * <pre>
       * Время в секундах, оставшееся до возможности отправки следующего кода
       * </pre>
       *
       * <code>int32 timeout = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearTimeout() {
        copyOnWrite();
        instance.clearTimeout();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity_b2b.v1.Data2fa)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "sessionId_",
              "actionId_",
              "codeId_",
              "timeout_",
            };
            java.lang.String info =
                "\u0000\u0004\u0000\u0000\u0001\u0004\u0004\u0000\u0000\u0000\u0001\u0208\u0002\u0208" +
                "\u0003\u0208\u0004\u0004";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity_b2b.v1.Data2fa)
    private static final ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa DEFAULT_INSTANCE;
    static {
      Data2fa defaultInstance = new Data2fa();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Data2fa.class, defaultInstance);
    }

    public static ru.keyapis.identity_b2b.v1.KeyapisIdentityB2bV1Proto.Data2fa getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Data2fa> PARSER;

    public static com.google.protobuf.Parser<Data2fa> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
