| 
							
							
							
						 |  |  | @@ -1,9 +1,16 @@ | 
		
	
		
			
				|  |  |  |  | # Generated by the protocol buffer compiler.  DO NOT EDIT! | 
		
	
		
			
				|  |  |  |  | # sources: google/protobuf/any.proto, google/protobuf/api.proto, google/protobuf/descriptor.proto, google/protobuf/duration.proto, google/protobuf/empty.proto, google/protobuf/field_mask.proto, google/protobuf/source_context.proto, google/protobuf/struct.proto, google/protobuf/timestamp.proto, google/protobuf/type.proto, google/protobuf/wrappers.proto | 
		
	
		
			
				|  |  |  |  | # plugin: python-betterproto | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | # This file has been @generated | 
		
	
		
			
				|  |  |  |  | import warnings | 
		
	
		
			
				|  |  |  |  | from typing import TYPE_CHECKING | 
		
	
		
			
				|  |  |  |  | from typing import ( | 
		
	
		
			
				|  |  |  |  |     TYPE_CHECKING, | 
		
	
		
			
				|  |  |  |  |     Mapping, | 
		
	
		
			
				|  |  |  |  | ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | from typing_extensions import Self | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | from betterproto import hybridmethod | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | if TYPE_CHECKING: | 
		
	
	
		
			
				
					
					|  |  |  | @@ -14,15 +21,13 @@ else: | 
		
	
		
			
				|  |  |  |  | from typing import ( | 
		
	
		
			
				|  |  |  |  |     Dict, | 
		
	
		
			
				|  |  |  |  |     List, | 
		
	
		
			
				|  |  |  |  |     Mapping, | 
		
	
		
			
				|  |  |  |  |     Optional, | 
		
	
		
			
				|  |  |  |  | ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | from pydantic import root_validator | 
		
	
		
			
				|  |  |  |  | from typing_extensions import Self | 
		
	
		
			
				|  |  |  |  | from pydantic import model_validator | 
		
	
		
			
				|  |  |  |  | from pydantic.dataclasses import rebuild_dataclass | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | import betterproto | 
		
	
		
			
				|  |  |  |  | from betterproto.utils import hybridmethod | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class Syntax(betterproto.Enum): | 
		
	
	
		
			
				
					
					|  |  |  | @@ -37,6 +42,12 @@ class Syntax(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     EDITIONS = 2 | 
		
	
		
			
				|  |  |  |  |     """Syntax `editions`.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FieldKind(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """Basic field types.""" | 
		
	
	
		
			
				
					
					|  |  |  | @@ -98,6 +109,12 @@ class FieldKind(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     TYPE_SINT64 = 18 | 
		
	
		
			
				|  |  |  |  |     """Field type sint64.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FieldCardinality(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """Whether a field is optional, required, or repeated.""" | 
		
	
	
		
			
				
					
					|  |  |  | @@ -114,6 +131,12 @@ class FieldCardinality(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     CARDINALITY_REPEATED = 3 | 
		
	
		
			
				|  |  |  |  |     """For repeated fields.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class Edition(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """The full set of known editions.""" | 
		
	
	
		
			
				
					
					|  |  |  | @@ -155,6 +178,12 @@ class Edition(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |      support a new edition. | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class ExtensionRangeOptionsVerificationState(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """The verification state of the extension range.""" | 
		
	
	
		
			
				
					
					|  |  |  | @@ -164,6 +193,12 @@ class ExtensionRangeOptionsVerificationState(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     UNVERIFIED = 1 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FieldDescriptorProtoType(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     TYPE_DOUBLE = 1 | 
		
	
	
		
			
				
					
					|  |  |  | @@ -210,6 +245,12 @@ class FieldDescriptorProtoType(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     TYPE_SINT32 = 17 | 
		
	
		
			
				|  |  |  |  |     TYPE_SINT64 = 18 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FieldDescriptorProtoLabel(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     LABEL_OPTIONAL = 1 | 
		
	
	
		
			
				
					
					|  |  |  | @@ -223,6 +264,12 @@ class FieldDescriptorProtoLabel(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |      can be used to get this behavior. | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FileOptionsOptimizeMode(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """Generated classes can be optimized for speed or code size.""" | 
		
	
	
		
			
				
					
					|  |  |  | @@ -233,6 +280,12 @@ class FileOptionsOptimizeMode(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     LITE_RUNTIME = 3 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FieldOptionsCType(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     STRING = 0 | 
		
	
	
		
			
				
					
					|  |  |  | @@ -250,6 +303,12 @@ class FieldOptionsCType(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     STRING_PIECE = 2 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FieldOptionsJsType(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     JS_NORMAL = 0 | 
		
	
	
		
			
				
					
					|  |  |  | @@ -261,6 +320,12 @@ class FieldOptionsJsType(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     JS_NUMBER = 2 | 
		
	
		
			
				|  |  |  |  |     """Use JavaScript numbers.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FieldOptionsOptionRetention(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
	
		
			
				
					
					|  |  |  | @@ -273,6 +338,12 @@ class FieldOptionsOptionRetention(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     RETENTION_RUNTIME = 1 | 
		
	
		
			
				|  |  |  |  |     RETENTION_SOURCE = 2 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FieldOptionsOptionTargetType(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
	
		
			
				
					
					|  |  |  | @@ -293,6 +364,12 @@ class FieldOptionsOptionTargetType(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     TARGET_TYPE_SERVICE = 8 | 
		
	
		
			
				|  |  |  |  |     TARGET_TYPE_METHOD = 9 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class MethodOptionsIdempotencyLevel(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
	
		
			
				
					
					|  |  |  | @@ -305,6 +382,12 @@ class MethodOptionsIdempotencyLevel(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     NO_SIDE_EFFECTS = 1 | 
		
	
		
			
				|  |  |  |  |     IDEMPOTENT = 2 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FeatureSetFieldPresence(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     FIELD_PRESENCE_UNKNOWN = 0 | 
		
	
	
		
			
				
					
					|  |  |  | @@ -312,36 +395,72 @@ class FeatureSetFieldPresence(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     IMPLICIT = 2 | 
		
	
		
			
				|  |  |  |  |     LEGACY_REQUIRED = 3 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FeatureSetEnumType(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     ENUM_TYPE_UNKNOWN = 0 | 
		
	
		
			
				|  |  |  |  |     OPEN = 1 | 
		
	
		
			
				|  |  |  |  |     CLOSED = 2 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FeatureSetRepeatedFieldEncoding(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     REPEATED_FIELD_ENCODING_UNKNOWN = 0 | 
		
	
		
			
				|  |  |  |  |     PACKED = 1 | 
		
	
		
			
				|  |  |  |  |     EXPANDED = 2 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FeatureSetUtf8Validation(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     UTF8_VALIDATION_UNKNOWN = 0 | 
		
	
		
			
				|  |  |  |  |     VERIFY = 2 | 
		
	
		
			
				|  |  |  |  |     NONE = 3 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FeatureSetMessageEncoding(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     MESSAGE_ENCODING_UNKNOWN = 0 | 
		
	
		
			
				|  |  |  |  |     LENGTH_PREFIXED = 1 | 
		
	
		
			
				|  |  |  |  |     DELIMITED = 2 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class FeatureSetJsonFormat(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     JSON_FORMAT_UNKNOWN = 0 | 
		
	
		
			
				|  |  |  |  |     ALLOW = 1 | 
		
	
		
			
				|  |  |  |  |     LEGACY_BEST_EFFORT = 2 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class GeneratedCodeInfoAnnotationSemantic(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
	
		
			
				
					
					|  |  |  | @@ -358,6 +477,12 @@ class GeneratedCodeInfoAnnotationSemantic(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     ALIAS = 2 | 
		
	
		
			
				|  |  |  |  |     """An alias to the element is returned.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | class NullValue(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
	
		
			
				
					
					|  |  |  | @@ -370,6 +495,12 @@ class NullValue(betterproto.Enum): | 
		
	
		
			
				|  |  |  |  |     _ = 0 | 
		
	
		
			
				|  |  |  |  |     """Null value.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @classmethod | 
		
	
		
			
				|  |  |  |  |     def __get_pydantic_core_schema__(cls, _source_type, _handler): | 
		
	
		
			
				|  |  |  |  |         from pydantic_core import core_schema | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return core_schema.int_schema(ge=0) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | @dataclass(eq=False, repr=False) | 
		
	
		
			
				|  |  |  |  | class Any(betterproto.Message): | 
		
	
	
		
			
				
					
					|  |  |  | @@ -1176,16 +1307,12 @@ class FileOptions(betterproto.Message): | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     java_string_check_utf8: bool = betterproto.bool_field(27) | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |     A proto2 file can set this to true to opt in to UTF-8 checking for Java, | 
		
	
		
			
				|  |  |  |  |      which will throw an exception if invalid UTF-8 is parsed from the wire or | 
		
	
		
			
				|  |  |  |  |      assigned to a string field. | 
		
	
		
			
				|  |  |  |  |      | 
		
	
		
			
				|  |  |  |  |      TODO: clarify exactly what kinds of field types this option | 
		
	
		
			
				|  |  |  |  |      applies to, and update these docs accordingly. | 
		
	
		
			
				|  |  |  |  |      | 
		
	
		
			
				|  |  |  |  |      Proto3 files already perform these checks. Setting the option explicitly to | 
		
	
		
			
				|  |  |  |  |      false has no effect: it cannot be used to opt proto3 files out of UTF-8 | 
		
	
		
			
				|  |  |  |  |      checks. | 
		
	
		
			
				|  |  |  |  |     If set true, then the Java2 code generator will generate code that | 
		
	
		
			
				|  |  |  |  |      throws an exception whenever an attempt is made to assign a non-UTF-8 | 
		
	
		
			
				|  |  |  |  |      byte sequence to a string field. | 
		
	
		
			
				|  |  |  |  |      Message reflection will do the same. | 
		
	
		
			
				|  |  |  |  |      However, an extension field still accepts non-UTF-8 byte sequences. | 
		
	
		
			
				|  |  |  |  |      This option has no effect on when used with the lite runtime. | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     optimize_for: "FileOptionsOptimizeMode" = betterproto.enum_field(9) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -1477,7 +1604,6 @@ class FieldOptions(betterproto.Message): | 
		
	
		
			
				|  |  |  |  |     features: "FeatureSet" = betterproto.message_field(21) | 
		
	
		
			
				|  |  |  |  |     """Any features defined in the specific edition.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     feature_support: "FieldOptionsFeatureSupport" = betterproto.message_field(22) | 
		
	
		
			
				|  |  |  |  |     uninterpreted_option: List["UninterpretedOption"] = betterproto.message_field(999) | 
		
	
		
			
				|  |  |  |  |     """The parser stores options it doesn't recognize here. See above.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
	
		
			
				
					
					|  |  |  | @@ -1488,37 +1614,6 @@ class FieldOptionsEditionDefault(betterproto.Message): | 
		
	
		
			
				|  |  |  |  |     value: str = betterproto.string_field(2) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | @dataclass(eq=False, repr=False) | 
		
	
		
			
				|  |  |  |  | class FieldOptionsFeatureSupport(betterproto.Message): | 
		
	
		
			
				|  |  |  |  |     """Information about the support window of a feature.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     edition_introduced: "Edition" = betterproto.enum_field(1) | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |     The edition that this feature was first available in.  In editions | 
		
	
		
			
				|  |  |  |  |      earlier than this one, the default assigned to EDITION_LEGACY will be | 
		
	
		
			
				|  |  |  |  |      used, and proto files will not be able to override it. | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     edition_deprecated: "Edition" = betterproto.enum_field(2) | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |     The edition this feature becomes deprecated in.  Using this after this | 
		
	
		
			
				|  |  |  |  |      edition may trigger warnings. | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     deprecation_warning: str = betterproto.string_field(3) | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |     The deprecation warning text if this feature is used after the edition it | 
		
	
		
			
				|  |  |  |  |      was marked deprecated in. | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     edition_removed: "Edition" = betterproto.enum_field(4) | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |     The edition this feature is no longer available in.  In editions after | 
		
	
		
			
				|  |  |  |  |      this one, the last default assigned will be used, and proto files will | 
		
	
		
			
				|  |  |  |  |      not be able to override it. | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | @dataclass(eq=False, repr=False) | 
		
	
		
			
				|  |  |  |  | class OneofOptions(betterproto.Message): | 
		
	
		
			
				|  |  |  |  |     features: "FeatureSet" = betterproto.message_field(1) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -1723,17 +1818,7 @@ class FeatureSetDefaultsFeatureSetEditionDefault(betterproto.Message): | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     edition: "Edition" = betterproto.enum_field(3) | 
		
	
		
			
				|  |  |  |  |     overridable_features: "FeatureSet" = betterproto.message_field(4) | 
		
	
		
			
				|  |  |  |  |     """Defaults of features that can be overridden in this edition.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     fixed_features: "FeatureSet" = betterproto.message_field(5) | 
		
	
		
			
				|  |  |  |  |     """Defaults of features that can't be overridden in this edition.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     features: "FeatureSet" = betterproto.message_field(2) | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |     TODO Deprecate and remove this field, which is just the | 
		
	
		
			
				|  |  |  |  |      above two merged. | 
		
	
		
			
				|  |  |  |  |     """ | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | @dataclass(eq=False, repr=False) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -2314,7 +2399,7 @@ class Value(betterproto.Message): | 
		
	
		
			
				|  |  |  |  |     ) | 
		
	
		
			
				|  |  |  |  |     """Represents a repeated `Value`.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     @root_validator() | 
		
	
		
			
				|  |  |  |  |     @model_validator(mode="after") | 
		
	
		
			
				|  |  |  |  |     def check_oneof(cls, values): | 
		
	
		
			
				|  |  |  |  |         return cls._validate_field_groups(values) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
	
		
			
				
					
					|  |  |  | @@ -2549,41 +2634,40 @@ class BytesValue(betterproto.Message): | 
		
	
		
			
				|  |  |  |  |     """The bytes value.""" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | Type.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | Field.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | Enum.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | EnumValue.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | Option.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | Api.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | Method.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FileDescriptorSet.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FileDescriptorProto.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | DescriptorProto.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | DescriptorProtoExtensionRange.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | ExtensionRangeOptions.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FieldDescriptorProto.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | OneofDescriptorProto.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | EnumDescriptorProto.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | EnumValueDescriptorProto.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | ServiceDescriptorProto.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | MethodDescriptorProto.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FileOptions.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | MessageOptions.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FieldOptions.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FieldOptionsEditionDefault.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FieldOptionsFeatureSupport.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | OneofOptions.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | EnumOptions.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | EnumValueOptions.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | ServiceOptions.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | MethodOptions.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | UninterpretedOption.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FeatureSet.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FeatureSetDefaults.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | FeatureSetDefaultsFeatureSetEditionDefault.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | SourceCodeInfo.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | GeneratedCodeInfo.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | GeneratedCodeInfoAnnotation.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | Struct.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | Value.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | ListValue.__pydantic_model__.update_forward_refs()  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(Type)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(Field)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(Enum)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(EnumValue)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(Option)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(Api)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(Method)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(FileDescriptorSet)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(FileDescriptorProto)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(DescriptorProto)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(DescriptorProtoExtensionRange)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(ExtensionRangeOptions)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(FieldDescriptorProto)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(OneofDescriptorProto)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(EnumDescriptorProto)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(EnumValueDescriptorProto)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(ServiceDescriptorProto)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(MethodDescriptorProto)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(FileOptions)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(MessageOptions)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(FieldOptions)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(FieldOptionsEditionDefault)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(OneofOptions)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(EnumOptions)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(EnumValueOptions)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(ServiceOptions)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(MethodOptions)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(UninterpretedOption)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(FeatureSet)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(FeatureSetDefaults)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(FeatureSetDefaultsFeatureSetEditionDefault)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(SourceCodeInfo)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(GeneratedCodeInfo)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(GeneratedCodeInfoAnnotation)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(Struct)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(Value)  # type: ignore | 
		
	
		
			
				|  |  |  |  | rebuild_dataclass(ListValue)  # type: ignore | 
		
	
	
		
			
				
					
					| 
							
							
							
						 |  |  |   |