|
|
|
@ -80,7 +80,7 @@ namespace Google.Protobuf.Reflection { |
|
|
|
|
"EhMKC291dHB1dF90eXBlGAMgASgJEi8KB29wdGlvbnMYBCABKAsyHi5nb29n", |
|
|
|
|
"bGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxIfChBjbGllbnRfc3RyZWFtaW5n", |
|
|
|
|
"GAUgASgIOgVmYWxzZRIfChBzZXJ2ZXJfc3RyZWFtaW5nGAYgASgIOgVmYWxz", |
|
|
|
|
"ZSKqBQoLRmlsZU9wdGlvbnMSFAoMamF2YV9wYWNrYWdlGAEgASgJEhwKFGph", |
|
|
|
|
"ZSKuBQoLRmlsZU9wdGlvbnMSFAoMamF2YV9wYWNrYWdlGAEgASgJEhwKFGph", |
|
|
|
|
"dmFfb3V0ZXJfY2xhc3NuYW1lGAggASgJEiIKE2phdmFfbXVsdGlwbGVfZmls", |
|
|
|
|
"ZXMYCiABKAg6BWZhbHNlEiwKHWphdmFfZ2VuZXJhdGVfZXF1YWxzX2FuZF9o", |
|
|
|
|
"YXNoGBQgASgIOgVmYWxzZRIlChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsg", |
|
|
|
@ -91,72 +91,77 @@ namespace Google.Protobuf.Reflection { |
|
|
|
|
"cHlfZ2VuZXJpY19zZXJ2aWNlcxgSIAEoCDoFZmFsc2USGQoKZGVwcmVjYXRl", |
|
|
|
|
"ZBgXIAEoCDoFZmFsc2USHwoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoFZmFs", |
|
|
|
|
"c2USGQoRb2JqY19jbGFzc19wcmVmaXgYJCABKAkSGAoQY3NoYXJwX25hbWVz", |
|
|
|
|
"cGFjZRglIAEoCRInCh9qYXZhbmFub191c2VfZGVwcmVjYXRlZF9wYWNrYWdl", |
|
|
|
|
"GCYgASgIEkMKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2ds", |
|
|
|
|
"ZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uIjoKDE9wdGltaXplTW9k", |
|
|
|
|
"ZRIJCgVTUEVFRBABEg0KCUNPREVfU0laRRACEhAKDExJVEVfUlVOVElNRRAD", |
|
|
|
|
"KgkI6AcQgICAgAIi5gEKDk1lc3NhZ2VPcHRpb25zEiYKF21lc3NhZ2Vfc2V0", |
|
|
|
|
"X3dpcmVfZm9ybWF0GAEgASgIOgVmYWxzZRIuCh9ub19zdGFuZGFyZF9kZXNj", |
|
|
|
|
"cmlwdG9yX2FjY2Vzc29yGAIgASgIOgVmYWxzZRIZCgpkZXByZWNhdGVkGAMg", |
|
|
|
|
"ASgIOgVmYWxzZRIRCgltYXBfZW50cnkYByABKAgSQwoUdW5pbnRlcnByZXRl", |
|
|
|
|
"ZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0", |
|
|
|
|
"ZWRPcHRpb24qCQjoBxCAgICAAiKYAwoMRmllbGRPcHRpb25zEjoKBWN0eXBl", |
|
|
|
|
"GAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToG", |
|
|
|
|
"U1RSSU5HEg4KBnBhY2tlZBgCIAEoCBI/CgZqc3R5cGUYBiABKA4yJC5nb29n", |
|
|
|
|
"bGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMEhMK", |
|
|
|
|
"BGxhenkYBSABKAg6BWZhbHNlEhkKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNl", |
|
|
|
|
"EhMKBHdlYWsYCiABKAg6BWZhbHNlEkMKFHVuaW50ZXJwcmV0ZWRfb3B0aW9u", |
|
|
|
|
"GOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9u", |
|
|
|
|
"Ii8KBUNUeXBlEgoKBlNUUklORxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElF", |
|
|
|
|
"Q0UQAiI1CgZKU1R5cGUSDQoJSlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAES", |
|
|
|
|
"DQoJSlNfTlVNQkVSEAIqCQjoBxCAgICAAiKNAQoLRW51bU9wdGlvbnMSEwoL", |
|
|
|
|
"YWxsb3dfYWxpYXMYAiABKAgSGQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2US", |
|
|
|
|
"QwoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3Rv", |
|
|
|
|
"YnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiJ9ChBFbnVtVmFs", |
|
|
|
|
"dWVPcHRpb25zEhkKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlEkMKFHVuaW50", |
|
|
|
|
"ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5Vbmlu", |
|
|
|
|
"dGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIiewoOU2VydmljZU9wdGlvbnMS", |
|
|
|
|
"GQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2USQwoUdW5pbnRlcnByZXRlZF9v", |
|
|
|
|
"cHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRP", |
|
|
|
|
"cHRpb24qCQjoBxCAgICAAiJ6Cg1NZXRob2RPcHRpb25zEhkKCmRlcHJlY2F0", |
|
|
|
|
"ZWQYISABKAg6BWZhbHNlEkMKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMo", |
|
|
|
|
"CzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uKgkI6AcQ", |
|
|
|
|
"gICAgAIingIKE1VuaW50ZXJwcmV0ZWRPcHRpb24SOwoEbmFtZRgCIAMoCzIt", |
|
|
|
|
"Lmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0", |
|
|
|
|
"EhgKEGlkZW50aWZpZXJfdmFsdWUYAyABKAkSGgoScG9zaXRpdmVfaW50X3Zh", |
|
|
|
|
"bHVlGAQgASgEEhoKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoAxIUCgxkb3Vi", |
|
|
|
|
"bGVfdmFsdWUYBiABKAESFAoMc3RyaW5nX3ZhbHVlGAcgASgMEhcKD2FnZ3Jl", |
|
|
|
|
"Z2F0ZV92YWx1ZRgIIAEoCRozCghOYW1lUGFydBIRCgluYW1lX3BhcnQYASAC", |
|
|
|
|
"KAkSFAoMaXNfZXh0ZW5zaW9uGAIgAigIItUBCg5Tb3VyY2VDb2RlSW5mbxI6", |
|
|
|
|
"Cghsb2NhdGlvbhgBIAMoCzIoLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2Rl", |
|
|
|
|
"SW5mby5Mb2NhdGlvbhqGAQoITG9jYXRpb24SEAoEcGF0aBgBIAMoBUICEAES", |
|
|
|
|
"EAoEc3BhbhgCIAMoBUICEAESGAoQbGVhZGluZ19jb21tZW50cxgDIAEoCRIZ", |
|
|
|
|
"ChF0cmFpbGluZ19jb21tZW50cxgEIAEoCRIhChlsZWFkaW5nX2RldGFjaGVk", |
|
|
|
|
"X2NvbW1lbnRzGAYgAygJQlgKE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2Ny", |
|
|
|
|
"aXB0b3JQcm90b3NIAVoKZGVzY3JpcHRvcqICA0dQQqoCGkdvb2dsZS5Qcm90", |
|
|
|
|
"b2J1Zi5SZWZsZWN0aW9u")); |
|
|
|
|
"cGFjZRglIAEoCRIrCh9qYXZhbmFub191c2VfZGVwcmVjYXRlZF9wYWNrYWdl", |
|
|
|
|
"GCYgASgIQgIYARJDChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5n", |
|
|
|
|
"b29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6", |
|
|
|
|
"ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJ", |
|
|
|
|
"TUUQAyoJCOgHEICAgIACIuYBCg5NZXNzYWdlT3B0aW9ucxImChdtZXNzYWdl", |
|
|
|
|
"X3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2USLgofbm9fc3RhbmRhcmRf", |
|
|
|
|
"ZGVzY3JpcHRvcl9hY2Nlc3NvchgCIAEoCDoFZmFsc2USGQoKZGVwcmVjYXRl", |
|
|
|
|
"ZBgDIAEoCDoFZmFsc2USEQoJbWFwX2VudHJ5GAcgASgIEkMKFHVuaW50ZXJw", |
|
|
|
|
"cmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVy", |
|
|
|
|
"cHJldGVkT3B0aW9uKgkI6AcQgICAgAIimAMKDEZpZWxkT3B0aW9ucxI6CgVj", |
|
|
|
|
"dHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5", |
|
|
|
|
"cGU6BlNUUklORxIOCgZwYWNrZWQYAiABKAgSPwoGanN0eXBlGAYgASgOMiQu", |
|
|
|
|
"Z29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1B", |
|
|
|
|
"TBITCgRsYXp5GAUgASgIOgVmYWxzZRIZCgpkZXByZWNhdGVkGAMgASgIOgVm", |
|
|
|
|
"YWxzZRITCgR3ZWFrGAogASgIOgVmYWxzZRJDChR1bmludGVycHJldGVkX29w", |
|
|
|
|
"dGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9w", |
|
|
|
|
"dGlvbiIvCgVDVHlwZRIKCgZTVFJJTkcQABIICgRDT1JEEAESEAoMU1RSSU5H", |
|
|
|
|
"X1BJRUNFEAIiNQoGSlNUeXBlEg0KCUpTX05PUk1BTBAAEg0KCUpTX1NUUklO", |
|
|
|
|
"RxABEg0KCUpTX05VTUJFUhACKgkI6AcQgICAgAIijQEKC0VudW1PcHRpb25z", |
|
|
|
|
"EhMKC2FsbG93X2FsaWFzGAIgASgIEhkKCmRlcHJlY2F0ZWQYAyABKAg6BWZh", |
|
|
|
|
"bHNlEkMKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5w", |
|
|
|
|
"cm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIifQoQRW51", |
|
|
|
|
"bVZhbHVlT3B0aW9ucxIZCgpkZXByZWNhdGVkGAEgASgIOgVmYWxzZRJDChR1", |
|
|
|
|
"bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYu", |
|
|
|
|
"VW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACInsKDlNlcnZpY2VPcHRp", |
|
|
|
|
"b25zEhkKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlEkMKFHVuaW50ZXJwcmV0", |
|
|
|
|
"ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJl", |
|
|
|
|
"dGVkT3B0aW9uKgkI6AcQgICAgAIiegoNTWV0aG9kT3B0aW9ucxIZCgpkZXBy", |
|
|
|
|
"ZWNhdGVkGCEgASgIOgVmYWxzZRJDChR1bmludGVycHJldGVkX29wdGlvbhjn", |
|
|
|
|
"ByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbioJ", |
|
|
|
|
"COgHEICAgIACIp4CChNVbmludGVycHJldGVkT3B0aW9uEjsKBG5hbWUYAiAD", |
|
|
|
|
"KAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1l", |
|
|
|
|
"UGFydBIYChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJEhoKEnBvc2l0aXZlX2lu", |
|
|
|
|
"dF92YWx1ZRgEIAEoBBIaChJuZWdhdGl2ZV9pbnRfdmFsdWUYBSABKAMSFAoM", |
|
|
|
|
"ZG91YmxlX3ZhbHVlGAYgASgBEhQKDHN0cmluZ192YWx1ZRgHIAEoDBIXCg9h", |
|
|
|
|
"Z2dyZWdhdGVfdmFsdWUYCCABKAkaMwoITmFtZVBhcnQSEQoJbmFtZV9wYXJ0", |
|
|
|
|
"GAEgAigJEhQKDGlzX2V4dGVuc2lvbhgCIAIoCCLVAQoOU291cmNlQ29kZUlu", |
|
|
|
|
"Zm8SOgoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNl", |
|
|
|
|
"Q29kZUluZm8uTG9jYXRpb24ahgEKCExvY2F0aW9uEhAKBHBhdGgYASADKAVC", |
|
|
|
|
"AhABEhAKBHNwYW4YAiADKAVCAhABEhgKEGxlYWRpbmdfY29tbWVudHMYAyAB", |
|
|
|
|
"KAkSGQoRdHJhaWxpbmdfY29tbWVudHMYBCABKAkSIQoZbGVhZGluZ19kZXRh", |
|
|
|
|
"Y2hlZF9jb21tZW50cxgGIAMoCSKnAQoRR2VuZXJhdGVkQ29kZUluZm8SQQoK", |
|
|
|
|
"YW5ub3RhdGlvbhgBIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRD", |
|
|
|
|
"b2RlSW5mby5Bbm5vdGF0aW9uGk8KCkFubm90YXRpb24SEAoEcGF0aBgBIAMo", |
|
|
|
|
"BUICEAESEwoLc291cmNlX2ZpbGUYAiABKAkSDQoFYmVnaW4YAyABKAUSCwoD", |
|
|
|
|
"ZW5kGAQgASgFQlgKE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQ", |
|
|
|
|
"cm90b3NIAVoKZGVzY3JpcHRvcqICA0dQQqoCGkdvb2dsZS5Qcm90b2J1Zi5S", |
|
|
|
|
"ZWZsZWN0aW9u")); |
|
|
|
|
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, |
|
|
|
|
new pbr::FileDescriptor[] { }, |
|
|
|
|
new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] { |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.FileDescriptorSet), global::Google.Protobuf.Reflection.FileDescriptorSet.Parser, new[]{ "File" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.FileDescriptorProto), global::Google.Protobuf.Reflection.FileDescriptorProto.Parser, new[]{ "Name", "Package", "Dependency", "PublicDependency", "WeakDependency", "MessageType", "EnumType", "Service", "Extension", "Options", "SourceCodeInfo", "Syntax" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.DescriptorProto), global::Google.Protobuf.Reflection.DescriptorProto.Parser, new[]{ "Name", "Field", "Extension", "NestedType", "EnumType", "ExtensionRange", "OneofDecl", "Options", "ReservedRange", "ReservedName" }, null, null, new pbr::GeneratedCodeInfo[] { new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange), global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.Parser, new[]{ "Start", "End" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange), global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.Parser, new[]{ "Start", "End" }, null, null, null)}), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.FieldDescriptorProto), global::Google.Protobuf.Reflection.FieldDescriptorProto.Parser, new[]{ "Name", "Number", "Label", "Type", "TypeName", "Extendee", "DefaultValue", "OneofIndex", "JsonName", "Options" }, null, new[]{ typeof(global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type), typeof(global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label) }, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.OneofDescriptorProto), global::Google.Protobuf.Reflection.OneofDescriptorProto.Parser, new[]{ "Name" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.EnumDescriptorProto), global::Google.Protobuf.Reflection.EnumDescriptorProto.Parser, new[]{ "Name", "Value", "Options" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.EnumValueDescriptorProto), global::Google.Protobuf.Reflection.EnumValueDescriptorProto.Parser, new[]{ "Name", "Number", "Options" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.ServiceDescriptorProto), global::Google.Protobuf.Reflection.ServiceDescriptorProto.Parser, new[]{ "Name", "Method", "Options" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.MethodDescriptorProto), global::Google.Protobuf.Reflection.MethodDescriptorProto.Parser, new[]{ "Name", "InputType", "OutputType", "Options", "ClientStreaming", "ServerStreaming" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.FileOptions), global::Google.Protobuf.Reflection.FileOptions.Parser, new[]{ "JavaPackage", "JavaOuterClassname", "JavaMultipleFiles", "JavaGenerateEqualsAndHash", "JavaStringCheckUtf8", "OptimizeFor", "GoPackage", "CcGenericServices", "JavaGenericServices", "PyGenericServices", "Deprecated", "CcEnableArenas", "ObjcClassPrefix", "CsharpNamespace", "JavananoUseDeprecatedPackage", "UninterpretedOption" }, null, new[]{ typeof(global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode) }, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.MessageOptions), global::Google.Protobuf.Reflection.MessageOptions.Parser, new[]{ "MessageSetWireFormat", "NoStandardDescriptorAccessor", "Deprecated", "MapEntry", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.FieldOptions), global::Google.Protobuf.Reflection.FieldOptions.Parser, new[]{ "Ctype", "Packed", "Jstype", "Lazy", "Deprecated", "Weak", "UninterpretedOption" }, null, new[]{ typeof(global::Google.Protobuf.Reflection.FieldOptions.Types.CType), typeof(global::Google.Protobuf.Reflection.FieldOptions.Types.JSType) }, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.EnumOptions), global::Google.Protobuf.Reflection.EnumOptions.Parser, new[]{ "AllowAlias", "Deprecated", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.EnumValueOptions), global::Google.Protobuf.Reflection.EnumValueOptions.Parser, new[]{ "Deprecated", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.ServiceOptions), global::Google.Protobuf.Reflection.ServiceOptions.Parser, new[]{ "Deprecated", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.MethodOptions), global::Google.Protobuf.Reflection.MethodOptions.Parser, new[]{ "Deprecated", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.UninterpretedOption), global::Google.Protobuf.Reflection.UninterpretedOption.Parser, new[]{ "Name", "IdentifierValue", "PositiveIntValue", "NegativeIntValue", "DoubleValue", "StringValue", "AggregateValue" }, null, null, new pbr::GeneratedCodeInfo[] { new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart), global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart.Parser, new[]{ "NamePart_", "IsExtension" }, null, null, null)}), |
|
|
|
|
new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.SourceCodeInfo), global::Google.Protobuf.Reflection.SourceCodeInfo.Parser, new[]{ "Location" }, null, null, new pbr::GeneratedCodeInfo[] { new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location), global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.Parser, new[]{ "Path", "Span", "LeadingComments", "TrailingComments", "LeadingDetachedComments" }, null, null, null)}) |
|
|
|
|
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.FileDescriptorSet), global::Google.Protobuf.Reflection.FileDescriptorSet.Parser, new[]{ "File" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.FileDescriptorProto), global::Google.Protobuf.Reflection.FileDescriptorProto.Parser, new[]{ "Name", "Package", "Dependency", "PublicDependency", "WeakDependency", "MessageType", "EnumType", "Service", "Extension", "Options", "SourceCodeInfo", "Syntax" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.DescriptorProto), global::Google.Protobuf.Reflection.DescriptorProto.Parser, new[]{ "Name", "Field", "Extension", "NestedType", "EnumType", "ExtensionRange", "OneofDecl", "Options", "ReservedRange", "ReservedName" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange), global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.Parser, new[]{ "Start", "End" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange), global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.Parser, new[]{ "Start", "End" }, null, null, null)}), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.FieldDescriptorProto), global::Google.Protobuf.Reflection.FieldDescriptorProto.Parser, new[]{ "Name", "Number", "Label", "Type", "TypeName", "Extendee", "DefaultValue", "OneofIndex", "JsonName", "Options" }, null, new[]{ typeof(global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type), typeof(global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label) }, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.OneofDescriptorProto), global::Google.Protobuf.Reflection.OneofDescriptorProto.Parser, new[]{ "Name" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.EnumDescriptorProto), global::Google.Protobuf.Reflection.EnumDescriptorProto.Parser, new[]{ "Name", "Value", "Options" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.EnumValueDescriptorProto), global::Google.Protobuf.Reflection.EnumValueDescriptorProto.Parser, new[]{ "Name", "Number", "Options" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.ServiceDescriptorProto), global::Google.Protobuf.Reflection.ServiceDescriptorProto.Parser, new[]{ "Name", "Method", "Options" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.MethodDescriptorProto), global::Google.Protobuf.Reflection.MethodDescriptorProto.Parser, new[]{ "Name", "InputType", "OutputType", "Options", "ClientStreaming", "ServerStreaming" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.FileOptions), global::Google.Protobuf.Reflection.FileOptions.Parser, new[]{ "JavaPackage", "JavaOuterClassname", "JavaMultipleFiles", "JavaGenerateEqualsAndHash", "JavaStringCheckUtf8", "OptimizeFor", "GoPackage", "CcGenericServices", "JavaGenericServices", "PyGenericServices", "Deprecated", "CcEnableArenas", "ObjcClassPrefix", "CsharpNamespace", "JavananoUseDeprecatedPackage", "UninterpretedOption" }, null, new[]{ typeof(global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode) }, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.MessageOptions), global::Google.Protobuf.Reflection.MessageOptions.Parser, new[]{ "MessageSetWireFormat", "NoStandardDescriptorAccessor", "Deprecated", "MapEntry", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.FieldOptions), global::Google.Protobuf.Reflection.FieldOptions.Parser, new[]{ "Ctype", "Packed", "Jstype", "Lazy", "Deprecated", "Weak", "UninterpretedOption" }, null, new[]{ typeof(global::Google.Protobuf.Reflection.FieldOptions.Types.CType), typeof(global::Google.Protobuf.Reflection.FieldOptions.Types.JSType) }, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.EnumOptions), global::Google.Protobuf.Reflection.EnumOptions.Parser, new[]{ "AllowAlias", "Deprecated", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.EnumValueOptions), global::Google.Protobuf.Reflection.EnumValueOptions.Parser, new[]{ "Deprecated", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.ServiceOptions), global::Google.Protobuf.Reflection.ServiceOptions.Parser, new[]{ "Deprecated", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.MethodOptions), global::Google.Protobuf.Reflection.MethodOptions.Parser, new[]{ "Deprecated", "UninterpretedOption" }, null, null, null), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.UninterpretedOption), global::Google.Protobuf.Reflection.UninterpretedOption.Parser, new[]{ "Name", "IdentifierValue", "PositiveIntValue", "NegativeIntValue", "DoubleValue", "StringValue", "AggregateValue" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart), global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart.Parser, new[]{ "NamePart_", "IsExtension" }, null, null, null)}), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.SourceCodeInfo), global::Google.Protobuf.Reflection.SourceCodeInfo.Parser, new[]{ "Location" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location), global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.Parser, new[]{ "Path", "Span", "LeadingComments", "TrailingComments", "LeadingDetachedComments" }, null, null, null)}), |
|
|
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.GeneratedCodeInfo), global::Google.Protobuf.Reflection.GeneratedCodeInfo.Parser, new[]{ "Annotation" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation), global::Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.Parser, new[]{ "Path", "SourceFile", "Begin", "End" }, null, null, null)}) |
|
|
|
|
})); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
@ -2792,6 +2797,7 @@ namespace Google.Protobuf.Reflection { |
|
|
|
|
/// Whether the nano proto compiler should generate in the deprecated non-nano |
|
|
|
|
/// suffixed package. |
|
|
|
|
/// </summary> |
|
|
|
|
[global::System.ObsoleteAttribute()] |
|
|
|
|
public bool JavananoUseDeprecatedPackage { |
|
|
|
|
get { return javananoUseDeprecatedPackage_; } |
|
|
|
|
set { |
|
|
|
@ -5137,6 +5143,310 @@ namespace Google.Protobuf.Reflection { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
/// Describes the relationship between generated code and its original source |
|
|
|
|
/// file. A GeneratedCodeInfo message is associated with only one generated |
|
|
|
|
/// source file, but may contain references to different source .proto files. |
|
|
|
|
/// </summary> |
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|
|
|
|
internal sealed partial class GeneratedCodeInfo : pb::IMessage<GeneratedCodeInfo> { |
|
|
|
|
private static readonly pb::MessageParser<GeneratedCodeInfo> _parser = new pb::MessageParser<GeneratedCodeInfo>(() => new GeneratedCodeInfo()); |
|
|
|
|
public static pb::MessageParser<GeneratedCodeInfo> Parser { get { return _parser; } } |
|
|
|
|
|
|
|
|
|
public static pbr::MessageDescriptor Descriptor { |
|
|
|
|
get { return global::Google.Protobuf.Reflection.DescriptorReflection.Descriptor.MessageTypes[18]; } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor { |
|
|
|
|
get { return Descriptor; } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public GeneratedCodeInfo() { |
|
|
|
|
OnConstruction(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
partial void OnConstruction(); |
|
|
|
|
|
|
|
|
|
public GeneratedCodeInfo(GeneratedCodeInfo other) : this() { |
|
|
|
|
annotation_ = other.annotation_.Clone(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public GeneratedCodeInfo Clone() { |
|
|
|
|
return new GeneratedCodeInfo(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary>Field number for the "annotation" field.</summary> |
|
|
|
|
public const int AnnotationFieldNumber = 1; |
|
|
|
|
private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation> _repeated_annotation_codec |
|
|
|
|
= pb::FieldCodec.ForMessage(10, global::Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.Parser); |
|
|
|
|
private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation> annotation_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation>(); |
|
|
|
|
/// <summary> |
|
|
|
|
/// An Annotation connects some span of text in generated code to an element |
|
|
|
|
/// of its generating .proto file. |
|
|
|
|
/// </summary> |
|
|
|
|
public pbc::RepeatedField<global::Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation> Annotation { |
|
|
|
|
get { return annotation_; } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override bool Equals(object other) { |
|
|
|
|
return Equals(other as GeneratedCodeInfo); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public bool Equals(GeneratedCodeInfo other) { |
|
|
|
|
if (ReferenceEquals(other, null)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
if (ReferenceEquals(other, this)) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
if(!annotation_.Equals(other.annotation_)) return false; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override int GetHashCode() { |
|
|
|
|
int hash = 1; |
|
|
|
|
hash ^= annotation_.GetHashCode(); |
|
|
|
|
return hash; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override string ToString() { |
|
|
|
|
return pb::JsonFormatter.ToDiagnosticString(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void WriteTo(pb::CodedOutputStream output) { |
|
|
|
|
annotation_.WriteTo(output, _repeated_annotation_codec); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public int CalculateSize() { |
|
|
|
|
int size = 0; |
|
|
|
|
size += annotation_.CalculateSize(_repeated_annotation_codec); |
|
|
|
|
return size; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void MergeFrom(GeneratedCodeInfo other) { |
|
|
|
|
if (other == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
annotation_.Add(other.annotation_); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void MergeFrom(pb::CodedInputStream input) { |
|
|
|
|
uint tag; |
|
|
|
|
while ((tag = input.ReadTag()) != 0) { |
|
|
|
|
switch(tag) { |
|
|
|
|
default: |
|
|
|
|
input.SkipLastField(); |
|
|
|
|
break; |
|
|
|
|
case 10: { |
|
|
|
|
annotation_.AddEntriesFrom(input, _repeated_annotation_codec); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#region Nested types |
|
|
|
|
/// <summary>Container for nested types declared in the GeneratedCodeInfo message type.</summary> |
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|
|
|
|
public static partial class Types { |
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|
|
|
|
internal sealed partial class Annotation : pb::IMessage<Annotation> { |
|
|
|
|
private static readonly pb::MessageParser<Annotation> _parser = new pb::MessageParser<Annotation>(() => new Annotation()); |
|
|
|
|
public static pb::MessageParser<Annotation> Parser { get { return _parser; } } |
|
|
|
|
|
|
|
|
|
public static pbr::MessageDescriptor Descriptor { |
|
|
|
|
get { return global::Google.Protobuf.Reflection.GeneratedCodeInfo.Descriptor.NestedTypes[0]; } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor { |
|
|
|
|
get { return Descriptor; } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Annotation() { |
|
|
|
|
OnConstruction(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
partial void OnConstruction(); |
|
|
|
|
|
|
|
|
|
public Annotation(Annotation other) : this() { |
|
|
|
|
path_ = other.path_.Clone(); |
|
|
|
|
sourceFile_ = other.sourceFile_; |
|
|
|
|
begin_ = other.begin_; |
|
|
|
|
end_ = other.end_; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Annotation Clone() { |
|
|
|
|
return new Annotation(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary>Field number for the "path" field.</summary> |
|
|
|
|
public const int PathFieldNumber = 1; |
|
|
|
|
private static readonly pb::FieldCodec<int> _repeated_path_codec |
|
|
|
|
= pb::FieldCodec.ForInt32(10); |
|
|
|
|
private readonly pbc::RepeatedField<int> path_ = new pbc::RepeatedField<int>(); |
|
|
|
|
/// <summary> |
|
|
|
|
/// Identifies the element in the original source .proto file. This field |
|
|
|
|
/// is formatted the same as SourceCodeInfo.Location.path. |
|
|
|
|
/// </summary> |
|
|
|
|
public pbc::RepeatedField<int> Path { |
|
|
|
|
get { return path_; } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary>Field number for the "source_file" field.</summary> |
|
|
|
|
public const int SourceFileFieldNumber = 2; |
|
|
|
|
private string sourceFile_ = ""; |
|
|
|
|
/// <summary> |
|
|
|
|
/// Identifies the filesystem path to the original source .proto. |
|
|
|
|
/// </summary> |
|
|
|
|
public string SourceFile { |
|
|
|
|
get { return sourceFile_; } |
|
|
|
|
set { |
|
|
|
|
sourceFile_ = pb::Preconditions.CheckNotNull(value, "value"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary>Field number for the "begin" field.</summary> |
|
|
|
|
public const int BeginFieldNumber = 3; |
|
|
|
|
private int begin_; |
|
|
|
|
/// <summary> |
|
|
|
|
/// Identifies the starting offset in bytes in the generated code |
|
|
|
|
/// that relates to the identified object. |
|
|
|
|
/// </summary> |
|
|
|
|
public int Begin { |
|
|
|
|
get { return begin_; } |
|
|
|
|
set { |
|
|
|
|
begin_ = value; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary>Field number for the "end" field.</summary> |
|
|
|
|
public const int EndFieldNumber = 4; |
|
|
|
|
private int end_; |
|
|
|
|
/// <summary> |
|
|
|
|
/// Identifies the ending offset in bytes in the generated code that |
|
|
|
|
/// relates to the identified offset. The end offset should be one past |
|
|
|
|
/// the last relevant byte (so the length of the text = end - begin). |
|
|
|
|
/// </summary> |
|
|
|
|
public int End { |
|
|
|
|
get { return end_; } |
|
|
|
|
set { |
|
|
|
|
end_ = value; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override bool Equals(object other) { |
|
|
|
|
return Equals(other as Annotation); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public bool Equals(Annotation other) { |
|
|
|
|
if (ReferenceEquals(other, null)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
if (ReferenceEquals(other, this)) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
if(!path_.Equals(other.path_)) return false; |
|
|
|
|
if (SourceFile != other.SourceFile) return false; |
|
|
|
|
if (Begin != other.Begin) return false; |
|
|
|
|
if (End != other.End) return false; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override int GetHashCode() { |
|
|
|
|
int hash = 1; |
|
|
|
|
hash ^= path_.GetHashCode(); |
|
|
|
|
if (SourceFile.Length != 0) hash ^= SourceFile.GetHashCode(); |
|
|
|
|
if (Begin != 0) hash ^= Begin.GetHashCode(); |
|
|
|
|
if (End != 0) hash ^= End.GetHashCode(); |
|
|
|
|
return hash; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override string ToString() { |
|
|
|
|
return pb::JsonFormatter.ToDiagnosticString(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void WriteTo(pb::CodedOutputStream output) { |
|
|
|
|
path_.WriteTo(output, _repeated_path_codec); |
|
|
|
|
if (SourceFile.Length != 0) { |
|
|
|
|
output.WriteRawTag(18); |
|
|
|
|
output.WriteString(SourceFile); |
|
|
|
|
} |
|
|
|
|
if (Begin != 0) { |
|
|
|
|
output.WriteRawTag(24); |
|
|
|
|
output.WriteInt32(Begin); |
|
|
|
|
} |
|
|
|
|
if (End != 0) { |
|
|
|
|
output.WriteRawTag(32); |
|
|
|
|
output.WriteInt32(End); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public int CalculateSize() { |
|
|
|
|
int size = 0; |
|
|
|
|
size += path_.CalculateSize(_repeated_path_codec); |
|
|
|
|
if (SourceFile.Length != 0) { |
|
|
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(SourceFile); |
|
|
|
|
} |
|
|
|
|
if (Begin != 0) { |
|
|
|
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Begin); |
|
|
|
|
} |
|
|
|
|
if (End != 0) { |
|
|
|
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(End); |
|
|
|
|
} |
|
|
|
|
return size; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void MergeFrom(Annotation other) { |
|
|
|
|
if (other == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
path_.Add(other.path_); |
|
|
|
|
if (other.SourceFile.Length != 0) { |
|
|
|
|
SourceFile = other.SourceFile; |
|
|
|
|
} |
|
|
|
|
if (other.Begin != 0) { |
|
|
|
|
Begin = other.Begin; |
|
|
|
|
} |
|
|
|
|
if (other.End != 0) { |
|
|
|
|
End = other.End; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void MergeFrom(pb::CodedInputStream input) { |
|
|
|
|
uint tag; |
|
|
|
|
while ((tag = input.ReadTag()) != 0) { |
|
|
|
|
switch(tag) { |
|
|
|
|
default: |
|
|
|
|
input.SkipLastField(); |
|
|
|
|
break; |
|
|
|
|
case 10: |
|
|
|
|
case 8: { |
|
|
|
|
path_.AddEntriesFrom(input, _repeated_path_codec); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case 18: { |
|
|
|
|
SourceFile = input.ReadString(); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case 24: { |
|
|
|
|
Begin = input.ReadInt32(); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case 32: { |
|
|
|
|
End = input.ReadInt32(); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|