syntax = "proto3";

package google.protobuf.benchmarks;

import "google/protobuf/wrappers.proto";

// a message that has a large number of wrapper fields
// obfuscated version of an internal message
message ManyWrapperFieldsMessage {
  google.protobuf.DoubleValue double_field_95 = 95;
  google.protobuf.DoubleValue double_field_1 = 1;
  google.protobuf.DoubleValue double_field_79 = 79;
  google.protobuf.Int64Value int64_field_2 = 2;
  google.protobuf.DoubleValue double_field_96 = 96;
  google.protobuf.Int64Value int64_field_3 = 3;
  google.protobuf.Int64Value int64_field_4 = 4;
  google.protobuf.DoubleValue double_field_97 = 97;
  google.protobuf.DoubleValue double_field_65 = 65;
  google.protobuf.DoubleValue double_field_66 = 66;
  google.protobuf.DoubleValue double_field_7 = 7;
  google.protobuf.DoubleValue double_field_62 = 62;
  google.protobuf.DoubleValue double_field_118 = 118;
  google.protobuf.DoubleValue double_field_119 = 119;
  google.protobuf.DoubleValue double_field_67 = 67;
  google.protobuf.DoubleValue double_field_120 = 120;
  google.protobuf.DoubleValue double_field_121 = 121;
  google.protobuf.DoubleValue double_field_122 = 122;
  google.protobuf.DoubleValue double_field_123 = 123;
  google.protobuf.DoubleValue double_field_124 = 124;
  google.protobuf.DoubleValue double_field_8 = 8;
  google.protobuf.DoubleValue double_field_9 = 9;
  google.protobuf.DoubleValue double_field_98 = 98;
  google.protobuf.DoubleValue double_field_10 = 10;
  google.protobuf.DoubleValue double_field_11 = 11;
  google.protobuf.DoubleValue double_field_99 = 99;
  google.protobuf.DoubleValue double_field_84 = 84;
  google.protobuf.DoubleValue double_field_14 = 14;
  google.protobuf.DoubleValue double_field_77 = 77;
  google.protobuf.DoubleValue double_field_15 = 15;
  google.protobuf.Int64Value int64_field_19 = 19;
  google.protobuf.Int64Value int64_field_115 = 115;
  google.protobuf.DoubleValue double_field_116 = 116;
  google.protobuf.Int64Value int64_field_117 = 117;
  google.protobuf.DoubleValue double_field_20 = 20;
  google.protobuf.DoubleValue double_field_21 = 21;
  google.protobuf.StringValue string_field_73 = 73;
  google.protobuf.StringValue string_field_74 = 74;
  google.protobuf.DoubleValue double_field_22 = 22;
  google.protobuf.DoubleValue double_field_69 = 69;
  google.protobuf.DoubleValue double_field_70 = 70;
  google.protobuf.DoubleValue double_field_71 = 71;
  google.protobuf.DoubleValue double_field_72 = 72;
  google.protobuf.DoubleValue double_field_25 = 25;
  google.protobuf.Int64Value int64_field_26 = 26;
  google.protobuf.DoubleValue double_field_68 = 68;
  google.protobuf.DoubleValue double_field_28 = 28;
  google.protobuf.DoubleValue double_field_106 = 106;
  google.protobuf.DoubleValue double_field_29 = 29;
  google.protobuf.DoubleValue double_field_30 = 30;
  google.protobuf.DoubleValue double_field_101 = 101;
  google.protobuf.DoubleValue double_field_102 = 102;
  google.protobuf.DoubleValue double_field_103 = 103;
  google.protobuf.DoubleValue double_field_104 = 104;
  google.protobuf.DoubleValue double_field_105 = 105;
  google.protobuf.DoubleValue double_field_31 = 31;
  google.protobuf.Int64Value int64_field_32 = 32;
  google.protobuf.DoubleValue double_field_75 = 75;
  google.protobuf.DoubleValue double_field_129 = 129;
  int32 enum_field_80 = 80;
  int32 enum_field_81 = 81;
  google.protobuf.Int64Value int64_field_82 = 82;
  int32 enum_field_83 = 83;
  google.protobuf.Int64Value int64_field_85 = 85;
  google.protobuf.Int64Value int64_field_86 = 86;
  google.protobuf.Int64Value int64_field_87 = 87;
  google.protobuf.Int64Value int64_field_125 = 125;
  google.protobuf.Int64Value int64_field_37 = 37;
  google.protobuf.DoubleValue double_field_38 = 38;
  google.protobuf.Int64Value interactions = 39;
  repeated int32 repeated_int_field_100 = 100;
  google.protobuf.DoubleValue double_field_40 = 40;
  google.protobuf.Int64Value int64_field_41 = 41;
  google.protobuf.Int64Value int64_field_126 = 126;
  google.protobuf.Int64Value int64_field_127 = 127;
  google.protobuf.DoubleValue double_field_128 = 128;
  google.protobuf.DoubleValue double_field_109 = 109;
  google.protobuf.Int64Value int64_field_110 = 110;
  google.protobuf.DoubleValue double_field_111 = 111;
  google.protobuf.Int64Value int64_field_112 = 112;
  google.protobuf.DoubleValue double_field_113 = 113;
  google.protobuf.Int64Value int64_field_114 = 114;
  google.protobuf.DoubleValue double_field_42 = 42;
  google.protobuf.Int64Value int64_field_43 = 43;
  google.protobuf.Int64Value int64_field_44 = 44;
  google.protobuf.DoubleValue double_field_45 = 45;
  google.protobuf.DoubleValue double_field_46 = 46;
  google.protobuf.DoubleValue double_field_78 = 78;
  google.protobuf.DoubleValue double_field_88 = 88;
  google.protobuf.DoubleValue double_field_47 = 47;
  google.protobuf.DoubleValue double_field_89 = 89;
  google.protobuf.DoubleValue double_field_48 = 48;
  google.protobuf.DoubleValue double_field_49 = 49;
  google.protobuf.DoubleValue double_field_50 = 50;
  google.protobuf.DoubleValue double_field_90 = 90;
  google.protobuf.DoubleValue double_field_51 = 51;
  google.protobuf.DoubleValue double_field_91 = 91;
  google.protobuf.DoubleValue double_field_92 = 92;
  google.protobuf.Int64Value int64_field_107 = 107;
  google.protobuf.DoubleValue double_field_93 = 93;
  google.protobuf.DoubleValue double_field_108 = 108;
  google.protobuf.DoubleValue double_field_52 = 52;
  google.protobuf.DoubleValue double_field_53 = 53;
  google.protobuf.DoubleValue double_field_94 = 94;
  google.protobuf.DoubleValue double_field_54 = 54;
  google.protobuf.DoubleValue double_field_55 = 55;
  google.protobuf.DoubleValue double_field_56 = 56;
  google.protobuf.DoubleValue double_field_57 = 57;
  google.protobuf.DoubleValue double_field_58 = 58;
  google.protobuf.Int64Value int64_field_59 = 59;
  google.protobuf.Int64Value int64_field_60 = 60;
}

