syntax = "proto3";

package a;

enum One2 {
  reserved 3 to 5, 100 to 200;
  reserved 300, 301, 1000 to max;
  reserved "foo", "bar";
  reserved "baz";
  ONE2_UNSPECIFIED = 0;
  ONE2_ONE = 1;
  ONE2_TWO = 2;
}

enum Two2 {
  reserved 3 to 5, 100 to 200;
  reserved 300, 301, 1000 to max;
  reserved "foo", "bar";
  reserved "baz";
  TWO2_UNSPECIFIED = 0;
  TWO2_ONE = 1;
  TWO2_TWO = 2;
}

message Three2 {
  message Four2 {
    enum Five2 {
      reserved 3 to 5, 100 to 200;
      reserved 300, 301, 1000 to max;
      reserved "foo", "bar";
      reserved "baz";
      FIVE_UNSPECIFIED = 0;
      FIVE_ONE = 1;
      FIVE_TWO = 2;
    }
    enum Six2 {
      reserved 3 to 5, 100 to 200;
      reserved 300, 301, 1000 to max;
      reserved "foo", "bar";
      reserved "baz";
      SIX_UNSPECIFIED = 0;
      SIX_ONE = 1;
      SIX_TWO = 2;
    }
  }
  enum Seven2 {
    reserved 3 to 5, 100 to 200;
    reserved 300, 301, 1000 to max;
    reserved "foo", "bar";
    reserved "baz";
    SEVEN_UNSPECIFIED = 0;
    SEVEN_ONE = 1;
    SEVEN_TWO = 2;
  }
  enum Eight2 {
    reserved 3 to 5, 100 to 200;
    reserved 300, 301, 1000 to max;
    reserved "foo", "bar";
    reserved "baz";
    EIGHT_UNSPECIFIED = 0;
    EIGHT_ONE = 1;
    EIGHT_TWO = 2;
  }
}

enum Nine2 {
  reserved 3 to 5, 100 to 200;
  reserved 300, 301, 1000 to max;
  reserved "foo", "bar";
  reserved "baz";
  NINE2_UNSPECIFIED = 0;
  NINE2_ONE = 1;
  NINE2_TWO = 2;
}
