# Copyright 2023-2025 Buf Technologies, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: buf/validate/conformance/cases/predefined_rules_proto3.proto
# Protobuf Python Version: 5.26.0
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from buf.validate.conformance.cases import predefined_rules_proto2_pb2 as buf_dot_validate_dot_conformance_dot_cases_dot_predefined__rules__proto2__pb2
from buf.validate.conformance.cases import predefined_rules_proto_editions_pb2 as buf_dot_validate_dot_conformance_dot_cases_dot_predefined__rules__proto__editions__pb2
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n<buf/validate/conformance/cases/predefined_rules_proto3.proto\x12\x1e\x62uf.validate.conformance.cases\x1a<buf/validate/conformance/cases/predefined_rules_proto2.proto\x1a\x44\x62uf/validate/conformance/cases/predefined_rules_proto_editions.proto\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\":\n\x19PredefinedFloatRuleProto3\x12\x1d\n\x03val\x18\x01 \x01(\x02\x42\x0b\xbaH\x08\n\x06\xcdH\x00\x00\x80?R\x03val\"?\n\x1aPredefinedDoubleRuleProto3\x12!\n\x03val\x18\x01 \x01(\x01\x42\x0f\xbaH\x0c\x12\n\xc9H\x00\x00\x00\x00\x00\x00\xf0?R\x03val\"@\n\x19PredefinedInt32RuleProto3\x12#\n\x03val\x18\x01 \x01(\x05\x42\x11\xbaH\x0e\x1a\x0c\xc8H\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01R\x03val\"B\n\x19PredefinedInt64RuleProto3\x12%\n\x03val\x18\x01 \x01(\x03\x42\x13\xbaH\x10\"\x0e\xd2H\x0b\x08\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01R\x03val\"8\n\x1aPredefinedUInt32RuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\rB\x08\xbaH\x05*\x03\xc8H\x01R\x03val\"8\n\x1aPredefinedUInt64RuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\x04\x42\x08\xbaH\x05\x32\x03\xc8H\x01R\x03val\"8\n\x1aPredefinedSInt32RuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\x11\x42\x08\xbaH\x05:\x03\xc8H\x01R\x03val\"8\n\x1aPredefinedSInt64RuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\x12\x42\x08\xbaH\x05\x42\x03\xc8H\x01R\x03val\"9\n\x1bPredefinedFixed32RuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\x07\x42\x08\xbaH\x05J\x03\xc8H\x01R\x03val\"9\n\x1bPredefinedFixed64RuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\x06\x42\x08\xbaH\x05R\x03\xc8H\x01R\x03val\":\n\x1cPredefinedSFixed32RuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\x0f\x42\x08\xbaH\x05Z\x03\xc8H\x01R\x03val\":\n\x1cPredefinedSFixed64RuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\x10\x42\x08\xbaH\x05\x62\x03\xc8H\x01R\x03val\"6\n\x18PredefinedBoolRuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\x08\x42\x08\xbaH\x05j\x03\xc8H\x01R\x03val\"8\n\x1aPredefinedStringRuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xc8H\x01R\x03val\"7\n\x19PredefinedBytesRuleProto3\x12\x1a\n\x03val\x18\x01 \x01(\x0c\x42\x08\xbaH\x05z\x03\xc8H\x01R\x03val\"\xc1\x01\n\x18PredefinedEnumRuleProto3\x12`\n\x03val\x18\x01 \x01(\x0e\x32\x43.buf.validate.conformance.cases.PredefinedEnumRuleProto3.EnumProto3B\t\xbaH\x06\x82\x01\x03\xc8H\x01R\x03val\"C\n\nEnumProto3\x12 \n\x1c\x45NUM_PROTO3_ZERO_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x45NUM_PROTO3_ONE\x10\x01\"\xb0\x01\n\x17PredefinedMapRuleProto3\x12]\n\x03val\x18\x01 \x03(\x0b\x32@.buf.validate.conformance.cases.PredefinedMapRuleProto3.ValEntryB\t\xbaH\x06\x9a\x01\x03\xd0H\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x04R\x05value:\x02\x38\x01\";\n\x1cPredefinedRepeatedRuleProto3\x12\x1b\n\x03val\x18\x01 \x03(\x04\x42\t\xbaH\x06\x92\x01\x03\xc8H\x01R\x03val\"V\n\x1cPredefinedDurationRuleProto3\x12\x36\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\t\xbaH\x06\xaa\x01\x03\xc8H\x01R\x03val\"X\n\x1dPredefinedTimestampRuleProto3\x12\x37\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\t\xbaH\x06\xb2\x01\x03\xc8H\x01R\x03val\"^\n PredefinedWrappedFloatRuleProto3\x12:\n\x03val\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.FloatValueB\x0b\xbaH\x08\n\x06\xcdH\x00\x00\x80?R\x03val\"d\n!PredefinedWrappedDoubleRuleProto3\x12?\n\x03val\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValueB\x0f\xbaH\x0c\x12\n\xc9H\x00\x00\x00\x00\x00\x00\xf0?R\x03val\"d\n PredefinedWrappedInt32RuleProto3\x12@\n\x03val\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32ValueB\x11\xbaH\x0e\x1a\x0c\xc8H\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01R\x03val\"f\n PredefinedWrappedInt64RuleProto3\x12\x42\n\x03val\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x13\xbaH\x10\"\x0e\xcaH\x0b\x08\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01R\x03val\"]\n!PredefinedWrappedUInt32RuleProto3\x12\x38\n\x03val\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueB\x08\xbaH\x05*\x03\xc8H\x01R\x03val\"]\n!PredefinedWrappedUInt64RuleProto3\x12\x38\n\x03val\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt64ValueB\x08\xbaH\x05\x32\x03\xc8H\x01R\x03val\"Y\n\x1fPredefinedWrappedBoolRuleProto3\x12\x36\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValueB\x08\xbaH\x05j\x03\xc8H\x01R\x03val\"]\n!PredefinedWrappedStringRuleProto3\x12\x38\n\x03val\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValueB\x08\xbaH\x05r\x03\xc8H\x01R\x03val\"[\n PredefinedWrappedBytesRuleProto3\x12\x37\n\x03val\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.BytesValueB\x08\xbaH\x05z\x03\xc8H\x01R\x03val\"k\n(PredefinedRepeatedWrappedFloatRuleProto3\x12?\n\x03val\x18\x01 \x03(\x0b\x32\x1b.google.protobuf.FloatValueB\x10\xbaH\r\x92\x01\n\"\x08\n\x06\xcdH\x00\x00\x80?R\x03val\"q\n)PredefinedRepeatedWrappedDoubleRuleProto3\x12\x44\n\x03val\x18\x01 \x03(\x0b\x32\x1c.google.protobuf.DoubleValueB\x14\xbaH\x11\x92\x01\x0e\"\x0c\x12\n\xc9H\x00\x00\x00\x00\x00\x00\xf0?R\x03val\"q\n(PredefinedRepeatedWrappedInt32RuleProto3\x12\x45\n\x03val\x18\x01 \x03(\x0b\x32\x1b.google.protobuf.Int32ValueB\x16\xbaH\x13\x92\x01\x10\"\x0e\x1a\x0c\xc8H\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01R\x03val\"s\n(PredefinedRepeatedWrappedInt64RuleProto3\x12G\n\x03val\x18\x01 \x03(\x0b\x32\x1b.google.protobuf.Int64ValueB\x18\xbaH\x15\x92\x01\x12\"\x10\"\x0e\xcaH\x0b\x08\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01R\x03val\"j\n)PredefinedRepeatedWrappedUInt32RuleProto3\x12=\n\x03val\x18\x01 \x03(\x0b\x32\x1c.google.protobuf.UInt32ValueB\r\xbaH\n\x92\x01\x07\"\x05*\x03\xc8H\x01R\x03val\"j\n)PredefinedRepeatedWrappedUInt64RuleProto3\x12=\n\x03val\x18\x01 \x03(\x0b\x32\x1c.google.protobuf.UInt64ValueB\r\xbaH\n\x92\x01\x07\"\x05\x32\x03\xc8H\x01R\x03val\"f\n\'PredefinedRepeatedWrappedBoolRuleProto3\x12;\n\x03val\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.BoolValueB\r\xbaH\n\x92\x01\x07\"\x05j\x03\xc8H\x01R\x03val\"j\n)PredefinedRepeatedWrappedStringRuleProto3\x12=\n\x03val\x18\x01 \x03(\x0b\x32\x1c.google.protobuf.StringValueB\r\xbaH\n\x92\x01\x07\"\x05r\x03\xc8H\x01R\x03val\"h\n(PredefinedRepeatedWrappedBytesRuleProto3\x12<\n\x03val\x18\x01 \x03(\x0b\x32\x1b.google.protobuf.BytesValueB\r\xbaH\n\x92\x01\x07\"\x05z\x03\xc8H\x01R\x03val\"\xc9\x03\n\x1dPredefinedAndCustomRuleProto3\x12q\n\x01\x61\x18\x01 \x01(\x11\x42\x63\xbaH`:\x03\xd0H\x01\xba\x01X\n(predefined_and_custom_rule_scalar_proto3\x1a,this > 24 ? \'\' : \'a must be greater than 24\'R\x01\x61\x12\xb9\x01\n\x01\x62\x18\x02 \x01(\x0b\x32\x44.buf.validate.conformance.cases.PredefinedAndCustomRuleProto3.NestedB`\xbaH]\xba\x01Z\n*predefined_and_custom_rule_embedded_proto3\x12\x1b\x62.c must be a multiple of 3\x1a\x0fthis.c % 3 == 0H\x00R\x01\x62\x88\x01\x01\x1as\n\x06Nested\x12i\n\x01\x63\x18\x01 \x01(\x11\x42[\xbaHX:\x03\xd0H\x01\xba\x01P\n(predefined_and_custom_rule_nested_proto3\x1a$this > 0 ? \'\' : \'c must be positive\'R\x01\x63\x42\x04\n\x02_b\"\xa5\x01\n%StandardPredefinedAndCustomRuleProto3\x12|\n\x01\x61\x18\x01 \x01(\x11\x42n\xbaHk:\x05\x10\x38\xc8H\x01\xba\x01\x61\n1standard_predefined_and_custom_rule_scalar_proto3\x1a,this > 24 ? \'\' : \'a must be greater than 24\'R\x01\x61\"\xf5\x01\n.PredefinedRulesProto3UnusedImportBugWorkaround\x12^\n\x07\x64ummy_1\x18\x01 \x01(\x0b\x32\x45.buf.validate.conformance.cases.StandardPredefinedAndCustomRuleProto2R\x06\x64ummy1\x12\x63\n\x07\x64ummy_2\x18\x02 \x01(\x0b\x32J.buf.validate.conformance.cases.StandardPredefinedAndCustomRuleEdition2023R\x06\x64ummy2B\xdc\x01\n\"com.buf.validate.conformance.casesB\x1aPredefinedRulesProto3ProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.conformance.cases.predefined_rules_proto3_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\"com.buf.validate.conformance.casesB\032PredefinedRulesProto3ProtoP\001\242\002\004BVCC\252\002\036Buf.Validate.Conformance.Cases\312\002\036Buf\\Validate\\Conformance\\Cases\342\002*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\352\002!Buf::Validate::Conformance::Cases'
  _globals['_PREDEFINEDFLOATRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDFLOATRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\010\n\006\315H\000\000\200?'
  _globals['_PREDEFINEDDOUBLERULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDDOUBLERULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\014\022\n\311H\000\000\000\000\000\000\360?'
  _globals['_PREDEFINEDINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\016\032\014\310H\376\377\377\377\377\377\377\377\377\001'
  _globals['_PREDEFINEDINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\020\"\016\322H\013\010\376\377\377\377\377\377\377\377\377\001'
  _globals['_PREDEFINEDUINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDUINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005*\003\310H\001'
  _globals['_PREDEFINEDUINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDUINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\0052\003\310H\001'
  _globals['_PREDEFINEDSINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDSINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005:\003\310H\001'
  _globals['_PREDEFINEDSINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDSINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005B\003\310H\001'
  _globals['_PREDEFINEDFIXED32RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDFIXED32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005J\003\310H\001'
  _globals['_PREDEFINEDFIXED64RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDFIXED64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005R\003\310H\001'
  _globals['_PREDEFINEDSFIXED32RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDSFIXED32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005Z\003\310H\001'
  _globals['_PREDEFINEDSFIXED64RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDSFIXED64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005b\003\310H\001'
  _globals['_PREDEFINEDBOOLRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDBOOLRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005j\003\310H\001'
  _globals['_PREDEFINEDSTRINGRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDSTRINGRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005r\003\310H\001'
  _globals['_PREDEFINEDBYTESRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDBYTESRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005z\003\310H\001'
  _globals['_PREDEFINEDENUMRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDENUMRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\202\001\003\310H\001'
  _globals['_PREDEFINEDMAPRULEPROTO3_VALENTRY']._loaded_options = None
  _globals['_PREDEFINEDMAPRULEPROTO3_VALENTRY']._serialized_options = b'8\001'
  _globals['_PREDEFINEDMAPRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDMAPRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\232\001\003\320H\001'
  _globals['_PREDEFINEDREPEATEDRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\222\001\003\310H\001'
  _globals['_PREDEFINEDDURATIONRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDDURATIONRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\252\001\003\310H\001'
  _globals['_PREDEFINEDTIMESTAMPRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDTIMESTAMPRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\262\001\003\310H\001'
  _globals['_PREDEFINEDWRAPPEDFLOATRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDWRAPPEDFLOATRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\010\n\006\315H\000\000\200?'
  _globals['_PREDEFINEDWRAPPEDDOUBLERULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDWRAPPEDDOUBLERULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\014\022\n\311H\000\000\000\000\000\000\360?'
  _globals['_PREDEFINEDWRAPPEDINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDWRAPPEDINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\016\032\014\310H\376\377\377\377\377\377\377\377\377\001'
  _globals['_PREDEFINEDWRAPPEDINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDWRAPPEDINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\020\"\016\312H\013\010\376\377\377\377\377\377\377\377\377\001'
  _globals['_PREDEFINEDWRAPPEDUINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDWRAPPEDUINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005*\003\310H\001'
  _globals['_PREDEFINEDWRAPPEDUINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDWRAPPEDUINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\0052\003\310H\001'
  _globals['_PREDEFINEDWRAPPEDBOOLRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDWRAPPEDBOOLRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005j\003\310H\001'
  _globals['_PREDEFINEDWRAPPEDSTRINGRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDWRAPPEDSTRINGRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005r\003\310H\001'
  _globals['_PREDEFINEDWRAPPEDBYTESRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDWRAPPEDBYTESRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005z\003\310H\001'
  _globals['_PREDEFINEDREPEATEDWRAPPEDFLOATRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDWRAPPEDFLOATRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\r\222\001\n\"\010\n\006\315H\000\000\200?'
  _globals['_PREDEFINEDREPEATEDWRAPPEDDOUBLERULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDWRAPPEDDOUBLERULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\021\222\001\016\"\014\022\n\311H\000\000\000\000\000\000\360?'
  _globals['_PREDEFINEDREPEATEDWRAPPEDINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDWRAPPEDINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\023\222\001\020\"\016\032\014\310H\376\377\377\377\377\377\377\377\377\001'
  _globals['_PREDEFINEDREPEATEDWRAPPEDINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDWRAPPEDINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\025\222\001\022\"\020\"\016\312H\013\010\376\377\377\377\377\377\377\377\377\001'
  _globals['_PREDEFINEDREPEATEDWRAPPEDUINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDWRAPPEDUINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\007\"\005*\003\310H\001'
  _globals['_PREDEFINEDREPEATEDWRAPPEDUINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDWRAPPEDUINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\007\"\0052\003\310H\001'
  _globals['_PREDEFINEDREPEATEDWRAPPEDBOOLRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDWRAPPEDBOOLRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\007\"\005j\003\310H\001'
  _globals['_PREDEFINEDREPEATEDWRAPPEDSTRINGRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDWRAPPEDSTRINGRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\007\"\005r\003\310H\001'
  _globals['_PREDEFINEDREPEATEDWRAPPEDBYTESRULEPROTO3'].fields_by_name['val']._loaded_options = None
  _globals['_PREDEFINEDREPEATEDWRAPPEDBYTESRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\007\"\005z\003\310H\001'
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3_NESTED'].fields_by_name['c']._loaded_options = None
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3_NESTED'].fields_by_name['c']._serialized_options = b'\272HX:\003\320H\001\272\001P\n(predefined_and_custom_rule_nested_proto3\032$this > 0 ? \'\' : \'c must be positive\''
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['a']._loaded_options = None
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['a']._serialized_options = b'\272H`:\003\320H\001\272\001X\n(predefined_and_custom_rule_scalar_proto3\032,this > 24 ? \'\' : \'a must be greater than 24\''
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['b']._loaded_options = None
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['b']._serialized_options = b'\272H]\272\001Z\n*predefined_and_custom_rule_embedded_proto3\022\033b.c must be a multiple of 3\032\017this.c % 3 == 0'
  _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['a']._loaded_options = None
  _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['a']._serialized_options = b'\272Hk:\005\0208\310H\001\272\001a\n1standard_predefined_and_custom_rule_scalar_proto3\032,this > 24 ? \'\' : \'a must be greater than 24\''
  _globals['_PREDEFINEDFLOATRULEPROTO3']._serialized_start=354
  _globals['_PREDEFINEDFLOATRULEPROTO3']._serialized_end=412
  _globals['_PREDEFINEDDOUBLERULEPROTO3']._serialized_start=414
  _globals['_PREDEFINEDDOUBLERULEPROTO3']._serialized_end=477
  _globals['_PREDEFINEDINT32RULEPROTO3']._serialized_start=479
  _globals['_PREDEFINEDINT32RULEPROTO3']._serialized_end=543
  _globals['_PREDEFINEDINT64RULEPROTO3']._serialized_start=545
  _globals['_PREDEFINEDINT64RULEPROTO3']._serialized_end=611
  _globals['_PREDEFINEDUINT32RULEPROTO3']._serialized_start=613
  _globals['_PREDEFINEDUINT32RULEPROTO3']._serialized_end=669
  _globals['_PREDEFINEDUINT64RULEPROTO3']._serialized_start=671
  _globals['_PREDEFINEDUINT64RULEPROTO3']._serialized_end=727
  _globals['_PREDEFINEDSINT32RULEPROTO3']._serialized_start=729
  _globals['_PREDEFINEDSINT32RULEPROTO3']._serialized_end=785
  _globals['_PREDEFINEDSINT64RULEPROTO3']._serialized_start=787
  _globals['_PREDEFINEDSINT64RULEPROTO3']._serialized_end=843
  _globals['_PREDEFINEDFIXED32RULEPROTO3']._serialized_start=845
  _globals['_PREDEFINEDFIXED32RULEPROTO3']._serialized_end=902
  _globals['_PREDEFINEDFIXED64RULEPROTO3']._serialized_start=904
  _globals['_PREDEFINEDFIXED64RULEPROTO3']._serialized_end=961
  _globals['_PREDEFINEDSFIXED32RULEPROTO3']._serialized_start=963
  _globals['_PREDEFINEDSFIXED32RULEPROTO3']._serialized_end=1021
  _globals['_PREDEFINEDSFIXED64RULEPROTO3']._serialized_start=1023
  _globals['_PREDEFINEDSFIXED64RULEPROTO3']._serialized_end=1081
  _globals['_PREDEFINEDBOOLRULEPROTO3']._serialized_start=1083
  _globals['_PREDEFINEDBOOLRULEPROTO3']._serialized_end=1137
  _globals['_PREDEFINEDSTRINGRULEPROTO3']._serialized_start=1139
  _globals['_PREDEFINEDSTRINGRULEPROTO3']._serialized_end=1195
  _globals['_PREDEFINEDBYTESRULEPROTO3']._serialized_start=1197
  _globals['_PREDEFINEDBYTESRULEPROTO3']._serialized_end=1252
  _globals['_PREDEFINEDENUMRULEPROTO3']._serialized_start=1255
  _globals['_PREDEFINEDENUMRULEPROTO3']._serialized_end=1448
  _globals['_PREDEFINEDENUMRULEPROTO3_ENUMPROTO3']._serialized_start=1381
  _globals['_PREDEFINEDENUMRULEPROTO3_ENUMPROTO3']._serialized_end=1448
  _globals['_PREDEFINEDMAPRULEPROTO3']._serialized_start=1451
  _globals['_PREDEFINEDMAPRULEPROTO3']._serialized_end=1627
  _globals['_PREDEFINEDMAPRULEPROTO3_VALENTRY']._serialized_start=1573
  _globals['_PREDEFINEDMAPRULEPROTO3_VALENTRY']._serialized_end=1627
  _globals['_PREDEFINEDREPEATEDRULEPROTO3']._serialized_start=1629
  _globals['_PREDEFINEDREPEATEDRULEPROTO3']._serialized_end=1688
  _globals['_PREDEFINEDDURATIONRULEPROTO3']._serialized_start=1690
  _globals['_PREDEFINEDDURATIONRULEPROTO3']._serialized_end=1776
  _globals['_PREDEFINEDTIMESTAMPRULEPROTO3']._serialized_start=1778
  _globals['_PREDEFINEDTIMESTAMPRULEPROTO3']._serialized_end=1866
  _globals['_PREDEFINEDWRAPPEDFLOATRULEPROTO3']._serialized_start=1868
  _globals['_PREDEFINEDWRAPPEDFLOATRULEPROTO3']._serialized_end=1962
  _globals['_PREDEFINEDWRAPPEDDOUBLERULEPROTO3']._serialized_start=1964
  _globals['_PREDEFINEDWRAPPEDDOUBLERULEPROTO3']._serialized_end=2064
  _globals['_PREDEFINEDWRAPPEDINT32RULEPROTO3']._serialized_start=2066
  _globals['_PREDEFINEDWRAPPEDINT32RULEPROTO3']._serialized_end=2166
  _globals['_PREDEFINEDWRAPPEDINT64RULEPROTO3']._serialized_start=2168
  _globals['_PREDEFINEDWRAPPEDINT64RULEPROTO3']._serialized_end=2270
  _globals['_PREDEFINEDWRAPPEDUINT32RULEPROTO3']._serialized_start=2272
  _globals['_PREDEFINEDWRAPPEDUINT32RULEPROTO3']._serialized_end=2365
  _globals['_PREDEFINEDWRAPPEDUINT64RULEPROTO3']._serialized_start=2367
  _globals['_PREDEFINEDWRAPPEDUINT64RULEPROTO3']._serialized_end=2460
  _globals['_PREDEFINEDWRAPPEDBOOLRULEPROTO3']._serialized_start=2462
  _globals['_PREDEFINEDWRAPPEDBOOLRULEPROTO3']._serialized_end=2551
  _globals['_PREDEFINEDWRAPPEDSTRINGRULEPROTO3']._serialized_start=2553
  _globals['_PREDEFINEDWRAPPEDSTRINGRULEPROTO3']._serialized_end=2646
  _globals['_PREDEFINEDWRAPPEDBYTESRULEPROTO3']._serialized_start=2648
  _globals['_PREDEFINEDWRAPPEDBYTESRULEPROTO3']._serialized_end=2739
  _globals['_PREDEFINEDREPEATEDWRAPPEDFLOATRULEPROTO3']._serialized_start=2741
  _globals['_PREDEFINEDREPEATEDWRAPPEDFLOATRULEPROTO3']._serialized_end=2848
  _globals['_PREDEFINEDREPEATEDWRAPPEDDOUBLERULEPROTO3']._serialized_start=2850
  _globals['_PREDEFINEDREPEATEDWRAPPEDDOUBLERULEPROTO3']._serialized_end=2963
  _globals['_PREDEFINEDREPEATEDWRAPPEDINT32RULEPROTO3']._serialized_start=2965
  _globals['_PREDEFINEDREPEATEDWRAPPEDINT32RULEPROTO3']._serialized_end=3078
  _globals['_PREDEFINEDREPEATEDWRAPPEDINT64RULEPROTO3']._serialized_start=3080
  _globals['_PREDEFINEDREPEATEDWRAPPEDINT64RULEPROTO3']._serialized_end=3195
  _globals['_PREDEFINEDREPEATEDWRAPPEDUINT32RULEPROTO3']._serialized_start=3197
  _globals['_PREDEFINEDREPEATEDWRAPPEDUINT32RULEPROTO3']._serialized_end=3303
  _globals['_PREDEFINEDREPEATEDWRAPPEDUINT64RULEPROTO3']._serialized_start=3305
  _globals['_PREDEFINEDREPEATEDWRAPPEDUINT64RULEPROTO3']._serialized_end=3411
  _globals['_PREDEFINEDREPEATEDWRAPPEDBOOLRULEPROTO3']._serialized_start=3413
  _globals['_PREDEFINEDREPEATEDWRAPPEDBOOLRULEPROTO3']._serialized_end=3515
  _globals['_PREDEFINEDREPEATEDWRAPPEDSTRINGRULEPROTO3']._serialized_start=3517
  _globals['_PREDEFINEDREPEATEDWRAPPEDSTRINGRULEPROTO3']._serialized_end=3623
  _globals['_PREDEFINEDREPEATEDWRAPPEDBYTESRULEPROTO3']._serialized_start=3625
  _globals['_PREDEFINEDREPEATEDWRAPPEDBYTESRULEPROTO3']._serialized_end=3729
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3']._serialized_start=3732
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3']._serialized_end=4189
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3_NESTED']._serialized_start=4068
  _globals['_PREDEFINEDANDCUSTOMRULEPROTO3_NESTED']._serialized_end=4183
  _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO3']._serialized_start=4192
  _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO3']._serialized_end=4357
  _globals['_PREDEFINEDRULESPROTO3UNUSEDIMPORTBUGWORKAROUND']._serialized_start=4360
  _globals['_PREDEFINEDRULESPROTO3UNUSEDIMPORTBUGWORKAROUND']._serialized_end=4605
# @@protoc_insertion_point(module_scope)
