|  | // Protocol Buffers - Google's data interchange format | 
|  | // Copyright 2023 Google LLC.  All rights reserved. | 
|  | // | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file or at | 
|  | // https://developers.google.com/open-source/licenses/bsd | 
|  |  | 
|  | syntax = "proto2"; | 
|  |  | 
|  | package upb_test; | 
|  |  | 
|  | message MapTest { | 
|  | map<string, double> map_string_double = 1; | 
|  | } | 
|  |  | 
|  | message MessageName { | 
|  | optional int32 field1 = 1; | 
|  | optional int32 field2 = 2; | 
|  | } | 
|  |  | 
|  | message HelloRequest { | 
|  | optional uint32 id = 1; | 
|  | optional uint32 random_name_a0 = 2; | 
|  | optional uint32 random_name_a1 = 3; | 
|  | optional uint32 random_name_a2 = 4; | 
|  | optional uint32 random_name_a3 = 5; | 
|  | optional uint32 random_name_a4 = 6; | 
|  | optional uint32 random_name_a5 = 7; | 
|  | optional uint32 random_name_a6 = 8; | 
|  | optional uint32 random_name_a7 = 9; | 
|  | optional uint32 random_name_a8 = 10; | 
|  | optional uint32 random_name_a9 = 11; | 
|  | optional uint32 random_name_b0 = 12; | 
|  | optional uint32 random_name_b1 = 13; | 
|  | optional uint32 random_name_b2 = 14; | 
|  | optional uint32 random_name_b3 = 15; | 
|  | optional uint32 random_name_b4 = 16; | 
|  | optional uint32 random_name_b5 = 17; | 
|  | optional uint32 random_name_b6 = 18; | 
|  | optional uint32 random_name_b7 = 19; | 
|  | optional uint32 random_name_b8 = 20; | 
|  | optional uint32 random_name_b9 = 21; | 
|  | optional uint32 random_name_c0 = 22; | 
|  | optional uint32 random_name_c1 = 23; | 
|  | optional uint32 random_name_c2 = 24; | 
|  | optional uint32 random_name_c3 = 25; | 
|  | optional uint32 random_name_c4 = 26; | 
|  | optional uint32 random_name_c5 = 27; | 
|  | optional uint32 random_name_c6 = 28; | 
|  | optional uint32 random_name_c7 = 29; | 
|  | optional uint32 random_name_c8 = 30; | 
|  | optional uint32 random_name_c9 = 31; | 
|  | optional string version = 32; | 
|  | } | 
|  |  | 
|  | message EmptyMessageWithExtensions { | 
|  | // Reserved for unknown fields/extensions test. | 
|  | reserved 1000 to max; | 
|  | } | 
|  |  | 
|  | message ModelWithExtensions { | 
|  | optional int32 random_int32 = 3; | 
|  | optional string random_name = 4; | 
|  | repeated int32 repeated_int32 = 5; | 
|  | // Reserved for unknown fields/extensions test. | 
|  | extensions 1000 to max; | 
|  | } | 
|  |  | 
|  | message ModelExtension1 { | 
|  | extend ModelWithExtensions { | 
|  | optional ModelExtension1 model_ext = 1547; | 
|  | } | 
|  | optional string str = 25; | 
|  | } | 
|  |  | 
|  | message ModelExtension2 { | 
|  | extend ModelWithExtensions { | 
|  | optional ModelExtension2 model_ext = 4135; | 
|  | optional ModelExtension2 model_ext_2 = 4136; | 
|  | optional ModelExtension2 model_ext_3 = 4137; | 
|  | optional ModelExtension2 model_ext_4 = 4138; | 
|  | optional ModelExtension2 model_ext_5 = 4139; | 
|  | } | 
|  | optional int32 i = 9; | 
|  | } | 
|  |  | 
|  | message ModelWithSubMessages { | 
|  | optional int32 id = 4; | 
|  | optional ModelWithExtensions optional_child = 5; | 
|  | repeated ModelWithExtensions items = 6; | 
|  | } | 
|  |  | 
|  | message ModelWithMaps { | 
|  | optional int32 id = 1; | 
|  | map<string, bytes> map_sb = 2; | 
|  | map<string, string> map_ss = 3; | 
|  | map<int32, int32> map_ii = 4; | 
|  | map<int32, ModelWithExtensions> map_im = 5; | 
|  | } | 
|  |  | 
|  | message ExtremeDefaults { | 
|  | optional int64 int64_min = 1 [default = -9223372036854775808]; | 
|  | } |