// same as ManyWrapperFieldsMessages, but with primitive fields
// for comparison.
message ManyPrimitiveFieldsMessage {
  double double_field_95 = 95;
  double double_field_1 = 1;
  double double_field_79 = 79;
  int64 int64_field_2 = 2;
  double double_field_96 = 96;
  int64 int64_field_3 = 3;
  int64 int64_field_4 = 4;
  double double_field_97 = 97;
  double double_field_65 = 65;
  double double_field_66 = 66;
  double double_field_7 = 7;
  double double_field_62 = 62;
  double double_field_118 = 118;
  double double_field_119 = 119;
  double double_field_67 = 67;
  double double_field_120 = 120;
  double double_field_121 = 121;
  double double_field_122 = 122;
  double double_field_123 = 123;
  double double_field_124 = 124;
  double double_field_8 = 8;
  double double_field_9 = 9;
  double double_field_98 = 98;
  double double_field_10 = 10;
  double double_field_11 = 11;
  double double_field_99 = 99;
  double double_field_84 = 84;
  double double_field_14 = 14;
  double double_field_77 = 77;
  double double_field_15 = 15;
  int64 int64_field_19 = 19;
  int64 int64_field_115 = 115;
  double double_field_116 = 116;
  int64 int64_field_117 = 117;
  double double_field_20 = 20;
  double double_field_21 = 21;
  string string_field_73 = 73;
  string string_field_74 = 74;
  double double_field_22 = 22;
  double double_field_69 = 69;
  double double_field_70 = 70;
  double double_field_71 = 71;
  double double_field_72 = 72;
  double double_field_25 = 25;
  int64 int64_field_26 = 26;
  double double_field_68 = 68;
  double double_field_28 = 28;
  double double_field_106 = 106;
  double double_field_29 = 29;
  double double_field_30 = 30;
  double double_field_101 = 101;
  double double_field_102 = 102;
  double double_field_103 = 103;
  double double_field_104 = 104;
  double double_field_105 = 105;
  double double_field_31 = 31;
  int64 int64_field_32 = 32;
  double double_field_75 = 75;
  double double_field_129 = 129;
  int32 enum_field_80 = 80;
  int32 enum_field_81 = 81;
  int64 int64_field_82 = 82;
  int32 enum_field_83 = 83;
  int64 int64_field_85 = 85;
  int64 int64_field_86 = 86;
  int64 int64_field_87 = 87;
  int64 int64_field_125 = 125;
  int64 int64_field_37 = 37;
  double double_field_38 = 38;
  int64 interactions = 39;
  repeated int32 repeated_int_field_100 = 100;
  double double_field_40 = 40;
  int64 int64_field_41 = 41;
  int64 int64_field_126 = 126;
  int64 int64_field_127 = 127;
  double double_field_128 = 128;
  double double_field_109 = 109;
  int64 int64_field_110 = 110;
  double double_field_111 = 111;
  int64 int64_field_112 = 112;
  double double_field_113 = 113;
  int64 int64_field_114 = 114;
  double double_field_42 = 42;
  int64 int64_field_43 = 43;
  int64 int64_field_44 = 44;
  double double_field_45 = 45;
  double double_field_46 = 46;
  double double_field_78 = 78;
  double double_field_88 = 88;
  double double_field_47 = 47;
  double double_field_89 = 89;
  double double_field_48 = 48;
  double double_field_49 = 49;
  double double_field_50 = 50;
  double double_field_90 = 90;
  double double_field_51 = 51;
  double double_field_91 = 91;
  double double_field_92 = 92;
  int64 int64_field_107 = 107;
  double double_field_93 = 93;
  double double_field_108 = 108;
  double double_field_52 = 52;
  double double_field_53 = 53;
  double double_field_94 = 94;
  double double_field_54 = 54;
  double double_field_55 = 55;
  double double_field_56 = 56;
  double double_field_57 = 57;
  double double_field_58 = 58;
  int64 int64_field_59 = 59;
  int64 int64_field_60 = 60;
}