// DO NOT EDIT.
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: google/protobuf/unittest.proto
//
// For information on using the generated types, please see the documenation:
//   https://github.com/apple/swift-protobuf/

// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc.  All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
//     * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//     * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

// Author: kenton@google.com (Kenton Varda)
//  Based on original Protocol Buffers design by
//  Sanjay Ghemawat, Jeff Dean, and others.
//
// A proto file we will use for unit testing.
//
// LINT: ALLOW_GROUPS, LEGACY_NAMES

import Foundation
import SwiftProtobuf

// If the compiler emits an error on this type, it is because this file
// was generated by a version of the `protoc` Swift plug-in that is
// incompatible with the version of SwiftProtobuf to which you are linking.
// Please ensure that your are building against the same version of the API
// that was used to generate this file.
fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck {
  struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {}
  typealias Version = _2
}

enum ProtobufUnittest_ForeignEnum: SwiftProtobuf.Enum {
  typealias RawValue = Int
  case foreignFoo // = 4
  case foreignBar // = 5
  case foreignBaz // = 6

  init() {
    self = .foreignFoo
  }

  init?(rawValue: Int) {
    switch rawValue {
    case 4: self = .foreignFoo
    case 5: self = .foreignBar
    case 6: self = .foreignBaz
    default: return nil
    }
  }

  var rawValue: Int {
    switch self {
    case .foreignFoo: return 4
    case .foreignBar: return 5
    case .foreignBaz: return 6
    }
  }

}

#if swift(>=4.2)

extension ProtobufUnittest_ForeignEnum: CaseIterable {
  // Support synthesized by the compiler.
}

#endif  // swift(>=4.2)

/// Test an enum that has multiple values with the same number.
enum ProtobufUnittest_TestEnumWithDupValue: SwiftProtobuf.Enum {
  typealias RawValue = Int
  case foo1 // = 1
  case bar1 // = 2
  case baz // = 3
  static let foo2 = foo1
  static let bar2 = bar1

  init() {
    self = .foo1
  }

  init?(rawValue: Int) {
    switch rawValue {
    case 1: self = .foo1
    case 2: self = .bar1
    case 3: self = .baz
    default: return nil
    }
  }

  var rawValue: Int {
    switch self {
    case .foo1: return 1
    case .bar1: return 2
    case .baz: return 3
    }
  }

}

#if swift(>=4.2)

extension ProtobufUnittest_TestEnumWithDupValue: CaseIterable {
  // Support synthesized by the compiler.
}

#endif  // swift(>=4.2)

/// Test an enum with large, unordered values.
enum ProtobufUnittest_TestSparseEnum: SwiftProtobuf.Enum {
  typealias RawValue = Int
  case sparseA // = 123
  case sparseB // = 62374
  case sparseC // = 12589234
  case sparseD // = -15
  case sparseE // = -53452
  case sparseF // = 0
  case sparseG // = 2

  init() {
    self = .sparseA
  }

  init?(rawValue: Int) {
    switch rawValue {
    case -53452: self = .sparseE
    case -15: self = .sparseD
    case 0: self = .sparseF
    case 2: self = .sparseG
    case 123: self = .sparseA
    case 62374: self = .sparseB
    case 12589234: self = .sparseC
    default: return nil
    }
  }

  var rawValue: Int {
    switch self {
    case .sparseE: return -53452
    case .sparseD: return -15
    case .sparseF: return 0
    case .sparseG: return 2
    case .sparseA: return 123
    case .sparseB: return 62374
    case .sparseC: return 12589234
    }
  }

}

#if swift(>=4.2)

extension ProtobufUnittest_TestSparseEnum: CaseIterable {
  // Support synthesized by the compiler.
}

#endif  // swift(>=4.2)

enum ProtobufUnittest_VeryLargeEnum: SwiftProtobuf.Enum {
  typealias RawValue = Int
  case enumLabelDefault // = 0
  case enumLabel1 // = 1
  case enumLabel2 // = 2
  case enumLabel3 // = 3
  case enumLabel4 // = 4
  case enumLabel5 // = 5
  case enumLabel6 // = 6
  case enumLabel7 // = 7
  case enumLabel8 // = 8
  case enumLabel9 // = 9
  case enumLabel10 // = 10
  case enumLabel11 // = 11
  case enumLabel12 // = 12
  case enumLabel13 // = 13
  case enumLabel14 // = 14
  case enumLabel15 // = 15
  case enumLabel16 // = 16
  case enumLabel17 // = 17
  case enumLabel18 // = 18
  case enumLabel19 // = 19
  case enumLabel20 // = 20
  case enumLabel21 // = 21
  case enumLabel22 // = 22
  case enumLabel23 // = 23
  case enumLabel24 // = 24
  case enumLabel25 // = 25
  case enumLabel26 // = 26
  case enumLabel27 // = 27
  case enumLabel28 // = 28
  case enumLabel29 // = 29
  case enumLabel30 // = 30
  case enumLabel31 // = 31
  case enumLabel32 // = 32
  case enumLabel33 // = 33
  case enumLabel34 // = 34
  case enumLabel35 // = 35
  case enumLabel36 // = 36
  case enumLabel37 // = 37
  case enumLabel38 // = 38
  case enumLabel39 // = 39
  case enumLabel40 // = 40
  case enumLabel41 // = 41
  case enumLabel42 // = 42
  case enumLabel43 // = 43
  case enumLabel44 // = 44
  case enumLabel45 // = 45
  case enumLabel46 // = 46
  case enumLabel47 // = 47
  case enumLabel48 // = 48
  case enumLabel49 // = 49
  case enumLabel50 // = 50
  case enumLabel51 // = 51
  case enumLabel52 // = 52
  case enumLabel53 // = 53
  case enumLabel54 // = 54
  case enumLabel55 // = 55
  case enumLabel56 // = 56
  case enumLabel57 // = 57
  case enumLabel58 // = 58
  case enumLabel59 // = 59
  case enumLabel60 // = 60
  case enumLabel61 // = 61
  case enumLabel62 // = 62
  case enumLabel63 // = 63
  case enumLabel64 // = 64
  case enumLabel65 // = 65
  case enumLabel66 // = 66
  case enumLabel67 // = 67
  case enumLabel68 // = 68
  case enumLabel69 // = 69
  case enumLabel70 // = 70
  case enumLabel71 // = 71
  case enumLabel72 // = 72
  case enumLabel73 // = 73
  case enumLabel74 // = 74
  case enumLabel75 // = 75
  case enumLabel76 // = 76
  case enumLabel77 // = 77
  case enumLabel78 // = 78
  case enumLabel79 // = 79
  case enumLabel80 // = 80
  case enumLabel81 // = 81
  case enumLabel82 // = 82
  case enumLabel83 // = 83
  case enumLabel84 // = 84
  case enumLabel85 // = 85
  case enumLabel86 // = 86
  case enumLabel87 // = 87
  case enumLabel88 // = 88
  case enumLabel89 // = 89
  case enumLabel90 // = 90
  case enumLabel91 // = 91
  case enumLabel92 // = 92
  case enumLabel93 // = 93
  case enumLabel94 // = 94
  case enumLabel95 // = 95
  case enumLabel96 // = 96
  case enumLabel97 // = 97
  case enumLabel98 // = 98
  case enumLabel99 // = 99
  case enumLabel100 // = 100

  init() {
    self = .enumLabelDefault
  }

  init?(rawValue: Int) {
    switch rawValue {
    case 0: self = .enumLabelDefault
    case 1: self = .enumLabel1
    case 2: self = .enumLabel2
    case 3: self = .enumLabel3
    case 4: self = .enumLabel4
    case 5: self = .enumLabel5
    case 6: self = .enumLabel6
    case 7: self = .enumLabel7
    case 8: self = .enumLabel8
    case 9: self = .enumLabel9
    case 10: self = .enumLabel10
    case 11: self = .enumLabel11
    case 12: self = .enumLabel12
    case 13: self = .enumLabel13
    case 14: self = .enumLabel14
    case 15: self = .enumLabel15
    case 16: self = .enumLabel16
    case 17: self = .enumLabel17
    case 18: self = .enumLabel18
    case 19: self = .enumLabel19
    case 20: self = .enumLabel20
    case 21: self = .enumLabel21
    case 22: self = .enumLabel22
    case 23: self = .enumLabel23
    case 24: self = .enumLabel24
    case 25: self = .enumLabel25
    case 26: self = .enumLabel26
    case 27: self = .enumLabel27
    case 28: self = .enumLabel28
    case 29: self = .enumLabel29
    case 30: self = .enumLabel30
    case 31: self = .enumLabel31
    case 32: self = .enumLabel32
    case 33: self = .enumLabel33
    case 34: self = .enumLabel34
    case 35: self = .enumLabel35
    case 36: self = .enumLabel36
    case 37: self = .enumLabel37
    case 38: self = .enumLabel38
    case 39: self = .enumLabel39
    case 40: self = .enumLabel40
    case 41: self = .enumLabel41
    case 42: self = .enumLabel42
    case 43: self = .enumLabel43
    case 44: self = .enumLabel44
    case 45: self = .enumLabel45
    case 46: self = .enumLabel46
    case 47: self = .enumLabel47
    case 48: self = .enumLabel48
    case 49: self = .enumLabel49
    case 50: self = .enumLabel50
    case 51: self = .enumLabel51
    case 52: self = .enumLabel52
    case 53: self = .enumLabel53
    case 54: self = .enumLabel54
    case 55: self = .enumLabel55
    case 56: self = .enumLabel56
    case 57: self = .enumLabel57
    case 58: self = .enumLabel58
    case 59: self = .enumLabel59
    case 60: self = .enumLabel60
    case 61: self = .enumLabel61
    case 62: self = .enumLabel62
    case 63: self = .enumLabel63
    case 64: self = .enumLabel64
    case 65: self = .enumLabel65
    case 66: self = .enumLabel66
    case 67: self = .enumLabel67
    case 68: self = .enumLabel68
    case 69: self = .enumLabel69
    case 70: self = .enumLabel70
    case 71: self = .enumLabel71
    case 72: self = .enumLabel72
    case 73: self = .enumLabel73
    case 74: self = .enumLabel74
    case 75: self = .enumLabel75
    case 76: self = .enumLabel76
    case 77: self = .enumLabel77
    case 78: self = .enumLabel78
    case 79: self = .enumLabel79
    case 80: self = .enumLabel80
    case 81: self = .enumLabel81
    case 82: self = .enumLabel82
    case 83: self = .enumLabel83
    case 84: self = .enumLabel84
    case 85: self = .enumLabel85
    case 86: self = .enumLabel86
    case 87: self = .enumLabel87
    case 88: self = .enumLabel88
    case 89: self = .enumLabel89
    case 90: self = .enumLabel90
    case 91: self = .enumLabel91
    case 92: self = .enumLabel92
    case 93: self = .enumLabel93
    case 94: self = .enumLabel94
    case 95: self = .enumLabel95
    case 96: self = .enumLabel96
    case 97: self = .enumLabel97
    case 98: self = .enumLabel98
    case 99: self = .enumLabel99
    case 100: self = .enumLabel100
    default: return nil
    }
  }

  var rawValue: Int {
    switch self {
    case .enumLabelDefault: return 0
    case .enumLabel1: return 1
    case .enumLabel2: return 2
    case .enumLabel3: return 3
    case .enumLabel4: return 4
    case .enumLabel5: return 5
    case .enumLabel6: return 6
    case .enumLabel7: return 7
    case .enumLabel8: return 8
    case .enumLabel9: return 9
    case .enumLabel10: return 10
    case .enumLabel11: return 11
    case .enumLabel12: return 12
    case .enumLabel13: return 13
    case .enumLabel14: return 14
    case .enumLabel15: return 15
    case .enumLabel16: return 16
    case .enumLabel17: return 17
    case .enumLabel18: return 18
    case .enumLabel19: return 19
    case .enumLabel20: return 20
    case .enumLabel21: return 21
    case .enumLabel22: return 22
    case .enumLabel23: return 23
    case .enumLabel24: return 24
    case .enumLabel25: return 25
    case .enumLabel26: return 26
    case .enumLabel27: return 27
    case .enumLabel28: return 28
    case .enumLabel29: return 29
    case .enumLabel30: return 30
    case .enumLabel31: return 31
    case .enumLabel32: return 32
    case .enumLabel33: return 33
    case .enumLabel34: return 34
    case .enumLabel35: return 35
    case .enumLabel36: return 36
    case .enumLabel37: return 37
    case .enumLabel38: return 38
    case .enumLabel39: return 39
    case .enumLabel40: return 40
    case .enumLabel41: return 41
    case .enumLabel42: return 42
    case .enumLabel43: return 43
    case .enumLabel44: return 44
    case .enumLabel45: return 45
    case .enumLabel46: return 46
    case .enumLabel47: return 47
    case .enumLabel48: return 48
    case .enumLabel49: return 49
    case .enumLabel50: return 50
    case .enumLabel51: return 51
    case .enumLabel52: return 52
    case .enumLabel53: return 53
    case .enumLabel54: return 54
    case .enumLabel55: return 55
    case .enumLabel56: return 56
    case .enumLabel57: return 57
    case .enumLabel58: return 58
    case .enumLabel59: return 59
    case .enumLabel60: return 60
    case .enumLabel61: return 61
    case .enumLabel62: return 62
    case .enumLabel63: return 63
    case .enumLabel64: return 64
    case .enumLabel65: return 65
    case .enumLabel66: return 66
    case .enumLabel67: return 67
    case .enumLabel68: return 68
    case .enumLabel69: return 69
    case .enumLabel70: return 70
    case .enumLabel71: return 71
    case .enumLabel72: return 72
    case .enumLabel73: return 73
    case .enumLabel74: return 74
    case .enumLabel75: return 75
    case .enumLabel76: return 76
    case .enumLabel77: return 77
    case .enumLabel78: return 78
    case .enumLabel79: return 79
    case .enumLabel80: return 80
    case .enumLabel81: return 81
    case .enumLabel82: return 82
    case .enumLabel83: return 83
    case .enumLabel84: return 84
    case .enumLabel85: return 85
    case .enumLabel86: return 86
    case .enumLabel87: return 87
    case .enumLabel88: return 88
    case .enumLabel89: return 89
    case .enumLabel90: return 90
    case .enumLabel91: return 91
    case .enumLabel92: return 92
    case .enumLabel93: return 93
    case .enumLabel94: return 94
    case .enumLabel95: return 95
    case .enumLabel96: return 96
    case .enumLabel97: return 97
    case .enumLabel98: return 98
    case .enumLabel99: return 99
    case .enumLabel100: return 100
    }
  }

}

#if swift(>=4.2)

extension ProtobufUnittest_VeryLargeEnum: CaseIterable {
  // Support synthesized by the compiler.
}

#endif  // swift(>=4.2)

/// This proto includes every type of field in both singular and repeated
/// forms.
struct ProtobufUnittest_TestAllTypes {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  /// Singular
  var optionalInt32: Int32 {
    get {return _storage._optionalInt32 ?? 0}
    set {_uniqueStorage()._optionalInt32 = newValue}
  }
  /// Returns true if `optionalInt32` has been explicitly set.
  var hasOptionalInt32: Bool {return _storage._optionalInt32 != nil}
  /// Clears the value of `optionalInt32`. Subsequent reads from it will return its default value.
  mutating func clearOptionalInt32() {_uniqueStorage()._optionalInt32 = nil}

  var optionalInt64: Int64 {
    get {return _storage._optionalInt64 ?? 0}
    set {_uniqueStorage()._optionalInt64 = newValue}
  }
  /// Returns true if `optionalInt64` has been explicitly set.
  var hasOptionalInt64: Bool {return _storage._optionalInt64 != nil}
  /// Clears the value of `optionalInt64`. Subsequent reads from it will return its default value.
  mutating func clearOptionalInt64() {_uniqueStorage()._optionalInt64 = nil}

  var optionalUint32: UInt32 {
    get {return _storage._optionalUint32 ?? 0}
    set {_uniqueStorage()._optionalUint32 = newValue}
  }
  /// Returns true if `optionalUint32` has been explicitly set.
  var hasOptionalUint32: Bool {return _storage._optionalUint32 != nil}
  /// Clears the value of `optionalUint32`. Subsequent reads from it will return its default value.
  mutating func clearOptionalUint32() {_uniqueStorage()._optionalUint32 = nil}

  var optionalUint64: UInt64 {
    get {return _storage._optionalUint64 ?? 0}
    set {_uniqueStorage()._optionalUint64 = newValue}
  }
  /// Returns true if `optionalUint64` has been explicitly set.
  var hasOptionalUint64: Bool {return _storage._optionalUint64 != nil}
  /// Clears the value of `optionalUint64`. Subsequent reads from it will return its default value.
  mutating func clearOptionalUint64() {_uniqueStorage()._optionalUint64 = nil}

  var optionalSint32: Int32 {
    get {return _storage._optionalSint32 ?? 0}
    set {_uniqueStorage()._optionalSint32 = newValue}
  }
  /// Returns true if `optionalSint32` has been explicitly set.
  var hasOptionalSint32: Bool {return _storage._optionalSint32 != nil}
  /// Clears the value of `optionalSint32`. Subsequent reads from it will return its default value.
  mutating func clearOptionalSint32() {_uniqueStorage()._optionalSint32 = nil}

  var optionalSint64: Int64 {
    get {return _storage._optionalSint64 ?? 0}
    set {_uniqueStorage()._optionalSint64 = newValue}
  }
  /// Returns true if `optionalSint64` has been explicitly set.
  var hasOptionalSint64: Bool {return _storage._optionalSint64 != nil}
  /// Clears the value of `optionalSint64`. Subsequent reads from it will return its default value.
  mutating func clearOptionalSint64() {_uniqueStorage()._optionalSint64 = nil}

  var optionalFixed32: UInt32 {
    get {return _storage._optionalFixed32 ?? 0}
    set {_uniqueStorage()._optionalFixed32 = newValue}
  }
  /// Returns true if `optionalFixed32` has been explicitly set.
  var hasOptionalFixed32: Bool {return _storage._optionalFixed32 != nil}
  /// Clears the value of `optionalFixed32`. Subsequent reads from it will return its default value.
  mutating func clearOptionalFixed32() {_uniqueStorage()._optionalFixed32 = nil}

  var optionalFixed64: UInt64 {
    get {return _storage._optionalFixed64 ?? 0}
    set {_uniqueStorage()._optionalFixed64 = newValue}
  }
  /// Returns true if `optionalFixed64` has been explicitly set.
  var hasOptionalFixed64: Bool {return _storage._optionalFixed64 != nil}
  /// Clears the value of `optionalFixed64`. Subsequent reads from it will return its default value.
  mutating func clearOptionalFixed64() {_uniqueStorage()._optionalFixed64 = nil}

  var optionalSfixed32: Int32 {
    get {return _storage._optionalSfixed32 ?? 0}
    set {_uniqueStorage()._optionalSfixed32 = newValue}
  }
  /// Returns true if `optionalSfixed32` has been explicitly set.
  var hasOptionalSfixed32: Bool {return _storage._optionalSfixed32 != nil}
  /// Clears the value of `optionalSfixed32`. Subsequent reads from it will return its default value.
  mutating func clearOptionalSfixed32() {_uniqueStorage()._optionalSfixed32 = nil}

  var optionalSfixed64: Int64 {
    get {return _storage._optionalSfixed64 ?? 0}
    set {_uniqueStorage()._optionalSfixed64 = newValue}
  }
  /// Returns true if `optionalSfixed64` has been explicitly set.
  var hasOptionalSfixed64: Bool {return _storage._optionalSfixed64 != nil}
  /// Clears the value of `optionalSfixed64`. Subsequent reads from it will return its default value.
  mutating func clearOptionalSfixed64() {_uniqueStorage()._optionalSfixed64 = nil}

  var optionalFloat: Float {
    get {return _storage._optionalFloat ?? 0}
    set {_uniqueStorage()._optionalFloat = newValue}
  }
  /// Returns true if `optionalFloat` has been explicitly set.
  var hasOptionalFloat: Bool {return _storage._optionalFloat != nil}
  /// Clears the value of `optionalFloat`. Subsequent reads from it will return its default value.
  mutating func clearOptionalFloat() {_uniqueStorage()._optionalFloat = nil}

  var optionalDouble: Double {
    get {return _storage._optionalDouble ?? 0}
    set {_uniqueStorage()._optionalDouble = newValue}
  }
  /// Returns true if `optionalDouble` has been explicitly set.
  var hasOptionalDouble: Bool {return _storage._optionalDouble != nil}
  /// Clears the value of `optionalDouble`. Subsequent reads from it will return its default value.
  mutating func clearOptionalDouble() {_uniqueStorage()._optionalDouble = nil}

  var optionalBool: Bool {
    get {return _storage._optionalBool ?? false}
    set {_uniqueStorage()._optionalBool = newValue}
  }
  /// Returns true if `optionalBool` has been explicitly set.
  var hasOptionalBool: Bool {return _storage._optionalBool != nil}
  /// Clears the value of `optionalBool`. Subsequent reads from it will return its default value.
  mutating func clearOptionalBool() {_uniqueStorage()._optionalBool = nil}

  var optionalString: String {
    get {return _storage._optionalString ?? String()}
    set {_uniqueStorage()._optionalString = newValue}
  }
  /// Returns true if `optionalString` has been explicitly set.
  var hasOptionalString: Bool {return _storage._optionalString != nil}
  /// Clears the value of `optionalString`. Subsequent reads from it will return its default value.
  mutating func clearOptionalString() {_uniqueStorage()._optionalString = nil}

  var optionalBytes: Data {
    get {return _storage._optionalBytes ?? SwiftProtobuf.Internal.emptyData}
    set {_uniqueStorage()._optionalBytes = newValue}
  }
  /// Returns true if `optionalBytes` has been explicitly set.
  var hasOptionalBytes: Bool {return _storage._optionalBytes != nil}
  /// Clears the value of `optionalBytes`. Subsequent reads from it will return its default value.
  mutating func clearOptionalBytes() {_uniqueStorage()._optionalBytes = nil}

  var optionalGroup: ProtobufUnittest_TestAllTypes.OptionalGroup {
    get {return _storage._optionalGroup ?? ProtobufUnittest_TestAllTypes.OptionalGroup()}
    set {_uniqueStorage()._optionalGroup = newValue}
  }
  /// Returns true if `optionalGroup` has been explicitly set.
  var hasOptionalGroup: Bool {return _storage._optionalGroup != nil}
  /// Clears the value of `optionalGroup`. Subsequent reads from it will return its default value.
  mutating func clearOptionalGroup() {_uniqueStorage()._optionalGroup = nil}

  var optionalNestedMessage: ProtobufUnittest_TestAllTypes.NestedMessage {
    get {return _storage._optionalNestedMessage ?? ProtobufUnittest_TestAllTypes.NestedMessage()}
    set {_uniqueStorage()._optionalNestedMessage = newValue}
  }
  /// Returns true if `optionalNestedMessage` has been explicitly set.
  var hasOptionalNestedMessage: Bool {return _storage._optionalNestedMessage != nil}
  /// Clears the value of `optionalNestedMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalNestedMessage() {_uniqueStorage()._optionalNestedMessage = nil}

  var optionalForeignMessage: ProtobufUnittest_ForeignMessage {
    get {return _storage._optionalForeignMessage ?? ProtobufUnittest_ForeignMessage()}
    set {_uniqueStorage()._optionalForeignMessage = newValue}
  }
  /// Returns true if `optionalForeignMessage` has been explicitly set.
  var hasOptionalForeignMessage: Bool {return _storage._optionalForeignMessage != nil}
  /// Clears the value of `optionalForeignMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalForeignMessage() {_uniqueStorage()._optionalForeignMessage = nil}

  var optionalImportMessage: ProtobufUnittestImport_ImportMessage {
    get {return _storage._optionalImportMessage ?? ProtobufUnittestImport_ImportMessage()}
    set {_uniqueStorage()._optionalImportMessage = newValue}
  }
  /// Returns true if `optionalImportMessage` has been explicitly set.
  var hasOptionalImportMessage: Bool {return _storage._optionalImportMessage != nil}
  /// Clears the value of `optionalImportMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalImportMessage() {_uniqueStorage()._optionalImportMessage = nil}

  var optionalNestedEnum: ProtobufUnittest_TestAllTypes.NestedEnum {
    get {return _storage._optionalNestedEnum ?? .foo}
    set {_uniqueStorage()._optionalNestedEnum = newValue}
  }
  /// Returns true if `optionalNestedEnum` has been explicitly set.
  var hasOptionalNestedEnum: Bool {return _storage._optionalNestedEnum != nil}
  /// Clears the value of `optionalNestedEnum`. Subsequent reads from it will return its default value.
  mutating func clearOptionalNestedEnum() {_uniqueStorage()._optionalNestedEnum = nil}

  var optionalForeignEnum: ProtobufUnittest_ForeignEnum {
    get {return _storage._optionalForeignEnum ?? .foreignFoo}
    set {_uniqueStorage()._optionalForeignEnum = newValue}
  }
  /// Returns true if `optionalForeignEnum` has been explicitly set.
  var hasOptionalForeignEnum: Bool {return _storage._optionalForeignEnum != nil}
  /// Clears the value of `optionalForeignEnum`. Subsequent reads from it will return its default value.
  mutating func clearOptionalForeignEnum() {_uniqueStorage()._optionalForeignEnum = nil}

  var optionalImportEnum: ProtobufUnittestImport_ImportEnum {
    get {return _storage._optionalImportEnum ?? .importFoo}
    set {_uniqueStorage()._optionalImportEnum = newValue}
  }
  /// Returns true if `optionalImportEnum` has been explicitly set.
  var hasOptionalImportEnum: Bool {return _storage._optionalImportEnum != nil}
  /// Clears the value of `optionalImportEnum`. Subsequent reads from it will return its default value.
  mutating func clearOptionalImportEnum() {_uniqueStorage()._optionalImportEnum = nil}

  var optionalStringPiece: String {
    get {return _storage._optionalStringPiece ?? String()}
    set {_uniqueStorage()._optionalStringPiece = newValue}
  }
  /// Returns true if `optionalStringPiece` has been explicitly set.
  var hasOptionalStringPiece: Bool {return _storage._optionalStringPiece != nil}
  /// Clears the value of `optionalStringPiece`. Subsequent reads from it will return its default value.
  mutating func clearOptionalStringPiece() {_uniqueStorage()._optionalStringPiece = nil}

  var optionalCord: String {
    get {return _storage._optionalCord ?? String()}
    set {_uniqueStorage()._optionalCord = newValue}
  }
  /// Returns true if `optionalCord` has been explicitly set.
  var hasOptionalCord: Bool {return _storage._optionalCord != nil}
  /// Clears the value of `optionalCord`. Subsequent reads from it will return its default value.
  mutating func clearOptionalCord() {_uniqueStorage()._optionalCord = nil}

  /// Defined in unittest_import_public.proto
  var optionalPublicImportMessage: ProtobufUnittestImport_PublicImportMessage {
    get {return _storage._optionalPublicImportMessage ?? ProtobufUnittestImport_PublicImportMessage()}
    set {_uniqueStorage()._optionalPublicImportMessage = newValue}
  }
  /// Returns true if `optionalPublicImportMessage` has been explicitly set.
  var hasOptionalPublicImportMessage: Bool {return _storage._optionalPublicImportMessage != nil}
  /// Clears the value of `optionalPublicImportMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalPublicImportMessage() {_uniqueStorage()._optionalPublicImportMessage = nil}

  var optionalLazyMessage: ProtobufUnittest_TestAllTypes.NestedMessage {
    get {return _storage._optionalLazyMessage ?? ProtobufUnittest_TestAllTypes.NestedMessage()}
    set {_uniqueStorage()._optionalLazyMessage = newValue}
  }
  /// Returns true if `optionalLazyMessage` has been explicitly set.
  var hasOptionalLazyMessage: Bool {return _storage._optionalLazyMessage != nil}
  /// Clears the value of `optionalLazyMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalLazyMessage() {_uniqueStorage()._optionalLazyMessage = nil}

  /// Repeated
  var repeatedInt32: [Int32] {
    get {return _storage._repeatedInt32}
    set {_uniqueStorage()._repeatedInt32 = newValue}
  }

  var repeatedInt64: [Int64] {
    get {return _storage._repeatedInt64}
    set {_uniqueStorage()._repeatedInt64 = newValue}
  }

  var repeatedUint32: [UInt32] {
    get {return _storage._repeatedUint32}
    set {_uniqueStorage()._repeatedUint32 = newValue}
  }

  var repeatedUint64: [UInt64] {
    get {return _storage._repeatedUint64}
    set {_uniqueStorage()._repeatedUint64 = newValue}
  }

  var repeatedSint32: [Int32] {
    get {return _storage._repeatedSint32}
    set {_uniqueStorage()._repeatedSint32 = newValue}
  }

  var repeatedSint64: [Int64] {
    get {return _storage._repeatedSint64}
    set {_uniqueStorage()._repeatedSint64 = newValue}
  }

  var repeatedFixed32: [UInt32] {
    get {return _storage._repeatedFixed32}
    set {_uniqueStorage()._repeatedFixed32 = newValue}
  }

  var repeatedFixed64: [UInt64] {
    get {return _storage._repeatedFixed64}
    set {_uniqueStorage()._repeatedFixed64 = newValue}
  }

  var repeatedSfixed32: [Int32] {
    get {return _storage._repeatedSfixed32}
    set {_uniqueStorage()._repeatedSfixed32 = newValue}
  }

  var repeatedSfixed64: [Int64] {
    get {return _storage._repeatedSfixed64}
    set {_uniqueStorage()._repeatedSfixed64 = newValue}
  }

  var repeatedFloat: [Float] {
    get {return _storage._repeatedFloat}
    set {_uniqueStorage()._repeatedFloat = newValue}
  }

  var repeatedDouble: [Double] {
    get {return _storage._repeatedDouble}
    set {_uniqueStorage()._repeatedDouble = newValue}
  }

  var repeatedBool: [Bool] {
    get {return _storage._repeatedBool}
    set {_uniqueStorage()._repeatedBool = newValue}
  }

  var repeatedString: [String] {
    get {return _storage._repeatedString}
    set {_uniqueStorage()._repeatedString = newValue}
  }

  var repeatedBytes: [Data] {
    get {return _storage._repeatedBytes}
    set {_uniqueStorage()._repeatedBytes = newValue}
  }

  var repeatedGroup: [ProtobufUnittest_TestAllTypes.RepeatedGroup] {
    get {return _storage._repeatedGroup}
    set {_uniqueStorage()._repeatedGroup = newValue}
  }

  var repeatedNestedMessage: [ProtobufUnittest_TestAllTypes.NestedMessage] {
    get {return _storage._repeatedNestedMessage}
    set {_uniqueStorage()._repeatedNestedMessage = newValue}
  }

  var repeatedForeignMessage: [ProtobufUnittest_ForeignMessage] {
    get {return _storage._repeatedForeignMessage}
    set {_uniqueStorage()._repeatedForeignMessage = newValue}
  }

  var repeatedImportMessage: [ProtobufUnittestImport_ImportMessage] {
    get {return _storage._repeatedImportMessage}
    set {_uniqueStorage()._repeatedImportMessage = newValue}
  }

  var repeatedNestedEnum: [ProtobufUnittest_TestAllTypes.NestedEnum] {
    get {return _storage._repeatedNestedEnum}
    set {_uniqueStorage()._repeatedNestedEnum = newValue}
  }

  var repeatedForeignEnum: [ProtobufUnittest_ForeignEnum] {
    get {return _storage._repeatedForeignEnum}
    set {_uniqueStorage()._repeatedForeignEnum = newValue}
  }

  var repeatedImportEnum: [ProtobufUnittestImport_ImportEnum] {
    get {return _storage._repeatedImportEnum}
    set {_uniqueStorage()._repeatedImportEnum = newValue}
  }

  var repeatedStringPiece: [String] {
    get {return _storage._repeatedStringPiece}
    set {_uniqueStorage()._repeatedStringPiece = newValue}
  }

  var repeatedCord: [String] {
    get {return _storage._repeatedCord}
    set {_uniqueStorage()._repeatedCord = newValue}
  }

  var repeatedLazyMessage: [ProtobufUnittest_TestAllTypes.NestedMessage] {
    get {return _storage._repeatedLazyMessage}
    set {_uniqueStorage()._repeatedLazyMessage = newValue}
  }

  /// Singular with defaults
  var defaultInt32: Int32 {
    get {return _storage._defaultInt32 ?? 41}
    set {_uniqueStorage()._defaultInt32 = newValue}
  }
  /// Returns true if `defaultInt32` has been explicitly set.
  var hasDefaultInt32: Bool {return _storage._defaultInt32 != nil}
  /// Clears the value of `defaultInt32`. Subsequent reads from it will return its default value.
  mutating func clearDefaultInt32() {_uniqueStorage()._defaultInt32 = nil}

  var defaultInt64: Int64 {
    get {return _storage._defaultInt64 ?? 42}
    set {_uniqueStorage()._defaultInt64 = newValue}
  }
  /// Returns true if `defaultInt64` has been explicitly set.
  var hasDefaultInt64: Bool {return _storage._defaultInt64 != nil}
  /// Clears the value of `defaultInt64`. Subsequent reads from it will return its default value.
  mutating func clearDefaultInt64() {_uniqueStorage()._defaultInt64 = nil}

  var defaultUint32: UInt32 {
    get {return _storage._defaultUint32 ?? 43}
    set {_uniqueStorage()._defaultUint32 = newValue}
  }
  /// Returns true if `defaultUint32` has been explicitly set.
  var hasDefaultUint32: Bool {return _storage._defaultUint32 != nil}
  /// Clears the value of `defaultUint32`. Subsequent reads from it will return its default value.
  mutating func clearDefaultUint32() {_uniqueStorage()._defaultUint32 = nil}

  var defaultUint64: UInt64 {
    get {return _storage._defaultUint64 ?? 44}
    set {_uniqueStorage()._defaultUint64 = newValue}
  }
  /// Returns true if `defaultUint64` has been explicitly set.
  var hasDefaultUint64: Bool {return _storage._defaultUint64 != nil}
  /// Clears the value of `defaultUint64`. Subsequent reads from it will return its default value.
  mutating func clearDefaultUint64() {_uniqueStorage()._defaultUint64 = nil}

  var defaultSint32: Int32 {
    get {return _storage._defaultSint32 ?? -45}
    set {_uniqueStorage()._defaultSint32 = newValue}
  }
  /// Returns true if `defaultSint32` has been explicitly set.
  var hasDefaultSint32: Bool {return _storage._defaultSint32 != nil}
  /// Clears the value of `defaultSint32`. Subsequent reads from it will return its default value.
  mutating func clearDefaultSint32() {_uniqueStorage()._defaultSint32 = nil}

  var defaultSint64: Int64 {
    get {return _storage._defaultSint64 ?? 46}
    set {_uniqueStorage()._defaultSint64 = newValue}
  }
  /// Returns true if `defaultSint64` has been explicitly set.
  var hasDefaultSint64: Bool {return _storage._defaultSint64 != nil}
  /// Clears the value of `defaultSint64`. Subsequent reads from it will return its default value.
  mutating func clearDefaultSint64() {_uniqueStorage()._defaultSint64 = nil}

  var defaultFixed32: UInt32 {
    get {return _storage._defaultFixed32 ?? 47}
    set {_uniqueStorage()._defaultFixed32 = newValue}
  }
  /// Returns true if `defaultFixed32` has been explicitly set.
  var hasDefaultFixed32: Bool {return _storage._defaultFixed32 != nil}
  /// Clears the value of `defaultFixed32`. Subsequent reads from it will return its default value.
  mutating func clearDefaultFixed32() {_uniqueStorage()._defaultFixed32 = nil}

  var defaultFixed64: UInt64 {
    get {return _storage._defaultFixed64 ?? 48}
    set {_uniqueStorage()._defaultFixed64 = newValue}
  }
  /// Returns true if `defaultFixed64` has been explicitly set.
  var hasDefaultFixed64: Bool {return _storage._defaultFixed64 != nil}
  /// Clears the value of `defaultFixed64`. Subsequent reads from it will return its default value.
  mutating func clearDefaultFixed64() {_uniqueStorage()._defaultFixed64 = nil}

  var defaultSfixed32: Int32 {
    get {return _storage._defaultSfixed32 ?? 49}
    set {_uniqueStorage()._defaultSfixed32 = newValue}
  }
  /// Returns true if `defaultSfixed32` has been explicitly set.
  var hasDefaultSfixed32: Bool {return _storage._defaultSfixed32 != nil}
  /// Clears the value of `defaultSfixed32`. Subsequent reads from it will return its default value.
  mutating func clearDefaultSfixed32() {_uniqueStorage()._defaultSfixed32 = nil}

  var defaultSfixed64: Int64 {
    get {return _storage._defaultSfixed64 ?? -50}
    set {_uniqueStorage()._defaultSfixed64 = newValue}
  }
  /// Returns true if `defaultSfixed64` has been explicitly set.
  var hasDefaultSfixed64: Bool {return _storage._defaultSfixed64 != nil}
  /// Clears the value of `defaultSfixed64`. Subsequent reads from it will return its default value.
  mutating func clearDefaultSfixed64() {_uniqueStorage()._defaultSfixed64 = nil}

  var defaultFloat: Float {
    get {return _storage._defaultFloat ?? 51.5}
    set {_uniqueStorage()._defaultFloat = newValue}
  }
  /// Returns true if `defaultFloat` has been explicitly set.
  var hasDefaultFloat: Bool {return _storage._defaultFloat != nil}
  /// Clears the value of `defaultFloat`. Subsequent reads from it will return its default value.
  mutating func clearDefaultFloat() {_uniqueStorage()._defaultFloat = nil}

  var defaultDouble: Double {
    get {return _storage._defaultDouble ?? 52000}
    set {_uniqueStorage()._defaultDouble = newValue}
  }
  /// Returns true if `defaultDouble` has been explicitly set.
  var hasDefaultDouble: Bool {return _storage._defaultDouble != nil}
  /// Clears the value of `defaultDouble`. Subsequent reads from it will return its default value.
  mutating func clearDefaultDouble() {_uniqueStorage()._defaultDouble = nil}

  var defaultBool: Bool {
    get {return _storage._defaultBool ?? true}
    set {_uniqueStorage()._defaultBool = newValue}
  }
  /// Returns true if `defaultBool` has been explicitly set.
  var hasDefaultBool: Bool {return _storage._defaultBool != nil}
  /// Clears the value of `defaultBool`. Subsequent reads from it will return its default value.
  mutating func clearDefaultBool() {_uniqueStorage()._defaultBool = nil}

  var defaultString: String {
    get {return _storage._defaultString ?? "hello"}
    set {_uniqueStorage()._defaultString = newValue}
  }
  /// Returns true if `defaultString` has been explicitly set.
  var hasDefaultString: Bool {return _storage._defaultString != nil}
  /// Clears the value of `defaultString`. Subsequent reads from it will return its default value.
  mutating func clearDefaultString() {_uniqueStorage()._defaultString = nil}

  var defaultBytes: Data {
    get {return _storage._defaultBytes ?? Data([119, 111, 114, 108, 100])}
    set {_uniqueStorage()._defaultBytes = newValue}
  }
  /// Returns true if `defaultBytes` has been explicitly set.
  var hasDefaultBytes: Bool {return _storage._defaultBytes != nil}
  /// Clears the value of `defaultBytes`. Subsequent reads from it will return its default value.
  mutating func clearDefaultBytes() {_uniqueStorage()._defaultBytes = nil}

  var defaultNestedEnum: ProtobufUnittest_TestAllTypes.NestedEnum {
    get {return _storage._defaultNestedEnum ?? .bar}
    set {_uniqueStorage()._defaultNestedEnum = newValue}
  }
  /// Returns true if `defaultNestedEnum` has been explicitly set.
  var hasDefaultNestedEnum: Bool {return _storage._defaultNestedEnum != nil}
  /// Clears the value of `defaultNestedEnum`. Subsequent reads from it will return its default value.
  mutating func clearDefaultNestedEnum() {_uniqueStorage()._defaultNestedEnum = nil}

  var defaultForeignEnum: ProtobufUnittest_ForeignEnum {
    get {return _storage._defaultForeignEnum ?? .foreignBar}
    set {_uniqueStorage()._defaultForeignEnum = newValue}
  }
  /// Returns true if `defaultForeignEnum` has been explicitly set.
  var hasDefaultForeignEnum: Bool {return _storage._defaultForeignEnum != nil}
  /// Clears the value of `defaultForeignEnum`. Subsequent reads from it will return its default value.
  mutating func clearDefaultForeignEnum() {_uniqueStorage()._defaultForeignEnum = nil}

  var defaultImportEnum: ProtobufUnittestImport_ImportEnum {
    get {return _storage._defaultImportEnum ?? .importBar}
    set {_uniqueStorage()._defaultImportEnum = newValue}
  }
  /// Returns true if `defaultImportEnum` has been explicitly set.
  var hasDefaultImportEnum: Bool {return _storage._defaultImportEnum != nil}
  /// Clears the value of `defaultImportEnum`. Subsequent reads from it will return its default value.
  mutating func clearDefaultImportEnum() {_uniqueStorage()._defaultImportEnum = nil}

  var defaultStringPiece: String {
    get {return _storage._defaultStringPiece ?? "abc"}
    set {_uniqueStorage()._defaultStringPiece = newValue}
  }
  /// Returns true if `defaultStringPiece` has been explicitly set.
  var hasDefaultStringPiece: Bool {return _storage._defaultStringPiece != nil}
  /// Clears the value of `defaultStringPiece`. Subsequent reads from it will return its default value.
  mutating func clearDefaultStringPiece() {_uniqueStorage()._defaultStringPiece = nil}

  var defaultCord: String {
    get {return _storage._defaultCord ?? "123"}
    set {_uniqueStorage()._defaultCord = newValue}
  }
  /// Returns true if `defaultCord` has been explicitly set.
  var hasDefaultCord: Bool {return _storage._defaultCord != nil}
  /// Clears the value of `defaultCord`. Subsequent reads from it will return its default value.
  mutating func clearDefaultCord() {_uniqueStorage()._defaultCord = nil}

  /// For oneof test
  var oneofField: OneOf_OneofField? {
    get {return _storage._oneofField}
    set {_uniqueStorage()._oneofField = newValue}
  }

  var oneofUint32: UInt32 {
    get {
      if case .oneofUint32(let v)? = _storage._oneofField {return v}
      return 0
    }
    set {_uniqueStorage()._oneofField = .oneofUint32(newValue)}
  }

  var oneofNestedMessage: ProtobufUnittest_TestAllTypes.NestedMessage {
    get {
      if case .oneofNestedMessage(let v)? = _storage._oneofField {return v}
      return ProtobufUnittest_TestAllTypes.NestedMessage()
    }
    set {_uniqueStorage()._oneofField = .oneofNestedMessage(newValue)}
  }

  var oneofString: String {
    get {
      if case .oneofString(let v)? = _storage._oneofField {return v}
      return String()
    }
    set {_uniqueStorage()._oneofField = .oneofString(newValue)}
  }

  var oneofBytes: Data {
    get {
      if case .oneofBytes(let v)? = _storage._oneofField {return v}
      return SwiftProtobuf.Internal.emptyData
    }
    set {_uniqueStorage()._oneofField = .oneofBytes(newValue)}
  }

  var unknownFields = SwiftProtobuf.UnknownStorage()

  /// For oneof test
  enum OneOf_OneofField: Equatable {
    case oneofUint32(UInt32)
    case oneofNestedMessage(ProtobufUnittest_TestAllTypes.NestedMessage)
    case oneofString(String)
    case oneofBytes(Data)

  #if !swift(>=4.1)
    static func ==(lhs: ProtobufUnittest_TestAllTypes.OneOf_OneofField, rhs: ProtobufUnittest_TestAllTypes.OneOf_OneofField) -> Bool {
      switch (lhs, rhs) {
      case (.oneofUint32(let l), .oneofUint32(let r)): return l == r
      case (.oneofNestedMessage(let l), .oneofNestedMessage(let r)): return l == r
      case (.oneofString(let l), .oneofString(let r)): return l == r
      case (.oneofBytes(let l), .oneofBytes(let r)): return l == r
      default: return false
      }
    }
  #endif
  }

  enum NestedEnum: SwiftProtobuf.Enum {
    typealias RawValue = Int
    case foo // = 1
    case bar // = 2
    case baz // = 3

    /// Intentionally negative.
    case neg // = -1

    init() {
      self = .foo
    }

    init?(rawValue: Int) {
      switch rawValue {
      case -1: self = .neg
      case 1: self = .foo
      case 2: self = .bar
      case 3: self = .baz
      default: return nil
      }
    }

    var rawValue: Int {
      switch self {
      case .neg: return -1
      case .foo: return 1
      case .bar: return 2
      case .baz: return 3
      }
    }

  }

  struct NestedMessage {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    /// The field name "b" fails to compile in proto1 because it conflicts with
    /// a local variable named "b" in one of the generated methods.  Doh.
    /// This file needs to compile in proto1 to test backwards-compatibility.
    var bb: Int32 {
      get {return _bb ?? 0}
      set {_bb = newValue}
    }
    /// Returns true if `bb` has been explicitly set.
    var hasBb: Bool {return self._bb != nil}
    /// Clears the value of `bb`. Subsequent reads from it will return its default value.
    mutating func clearBb() {self._bb = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _bb: Int32? = nil
  }

  struct OptionalGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var a: Int32 {
      get {return _a ?? 0}
      set {_a = newValue}
    }
    /// Returns true if `a` has been explicitly set.
    var hasA: Bool {return self._a != nil}
    /// Clears the value of `a`. Subsequent reads from it will return its default value.
    mutating func clearA() {self._a = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _a: Int32? = nil
  }

  struct RepeatedGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var a: Int32 {
      get {return _a ?? 0}
      set {_a = newValue}
    }
    /// Returns true if `a` has been explicitly set.
    var hasA: Bool {return self._a != nil}
    /// Clears the value of `a`. Subsequent reads from it will return its default value.
    mutating func clearA() {self._a = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _a: Int32? = nil
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

#if swift(>=4.2)

extension ProtobufUnittest_TestAllTypes.NestedEnum: CaseIterable {
  // Support synthesized by the compiler.
}

#endif  // swift(>=4.2)

/// This proto includes a recusively nested message.
struct ProtobufUnittest_NestedTestAllTypes {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var child: ProtobufUnittest_NestedTestAllTypes {
    get {return _storage._child ?? ProtobufUnittest_NestedTestAllTypes()}
    set {_uniqueStorage()._child = newValue}
  }
  /// Returns true if `child` has been explicitly set.
  var hasChild: Bool {return _storage._child != nil}
  /// Clears the value of `child`. Subsequent reads from it will return its default value.
  mutating func clearChild() {_uniqueStorage()._child = nil}

  var payload: ProtobufUnittest_TestAllTypes {
    get {return _storage._payload ?? ProtobufUnittest_TestAllTypes()}
    set {_uniqueStorage()._payload = newValue}
  }
  /// Returns true if `payload` has been explicitly set.
  var hasPayload: Bool {return _storage._payload != nil}
  /// Clears the value of `payload`. Subsequent reads from it will return its default value.
  mutating func clearPayload() {_uniqueStorage()._payload = nil}

  var repeatedChild: [ProtobufUnittest_NestedTestAllTypes] {
    get {return _storage._repeatedChild}
    set {_uniqueStorage()._repeatedChild = newValue}
  }

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestDeprecatedFields {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var deprecatedInt32: Int32 {
    get {return _deprecatedInt32 ?? 0}
    set {_deprecatedInt32 = newValue}
  }
  /// Returns true if `deprecatedInt32` has been explicitly set.
  var hasDeprecatedInt32: Bool {return self._deprecatedInt32 != nil}
  /// Clears the value of `deprecatedInt32`. Subsequent reads from it will return its default value.
  mutating func clearDeprecatedInt32() {self._deprecatedInt32 = nil}

  var oneofFields: ProtobufUnittest_TestDeprecatedFields.OneOf_OneofFields? = nil

  var deprecatedInt32InOneof: Int32 {
    get {
      if case .deprecatedInt32InOneof(let v)? = oneofFields {return v}
      return 0
    }
    set {oneofFields = .deprecatedInt32InOneof(newValue)}
  }

  var unknownFields = SwiftProtobuf.UnknownStorage()

  enum OneOf_OneofFields: Equatable {
    case deprecatedInt32InOneof(Int32)

  #if !swift(>=4.1)
    static func ==(lhs: ProtobufUnittest_TestDeprecatedFields.OneOf_OneofFields, rhs: ProtobufUnittest_TestDeprecatedFields.OneOf_OneofFields) -> Bool {
      switch (lhs, rhs) {
      case (.deprecatedInt32InOneof(let l), .deprecatedInt32InOneof(let r)): return l == r
      }
    }
  #endif
  }

  init() {}

  fileprivate var _deprecatedInt32: Int32? = nil
}

struct ProtobufUnittest_TestDeprecatedMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

/// Define these after TestAllTypes to make sure the compiler can handle
/// that.
struct ProtobufUnittest_ForeignMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var c: Int32 {
    get {return _c ?? 0}
    set {_c = newValue}
  }
  /// Returns true if `c` has been explicitly set.
  var hasC: Bool {return self._c != nil}
  /// Clears the value of `c`. Subsequent reads from it will return its default value.
  mutating func clearC() {self._c = nil}

  var d: Int32 {
    get {return _d ?? 0}
    set {_d = newValue}
  }
  /// Returns true if `d` has been explicitly set.
  var hasD: Bool {return self._d != nil}
  /// Clears the value of `d`. Subsequent reads from it will return its default value.
  mutating func clearD() {self._d = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _c: Int32? = nil
  fileprivate var _d: Int32? = nil
}

struct ProtobufUnittest_TestReservedFields {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

struct ProtobufUnittest_TestAllExtensions: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
}

struct ProtobufUnittest_OptionalGroup_extension {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var a: Int32 {
    get {return _a ?? 0}
    set {_a = newValue}
  }
  /// Returns true if `a` has been explicitly set.
  var hasA: Bool {return self._a != nil}
  /// Clears the value of `a`. Subsequent reads from it will return its default value.
  mutating func clearA() {self._a = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _a: Int32? = nil
}

struct ProtobufUnittest_RepeatedGroup_extension {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var a: Int32 {
    get {return _a ?? 0}
    set {_a = newValue}
  }
  /// Returns true if `a` has been explicitly set.
  var hasA: Bool {return self._a != nil}
  /// Clears the value of `a`. Subsequent reads from it will return its default value.
  mutating func clearA() {self._a = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _a: Int32? = nil
}

struct ProtobufUnittest_TestGroup {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var optionalGroup: ProtobufUnittest_TestGroup.OptionalGroup {
    get {return _storage._optionalGroup ?? ProtobufUnittest_TestGroup.OptionalGroup()}
    set {_uniqueStorage()._optionalGroup = newValue}
  }
  /// Returns true if `optionalGroup` has been explicitly set.
  var hasOptionalGroup: Bool {return _storage._optionalGroup != nil}
  /// Clears the value of `optionalGroup`. Subsequent reads from it will return its default value.
  mutating func clearOptionalGroup() {_uniqueStorage()._optionalGroup = nil}

  var optionalForeignEnum: ProtobufUnittest_ForeignEnum {
    get {return _storage._optionalForeignEnum ?? .foreignFoo}
    set {_uniqueStorage()._optionalForeignEnum = newValue}
  }
  /// Returns true if `optionalForeignEnum` has been explicitly set.
  var hasOptionalForeignEnum: Bool {return _storage._optionalForeignEnum != nil}
  /// Clears the value of `optionalForeignEnum`. Subsequent reads from it will return its default value.
  mutating func clearOptionalForeignEnum() {_uniqueStorage()._optionalForeignEnum = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  struct OptionalGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var a: Int32 {
      get {return _a ?? 0}
      set {_a = newValue}
    }
    /// Returns true if `a` has been explicitly set.
    var hasA: Bool {return self._a != nil}
    /// Clears the value of `a`. Subsequent reads from it will return its default value.
    mutating func clearA() {self._a = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _a: Int32? = nil
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestGroupExtension: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
}

struct ProtobufUnittest_TestNestedExtension {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  struct OptionalGroup_extension {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var a: Int32 {
      get {return _a ?? 0}
      set {_a = newValue}
    }
    /// Returns true if `a` has been explicitly set.
    var hasA: Bool {return self._a != nil}
    /// Clears the value of `a`. Subsequent reads from it will return its default value.
    mutating func clearA() {self._a = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _a: Int32? = nil
  }

  init() {}
}

/// We have separate messages for testing required fields because it's
/// annoying to have to fill in required fields in TestProto in order to
/// do anything with it.  Note that we don't need to test every type of
/// required filed because the code output is basically identical to
/// optional fields for all types.
struct ProtobufUnittest_TestRequired {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var a: Int32 {
    get {return _storage._a ?? 0}
    set {_uniqueStorage()._a = newValue}
  }
  /// Returns true if `a` has been explicitly set.
  var hasA: Bool {return _storage._a != nil}
  /// Clears the value of `a`. Subsequent reads from it will return its default value.
  mutating func clearA() {_uniqueStorage()._a = nil}

  var dummy2: Int32 {
    get {return _storage._dummy2 ?? 0}
    set {_uniqueStorage()._dummy2 = newValue}
  }
  /// Returns true if `dummy2` has been explicitly set.
  var hasDummy2: Bool {return _storage._dummy2 != nil}
  /// Clears the value of `dummy2`. Subsequent reads from it will return its default value.
  mutating func clearDummy2() {_uniqueStorage()._dummy2 = nil}

  var b: Int32 {
    get {return _storage._b ?? 0}
    set {_uniqueStorage()._b = newValue}
  }
  /// Returns true if `b` has been explicitly set.
  var hasB: Bool {return _storage._b != nil}
  /// Clears the value of `b`. Subsequent reads from it will return its default value.
  mutating func clearB() {_uniqueStorage()._b = nil}

  /// Pad the field count to 32 so that we can test that IsInitialized()
  /// properly checks multiple elements of has_bits_.
  var dummy4: Int32 {
    get {return _storage._dummy4 ?? 0}
    set {_uniqueStorage()._dummy4 = newValue}
  }
  /// Returns true if `dummy4` has been explicitly set.
  var hasDummy4: Bool {return _storage._dummy4 != nil}
  /// Clears the value of `dummy4`. Subsequent reads from it will return its default value.
  mutating func clearDummy4() {_uniqueStorage()._dummy4 = nil}

  var dummy5: Int32 {
    get {return _storage._dummy5 ?? 0}
    set {_uniqueStorage()._dummy5 = newValue}
  }
  /// Returns true if `dummy5` has been explicitly set.
  var hasDummy5: Bool {return _storage._dummy5 != nil}
  /// Clears the value of `dummy5`. Subsequent reads from it will return its default value.
  mutating func clearDummy5() {_uniqueStorage()._dummy5 = nil}

  var dummy6: Int32 {
    get {return _storage._dummy6 ?? 0}
    set {_uniqueStorage()._dummy6 = newValue}
  }
  /// Returns true if `dummy6` has been explicitly set.
  var hasDummy6: Bool {return _storage._dummy6 != nil}
  /// Clears the value of `dummy6`. Subsequent reads from it will return its default value.
  mutating func clearDummy6() {_uniqueStorage()._dummy6 = nil}

  var dummy7: Int32 {
    get {return _storage._dummy7 ?? 0}
    set {_uniqueStorage()._dummy7 = newValue}
  }
  /// Returns true if `dummy7` has been explicitly set.
  var hasDummy7: Bool {return _storage._dummy7 != nil}
  /// Clears the value of `dummy7`. Subsequent reads from it will return its default value.
  mutating func clearDummy7() {_uniqueStorage()._dummy7 = nil}

  var dummy8: Int32 {
    get {return _storage._dummy8 ?? 0}
    set {_uniqueStorage()._dummy8 = newValue}
  }
  /// Returns true if `dummy8` has been explicitly set.
  var hasDummy8: Bool {return _storage._dummy8 != nil}
  /// Clears the value of `dummy8`. Subsequent reads from it will return its default value.
  mutating func clearDummy8() {_uniqueStorage()._dummy8 = nil}

  var dummy9: Int32 {
    get {return _storage._dummy9 ?? 0}
    set {_uniqueStorage()._dummy9 = newValue}
  }
  /// Returns true if `dummy9` has been explicitly set.
  var hasDummy9: Bool {return _storage._dummy9 != nil}
  /// Clears the value of `dummy9`. Subsequent reads from it will return its default value.
  mutating func clearDummy9() {_uniqueStorage()._dummy9 = nil}

  var dummy10: Int32 {
    get {return _storage._dummy10 ?? 0}
    set {_uniqueStorage()._dummy10 = newValue}
  }
  /// Returns true if `dummy10` has been explicitly set.
  var hasDummy10: Bool {return _storage._dummy10 != nil}
  /// Clears the value of `dummy10`. Subsequent reads from it will return its default value.
  mutating func clearDummy10() {_uniqueStorage()._dummy10 = nil}

  var dummy11: Int32 {
    get {return _storage._dummy11 ?? 0}
    set {_uniqueStorage()._dummy11 = newValue}
  }
  /// Returns true if `dummy11` has been explicitly set.
  var hasDummy11: Bool {return _storage._dummy11 != nil}
  /// Clears the value of `dummy11`. Subsequent reads from it will return its default value.
  mutating func clearDummy11() {_uniqueStorage()._dummy11 = nil}

  var dummy12: Int32 {
    get {return _storage._dummy12 ?? 0}
    set {_uniqueStorage()._dummy12 = newValue}
  }
  /// Returns true if `dummy12` has been explicitly set.
  var hasDummy12: Bool {return _storage._dummy12 != nil}
  /// Clears the value of `dummy12`. Subsequent reads from it will return its default value.
  mutating func clearDummy12() {_uniqueStorage()._dummy12 = nil}

  var dummy13: Int32 {
    get {return _storage._dummy13 ?? 0}
    set {_uniqueStorage()._dummy13 = newValue}
  }
  /// Returns true if `dummy13` has been explicitly set.
  var hasDummy13: Bool {return _storage._dummy13 != nil}
  /// Clears the value of `dummy13`. Subsequent reads from it will return its default value.
  mutating func clearDummy13() {_uniqueStorage()._dummy13 = nil}

  var dummy14: Int32 {
    get {return _storage._dummy14 ?? 0}
    set {_uniqueStorage()._dummy14 = newValue}
  }
  /// Returns true if `dummy14` has been explicitly set.
  var hasDummy14: Bool {return _storage._dummy14 != nil}
  /// Clears the value of `dummy14`. Subsequent reads from it will return its default value.
  mutating func clearDummy14() {_uniqueStorage()._dummy14 = nil}

  var dummy15: Int32 {
    get {return _storage._dummy15 ?? 0}
    set {_uniqueStorage()._dummy15 = newValue}
  }
  /// Returns true if `dummy15` has been explicitly set.
  var hasDummy15: Bool {return _storage._dummy15 != nil}
  /// Clears the value of `dummy15`. Subsequent reads from it will return its default value.
  mutating func clearDummy15() {_uniqueStorage()._dummy15 = nil}

  var dummy16: Int32 {
    get {return _storage._dummy16 ?? 0}
    set {_uniqueStorage()._dummy16 = newValue}
  }
  /// Returns true if `dummy16` has been explicitly set.
  var hasDummy16: Bool {return _storage._dummy16 != nil}
  /// Clears the value of `dummy16`. Subsequent reads from it will return its default value.
  mutating func clearDummy16() {_uniqueStorage()._dummy16 = nil}

  var dummy17: Int32 {
    get {return _storage._dummy17 ?? 0}
    set {_uniqueStorage()._dummy17 = newValue}
  }
  /// Returns true if `dummy17` has been explicitly set.
  var hasDummy17: Bool {return _storage._dummy17 != nil}
  /// Clears the value of `dummy17`. Subsequent reads from it will return its default value.
  mutating func clearDummy17() {_uniqueStorage()._dummy17 = nil}

  var dummy18: Int32 {
    get {return _storage._dummy18 ?? 0}
    set {_uniqueStorage()._dummy18 = newValue}
  }
  /// Returns true if `dummy18` has been explicitly set.
  var hasDummy18: Bool {return _storage._dummy18 != nil}
  /// Clears the value of `dummy18`. Subsequent reads from it will return its default value.
  mutating func clearDummy18() {_uniqueStorage()._dummy18 = nil}

  var dummy19: Int32 {
    get {return _storage._dummy19 ?? 0}
    set {_uniqueStorage()._dummy19 = newValue}
  }
  /// Returns true if `dummy19` has been explicitly set.
  var hasDummy19: Bool {return _storage._dummy19 != nil}
  /// Clears the value of `dummy19`. Subsequent reads from it will return its default value.
  mutating func clearDummy19() {_uniqueStorage()._dummy19 = nil}

  var dummy20: Int32 {
    get {return _storage._dummy20 ?? 0}
    set {_uniqueStorage()._dummy20 = newValue}
  }
  /// Returns true if `dummy20` has been explicitly set.
  var hasDummy20: Bool {return _storage._dummy20 != nil}
  /// Clears the value of `dummy20`. Subsequent reads from it will return its default value.
  mutating func clearDummy20() {_uniqueStorage()._dummy20 = nil}

  var dummy21: Int32 {
    get {return _storage._dummy21 ?? 0}
    set {_uniqueStorage()._dummy21 = newValue}
  }
  /// Returns true if `dummy21` has been explicitly set.
  var hasDummy21: Bool {return _storage._dummy21 != nil}
  /// Clears the value of `dummy21`. Subsequent reads from it will return its default value.
  mutating func clearDummy21() {_uniqueStorage()._dummy21 = nil}

  var dummy22: Int32 {
    get {return _storage._dummy22 ?? 0}
    set {_uniqueStorage()._dummy22 = newValue}
  }
  /// Returns true if `dummy22` has been explicitly set.
  var hasDummy22: Bool {return _storage._dummy22 != nil}
  /// Clears the value of `dummy22`. Subsequent reads from it will return its default value.
  mutating func clearDummy22() {_uniqueStorage()._dummy22 = nil}

  var dummy23: Int32 {
    get {return _storage._dummy23 ?? 0}
    set {_uniqueStorage()._dummy23 = newValue}
  }
  /// Returns true if `dummy23` has been explicitly set.
  var hasDummy23: Bool {return _storage._dummy23 != nil}
  /// Clears the value of `dummy23`. Subsequent reads from it will return its default value.
  mutating func clearDummy23() {_uniqueStorage()._dummy23 = nil}

  var dummy24: Int32 {
    get {return _storage._dummy24 ?? 0}
    set {_uniqueStorage()._dummy24 = newValue}
  }
  /// Returns true if `dummy24` has been explicitly set.
  var hasDummy24: Bool {return _storage._dummy24 != nil}
  /// Clears the value of `dummy24`. Subsequent reads from it will return its default value.
  mutating func clearDummy24() {_uniqueStorage()._dummy24 = nil}

  var dummy25: Int32 {
    get {return _storage._dummy25 ?? 0}
    set {_uniqueStorage()._dummy25 = newValue}
  }
  /// Returns true if `dummy25` has been explicitly set.
  var hasDummy25: Bool {return _storage._dummy25 != nil}
  /// Clears the value of `dummy25`. Subsequent reads from it will return its default value.
  mutating func clearDummy25() {_uniqueStorage()._dummy25 = nil}

  var dummy26: Int32 {
    get {return _storage._dummy26 ?? 0}
    set {_uniqueStorage()._dummy26 = newValue}
  }
  /// Returns true if `dummy26` has been explicitly set.
  var hasDummy26: Bool {return _storage._dummy26 != nil}
  /// Clears the value of `dummy26`. Subsequent reads from it will return its default value.
  mutating func clearDummy26() {_uniqueStorage()._dummy26 = nil}

  var dummy27: Int32 {
    get {return _storage._dummy27 ?? 0}
    set {_uniqueStorage()._dummy27 = newValue}
  }
  /// Returns true if `dummy27` has been explicitly set.
  var hasDummy27: Bool {return _storage._dummy27 != nil}
  /// Clears the value of `dummy27`. Subsequent reads from it will return its default value.
  mutating func clearDummy27() {_uniqueStorage()._dummy27 = nil}

  var dummy28: Int32 {
    get {return _storage._dummy28 ?? 0}
    set {_uniqueStorage()._dummy28 = newValue}
  }
  /// Returns true if `dummy28` has been explicitly set.
  var hasDummy28: Bool {return _storage._dummy28 != nil}
  /// Clears the value of `dummy28`. Subsequent reads from it will return its default value.
  mutating func clearDummy28() {_uniqueStorage()._dummy28 = nil}

  var dummy29: Int32 {
    get {return _storage._dummy29 ?? 0}
    set {_uniqueStorage()._dummy29 = newValue}
  }
  /// Returns true if `dummy29` has been explicitly set.
  var hasDummy29: Bool {return _storage._dummy29 != nil}
  /// Clears the value of `dummy29`. Subsequent reads from it will return its default value.
  mutating func clearDummy29() {_uniqueStorage()._dummy29 = nil}

  var dummy30: Int32 {
    get {return _storage._dummy30 ?? 0}
    set {_uniqueStorage()._dummy30 = newValue}
  }
  /// Returns true if `dummy30` has been explicitly set.
  var hasDummy30: Bool {return _storage._dummy30 != nil}
  /// Clears the value of `dummy30`. Subsequent reads from it will return its default value.
  mutating func clearDummy30() {_uniqueStorage()._dummy30 = nil}

  var dummy31: Int32 {
    get {return _storage._dummy31 ?? 0}
    set {_uniqueStorage()._dummy31 = newValue}
  }
  /// Returns true if `dummy31` has been explicitly set.
  var hasDummy31: Bool {return _storage._dummy31 != nil}
  /// Clears the value of `dummy31`. Subsequent reads from it will return its default value.
  mutating func clearDummy31() {_uniqueStorage()._dummy31 = nil}

  var dummy32: Int32 {
    get {return _storage._dummy32 ?? 0}
    set {_uniqueStorage()._dummy32 = newValue}
  }
  /// Returns true if `dummy32` has been explicitly set.
  var hasDummy32: Bool {return _storage._dummy32 != nil}
  /// Clears the value of `dummy32`. Subsequent reads from it will return its default value.
  mutating func clearDummy32() {_uniqueStorage()._dummy32 = nil}

  var c: Int32 {
    get {return _storage._c ?? 0}
    set {_uniqueStorage()._c = newValue}
  }
  /// Returns true if `c` has been explicitly set.
  var hasC: Bool {return _storage._c != nil}
  /// Clears the value of `c`. Subsequent reads from it will return its default value.
  mutating func clearC() {_uniqueStorage()._c = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestRequiredForeign {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var optionalMessage: ProtobufUnittest_TestRequired {
    get {return _storage._optionalMessage ?? ProtobufUnittest_TestRequired()}
    set {_uniqueStorage()._optionalMessage = newValue}
  }
  /// Returns true if `optionalMessage` has been explicitly set.
  var hasOptionalMessage: Bool {return _storage._optionalMessage != nil}
  /// Clears the value of `optionalMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalMessage() {_uniqueStorage()._optionalMessage = nil}

  var repeatedMessage: [ProtobufUnittest_TestRequired] {
    get {return _storage._repeatedMessage}
    set {_uniqueStorage()._repeatedMessage = newValue}
  }

  var dummy: Int32 {
    get {return _storage._dummy ?? 0}
    set {_uniqueStorage()._dummy = newValue}
  }
  /// Returns true if `dummy` has been explicitly set.
  var hasDummy: Bool {return _storage._dummy != nil}
  /// Clears the value of `dummy`. Subsequent reads from it will return its default value.
  mutating func clearDummy() {_uniqueStorage()._dummy = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestRequiredMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var optionalMessage: ProtobufUnittest_TestRequired {
    get {return _storage._optionalMessage ?? ProtobufUnittest_TestRequired()}
    set {_uniqueStorage()._optionalMessage = newValue}
  }
  /// Returns true if `optionalMessage` has been explicitly set.
  var hasOptionalMessage: Bool {return _storage._optionalMessage != nil}
  /// Clears the value of `optionalMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalMessage() {_uniqueStorage()._optionalMessage = nil}

  var repeatedMessage: [ProtobufUnittest_TestRequired] {
    get {return _storage._repeatedMessage}
    set {_uniqueStorage()._repeatedMessage = newValue}
  }

  var requiredMessage: ProtobufUnittest_TestRequired {
    get {return _storage._requiredMessage ?? ProtobufUnittest_TestRequired()}
    set {_uniqueStorage()._requiredMessage = newValue}
  }
  /// Returns true if `requiredMessage` has been explicitly set.
  var hasRequiredMessage: Bool {return _storage._requiredMessage != nil}
  /// Clears the value of `requiredMessage`. Subsequent reads from it will return its default value.
  mutating func clearRequiredMessage() {_uniqueStorage()._requiredMessage = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

/// Test that we can use NestedMessage from outside TestAllTypes.
struct ProtobufUnittest_TestForeignNested {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var foreignNested: ProtobufUnittest_TestAllTypes.NestedMessage {
    get {return _storage._foreignNested ?? ProtobufUnittest_TestAllTypes.NestedMessage()}
    set {_uniqueStorage()._foreignNested = newValue}
  }
  /// Returns true if `foreignNested` has been explicitly set.
  var hasForeignNested: Bool {return _storage._foreignNested != nil}
  /// Clears the value of `foreignNested`. Subsequent reads from it will return its default value.
  mutating func clearForeignNested() {_uniqueStorage()._foreignNested = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

/// TestEmptyMessage is used to test unknown field support.
struct ProtobufUnittest_TestEmptyMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

/// Like above, but declare all field numbers as potential extensions.  No
/// actual extensions should ever be defined for this type.
struct ProtobufUnittest_TestEmptyMessageWithExtensions: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
}

struct ProtobufUnittest_TestMultipleExtensionRanges: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
}

/// Test that really large tag numbers don't break anything.
struct ProtobufUnittest_TestReallyLargeTagNumber {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  /// The largest possible tag number is 2^28 - 1, since the wire format uses
  /// three bits to communicate wire type.
  var a: Int32 {
    get {return _a ?? 0}
    set {_a = newValue}
  }
  /// Returns true if `a` has been explicitly set.
  var hasA: Bool {return self._a != nil}
  /// Clears the value of `a`. Subsequent reads from it will return its default value.
  mutating func clearA() {self._a = nil}

  var bb: Int32 {
    get {return _bb ?? 0}
    set {_bb = newValue}
  }
  /// Returns true if `bb` has been explicitly set.
  var hasBb: Bool {return self._bb != nil}
  /// Clears the value of `bb`. Subsequent reads from it will return its default value.
  mutating func clearBb() {self._bb = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _a: Int32? = nil
  fileprivate var _bb: Int32? = nil
}

struct ProtobufUnittest_TestRecursiveMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var a: ProtobufUnittest_TestRecursiveMessage {
    get {return _storage._a ?? ProtobufUnittest_TestRecursiveMessage()}
    set {_uniqueStorage()._a = newValue}
  }
  /// Returns true if `a` has been explicitly set.
  var hasA: Bool {return _storage._a != nil}
  /// Clears the value of `a`. Subsequent reads from it will return its default value.
  mutating func clearA() {_uniqueStorage()._a = nil}

  var i: Int32 {
    get {return _storage._i ?? 0}
    set {_uniqueStorage()._i = newValue}
  }
  /// Returns true if `i` has been explicitly set.
  var hasI: Bool {return _storage._i != nil}
  /// Clears the value of `i`. Subsequent reads from it will return its default value.
  mutating func clearI() {_uniqueStorage()._i = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

/// Test that mutual recursion works.
struct ProtobufUnittest_TestMutualRecursionA {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var bb: ProtobufUnittest_TestMutualRecursionB {
    get {return _storage._bb ?? ProtobufUnittest_TestMutualRecursionB()}
    set {_uniqueStorage()._bb = newValue}
  }
  /// Returns true if `bb` has been explicitly set.
  var hasBb: Bool {return _storage._bb != nil}
  /// Clears the value of `bb`. Subsequent reads from it will return its default value.
  mutating func clearBb() {_uniqueStorage()._bb = nil}

  var subGroup: ProtobufUnittest_TestMutualRecursionA.SubGroup {
    get {return _storage._subGroup ?? ProtobufUnittest_TestMutualRecursionA.SubGroup()}
    set {_uniqueStorage()._subGroup = newValue}
  }
  /// Returns true if `subGroup` has been explicitly set.
  var hasSubGroup: Bool {return _storage._subGroup != nil}
  /// Clears the value of `subGroup`. Subsequent reads from it will return its default value.
  mutating func clearSubGroup() {_uniqueStorage()._subGroup = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  struct SubMessage {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var b: ProtobufUnittest_TestMutualRecursionB {
      get {return _storage._b ?? ProtobufUnittest_TestMutualRecursionB()}
      set {_uniqueStorage()._b = newValue}
    }
    /// Returns true if `b` has been explicitly set.
    var hasB: Bool {return _storage._b != nil}
    /// Clears the value of `b`. Subsequent reads from it will return its default value.
    mutating func clearB() {_uniqueStorage()._b = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _storage = _StorageClass.defaultInstance
  }

  struct SubGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    /// Needed because of bug in javatest
    var subMessage: ProtobufUnittest_TestMutualRecursionA.SubMessage {
      get {return _storage._subMessage ?? ProtobufUnittest_TestMutualRecursionA.SubMessage()}
      set {_uniqueStorage()._subMessage = newValue}
    }
    /// Returns true if `subMessage` has been explicitly set.
    var hasSubMessage: Bool {return _storage._subMessage != nil}
    /// Clears the value of `subMessage`. Subsequent reads from it will return its default value.
    mutating func clearSubMessage() {_uniqueStorage()._subMessage = nil}

    var notInThisScc: ProtobufUnittest_TestAllTypes {
      get {return _storage._notInThisScc ?? ProtobufUnittest_TestAllTypes()}
      set {_uniqueStorage()._notInThisScc = newValue}
    }
    /// Returns true if `notInThisScc` has been explicitly set.
    var hasNotInThisScc: Bool {return _storage._notInThisScc != nil}
    /// Clears the value of `notInThisScc`. Subsequent reads from it will return its default value.
    mutating func clearNotInThisScc() {_uniqueStorage()._notInThisScc = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _storage = _StorageClass.defaultInstance
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestMutualRecursionB {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var a: ProtobufUnittest_TestMutualRecursionA {
    get {return _storage._a ?? ProtobufUnittest_TestMutualRecursionA()}
    set {_uniqueStorage()._a = newValue}
  }
  /// Returns true if `a` has been explicitly set.
  var hasA: Bool {return _storage._a != nil}
  /// Clears the value of `a`. Subsequent reads from it will return its default value.
  mutating func clearA() {_uniqueStorage()._a = nil}

  var optionalInt32: Int32 {
    get {return _storage._optionalInt32 ?? 0}
    set {_uniqueStorage()._optionalInt32 = newValue}
  }
  /// Returns true if `optionalInt32` has been explicitly set.
  var hasOptionalInt32: Bool {return _storage._optionalInt32 != nil}
  /// Clears the value of `optionalInt32`. Subsequent reads from it will return its default value.
  mutating func clearOptionalInt32() {_uniqueStorage()._optionalInt32 = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestIsInitialized {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var subMessage: ProtobufUnittest_TestIsInitialized.SubMessage {
    get {return _storage._subMessage ?? ProtobufUnittest_TestIsInitialized.SubMessage()}
    set {_uniqueStorage()._subMessage = newValue}
  }
  /// Returns true if `subMessage` has been explicitly set.
  var hasSubMessage: Bool {return _storage._subMessage != nil}
  /// Clears the value of `subMessage`. Subsequent reads from it will return its default value.
  mutating func clearSubMessage() {_uniqueStorage()._subMessage = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  struct SubMessage {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var subGroup: ProtobufUnittest_TestIsInitialized.SubMessage.SubGroup {
      get {return _storage._subGroup ?? ProtobufUnittest_TestIsInitialized.SubMessage.SubGroup()}
      set {_uniqueStorage()._subGroup = newValue}
    }
    /// Returns true if `subGroup` has been explicitly set.
    var hasSubGroup: Bool {return _storage._subGroup != nil}
    /// Clears the value of `subGroup`. Subsequent reads from it will return its default value.
    mutating func clearSubGroup() {_uniqueStorage()._subGroup = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    struct SubGroup {
      // SwiftProtobuf.Message conformance is added in an extension below. See the
      // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
      // methods supported on all messages.

      var i: Int32 {
        get {return _i ?? 0}
        set {_i = newValue}
      }
      /// Returns true if `i` has been explicitly set.
      var hasI: Bool {return self._i != nil}
      /// Clears the value of `i`. Subsequent reads from it will return its default value.
      mutating func clearI() {self._i = nil}

      var unknownFields = SwiftProtobuf.UnknownStorage()

      init() {}

      fileprivate var _i: Int32? = nil
    }

    init() {}

    fileprivate var _storage = _StorageClass.defaultInstance
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

/// Test that groups have disjoint field numbers from their siblings and
/// parents.  This is NOT possible in proto1; only google.protobuf.  When attempting
/// to compile with proto1, this will emit an error; so we only include it
/// in protobuf_unittest_proto.
struct ProtobufUnittest_TestDupFieldNumber {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  /// NO_PROTO1
  var a: Int32 {
    get {return _storage._a ?? 0}
    set {_uniqueStorage()._a = newValue}
  }
  /// Returns true if `a` has been explicitly set.
  var hasA: Bool {return _storage._a != nil}
  /// Clears the value of `a`. Subsequent reads from it will return its default value.
  mutating func clearA() {_uniqueStorage()._a = nil}

  var foo: ProtobufUnittest_TestDupFieldNumber.Foo {
    get {return _storage._foo ?? ProtobufUnittest_TestDupFieldNumber.Foo()}
    set {_uniqueStorage()._foo = newValue}
  }
  /// Returns true if `foo` has been explicitly set.
  var hasFoo: Bool {return _storage._foo != nil}
  /// Clears the value of `foo`. Subsequent reads from it will return its default value.
  mutating func clearFoo() {_uniqueStorage()._foo = nil}

  var bar: ProtobufUnittest_TestDupFieldNumber.Bar {
    get {return _storage._bar ?? ProtobufUnittest_TestDupFieldNumber.Bar()}
    set {_uniqueStorage()._bar = newValue}
  }
  /// Returns true if `bar` has been explicitly set.
  var hasBar: Bool {return _storage._bar != nil}
  /// Clears the value of `bar`. Subsequent reads from it will return its default value.
  mutating func clearBar() {_uniqueStorage()._bar = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  struct Foo {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var a: Int32 {
      get {return _a ?? 0}
      set {_a = newValue}
    }
    /// Returns true if `a` has been explicitly set.
    var hasA: Bool {return self._a != nil}
    /// Clears the value of `a`. Subsequent reads from it will return its default value.
    mutating func clearA() {self._a = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _a: Int32? = nil
  }

  struct Bar {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var a: Int32 {
      get {return _a ?? 0}
      set {_a = newValue}
    }
    /// Returns true if `a` has been explicitly set.
    var hasA: Bool {return self._a != nil}
    /// Clears the value of `a`. Subsequent reads from it will return its default value.
    mutating func clearA() {self._a = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _a: Int32? = nil
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

/// Additional messages for testing lazy fields.
struct ProtobufUnittest_TestEagerMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var subMessage: ProtobufUnittest_TestAllTypes {
    get {return _storage._subMessage ?? ProtobufUnittest_TestAllTypes()}
    set {_uniqueStorage()._subMessage = newValue}
  }
  /// Returns true if `subMessage` has been explicitly set.
  var hasSubMessage: Bool {return _storage._subMessage != nil}
  /// Clears the value of `subMessage`. Subsequent reads from it will return its default value.
  mutating func clearSubMessage() {_uniqueStorage()._subMessage = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestLazyMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var subMessage: ProtobufUnittest_TestAllTypes {
    get {return _storage._subMessage ?? ProtobufUnittest_TestAllTypes()}
    set {_uniqueStorage()._subMessage = newValue}
  }
  /// Returns true if `subMessage` has been explicitly set.
  var hasSubMessage: Bool {return _storage._subMessage != nil}
  /// Clears the value of `subMessage`. Subsequent reads from it will return its default value.
  mutating func clearSubMessage() {_uniqueStorage()._subMessage = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

/// Needed for a Python test.
struct ProtobufUnittest_TestNestedMessageHasBits {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var optionalNestedMessage: ProtobufUnittest_TestNestedMessageHasBits.NestedMessage {
    get {return _storage._optionalNestedMessage ?? ProtobufUnittest_TestNestedMessageHasBits.NestedMessage()}
    set {_uniqueStorage()._optionalNestedMessage = newValue}
  }
  /// Returns true if `optionalNestedMessage` has been explicitly set.
  var hasOptionalNestedMessage: Bool {return _storage._optionalNestedMessage != nil}
  /// Clears the value of `optionalNestedMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalNestedMessage() {_uniqueStorage()._optionalNestedMessage = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  struct NestedMessage {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var nestedmessageRepeatedInt32: [Int32] = []

    var nestedmessageRepeatedForeignmessage: [ProtobufUnittest_ForeignMessage] = []

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

/// Test message with CamelCase field names.  This violates Protocol Buffer
/// standard style.
struct ProtobufUnittest_TestCamelCaseFieldNames {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var primitiveField: Int32 {
    get {return _storage._primitiveField ?? 0}
    set {_uniqueStorage()._primitiveField = newValue}
  }
  /// Returns true if `primitiveField` has been explicitly set.
  var hasPrimitiveField: Bool {return _storage._primitiveField != nil}
  /// Clears the value of `primitiveField`. Subsequent reads from it will return its default value.
  mutating func clearPrimitiveField() {_uniqueStorage()._primitiveField = nil}

  var stringField: String {
    get {return _storage._stringField ?? String()}
    set {_uniqueStorage()._stringField = newValue}
  }
  /// Returns true if `stringField` has been explicitly set.
  var hasStringField: Bool {return _storage._stringField != nil}
  /// Clears the value of `stringField`. Subsequent reads from it will return its default value.
  mutating func clearStringField() {_uniqueStorage()._stringField = nil}

  var enumField: ProtobufUnittest_ForeignEnum {
    get {return _storage._enumField ?? .foreignFoo}
    set {_uniqueStorage()._enumField = newValue}
  }
  /// Returns true if `enumField` has been explicitly set.
  var hasEnumField: Bool {return _storage._enumField != nil}
  /// Clears the value of `enumField`. Subsequent reads from it will return its default value.
  mutating func clearEnumField() {_uniqueStorage()._enumField = nil}

  var messageField: ProtobufUnittest_ForeignMessage {
    get {return _storage._messageField ?? ProtobufUnittest_ForeignMessage()}
    set {_uniqueStorage()._messageField = newValue}
  }
  /// Returns true if `messageField` has been explicitly set.
  var hasMessageField: Bool {return _storage._messageField != nil}
  /// Clears the value of `messageField`. Subsequent reads from it will return its default value.
  mutating func clearMessageField() {_uniqueStorage()._messageField = nil}

  var stringPieceField: String {
    get {return _storage._stringPieceField ?? String()}
    set {_uniqueStorage()._stringPieceField = newValue}
  }
  /// Returns true if `stringPieceField` has been explicitly set.
  var hasStringPieceField: Bool {return _storage._stringPieceField != nil}
  /// Clears the value of `stringPieceField`. Subsequent reads from it will return its default value.
  mutating func clearStringPieceField() {_uniqueStorage()._stringPieceField = nil}

  var cordField: String {
    get {return _storage._cordField ?? String()}
    set {_uniqueStorage()._cordField = newValue}
  }
  /// Returns true if `cordField` has been explicitly set.
  var hasCordField: Bool {return _storage._cordField != nil}
  /// Clears the value of `cordField`. Subsequent reads from it will return its default value.
  mutating func clearCordField() {_uniqueStorage()._cordField = nil}

  var repeatedPrimitiveField: [Int32] {
    get {return _storage._repeatedPrimitiveField}
    set {_uniqueStorage()._repeatedPrimitiveField = newValue}
  }

  var repeatedStringField: [String] {
    get {return _storage._repeatedStringField}
    set {_uniqueStorage()._repeatedStringField = newValue}
  }

  var repeatedEnumField: [ProtobufUnittest_ForeignEnum] {
    get {return _storage._repeatedEnumField}
    set {_uniqueStorage()._repeatedEnumField = newValue}
  }

  var repeatedMessageField: [ProtobufUnittest_ForeignMessage] {
    get {return _storage._repeatedMessageField}
    set {_uniqueStorage()._repeatedMessageField = newValue}
  }

  var repeatedStringPieceField: [String] {
    get {return _storage._repeatedStringPieceField}
    set {_uniqueStorage()._repeatedStringPieceField = newValue}
  }

  var repeatedCordField: [String] {
    get {return _storage._repeatedCordField}
    set {_uniqueStorage()._repeatedCordField = newValue}
  }

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

/// We list fields out of order, to ensure that we're using field number and not
/// field index to determine serialization order.
struct ProtobufUnittest_TestFieldOrderings: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var myString: String {
    get {return _storage._myString ?? String()}
    set {_uniqueStorage()._myString = newValue}
  }
  /// Returns true if `myString` has been explicitly set.
  var hasMyString: Bool {return _storage._myString != nil}
  /// Clears the value of `myString`. Subsequent reads from it will return its default value.
  mutating func clearMyString() {_uniqueStorage()._myString = nil}

  var myInt: Int64 {
    get {return _storage._myInt ?? 0}
    set {_uniqueStorage()._myInt = newValue}
  }
  /// Returns true if `myInt` has been explicitly set.
  var hasMyInt: Bool {return _storage._myInt != nil}
  /// Clears the value of `myInt`. Subsequent reads from it will return its default value.
  mutating func clearMyInt() {_uniqueStorage()._myInt = nil}

  var myFloat: Float {
    get {return _storage._myFloat ?? 0}
    set {_uniqueStorage()._myFloat = newValue}
  }
  /// Returns true if `myFloat` has been explicitly set.
  var hasMyFloat: Bool {return _storage._myFloat != nil}
  /// Clears the value of `myFloat`. Subsequent reads from it will return its default value.
  mutating func clearMyFloat() {_uniqueStorage()._myFloat = nil}

  var optionalNestedMessage: ProtobufUnittest_TestFieldOrderings.NestedMessage {
    get {return _storage._optionalNestedMessage ?? ProtobufUnittest_TestFieldOrderings.NestedMessage()}
    set {_uniqueStorage()._optionalNestedMessage = newValue}
  }
  /// Returns true if `optionalNestedMessage` has been explicitly set.
  var hasOptionalNestedMessage: Bool {return _storage._optionalNestedMessage != nil}
  /// Clears the value of `optionalNestedMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalNestedMessage() {_uniqueStorage()._optionalNestedMessage = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  struct NestedMessage {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var oo: Int64 {
      get {return _oo ?? 0}
      set {_oo = newValue}
    }
    /// Returns true if `oo` has been explicitly set.
    var hasOo: Bool {return self._oo != nil}
    /// Clears the value of `oo`. Subsequent reads from it will return its default value.
    mutating func clearOo() {self._oo = nil}

    /// The field name "b" fails to compile in proto1 because it conflicts with
    /// a local variable named "b" in one of the generated methods.  Doh.
    /// This file needs to compile in proto1 to test backwards-compatibility.
    var bb: Int32 {
      get {return _bb ?? 0}
      set {_bb = newValue}
    }
    /// Returns true if `bb` has been explicitly set.
    var hasBb: Bool {return self._bb != nil}
    /// Clears the value of `bb`. Subsequent reads from it will return its default value.
    mutating func clearBb() {self._bb = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _oo: Int64? = nil
    fileprivate var _bb: Int32? = nil
  }

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestExtensionOrderings1 {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var myString: String {
    get {return _myString ?? String()}
    set {_myString = newValue}
  }
  /// Returns true if `myString` has been explicitly set.
  var hasMyString: Bool {return self._myString != nil}
  /// Clears the value of `myString`. Subsequent reads from it will return its default value.
  mutating func clearMyString() {self._myString = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _myString: String? = nil
}

struct ProtobufUnittest_TestExtensionOrderings2 {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var myString: String {
    get {return _myString ?? String()}
    set {_myString = newValue}
  }
  /// Returns true if `myString` has been explicitly set.
  var hasMyString: Bool {return self._myString != nil}
  /// Clears the value of `myString`. Subsequent reads from it will return its default value.
  mutating func clearMyString() {self._myString = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  struct TestExtensionOrderings3 {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var myString: String {
      get {return _myString ?? String()}
      set {_myString = newValue}
    }
    /// Returns true if `myString` has been explicitly set.
    var hasMyString: Bool {return self._myString != nil}
    /// Clears the value of `myString`. Subsequent reads from it will return its default value.
    mutating func clearMyString() {self._myString = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _myString: String? = nil
  }

  init() {}

  fileprivate var _myString: String? = nil
}

struct ProtobufUnittest_TestExtremeDefaultValues {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var escapedBytes: Data {
    get {return _storage._escapedBytes ?? Data([0, 1, 7, 8, 12, 10, 13, 9, 11, 92, 39, 34, 254])}
    set {_uniqueStorage()._escapedBytes = newValue}
  }
  /// Returns true if `escapedBytes` has been explicitly set.
  var hasEscapedBytes: Bool {return _storage._escapedBytes != nil}
  /// Clears the value of `escapedBytes`. Subsequent reads from it will return its default value.
  mutating func clearEscapedBytes() {_uniqueStorage()._escapedBytes = nil}

  var largeUint32: UInt32 {
    get {return _storage._largeUint32 ?? 4294967295}
    set {_uniqueStorage()._largeUint32 = newValue}
  }
  /// Returns true if `largeUint32` has been explicitly set.
  var hasLargeUint32: Bool {return _storage._largeUint32 != nil}
  /// Clears the value of `largeUint32`. Subsequent reads from it will return its default value.
  mutating func clearLargeUint32() {_uniqueStorage()._largeUint32 = nil}

  var largeUint64: UInt64 {
    get {return _storage._largeUint64 ?? 18446744073709551615}
    set {_uniqueStorage()._largeUint64 = newValue}
  }
  /// Returns true if `largeUint64` has been explicitly set.
  var hasLargeUint64: Bool {return _storage._largeUint64 != nil}
  /// Clears the value of `largeUint64`. Subsequent reads from it will return its default value.
  mutating func clearLargeUint64() {_uniqueStorage()._largeUint64 = nil}

  var smallInt32: Int32 {
    get {return _storage._smallInt32 ?? -2147483647}
    set {_uniqueStorage()._smallInt32 = newValue}
  }
  /// Returns true if `smallInt32` has been explicitly set.
  var hasSmallInt32: Bool {return _storage._smallInt32 != nil}
  /// Clears the value of `smallInt32`. Subsequent reads from it will return its default value.
  mutating func clearSmallInt32() {_uniqueStorage()._smallInt32 = nil}

  var smallInt64: Int64 {
    get {return _storage._smallInt64 ?? -9223372036854775807}
    set {_uniqueStorage()._smallInt64 = newValue}
  }
  /// Returns true if `smallInt64` has been explicitly set.
  var hasSmallInt64: Bool {return _storage._smallInt64 != nil}
  /// Clears the value of `smallInt64`. Subsequent reads from it will return its default value.
  mutating func clearSmallInt64() {_uniqueStorage()._smallInt64 = nil}

  var reallySmallInt32: Int32 {
    get {return _storage._reallySmallInt32 ?? -2147483648}
    set {_uniqueStorage()._reallySmallInt32 = newValue}
  }
  /// Returns true if `reallySmallInt32` has been explicitly set.
  var hasReallySmallInt32: Bool {return _storage._reallySmallInt32 != nil}
  /// Clears the value of `reallySmallInt32`. Subsequent reads from it will return its default value.
  mutating func clearReallySmallInt32() {_uniqueStorage()._reallySmallInt32 = nil}

  var reallySmallInt64: Int64 {
    get {return _storage._reallySmallInt64 ?? -9223372036854775808}
    set {_uniqueStorage()._reallySmallInt64 = newValue}
  }
  /// Returns true if `reallySmallInt64` has been explicitly set.
  var hasReallySmallInt64: Bool {return _storage._reallySmallInt64 != nil}
  /// Clears the value of `reallySmallInt64`. Subsequent reads from it will return its default value.
  mutating func clearReallySmallInt64() {_uniqueStorage()._reallySmallInt64 = nil}

  /// The default value here is UTF-8 for "\u1234".  (We could also just type
  /// the UTF-8 text directly into this text file rather than escape it, but
  /// lots of people use editors that would be confused by this.)
  var utf8String: String {
    get {return _storage._utf8String ?? "ሴ"}
    set {_uniqueStorage()._utf8String = newValue}
  }
  /// Returns true if `utf8String` has been explicitly set.
  var hasUtf8String: Bool {return _storage._utf8String != nil}
  /// Clears the value of `utf8String`. Subsequent reads from it will return its default value.
  mutating func clearUtf8String() {_uniqueStorage()._utf8String = nil}

  /// Tests for single-precision floating-point values.
  var zeroFloat: Float {
    get {return _storage._zeroFloat ?? 0}
    set {_uniqueStorage()._zeroFloat = newValue}
  }
  /// Returns true if `zeroFloat` has been explicitly set.
  var hasZeroFloat: Bool {return _storage._zeroFloat != nil}
  /// Clears the value of `zeroFloat`. Subsequent reads from it will return its default value.
  mutating func clearZeroFloat() {_uniqueStorage()._zeroFloat = nil}

  var oneFloat: Float {
    get {return _storage._oneFloat ?? 1}
    set {_uniqueStorage()._oneFloat = newValue}
  }
  /// Returns true if `oneFloat` has been explicitly set.
  var hasOneFloat: Bool {return _storage._oneFloat != nil}
  /// Clears the value of `oneFloat`. Subsequent reads from it will return its default value.
  mutating func clearOneFloat() {_uniqueStorage()._oneFloat = nil}

  var smallFloat: Float {
    get {return _storage._smallFloat ?? 1.5}
    set {_uniqueStorage()._smallFloat = newValue}
  }
  /// Returns true if `smallFloat` has been explicitly set.
  var hasSmallFloat: Bool {return _storage._smallFloat != nil}
  /// Clears the value of `smallFloat`. Subsequent reads from it will return its default value.
  mutating func clearSmallFloat() {_uniqueStorage()._smallFloat = nil}

  var negativeOneFloat: Float {
    get {return _storage._negativeOneFloat ?? -1}
    set {_uniqueStorage()._negativeOneFloat = newValue}
  }
  /// Returns true if `negativeOneFloat` has been explicitly set.
  var hasNegativeOneFloat: Bool {return _storage._negativeOneFloat != nil}
  /// Clears the value of `negativeOneFloat`. Subsequent reads from it will return its default value.
  mutating func clearNegativeOneFloat() {_uniqueStorage()._negativeOneFloat = nil}

  var negativeFloat: Float {
    get {return _storage._negativeFloat ?? -1.5}
    set {_uniqueStorage()._negativeFloat = newValue}
  }
  /// Returns true if `negativeFloat` has been explicitly set.
  var hasNegativeFloat: Bool {return _storage._negativeFloat != nil}
  /// Clears the value of `negativeFloat`. Subsequent reads from it will return its default value.
  mutating func clearNegativeFloat() {_uniqueStorage()._negativeFloat = nil}

  /// Using exponents
  var largeFloat: Float {
    get {return _storage._largeFloat ?? 2e+08}
    set {_uniqueStorage()._largeFloat = newValue}
  }
  /// Returns true if `largeFloat` has been explicitly set.
  var hasLargeFloat: Bool {return _storage._largeFloat != nil}
  /// Clears the value of `largeFloat`. Subsequent reads from it will return its default value.
  mutating func clearLargeFloat() {_uniqueStorage()._largeFloat = nil}

  var smallNegativeFloat: Float {
    get {return _storage._smallNegativeFloat ?? -8e-28}
    set {_uniqueStorage()._smallNegativeFloat = newValue}
  }
  /// Returns true if `smallNegativeFloat` has been explicitly set.
  var hasSmallNegativeFloat: Bool {return _storage._smallNegativeFloat != nil}
  /// Clears the value of `smallNegativeFloat`. Subsequent reads from it will return its default value.
  mutating func clearSmallNegativeFloat() {_uniqueStorage()._smallNegativeFloat = nil}

  /// Text for nonfinite floating-point values.
  var infDouble: Double {
    get {return _storage._infDouble ?? Double.infinity}
    set {_uniqueStorage()._infDouble = newValue}
  }
  /// Returns true if `infDouble` has been explicitly set.
  var hasInfDouble: Bool {return _storage._infDouble != nil}
  /// Clears the value of `infDouble`. Subsequent reads from it will return its default value.
  mutating func clearInfDouble() {_uniqueStorage()._infDouble = nil}

  var negInfDouble: Double {
    get {return _storage._negInfDouble ?? -Double.infinity}
    set {_uniqueStorage()._negInfDouble = newValue}
  }
  /// Returns true if `negInfDouble` has been explicitly set.
  var hasNegInfDouble: Bool {return _storage._negInfDouble != nil}
  /// Clears the value of `negInfDouble`. Subsequent reads from it will return its default value.
  mutating func clearNegInfDouble() {_uniqueStorage()._negInfDouble = nil}

  var nanDouble: Double {
    get {return _storage._nanDouble ?? Double.nan}
    set {_uniqueStorage()._nanDouble = newValue}
  }
  /// Returns true if `nanDouble` has been explicitly set.
  var hasNanDouble: Bool {return _storage._nanDouble != nil}
  /// Clears the value of `nanDouble`. Subsequent reads from it will return its default value.
  mutating func clearNanDouble() {_uniqueStorage()._nanDouble = nil}

  var infFloat: Float {
    get {return _storage._infFloat ?? Float.infinity}
    set {_uniqueStorage()._infFloat = newValue}
  }
  /// Returns true if `infFloat` has been explicitly set.
  var hasInfFloat: Bool {return _storage._infFloat != nil}
  /// Clears the value of `infFloat`. Subsequent reads from it will return its default value.
  mutating func clearInfFloat() {_uniqueStorage()._infFloat = nil}

  var negInfFloat: Float {
    get {return _storage._negInfFloat ?? -Float.infinity}
    set {_uniqueStorage()._negInfFloat = newValue}
  }
  /// Returns true if `negInfFloat` has been explicitly set.
  var hasNegInfFloat: Bool {return _storage._negInfFloat != nil}
  /// Clears the value of `negInfFloat`. Subsequent reads from it will return its default value.
  mutating func clearNegInfFloat() {_uniqueStorage()._negInfFloat = nil}

  var nanFloat: Float {
    get {return _storage._nanFloat ?? Float.nan}
    set {_uniqueStorage()._nanFloat = newValue}
  }
  /// Returns true if `nanFloat` has been explicitly set.
  var hasNanFloat: Bool {return _storage._nanFloat != nil}
  /// Clears the value of `nanFloat`. Subsequent reads from it will return its default value.
  mutating func clearNanFloat() {_uniqueStorage()._nanFloat = nil}

  /// Tests for C++ trigraphs.
  /// Trigraphs should be escaped in C++ generated files, but they should not be
  /// escaped for other languages.
  /// Note that in .proto file, "\?" is a valid way to escape ? in string
  /// literals.
  var cppTrigraph: String {
    get {return _storage._cppTrigraph ?? "? ? ?? ?? ??? ??/ ??-"}
    set {_uniqueStorage()._cppTrigraph = newValue}
  }
  /// Returns true if `cppTrigraph` has been explicitly set.
  var hasCppTrigraph: Bool {return _storage._cppTrigraph != nil}
  /// Clears the value of `cppTrigraph`. Subsequent reads from it will return its default value.
  mutating func clearCppTrigraph() {_uniqueStorage()._cppTrigraph = nil}

  /// String defaults containing the character '\000'
  var stringWithZero: String {
    get {return _storage._stringWithZero ?? "hel\0lo"}
    set {_uniqueStorage()._stringWithZero = newValue}
  }
  /// Returns true if `stringWithZero` has been explicitly set.
  var hasStringWithZero: Bool {return _storage._stringWithZero != nil}
  /// Clears the value of `stringWithZero`. Subsequent reads from it will return its default value.
  mutating func clearStringWithZero() {_uniqueStorage()._stringWithZero = nil}

  var bytesWithZero: Data {
    get {return _storage._bytesWithZero ?? Data([119, 111, 114, 0, 108, 100])}
    set {_uniqueStorage()._bytesWithZero = newValue}
  }
  /// Returns true if `bytesWithZero` has been explicitly set.
  var hasBytesWithZero: Bool {return _storage._bytesWithZero != nil}
  /// Clears the value of `bytesWithZero`. Subsequent reads from it will return its default value.
  mutating func clearBytesWithZero() {_uniqueStorage()._bytesWithZero = nil}

  var stringPieceWithZero: String {
    get {return _storage._stringPieceWithZero ?? "ab\0c"}
    set {_uniqueStorage()._stringPieceWithZero = newValue}
  }
  /// Returns true if `stringPieceWithZero` has been explicitly set.
  var hasStringPieceWithZero: Bool {return _storage._stringPieceWithZero != nil}
  /// Clears the value of `stringPieceWithZero`. Subsequent reads from it will return its default value.
  mutating func clearStringPieceWithZero() {_uniqueStorage()._stringPieceWithZero = nil}

  var cordWithZero: String {
    get {return _storage._cordWithZero ?? "12\03"}
    set {_uniqueStorage()._cordWithZero = newValue}
  }
  /// Returns true if `cordWithZero` has been explicitly set.
  var hasCordWithZero: Bool {return _storage._cordWithZero != nil}
  /// Clears the value of `cordWithZero`. Subsequent reads from it will return its default value.
  mutating func clearCordWithZero() {_uniqueStorage()._cordWithZero = nil}

  var replacementString: String {
    get {return _storage._replacementString ?? "${unknown}"}
    set {_uniqueStorage()._replacementString = newValue}
  }
  /// Returns true if `replacementString` has been explicitly set.
  var hasReplacementString: Bool {return _storage._replacementString != nil}
  /// Clears the value of `replacementString`. Subsequent reads from it will return its default value.
  mutating func clearReplacementString() {_uniqueStorage()._replacementString = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_SparseEnumMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var sparseEnum: ProtobufUnittest_TestSparseEnum {
    get {return _sparseEnum ?? .sparseA}
    set {_sparseEnum = newValue}
  }
  /// Returns true if `sparseEnum` has been explicitly set.
  var hasSparseEnum: Bool {return self._sparseEnum != nil}
  /// Clears the value of `sparseEnum`. Subsequent reads from it will return its default value.
  mutating func clearSparseEnum() {self._sparseEnum = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _sparseEnum: ProtobufUnittest_TestSparseEnum? = nil
}

/// Test String and Bytes: string is for valid UTF-8 strings
struct ProtobufUnittest_OneString {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var data: String {
    get {return _data ?? String()}
    set {_data = newValue}
  }
  /// Returns true if `data` has been explicitly set.
  var hasData: Bool {return self._data != nil}
  /// Clears the value of `data`. Subsequent reads from it will return its default value.
  mutating func clearData() {self._data = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _data: String? = nil
}

struct ProtobufUnittest_MoreString {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var data: [String] = []

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

struct ProtobufUnittest_OneBytes {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var data: Data {
    get {return _data ?? SwiftProtobuf.Internal.emptyData}
    set {_data = newValue}
  }
  /// Returns true if `data` has been explicitly set.
  var hasData: Bool {return self._data != nil}
  /// Clears the value of `data`. Subsequent reads from it will return its default value.
  mutating func clearData() {self._data = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _data: Data? = nil
}

struct ProtobufUnittest_MoreBytes {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var data: [Data] = []

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

/// Test int32, uint32, int64, uint64, and bool are all compatible
struct ProtobufUnittest_Int32Message {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var data: Int32 {
    get {return _data ?? 0}
    set {_data = newValue}
  }
  /// Returns true if `data` has been explicitly set.
  var hasData: Bool {return self._data != nil}
  /// Clears the value of `data`. Subsequent reads from it will return its default value.
  mutating func clearData() {self._data = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _data: Int32? = nil
}

struct ProtobufUnittest_Uint32Message {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var data: UInt32 {
    get {return _data ?? 0}
    set {_data = newValue}
  }
  /// Returns true if `data` has been explicitly set.
  var hasData: Bool {return self._data != nil}
  /// Clears the value of `data`. Subsequent reads from it will return its default value.
  mutating func clearData() {self._data = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _data: UInt32? = nil
}

struct ProtobufUnittest_Int64Message {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var data: Int64 {
    get {return _data ?? 0}
    set {_data = newValue}
  }
  /// Returns true if `data` has been explicitly set.
  var hasData: Bool {return self._data != nil}
  /// Clears the value of `data`. Subsequent reads from it will return its default value.
  mutating func clearData() {self._data = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _data: Int64? = nil
}

struct ProtobufUnittest_Uint64Message {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var data: UInt64 {
    get {return _data ?? 0}
    set {_data = newValue}
  }
  /// Returns true if `data` has been explicitly set.
  var hasData: Bool {return self._data != nil}
  /// Clears the value of `data`. Subsequent reads from it will return its default value.
  mutating func clearData() {self._data = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _data: UInt64? = nil
}

struct ProtobufUnittest_BoolMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var data: Bool {
    get {return _data ?? false}
    set {_data = newValue}
  }
  /// Returns true if `data` has been explicitly set.
  var hasData: Bool {return self._data != nil}
  /// Clears the value of `data`. Subsequent reads from it will return its default value.
  mutating func clearData() {self._data = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _data: Bool? = nil
}

/// Test oneofs.
struct ProtobufUnittest_TestOneof {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var foo: OneOf_Foo? {
    get {return _storage._foo}
    set {_uniqueStorage()._foo = newValue}
  }

  var fooInt: Int32 {
    get {
      if case .fooInt(let v)? = _storage._foo {return v}
      return 0
    }
    set {_uniqueStorage()._foo = .fooInt(newValue)}
  }

  var fooString: String {
    get {
      if case .fooString(let v)? = _storage._foo {return v}
      return String()
    }
    set {_uniqueStorage()._foo = .fooString(newValue)}
  }

  var fooMessage: ProtobufUnittest_TestAllTypes {
    get {
      if case .fooMessage(let v)? = _storage._foo {return v}
      return ProtobufUnittest_TestAllTypes()
    }
    set {_uniqueStorage()._foo = .fooMessage(newValue)}
  }

  var fooGroup: ProtobufUnittest_TestOneof.FooGroup {
    get {
      if case .fooGroup(let v)? = _storage._foo {return v}
      return ProtobufUnittest_TestOneof.FooGroup()
    }
    set {_uniqueStorage()._foo = .fooGroup(newValue)}
  }

  var unknownFields = SwiftProtobuf.UnknownStorage()

  enum OneOf_Foo: Equatable {
    case fooInt(Int32)
    case fooString(String)
    case fooMessage(ProtobufUnittest_TestAllTypes)
    case fooGroup(ProtobufUnittest_TestOneof.FooGroup)

  #if !swift(>=4.1)
    static func ==(lhs: ProtobufUnittest_TestOneof.OneOf_Foo, rhs: ProtobufUnittest_TestOneof.OneOf_Foo) -> Bool {
      switch (lhs, rhs) {
      case (.fooInt(let l), .fooInt(let r)): return l == r
      case (.fooString(let l), .fooString(let r)): return l == r
      case (.fooMessage(let l), .fooMessage(let r)): return l == r
      case (.fooGroup(let l), .fooGroup(let r)): return l == r
      default: return false
      }
    }
  #endif
  }

  struct FooGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var a: Int32 {
      get {return _a ?? 0}
      set {_a = newValue}
    }
    /// Returns true if `a` has been explicitly set.
    var hasA: Bool {return self._a != nil}
    /// Clears the value of `a`. Subsequent reads from it will return its default value.
    mutating func clearA() {self._a = nil}

    var b: String {
      get {return _b ?? String()}
      set {_b = newValue}
    }
    /// Returns true if `b` has been explicitly set.
    var hasB: Bool {return self._b != nil}
    /// Clears the value of `b`. Subsequent reads from it will return its default value.
    mutating func clearB() {self._b = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _a: Int32? = nil
    fileprivate var _b: String? = nil
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestOneofBackwardsCompatible {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var fooInt: Int32 {
    get {return _storage._fooInt ?? 0}
    set {_uniqueStorage()._fooInt = newValue}
  }
  /// Returns true if `fooInt` has been explicitly set.
  var hasFooInt: Bool {return _storage._fooInt != nil}
  /// Clears the value of `fooInt`. Subsequent reads from it will return its default value.
  mutating func clearFooInt() {_uniqueStorage()._fooInt = nil}

  var fooString: String {
    get {return _storage._fooString ?? String()}
    set {_uniqueStorage()._fooString = newValue}
  }
  /// Returns true if `fooString` has been explicitly set.
  var hasFooString: Bool {return _storage._fooString != nil}
  /// Clears the value of `fooString`. Subsequent reads from it will return its default value.
  mutating func clearFooString() {_uniqueStorage()._fooString = nil}

  var fooMessage: ProtobufUnittest_TestAllTypes {
    get {return _storage._fooMessage ?? ProtobufUnittest_TestAllTypes()}
    set {_uniqueStorage()._fooMessage = newValue}
  }
  /// Returns true if `fooMessage` has been explicitly set.
  var hasFooMessage: Bool {return _storage._fooMessage != nil}
  /// Clears the value of `fooMessage`. Subsequent reads from it will return its default value.
  mutating func clearFooMessage() {_uniqueStorage()._fooMessage = nil}

  var fooGroup: ProtobufUnittest_TestOneofBackwardsCompatible.FooGroup {
    get {return _storage._fooGroup ?? ProtobufUnittest_TestOneofBackwardsCompatible.FooGroup()}
    set {_uniqueStorage()._fooGroup = newValue}
  }
  /// Returns true if `fooGroup` has been explicitly set.
  var hasFooGroup: Bool {return _storage._fooGroup != nil}
  /// Clears the value of `fooGroup`. Subsequent reads from it will return its default value.
  mutating func clearFooGroup() {_uniqueStorage()._fooGroup = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  struct FooGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var a: Int32 {
      get {return _a ?? 0}
      set {_a = newValue}
    }
    /// Returns true if `a` has been explicitly set.
    var hasA: Bool {return self._a != nil}
    /// Clears the value of `a`. Subsequent reads from it will return its default value.
    mutating func clearA() {self._a = nil}

    var b: String {
      get {return _b ?? String()}
      set {_b = newValue}
    }
    /// Returns true if `b` has been explicitly set.
    var hasB: Bool {return self._b != nil}
    /// Clears the value of `b`. Subsequent reads from it will return its default value.
    mutating func clearB() {self._b = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _a: Int32? = nil
    fileprivate var _b: String? = nil
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestOneof2 {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var foo: OneOf_Foo? {
    get {return _storage._foo}
    set {_uniqueStorage()._foo = newValue}
  }

  var fooInt: Int32 {
    get {
      if case .fooInt(let v)? = _storage._foo {return v}
      return 0
    }
    set {_uniqueStorage()._foo = .fooInt(newValue)}
  }

  var fooString: String {
    get {
      if case .fooString(let v)? = _storage._foo {return v}
      return String()
    }
    set {_uniqueStorage()._foo = .fooString(newValue)}
  }

  var fooCord: String {
    get {
      if case .fooCord(let v)? = _storage._foo {return v}
      return String()
    }
    set {_uniqueStorage()._foo = .fooCord(newValue)}
  }

  var fooStringPiece: String {
    get {
      if case .fooStringPiece(let v)? = _storage._foo {return v}
      return String()
    }
    set {_uniqueStorage()._foo = .fooStringPiece(newValue)}
  }

  var fooBytes: Data {
    get {
      if case .fooBytes(let v)? = _storage._foo {return v}
      return SwiftProtobuf.Internal.emptyData
    }
    set {_uniqueStorage()._foo = .fooBytes(newValue)}
  }

  var fooEnum: ProtobufUnittest_TestOneof2.NestedEnum {
    get {
      if case .fooEnum(let v)? = _storage._foo {return v}
      return .foo
    }
    set {_uniqueStorage()._foo = .fooEnum(newValue)}
  }

  var fooMessage: ProtobufUnittest_TestOneof2.NestedMessage {
    get {
      if case .fooMessage(let v)? = _storage._foo {return v}
      return ProtobufUnittest_TestOneof2.NestedMessage()
    }
    set {_uniqueStorage()._foo = .fooMessage(newValue)}
  }

  var fooGroup: ProtobufUnittest_TestOneof2.FooGroup {
    get {
      if case .fooGroup(let v)? = _storage._foo {return v}
      return ProtobufUnittest_TestOneof2.FooGroup()
    }
    set {_uniqueStorage()._foo = .fooGroup(newValue)}
  }

  var fooLazyMessage: ProtobufUnittest_TestOneof2.NestedMessage {
    get {
      if case .fooLazyMessage(let v)? = _storage._foo {return v}
      return ProtobufUnittest_TestOneof2.NestedMessage()
    }
    set {_uniqueStorage()._foo = .fooLazyMessage(newValue)}
  }

  var bar: OneOf_Bar? {
    get {return _storage._bar}
    set {_uniqueStorage()._bar = newValue}
  }

  var barInt: Int32 {
    get {
      if case .barInt(let v)? = _storage._bar {return v}
      return 5
    }
    set {_uniqueStorage()._bar = .barInt(newValue)}
  }

  var barString: String {
    get {
      if case .barString(let v)? = _storage._bar {return v}
      return "STRING"
    }
    set {_uniqueStorage()._bar = .barString(newValue)}
  }

  var barCord: String {
    get {
      if case .barCord(let v)? = _storage._bar {return v}
      return "CORD"
    }
    set {_uniqueStorage()._bar = .barCord(newValue)}
  }

  var barStringPiece: String {
    get {
      if case .barStringPiece(let v)? = _storage._bar {return v}
      return "SPIECE"
    }
    set {_uniqueStorage()._bar = .barStringPiece(newValue)}
  }

  var barBytes: Data {
    get {
      if case .barBytes(let v)? = _storage._bar {return v}
      return Data([66, 89, 84, 69, 83])
    }
    set {_uniqueStorage()._bar = .barBytes(newValue)}
  }

  var barEnum: ProtobufUnittest_TestOneof2.NestedEnum {
    get {
      if case .barEnum(let v)? = _storage._bar {return v}
      return .bar
    }
    set {_uniqueStorage()._bar = .barEnum(newValue)}
  }

  var bazInt: Int32 {
    get {return _storage._bazInt ?? 0}
    set {_uniqueStorage()._bazInt = newValue}
  }
  /// Returns true if `bazInt` has been explicitly set.
  var hasBazInt: Bool {return _storage._bazInt != nil}
  /// Clears the value of `bazInt`. Subsequent reads from it will return its default value.
  mutating func clearBazInt() {_uniqueStorage()._bazInt = nil}

  var bazString: String {
    get {return _storage._bazString ?? "BAZ"}
    set {_uniqueStorage()._bazString = newValue}
  }
  /// Returns true if `bazString` has been explicitly set.
  var hasBazString: Bool {return _storage._bazString != nil}
  /// Clears the value of `bazString`. Subsequent reads from it will return its default value.
  mutating func clearBazString() {_uniqueStorage()._bazString = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  enum OneOf_Foo: Equatable {
    case fooInt(Int32)
    case fooString(String)
    case fooCord(String)
    case fooStringPiece(String)
    case fooBytes(Data)
    case fooEnum(ProtobufUnittest_TestOneof2.NestedEnum)
    case fooMessage(ProtobufUnittest_TestOneof2.NestedMessage)
    case fooGroup(ProtobufUnittest_TestOneof2.FooGroup)
    case fooLazyMessage(ProtobufUnittest_TestOneof2.NestedMessage)

  #if !swift(>=4.1)
    static func ==(lhs: ProtobufUnittest_TestOneof2.OneOf_Foo, rhs: ProtobufUnittest_TestOneof2.OneOf_Foo) -> Bool {
      switch (lhs, rhs) {
      case (.fooInt(let l), .fooInt(let r)): return l == r
      case (.fooString(let l), .fooString(let r)): return l == r
      case (.fooCord(let l), .fooCord(let r)): return l == r
      case (.fooStringPiece(let l), .fooStringPiece(let r)): return l == r
      case (.fooBytes(let l), .fooBytes(let r)): return l == r
      case (.fooEnum(let l), .fooEnum(let r)): return l == r
      case (.fooMessage(let l), .fooMessage(let r)): return l == r
      case (.fooGroup(let l), .fooGroup(let r)): return l == r
      case (.fooLazyMessage(let l), .fooLazyMessage(let r)): return l == r
      default: return false
      }
    }
  #endif
  }

  enum OneOf_Bar: Equatable {
    case barInt(Int32)
    case barString(String)
    case barCord(String)
    case barStringPiece(String)
    case barBytes(Data)
    case barEnum(ProtobufUnittest_TestOneof2.NestedEnum)

  #if !swift(>=4.1)
    static func ==(lhs: ProtobufUnittest_TestOneof2.OneOf_Bar, rhs: ProtobufUnittest_TestOneof2.OneOf_Bar) -> Bool {
      switch (lhs, rhs) {
      case (.barInt(let l), .barInt(let r)): return l == r
      case (.barString(let l), .barString(let r)): return l == r
      case (.barCord(let l), .barCord(let r)): return l == r
      case (.barStringPiece(let l), .barStringPiece(let r)): return l == r
      case (.barBytes(let l), .barBytes(let r)): return l == r
      case (.barEnum(let l), .barEnum(let r)): return l == r
      default: return false
      }
    }
  #endif
  }

  enum NestedEnum: SwiftProtobuf.Enum {
    typealias RawValue = Int
    case foo // = 1
    case bar // = 2
    case baz // = 3

    init() {
      self = .foo
    }

    init?(rawValue: Int) {
      switch rawValue {
      case 1: self = .foo
      case 2: self = .bar
      case 3: self = .baz
      default: return nil
      }
    }

    var rawValue: Int {
      switch self {
      case .foo: return 1
      case .bar: return 2
      case .baz: return 3
      }
    }

  }

  struct FooGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var a: Int32 {
      get {return _a ?? 0}
      set {_a = newValue}
    }
    /// Returns true if `a` has been explicitly set.
    var hasA: Bool {return self._a != nil}
    /// Clears the value of `a`. Subsequent reads from it will return its default value.
    mutating func clearA() {self._a = nil}

    var b: String {
      get {return _b ?? String()}
      set {_b = newValue}
    }
    /// Returns true if `b` has been explicitly set.
    var hasB: Bool {return self._b != nil}
    /// Clears the value of `b`. Subsequent reads from it will return its default value.
    mutating func clearB() {self._b = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _a: Int32? = nil
    fileprivate var _b: String? = nil
  }

  struct NestedMessage {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var quxInt: Int64 {
      get {return _quxInt ?? 0}
      set {_quxInt = newValue}
    }
    /// Returns true if `quxInt` has been explicitly set.
    var hasQuxInt: Bool {return self._quxInt != nil}
    /// Clears the value of `quxInt`. Subsequent reads from it will return its default value.
    mutating func clearQuxInt() {self._quxInt = nil}

    var corgeInt: [Int32] = []

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _quxInt: Int64? = nil
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

#if swift(>=4.2)

extension ProtobufUnittest_TestOneof2.NestedEnum: CaseIterable {
  // Support synthesized by the compiler.
}

#endif  // swift(>=4.2)

struct ProtobufUnittest_TestRequiredOneof {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var foo: OneOf_Foo? {
    get {return _storage._foo}
    set {_uniqueStorage()._foo = newValue}
  }

  var fooInt: Int32 {
    get {
      if case .fooInt(let v)? = _storage._foo {return v}
      return 0
    }
    set {_uniqueStorage()._foo = .fooInt(newValue)}
  }

  var fooString: String {
    get {
      if case .fooString(let v)? = _storage._foo {return v}
      return String()
    }
    set {_uniqueStorage()._foo = .fooString(newValue)}
  }

  var fooMessage: ProtobufUnittest_TestRequiredOneof.NestedMessage {
    get {
      if case .fooMessage(let v)? = _storage._foo {return v}
      return ProtobufUnittest_TestRequiredOneof.NestedMessage()
    }
    set {_uniqueStorage()._foo = .fooMessage(newValue)}
  }

  var unknownFields = SwiftProtobuf.UnknownStorage()

  enum OneOf_Foo: Equatable {
    case fooInt(Int32)
    case fooString(String)
    case fooMessage(ProtobufUnittest_TestRequiredOneof.NestedMessage)

  #if !swift(>=4.1)
    static func ==(lhs: ProtobufUnittest_TestRequiredOneof.OneOf_Foo, rhs: ProtobufUnittest_TestRequiredOneof.OneOf_Foo) -> Bool {
      switch (lhs, rhs) {
      case (.fooInt(let l), .fooInt(let r)): return l == r
      case (.fooString(let l), .fooString(let r)): return l == r
      case (.fooMessage(let l), .fooMessage(let r)): return l == r
      default: return false
      }
    }
  #endif
  }

  struct NestedMessage {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var requiredDouble: Double {
      get {return _requiredDouble ?? 0}
      set {_requiredDouble = newValue}
    }
    /// Returns true if `requiredDouble` has been explicitly set.
    var hasRequiredDouble: Bool {return self._requiredDouble != nil}
    /// Clears the value of `requiredDouble`. Subsequent reads from it will return its default value.
    mutating func clearRequiredDouble() {self._requiredDouble = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _requiredDouble: Double? = nil
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestPackedTypes {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var packedInt32: [Int32] = []

  var packedInt64: [Int64] = []

  var packedUint32: [UInt32] = []

  var packedUint64: [UInt64] = []

  var packedSint32: [Int32] = []

  var packedSint64: [Int64] = []

  var packedFixed32: [UInt32] = []

  var packedFixed64: [UInt64] = []

  var packedSfixed32: [Int32] = []

  var packedSfixed64: [Int64] = []

  var packedFloat: [Float] = []

  var packedDouble: [Double] = []

  var packedBool: [Bool] = []

  var packedEnum: [ProtobufUnittest_ForeignEnum] = []

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

/// A message with the same fields as TestPackedTypes, but without packing. Used
/// to test packed <-> unpacked wire compatibility.
struct ProtobufUnittest_TestUnpackedTypes {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unpackedInt32: [Int32] = []

  var unpackedInt64: [Int64] = []

  var unpackedUint32: [UInt32] = []

  var unpackedUint64: [UInt64] = []

  var unpackedSint32: [Int32] = []

  var unpackedSint64: [Int64] = []

  var unpackedFixed32: [UInt32] = []

  var unpackedFixed64: [UInt64] = []

  var unpackedSfixed32: [Int32] = []

  var unpackedSfixed64: [Int64] = []

  var unpackedFloat: [Float] = []

  var unpackedDouble: [Double] = []

  var unpackedBool: [Bool] = []

  var unpackedEnum: [ProtobufUnittest_ForeignEnum] = []

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

struct ProtobufUnittest_TestPackedExtensions: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
}

struct ProtobufUnittest_TestUnpackedExtensions: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
}

/// Used by ExtensionSetTest/DynamicExtensions.  The test actually builds
/// a set of extensions to TestAllExtensions dynamically, based on the fields
/// of this message type.
struct ProtobufUnittest_TestDynamicExtensions {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var scalarExtension: UInt32 {
    get {return _storage._scalarExtension ?? 0}
    set {_uniqueStorage()._scalarExtension = newValue}
  }
  /// Returns true if `scalarExtension` has been explicitly set.
  var hasScalarExtension: Bool {return _storage._scalarExtension != nil}
  /// Clears the value of `scalarExtension`. Subsequent reads from it will return its default value.
  mutating func clearScalarExtension() {_uniqueStorage()._scalarExtension = nil}

  var enumExtension: ProtobufUnittest_ForeignEnum {
    get {return _storage._enumExtension ?? .foreignFoo}
    set {_uniqueStorage()._enumExtension = newValue}
  }
  /// Returns true if `enumExtension` has been explicitly set.
  var hasEnumExtension: Bool {return _storage._enumExtension != nil}
  /// Clears the value of `enumExtension`. Subsequent reads from it will return its default value.
  mutating func clearEnumExtension() {_uniqueStorage()._enumExtension = nil}

  var dynamicEnumExtension: ProtobufUnittest_TestDynamicExtensions.DynamicEnumType {
    get {return _storage._dynamicEnumExtension ?? .dynamicFoo}
    set {_uniqueStorage()._dynamicEnumExtension = newValue}
  }
  /// Returns true if `dynamicEnumExtension` has been explicitly set.
  var hasDynamicEnumExtension: Bool {return _storage._dynamicEnumExtension != nil}
  /// Clears the value of `dynamicEnumExtension`. Subsequent reads from it will return its default value.
  mutating func clearDynamicEnumExtension() {_uniqueStorage()._dynamicEnumExtension = nil}

  var messageExtension: ProtobufUnittest_ForeignMessage {
    get {return _storage._messageExtension ?? ProtobufUnittest_ForeignMessage()}
    set {_uniqueStorage()._messageExtension = newValue}
  }
  /// Returns true if `messageExtension` has been explicitly set.
  var hasMessageExtension: Bool {return _storage._messageExtension != nil}
  /// Clears the value of `messageExtension`. Subsequent reads from it will return its default value.
  mutating func clearMessageExtension() {_uniqueStorage()._messageExtension = nil}

  var dynamicMessageExtension: ProtobufUnittest_TestDynamicExtensions.DynamicMessageType {
    get {return _storage._dynamicMessageExtension ?? ProtobufUnittest_TestDynamicExtensions.DynamicMessageType()}
    set {_uniqueStorage()._dynamicMessageExtension = newValue}
  }
  /// Returns true if `dynamicMessageExtension` has been explicitly set.
  var hasDynamicMessageExtension: Bool {return _storage._dynamicMessageExtension != nil}
  /// Clears the value of `dynamicMessageExtension`. Subsequent reads from it will return its default value.
  mutating func clearDynamicMessageExtension() {_uniqueStorage()._dynamicMessageExtension = nil}

  var repeatedExtension: [String] {
    get {return _storage._repeatedExtension}
    set {_uniqueStorage()._repeatedExtension = newValue}
  }

  var packedExtension: [Int32] {
    get {return _storage._packedExtension}
    set {_uniqueStorage()._packedExtension = newValue}
  }

  var unknownFields = SwiftProtobuf.UnknownStorage()

  enum DynamicEnumType: SwiftProtobuf.Enum {
    typealias RawValue = Int
    case dynamicFoo // = 2200
    case dynamicBar // = 2201
    case dynamicBaz // = 2202

    init() {
      self = .dynamicFoo
    }

    init?(rawValue: Int) {
      switch rawValue {
      case 2200: self = .dynamicFoo
      case 2201: self = .dynamicBar
      case 2202: self = .dynamicBaz
      default: return nil
      }
    }

    var rawValue: Int {
      switch self {
      case .dynamicFoo: return 2200
      case .dynamicBar: return 2201
      case .dynamicBaz: return 2202
      }
    }

  }

  struct DynamicMessageType {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var dynamicField: Int32 {
      get {return _dynamicField ?? 0}
      set {_dynamicField = newValue}
    }
    /// Returns true if `dynamicField` has been explicitly set.
    var hasDynamicField: Bool {return self._dynamicField != nil}
    /// Clears the value of `dynamicField`. Subsequent reads from it will return its default value.
    mutating func clearDynamicField() {self._dynamicField = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _dynamicField: Int32? = nil
  }

  init() {}

  fileprivate var _storage = _StorageClass.defaultInstance
}

#if swift(>=4.2)

extension ProtobufUnittest_TestDynamicExtensions.DynamicEnumType: CaseIterable {
  // Support synthesized by the compiler.
}

#endif  // swift(>=4.2)

struct ProtobufUnittest_TestRepeatedScalarDifferentTagSizes {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  /// Parsing repeated fixed size values used to fail. This message needs to be
  /// used in order to get a tag of the right size; all of the repeated fields
  /// in TestAllTypes didn't trigger the check.
  var repeatedFixed32: [UInt32] = []

  /// Check for a varint type, just for good measure.
  var repeatedInt32: [Int32] = []

  /// These have two-byte tags.
  var repeatedFixed64: [UInt64] = []

  var repeatedInt64: [Int64] = []

  /// Three byte tags.
  var repeatedFloat: [Float] = []

  var repeatedUint64: [UInt64] = []

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

/// Test that if an optional or required message/group field appears multiple
/// times in the input, they need to be merged.
struct ProtobufUnittest_TestParsingMerge: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var requiredAllTypes: ProtobufUnittest_TestAllTypes {
    get {return _storage._requiredAllTypes ?? ProtobufUnittest_TestAllTypes()}
    set {_uniqueStorage()._requiredAllTypes = newValue}
  }
  /// Returns true if `requiredAllTypes` has been explicitly set.
  var hasRequiredAllTypes: Bool {return _storage._requiredAllTypes != nil}
  /// Clears the value of `requiredAllTypes`. Subsequent reads from it will return its default value.
  mutating func clearRequiredAllTypes() {_uniqueStorage()._requiredAllTypes = nil}

  var optionalAllTypes: ProtobufUnittest_TestAllTypes {
    get {return _storage._optionalAllTypes ?? ProtobufUnittest_TestAllTypes()}
    set {_uniqueStorage()._optionalAllTypes = newValue}
  }
  /// Returns true if `optionalAllTypes` has been explicitly set.
  var hasOptionalAllTypes: Bool {return _storage._optionalAllTypes != nil}
  /// Clears the value of `optionalAllTypes`. Subsequent reads from it will return its default value.
  mutating func clearOptionalAllTypes() {_uniqueStorage()._optionalAllTypes = nil}

  var repeatedAllTypes: [ProtobufUnittest_TestAllTypes] {
    get {return _storage._repeatedAllTypes}
    set {_uniqueStorage()._repeatedAllTypes = newValue}
  }

  var optionalGroup: ProtobufUnittest_TestParsingMerge.OptionalGroup {
    get {return _storage._optionalGroup ?? ProtobufUnittest_TestParsingMerge.OptionalGroup()}
    set {_uniqueStorage()._optionalGroup = newValue}
  }
  /// Returns true if `optionalGroup` has been explicitly set.
  var hasOptionalGroup: Bool {return _storage._optionalGroup != nil}
  /// Clears the value of `optionalGroup`. Subsequent reads from it will return its default value.
  mutating func clearOptionalGroup() {_uniqueStorage()._optionalGroup = nil}

  var repeatedGroup: [ProtobufUnittest_TestParsingMerge.RepeatedGroup] {
    get {return _storage._repeatedGroup}
    set {_uniqueStorage()._repeatedGroup = newValue}
  }

  var unknownFields = SwiftProtobuf.UnknownStorage()

  /// RepeatedFieldsGenerator defines matching field types as TestParsingMerge,
  /// except that all fields are repeated. In the tests, we will serialize the
  /// RepeatedFieldsGenerator to bytes, and parse the bytes to TestParsingMerge.
  /// Repeated fields in RepeatedFieldsGenerator are expected to be merged into
  /// the corresponding required/optional fields in TestParsingMerge.
  struct RepeatedFieldsGenerator {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var field1: [ProtobufUnittest_TestAllTypes] = []

    var field2: [ProtobufUnittest_TestAllTypes] = []

    var field3: [ProtobufUnittest_TestAllTypes] = []

    var group1: [ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.Group1] = []

    var group2: [ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.Group2] = []

    var ext1: [ProtobufUnittest_TestAllTypes] = []

    var ext2: [ProtobufUnittest_TestAllTypes] = []

    var unknownFields = SwiftProtobuf.UnknownStorage()

    struct Group1 {
      // SwiftProtobuf.Message conformance is added in an extension below. See the
      // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
      // methods supported on all messages.

      var field1: ProtobufUnittest_TestAllTypes {
        get {return _storage._field1 ?? ProtobufUnittest_TestAllTypes()}
        set {_uniqueStorage()._field1 = newValue}
      }
      /// Returns true if `field1` has been explicitly set.
      var hasField1: Bool {return _storage._field1 != nil}
      /// Clears the value of `field1`. Subsequent reads from it will return its default value.
      mutating func clearField1() {_uniqueStorage()._field1 = nil}

      var unknownFields = SwiftProtobuf.UnknownStorage()

      init() {}

      fileprivate var _storage = _StorageClass.defaultInstance
    }

    struct Group2 {
      // SwiftProtobuf.Message conformance is added in an extension below. See the
      // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
      // methods supported on all messages.

      var field1: ProtobufUnittest_TestAllTypes {
        get {return _storage._field1 ?? ProtobufUnittest_TestAllTypes()}
        set {_uniqueStorage()._field1 = newValue}
      }
      /// Returns true if `field1` has been explicitly set.
      var hasField1: Bool {return _storage._field1 != nil}
      /// Clears the value of `field1`. Subsequent reads from it will return its default value.
      mutating func clearField1() {_uniqueStorage()._field1 = nil}

      var unknownFields = SwiftProtobuf.UnknownStorage()

      init() {}

      fileprivate var _storage = _StorageClass.defaultInstance
    }

    init() {}
  }

  struct OptionalGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var optionalGroupAllTypes: ProtobufUnittest_TestAllTypes {
      get {return _storage._optionalGroupAllTypes ?? ProtobufUnittest_TestAllTypes()}
      set {_uniqueStorage()._optionalGroupAllTypes = newValue}
    }
    /// Returns true if `optionalGroupAllTypes` has been explicitly set.
    var hasOptionalGroupAllTypes: Bool {return _storage._optionalGroupAllTypes != nil}
    /// Clears the value of `optionalGroupAllTypes`. Subsequent reads from it will return its default value.
    mutating func clearOptionalGroupAllTypes() {_uniqueStorage()._optionalGroupAllTypes = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _storage = _StorageClass.defaultInstance
  }

  struct RepeatedGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var repeatedGroupAllTypes: ProtobufUnittest_TestAllTypes {
      get {return _storage._repeatedGroupAllTypes ?? ProtobufUnittest_TestAllTypes()}
      set {_uniqueStorage()._repeatedGroupAllTypes = newValue}
    }
    /// Returns true if `repeatedGroupAllTypes` has been explicitly set.
    var hasRepeatedGroupAllTypes: Bool {return _storage._repeatedGroupAllTypes != nil}
    /// Clears the value of `repeatedGroupAllTypes`. Subsequent reads from it will return its default value.
    mutating func clearRepeatedGroupAllTypes() {_uniqueStorage()._repeatedGroupAllTypes = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _storage = _StorageClass.defaultInstance
  }

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestCommentInjectionMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  /// */ <- This should not close the generated doc comment
  var a: String {
    get {return _a ?? "*/ <- Neither should this."}
    set {_a = newValue}
  }
  /// Returns true if `a` has been explicitly set.
  var hasA: Bool {return self._a != nil}
  /// Clears the value of `a`. Subsequent reads from it will return its default value.
  mutating func clearA() {self._a = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _a: String? = nil
}

/// Test that RPC services work.
struct ProtobufUnittest_FooRequest {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

struct ProtobufUnittest_FooResponse {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

struct ProtobufUnittest_FooClientMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

struct ProtobufUnittest_FooServerMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

struct ProtobufUnittest_BarRequest {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

struct ProtobufUnittest_BarResponse {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}
}

struct ProtobufUnittest_TestJsonName {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var fieldName1: Int32 {
    get {return _fieldName1 ?? 0}
    set {_fieldName1 = newValue}
  }
  /// Returns true if `fieldName1` has been explicitly set.
  var hasFieldName1: Bool {return self._fieldName1 != nil}
  /// Clears the value of `fieldName1`. Subsequent reads from it will return its default value.
  mutating func clearFieldName1() {self._fieldName1 = nil}

  var fieldName2: Int32 {
    get {return _fieldName2 ?? 0}
    set {_fieldName2 = newValue}
  }
  /// Returns true if `fieldName2` has been explicitly set.
  var hasFieldName2: Bool {return self._fieldName2 != nil}
  /// Clears the value of `fieldName2`. Subsequent reads from it will return its default value.
  mutating func clearFieldName2() {self._fieldName2 = nil}

  var fieldName3: Int32 {
    get {return _fieldName3 ?? 0}
    set {_fieldName3 = newValue}
  }
  /// Returns true if `fieldName3` has been explicitly set.
  var hasFieldName3: Bool {return self._fieldName3 != nil}
  /// Clears the value of `fieldName3`. Subsequent reads from it will return its default value.
  mutating func clearFieldName3() {self._fieldName3 = nil}

  var fieldName4: Int32 {
    get {return _fieldName4 ?? 0}
    set {_fieldName4 = newValue}
  }
  /// Returns true if `fieldName4` has been explicitly set.
  var hasFieldName4: Bool {return self._fieldName4 != nil}
  /// Clears the value of `fieldName4`. Subsequent reads from it will return its default value.
  mutating func clearFieldName4() {self._fieldName4 = nil}

  var fieldName5: Int32 {
    get {return _fieldName5 ?? 0}
    set {_fieldName5 = newValue}
  }
  /// Returns true if `fieldName5` has been explicitly set.
  var hasFieldName5: Bool {return self._fieldName5 != nil}
  /// Clears the value of `fieldName5`. Subsequent reads from it will return its default value.
  mutating func clearFieldName5() {self._fieldName5 = nil}

  var fieldName6: Int32 {
    get {return _fieldName6 ?? 0}
    set {_fieldName6 = newValue}
  }
  /// Returns true if `fieldName6` has been explicitly set.
  var hasFieldName6: Bool {return self._fieldName6 != nil}
  /// Clears the value of `fieldName6`. Subsequent reads from it will return its default value.
  mutating func clearFieldName6() {self._fieldName6 = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  fileprivate var _fieldName1: Int32? = nil
  fileprivate var _fieldName2: Int32? = nil
  fileprivate var _fieldName3: Int32? = nil
  fileprivate var _fieldName4: Int32? = nil
  fileprivate var _fieldName5: Int32? = nil
  fileprivate var _fieldName6: Int32? = nil
}

struct ProtobufUnittest_TestHugeFieldNumbers: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var optionalInt32: Int32 {
    get {return _storage._optionalInt32 ?? 0}
    set {_uniqueStorage()._optionalInt32 = newValue}
  }
  /// Returns true if `optionalInt32` has been explicitly set.
  var hasOptionalInt32: Bool {return _storage._optionalInt32 != nil}
  /// Clears the value of `optionalInt32`. Subsequent reads from it will return its default value.
  mutating func clearOptionalInt32() {_uniqueStorage()._optionalInt32 = nil}

  var fixed32: Int32 {
    get {return _storage._fixed32 ?? 0}
    set {_uniqueStorage()._fixed32 = newValue}
  }
  /// Returns true if `fixed32` has been explicitly set.
  var hasFixed32: Bool {return _storage._fixed32 != nil}
  /// Clears the value of `fixed32`. Subsequent reads from it will return its default value.
  mutating func clearFixed32() {_uniqueStorage()._fixed32 = nil}

  var repeatedInt32: [Int32] {
    get {return _storage._repeatedInt32}
    set {_uniqueStorage()._repeatedInt32 = newValue}
  }

  var packedInt32: [Int32] {
    get {return _storage._packedInt32}
    set {_uniqueStorage()._packedInt32 = newValue}
  }

  var optionalEnum: ProtobufUnittest_ForeignEnum {
    get {return _storage._optionalEnum ?? .foreignFoo}
    set {_uniqueStorage()._optionalEnum = newValue}
  }
  /// Returns true if `optionalEnum` has been explicitly set.
  var hasOptionalEnum: Bool {return _storage._optionalEnum != nil}
  /// Clears the value of `optionalEnum`. Subsequent reads from it will return its default value.
  mutating func clearOptionalEnum() {_uniqueStorage()._optionalEnum = nil}

  var optionalString: String {
    get {return _storage._optionalString ?? String()}
    set {_uniqueStorage()._optionalString = newValue}
  }
  /// Returns true if `optionalString` has been explicitly set.
  var hasOptionalString: Bool {return _storage._optionalString != nil}
  /// Clears the value of `optionalString`. Subsequent reads from it will return its default value.
  mutating func clearOptionalString() {_uniqueStorage()._optionalString = nil}

  var optionalBytes: Data {
    get {return _storage._optionalBytes ?? SwiftProtobuf.Internal.emptyData}
    set {_uniqueStorage()._optionalBytes = newValue}
  }
  /// Returns true if `optionalBytes` has been explicitly set.
  var hasOptionalBytes: Bool {return _storage._optionalBytes != nil}
  /// Clears the value of `optionalBytes`. Subsequent reads from it will return its default value.
  mutating func clearOptionalBytes() {_uniqueStorage()._optionalBytes = nil}

  var optionalMessage: ProtobufUnittest_ForeignMessage {
    get {return _storage._optionalMessage ?? ProtobufUnittest_ForeignMessage()}
    set {_uniqueStorage()._optionalMessage = newValue}
  }
  /// Returns true if `optionalMessage` has been explicitly set.
  var hasOptionalMessage: Bool {return _storage._optionalMessage != nil}
  /// Clears the value of `optionalMessage`. Subsequent reads from it will return its default value.
  mutating func clearOptionalMessage() {_uniqueStorage()._optionalMessage = nil}

  var optionalGroup: ProtobufUnittest_TestHugeFieldNumbers.OptionalGroup {
    get {return _storage._optionalGroup ?? ProtobufUnittest_TestHugeFieldNumbers.OptionalGroup()}
    set {_uniqueStorage()._optionalGroup = newValue}
  }
  /// Returns true if `optionalGroup` has been explicitly set.
  var hasOptionalGroup: Bool {return _storage._optionalGroup != nil}
  /// Clears the value of `optionalGroup`. Subsequent reads from it will return its default value.
  mutating func clearOptionalGroup() {_uniqueStorage()._optionalGroup = nil}

  var stringStringMap: Dictionary<String,String> {
    get {return _storage._stringStringMap}
    set {_uniqueStorage()._stringStringMap = newValue}
  }

  var oneofField: OneOf_OneofField? {
    get {return _storage._oneofField}
    set {_uniqueStorage()._oneofField = newValue}
  }

  var oneofUint32: UInt32 {
    get {
      if case .oneofUint32(let v)? = _storage._oneofField {return v}
      return 0
    }
    set {_uniqueStorage()._oneofField = .oneofUint32(newValue)}
  }

  var oneofTestAllTypes: ProtobufUnittest_TestAllTypes {
    get {
      if case .oneofTestAllTypes(let v)? = _storage._oneofField {return v}
      return ProtobufUnittest_TestAllTypes()
    }
    set {_uniqueStorage()._oneofField = .oneofTestAllTypes(newValue)}
  }

  var oneofString: String {
    get {
      if case .oneofString(let v)? = _storage._oneofField {return v}
      return String()
    }
    set {_uniqueStorage()._oneofField = .oneofString(newValue)}
  }

  var oneofBytes: Data {
    get {
      if case .oneofBytes(let v)? = _storage._oneofField {return v}
      return SwiftProtobuf.Internal.emptyData
    }
    set {_uniqueStorage()._oneofField = .oneofBytes(newValue)}
  }

  var unknownFields = SwiftProtobuf.UnknownStorage()

  enum OneOf_OneofField: Equatable {
    case oneofUint32(UInt32)
    case oneofTestAllTypes(ProtobufUnittest_TestAllTypes)
    case oneofString(String)
    case oneofBytes(Data)

  #if !swift(>=4.1)
    static func ==(lhs: ProtobufUnittest_TestHugeFieldNumbers.OneOf_OneofField, rhs: ProtobufUnittest_TestHugeFieldNumbers.OneOf_OneofField) -> Bool {
      switch (lhs, rhs) {
      case (.oneofUint32(let l), .oneofUint32(let r)): return l == r
      case (.oneofTestAllTypes(let l), .oneofTestAllTypes(let r)): return l == r
      case (.oneofString(let l), .oneofString(let r)): return l == r
      case (.oneofBytes(let l), .oneofBytes(let r)): return l == r
      default: return false
      }
    }
  #endif
  }

  struct OptionalGroup {
    // SwiftProtobuf.Message conformance is added in an extension below. See the
    // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
    // methods supported on all messages.

    var groupA: Int32 {
      get {return _groupA ?? 0}
      set {_groupA = newValue}
    }
    /// Returns true if `groupA` has been explicitly set.
    var hasGroupA: Bool {return self._groupA != nil}
    /// Clears the value of `groupA`. Subsequent reads from it will return its default value.
    mutating func clearGroupA() {self._groupA = nil}

    var unknownFields = SwiftProtobuf.UnknownStorage()

    init() {}

    fileprivate var _groupA: Int32? = nil
  }

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
  fileprivate var _storage = _StorageClass.defaultInstance
}

struct ProtobufUnittest_TestExtensionInsideTable: SwiftProtobuf.ExtensibleMessage {
  // SwiftProtobuf.Message conformance is added in an extension below. See the
  // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  // methods supported on all messages.

  var field1: Int32 {
    get {return _field1 ?? 0}
    set {_field1 = newValue}
  }
  /// Returns true if `field1` has been explicitly set.
  var hasField1: Bool {return self._field1 != nil}
  /// Clears the value of `field1`. Subsequent reads from it will return its default value.
  mutating func clearField1() {self._field1 = nil}

  var field2: Int32 {
    get {return _field2 ?? 0}
    set {_field2 = newValue}
  }
  /// Returns true if `field2` has been explicitly set.
  var hasField2: Bool {return self._field2 != nil}
  /// Clears the value of `field2`. Subsequent reads from it will return its default value.
  mutating func clearField2() {self._field2 = nil}

  var field3: Int32 {
    get {return _field3 ?? 0}
    set {_field3 = newValue}
  }
  /// Returns true if `field3` has been explicitly set.
  var hasField3: Bool {return self._field3 != nil}
  /// Clears the value of `field3`. Subsequent reads from it will return its default value.
  mutating func clearField3() {self._field3 = nil}

  var field4: Int32 {
    get {return _field4 ?? 0}
    set {_field4 = newValue}
  }
  /// Returns true if `field4` has been explicitly set.
  var hasField4: Bool {return self._field4 != nil}
  /// Clears the value of `field4`. Subsequent reads from it will return its default value.
  mutating func clearField4() {self._field4 = nil}

  var field6: Int32 {
    get {return _field6 ?? 0}
    set {_field6 = newValue}
  }
  /// Returns true if `field6` has been explicitly set.
  var hasField6: Bool {return self._field6 != nil}
  /// Clears the value of `field6`. Subsequent reads from it will return its default value.
  mutating func clearField6() {self._field6 = nil}

  var field7: Int32 {
    get {return _field7 ?? 0}
    set {_field7 = newValue}
  }
  /// Returns true if `field7` has been explicitly set.
  var hasField7: Bool {return self._field7 != nil}
  /// Clears the value of `field7`. Subsequent reads from it will return its default value.
  mutating func clearField7() {self._field7 = nil}

  var field8: Int32 {
    get {return _field8 ?? 0}
    set {_field8 = newValue}
  }
  /// Returns true if `field8` has been explicitly set.
  var hasField8: Bool {return self._field8 != nil}
  /// Clears the value of `field8`. Subsequent reads from it will return its default value.
  mutating func clearField8() {self._field8 = nil}

  var field9: Int32 {
    get {return _field9 ?? 0}
    set {_field9 = newValue}
  }
  /// Returns true if `field9` has been explicitly set.
  var hasField9: Bool {return self._field9 != nil}
  /// Clears the value of `field9`. Subsequent reads from it will return its default value.
  mutating func clearField9() {self._field9 = nil}

  var field10: Int32 {
    get {return _field10 ?? 0}
    set {_field10 = newValue}
  }
  /// Returns true if `field10` has been explicitly set.
  var hasField10: Bool {return self._field10 != nil}
  /// Clears the value of `field10`. Subsequent reads from it will return its default value.
  mutating func clearField10() {self._field10 = nil}

  var unknownFields = SwiftProtobuf.UnknownStorage()

  init() {}

  var _protobuf_extensionFieldValues = SwiftProtobuf.ExtensionFieldValueSet()
  fileprivate var _field1: Int32? = nil
  fileprivate var _field2: Int32? = nil
  fileprivate var _field3: Int32? = nil
  fileprivate var _field4: Int32? = nil
  fileprivate var _field6: Int32? = nil
  fileprivate var _field7: Int32? = nil
  fileprivate var _field8: Int32? = nil
  fileprivate var _field9: Int32? = nil
  fileprivate var _field10: Int32? = nil
}

// MARK: - Extension support defined in unittest.proto.

extension ProtobufUnittest_TestAllExtensions {

  /// Singular
  var ProtobufUnittest_optionalInt32Extension: Int32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_int32_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_int32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_int32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalInt32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_int32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_int32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalInt32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_int32_extension)
  }

  var ProtobufUnittest_optionalInt64Extension: Int64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_int64_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_int64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_int64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalInt64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_int64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_int64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalInt64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_int64_extension)
  }

  var ProtobufUnittest_optionalUint32Extension: UInt32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_uint32_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_uint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_uint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalUint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_uint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_uint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalUint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_uint32_extension)
  }

  var ProtobufUnittest_optionalUint64Extension: UInt64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_uint64_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_uint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_uint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalUint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_uint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_uint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalUint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_uint64_extension)
  }

  var ProtobufUnittest_optionalSint32Extension: Int32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_sint32_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_sint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_sint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalSint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_sint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_sint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalSint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_sint32_extension)
  }

  var ProtobufUnittest_optionalSint64Extension: Int64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_sint64_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_sint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_sint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalSint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_sint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_sint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalSint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_sint64_extension)
  }

  var ProtobufUnittest_optionalFixed32Extension: UInt32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_fixed32_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_fixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_fixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalFixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_fixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_fixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalFixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_fixed32_extension)
  }

  var ProtobufUnittest_optionalFixed64Extension: UInt64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_fixed64_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_fixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_fixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalFixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_fixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_fixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalFixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_fixed64_extension)
  }

  var ProtobufUnittest_optionalSfixed32Extension: Int32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_sfixed32_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_sfixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_sfixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalSfixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_sfixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_sfixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalSfixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_sfixed32_extension)
  }

  var ProtobufUnittest_optionalSfixed64Extension: Int64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_sfixed64_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_sfixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_sfixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalSfixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_sfixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_sfixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalSfixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_sfixed64_extension)
  }

  var ProtobufUnittest_optionalFloatExtension: Float {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_float_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_float_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_float_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalFloatExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_float_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_float_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalFloatExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_float_extension)
  }

  var ProtobufUnittest_optionalDoubleExtension: Double {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_double_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_double_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_double_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalDoubleExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_double_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_double_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalDoubleExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_double_extension)
  }

  var ProtobufUnittest_optionalBoolExtension: Bool {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_bool_extension) ?? false}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_bool_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_bool_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalBoolExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_bool_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_bool_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalBoolExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_bool_extension)
  }

  var ProtobufUnittest_optionalStringExtension: String {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_string_extension) ?? String()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_string_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_string_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalStringExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_string_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_string_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalStringExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_string_extension)
  }

  var ProtobufUnittest_optionalBytesExtension: Data {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_bytes_extension) ?? SwiftProtobuf.Internal.emptyData}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_bytes_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_bytes_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalBytesExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_bytes_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_bytes_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalBytesExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_bytes_extension)
  }

  var ProtobufUnittest_optionalGroupExtension: ProtobufUnittest_OptionalGroup_extension {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_OptionalGroup_extension) ?? ProtobufUnittest_OptionalGroup_extension()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_OptionalGroup_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_OptionalGroup_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalGroupExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_OptionalGroup_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_OptionalGroup_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalGroupExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_OptionalGroup_extension)
  }

  var ProtobufUnittest_optionalNestedMessageExtension: ProtobufUnittest_TestAllTypes.NestedMessage {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_nested_message_extension) ?? ProtobufUnittest_TestAllTypes.NestedMessage()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_nested_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_nested_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalNestedMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_nested_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_nested_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalNestedMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_nested_message_extension)
  }

  var ProtobufUnittest_optionalForeignMessageExtension: ProtobufUnittest_ForeignMessage {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_foreign_message_extension) ?? ProtobufUnittest_ForeignMessage()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_foreign_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_foreign_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalForeignMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_foreign_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_foreign_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalForeignMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_foreign_message_extension)
  }

  var ProtobufUnittest_optionalImportMessageExtension: ProtobufUnittestImport_ImportMessage {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_import_message_extension) ?? ProtobufUnittestImport_ImportMessage()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_import_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_import_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalImportMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_import_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_import_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalImportMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_import_message_extension)
  }

  var ProtobufUnittest_optionalNestedEnumExtension: ProtobufUnittest_TestAllTypes.NestedEnum {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_nested_enum_extension) ?? .foo}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_nested_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_nested_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalNestedEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_nested_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_nested_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalNestedEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_nested_enum_extension)
  }

  var ProtobufUnittest_optionalForeignEnumExtension: ProtobufUnittest_ForeignEnum {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_foreign_enum_extension) ?? .foreignFoo}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_foreign_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_foreign_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalForeignEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_foreign_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_foreign_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalForeignEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_foreign_enum_extension)
  }

  var ProtobufUnittest_optionalImportEnumExtension: ProtobufUnittestImport_ImportEnum {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_import_enum_extension) ?? .importFoo}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_import_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_import_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalImportEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_import_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_import_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalImportEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_import_enum_extension)
  }

  var ProtobufUnittest_optionalStringPieceExtension: String {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_string_piece_extension) ?? String()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_string_piece_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_string_piece_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalStringPieceExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_string_piece_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_string_piece_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalStringPieceExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_string_piece_extension)
  }

  var ProtobufUnittest_optionalCordExtension: String {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_cord_extension) ?? String()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_cord_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_cord_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalCordExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_cord_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_cord_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalCordExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_cord_extension)
  }

  var ProtobufUnittest_optionalPublicImportMessageExtension: ProtobufUnittestImport_PublicImportMessage {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_public_import_message_extension) ?? ProtobufUnittestImport_PublicImportMessage()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_public_import_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_public_import_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalPublicImportMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_public_import_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_public_import_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalPublicImportMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_public_import_message_extension)
  }

  var ProtobufUnittest_optionalLazyMessageExtension: ProtobufUnittest_TestAllTypes.NestedMessage {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_optional_lazy_message_extension) ?? ProtobufUnittest_TestAllTypes.NestedMessage()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_optional_lazy_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_optional_lazy_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_optionalLazyMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_optional_lazy_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_optional_lazy_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_optionalLazyMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_optional_lazy_message_extension)
  }

  /// Repeated
  var ProtobufUnittest_repeatedInt32Extension: [Int32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_int32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_int32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_int32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedInt32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_int32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_int32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedInt32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_int32_extension)
  }

  var ProtobufUnittest_repeatedInt64Extension: [Int64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_int64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_int64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_int64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedInt64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_int64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_int64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedInt64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_int64_extension)
  }

  var ProtobufUnittest_repeatedUint32Extension: [UInt32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_uint32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_uint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_uint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedUint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_uint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_uint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedUint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_uint32_extension)
  }

  var ProtobufUnittest_repeatedUint64Extension: [UInt64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_uint64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_uint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_uint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedUint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_uint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_uint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedUint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_uint64_extension)
  }

  var ProtobufUnittest_repeatedSint32Extension: [Int32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sint32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_sint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedSint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_sint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedSint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sint32_extension)
  }

  var ProtobufUnittest_repeatedSint64Extension: [Int64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sint64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_sint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedSint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_sint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedSint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sint64_extension)
  }

  var ProtobufUnittest_repeatedFixed32Extension: [UInt32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_fixed32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_fixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_fixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedFixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_fixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_fixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedFixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_fixed32_extension)
  }

  var ProtobufUnittest_repeatedFixed64Extension: [UInt64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_fixed64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_fixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_fixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedFixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_fixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_fixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedFixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_fixed64_extension)
  }

  var ProtobufUnittest_repeatedSfixed32Extension: [Int32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sfixed32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sfixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_sfixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedSfixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sfixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_sfixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedSfixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sfixed32_extension)
  }

  var ProtobufUnittest_repeatedSfixed64Extension: [Int64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sfixed64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sfixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_sfixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedSfixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sfixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_sfixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedSfixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_sfixed64_extension)
  }

  var ProtobufUnittest_repeatedFloatExtension: [Float] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_float_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_float_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_float_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedFloatExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_float_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_float_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedFloatExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_float_extension)
  }

  var ProtobufUnittest_repeatedDoubleExtension: [Double] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_double_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_double_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_double_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedDoubleExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_double_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_double_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedDoubleExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_double_extension)
  }

  var ProtobufUnittest_repeatedBoolExtension: [Bool] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_bool_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_bool_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_bool_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedBoolExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_bool_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_bool_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedBoolExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_bool_extension)
  }

  var ProtobufUnittest_repeatedStringExtension: [String] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_string_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_string_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_string_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedStringExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_string_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_string_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedStringExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_string_extension)
  }

  var ProtobufUnittest_repeatedBytesExtension: [Data] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_bytes_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_bytes_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_bytes_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedBytesExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_bytes_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_bytes_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedBytesExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_bytes_extension)
  }

  var ProtobufUnittest_repeatedGroupExtension: [ProtobufUnittest_RepeatedGroup_extension] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_RepeatedGroup_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_RepeatedGroup_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_RepeatedGroup_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedGroupExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_RepeatedGroup_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_RepeatedGroup_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedGroupExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_RepeatedGroup_extension)
  }

  var ProtobufUnittest_repeatedNestedMessageExtension: [ProtobufUnittest_TestAllTypes.NestedMessage] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_nested_message_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_nested_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_nested_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedNestedMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_nested_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_nested_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedNestedMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_nested_message_extension)
  }

  var ProtobufUnittest_repeatedForeignMessageExtension: [ProtobufUnittest_ForeignMessage] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_foreign_message_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_foreign_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_foreign_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedForeignMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_foreign_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_foreign_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedForeignMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_foreign_message_extension)
  }

  var ProtobufUnittest_repeatedImportMessageExtension: [ProtobufUnittestImport_ImportMessage] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_import_message_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_import_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_import_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedImportMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_import_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_import_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedImportMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_import_message_extension)
  }

  var ProtobufUnittest_repeatedNestedEnumExtension: [ProtobufUnittest_TestAllTypes.NestedEnum] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_nested_enum_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_nested_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_nested_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedNestedEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_nested_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_nested_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedNestedEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_nested_enum_extension)
  }

  var ProtobufUnittest_repeatedForeignEnumExtension: [ProtobufUnittest_ForeignEnum] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_foreign_enum_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_foreign_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_foreign_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedForeignEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_foreign_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_foreign_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedForeignEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_foreign_enum_extension)
  }

  var ProtobufUnittest_repeatedImportEnumExtension: [ProtobufUnittestImport_ImportEnum] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_import_enum_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_import_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_import_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedImportEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_import_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_import_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedImportEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_import_enum_extension)
  }

  var ProtobufUnittest_repeatedStringPieceExtension: [String] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_string_piece_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_string_piece_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_string_piece_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedStringPieceExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_string_piece_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_string_piece_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedStringPieceExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_string_piece_extension)
  }

  var ProtobufUnittest_repeatedCordExtension: [String] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_cord_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_cord_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_cord_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedCordExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_cord_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_cord_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedCordExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_cord_extension)
  }

  var ProtobufUnittest_repeatedLazyMessageExtension: [ProtobufUnittest_TestAllTypes.NestedMessage] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_repeated_lazy_message_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_repeated_lazy_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_repeated_lazy_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_repeatedLazyMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_repeated_lazy_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_repeated_lazy_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_repeatedLazyMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_repeated_lazy_message_extension)
  }

  /// Singular with defaults
  var ProtobufUnittest_defaultInt32Extension: Int32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_int32_extension) ?? 41}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_int32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_int32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultInt32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_int32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_int32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultInt32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_int32_extension)
  }

  var ProtobufUnittest_defaultInt64Extension: Int64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_int64_extension) ?? 42}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_int64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_int64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultInt64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_int64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_int64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultInt64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_int64_extension)
  }

  var ProtobufUnittest_defaultUint32Extension: UInt32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_uint32_extension) ?? 43}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_uint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_uint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultUint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_uint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_uint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultUint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_uint32_extension)
  }

  var ProtobufUnittest_defaultUint64Extension: UInt64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_uint64_extension) ?? 44}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_uint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_uint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultUint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_uint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_uint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultUint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_uint64_extension)
  }

  var ProtobufUnittest_defaultSint32Extension: Int32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_sint32_extension) ?? -45}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_sint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_sint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultSint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_sint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_sint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultSint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_sint32_extension)
  }

  var ProtobufUnittest_defaultSint64Extension: Int64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_sint64_extension) ?? 46}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_sint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_sint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultSint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_sint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_sint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultSint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_sint64_extension)
  }

  var ProtobufUnittest_defaultFixed32Extension: UInt32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_fixed32_extension) ?? 47}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_fixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_fixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultFixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_fixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_fixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultFixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_fixed32_extension)
  }

  var ProtobufUnittest_defaultFixed64Extension: UInt64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_fixed64_extension) ?? 48}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_fixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_fixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultFixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_fixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_fixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultFixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_fixed64_extension)
  }

  var ProtobufUnittest_defaultSfixed32Extension: Int32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_sfixed32_extension) ?? 49}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_sfixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_sfixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultSfixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_sfixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_sfixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultSfixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_sfixed32_extension)
  }

  var ProtobufUnittest_defaultSfixed64Extension: Int64 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_sfixed64_extension) ?? -50}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_sfixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_sfixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultSfixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_sfixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_sfixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultSfixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_sfixed64_extension)
  }

  var ProtobufUnittest_defaultFloatExtension: Float {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_float_extension) ?? 51.5}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_float_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_float_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultFloatExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_float_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_float_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultFloatExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_float_extension)
  }

  var ProtobufUnittest_defaultDoubleExtension: Double {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_double_extension) ?? 52000}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_double_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_double_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultDoubleExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_double_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_double_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultDoubleExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_double_extension)
  }

  var ProtobufUnittest_defaultBoolExtension: Bool {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_bool_extension) ?? true}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_bool_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_bool_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultBoolExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_bool_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_bool_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultBoolExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_bool_extension)
  }

  var ProtobufUnittest_defaultStringExtension: String {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_string_extension) ?? "hello"}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_string_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_string_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultStringExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_string_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_string_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultStringExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_string_extension)
  }

  var ProtobufUnittest_defaultBytesExtension: Data {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_bytes_extension) ?? Data([119, 111, 114, 108, 100])}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_bytes_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_bytes_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultBytesExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_bytes_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_bytes_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultBytesExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_bytes_extension)
  }

  var ProtobufUnittest_defaultNestedEnumExtension: ProtobufUnittest_TestAllTypes.NestedEnum {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_nested_enum_extension) ?? .bar}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_nested_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_nested_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultNestedEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_nested_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_nested_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultNestedEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_nested_enum_extension)
  }

  var ProtobufUnittest_defaultForeignEnumExtension: ProtobufUnittest_ForeignEnum {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_foreign_enum_extension) ?? .foreignBar}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_foreign_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_foreign_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultForeignEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_foreign_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_foreign_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultForeignEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_foreign_enum_extension)
  }

  var ProtobufUnittest_defaultImportEnumExtension: ProtobufUnittestImport_ImportEnum {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_import_enum_extension) ?? .importBar}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_import_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_import_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultImportEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_import_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_import_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultImportEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_import_enum_extension)
  }

  var ProtobufUnittest_defaultStringPieceExtension: String {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_string_piece_extension) ?? "abc"}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_string_piece_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_string_piece_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultStringPieceExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_string_piece_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_string_piece_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultStringPieceExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_string_piece_extension)
  }

  var ProtobufUnittest_defaultCordExtension: String {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_default_cord_extension) ?? "123"}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_default_cord_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_default_cord_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_defaultCordExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_default_cord_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_default_cord_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_defaultCordExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_default_cord_extension)
  }

  /// For oneof test
  var ProtobufUnittest_oneofUint32Extension: UInt32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_oneof_uint32_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_oneof_uint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_oneof_uint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_oneofUint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_oneof_uint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_oneof_uint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_oneofUint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_oneof_uint32_extension)
  }

  var ProtobufUnittest_oneofNestedMessageExtension: ProtobufUnittest_TestAllTypes.NestedMessage {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_oneof_nested_message_extension) ?? ProtobufUnittest_TestAllTypes.NestedMessage()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_oneof_nested_message_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_oneof_nested_message_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_oneofNestedMessageExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_oneof_nested_message_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_oneof_nested_message_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_oneofNestedMessageExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_oneof_nested_message_extension)
  }

  var ProtobufUnittest_oneofStringExtension: String {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_oneof_string_extension) ?? String()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_oneof_string_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_oneof_string_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_oneofStringExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_oneof_string_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_oneof_string_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_oneofStringExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_oneof_string_extension)
  }

  var ProtobufUnittest_oneofBytesExtension: Data {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_oneof_bytes_extension) ?? SwiftProtobuf.Internal.emptyData}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_oneof_bytes_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_oneof_bytes_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_oneofBytesExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_oneof_bytes_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_oneof_bytes_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_oneofBytesExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_oneof_bytes_extension)
  }

  /// Check for bug where string extensions declared in tested scope did not
  /// compile.
  var ProtobufUnittest_TestNestedExtension_test: String {
    get {return getExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.test) ?? "test"}
    set {setExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.test, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestNestedExtension.Extensions.test`
  /// has been explicitly set.
  var hasProtobufUnittest_TestNestedExtension_test: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.test)
  }
  /// Clears the value of extension `ProtobufUnittest_TestNestedExtension.Extensions.test`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestNestedExtension_test() {
    clearExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.test)
  }

  /// Used to test if generated extension name is correct when there are
  /// underscores.
  var ProtobufUnittest_TestNestedExtension_nestedStringExtension: String {
    get {return getExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.nested_string_extension) ?? String()}
    set {setExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.nested_string_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestNestedExtension.Extensions.nested_string_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_TestNestedExtension_nestedStringExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.nested_string_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_TestNestedExtension.Extensions.nested_string_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestNestedExtension_nestedStringExtension() {
    clearExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.nested_string_extension)
  }

  var ProtobufUnittest_TestRequired_single: ProtobufUnittest_TestRequired {
    get {return getExtensionValue(ext: ProtobufUnittest_TestRequired.Extensions.single) ?? ProtobufUnittest_TestRequired()}
    set {setExtensionValue(ext: ProtobufUnittest_TestRequired.Extensions.single, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestRequired.Extensions.single`
  /// has been explicitly set.
  var hasProtobufUnittest_TestRequired_single: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestRequired.Extensions.single)
  }
  /// Clears the value of extension `ProtobufUnittest_TestRequired.Extensions.single`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestRequired_single() {
    clearExtensionValue(ext: ProtobufUnittest_TestRequired.Extensions.single)
  }

  var ProtobufUnittest_TestRequired_multi: [ProtobufUnittest_TestRequired] {
    get {return getExtensionValue(ext: ProtobufUnittest_TestRequired.Extensions.multi) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_TestRequired.Extensions.multi, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestRequired.Extensions.multi`
  /// has been explicitly set.
  var hasProtobufUnittest_TestRequired_multi: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestRequired.Extensions.multi)
  }
  /// Clears the value of extension `ProtobufUnittest_TestRequired.Extensions.multi`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestRequired_multi() {
    clearExtensionValue(ext: ProtobufUnittest_TestRequired.Extensions.multi)
  }
}

extension ProtobufUnittest_TestExtensionInsideTable {

  var ProtobufUnittest_testExtensionInsideTableExtension: Int32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_test_extension_inside_table_extension) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_test_extension_inside_table_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_test_extension_inside_table_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_testExtensionInsideTableExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_test_extension_inside_table_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_test_extension_inside_table_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_testExtensionInsideTableExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_test_extension_inside_table_extension)
  }
}

extension ProtobufUnittest_TestFieldOrderings {

  var ProtobufUnittest_myExtensionString: String {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_my_extension_string) ?? String()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_my_extension_string, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_my_extension_string`
  /// has been explicitly set.
  var hasProtobufUnittest_myExtensionString: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_my_extension_string)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_my_extension_string`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_myExtensionString() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_my_extension_string)
  }

  var ProtobufUnittest_myExtensionInt: Int32 {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_my_extension_int) ?? 0}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_my_extension_int, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_my_extension_int`
  /// has been explicitly set.
  var hasProtobufUnittest_myExtensionInt: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_my_extension_int)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_my_extension_int`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_myExtensionInt() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_my_extension_int)
  }

  var ProtobufUnittest_TestExtensionOrderings1_testExtOrderings1: ProtobufUnittest_TestExtensionOrderings1 {
    get {return getExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings1.Extensions.test_ext_orderings1) ?? ProtobufUnittest_TestExtensionOrderings1()}
    set {setExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings1.Extensions.test_ext_orderings1, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestExtensionOrderings1.Extensions.test_ext_orderings1`
  /// has been explicitly set.
  var hasProtobufUnittest_TestExtensionOrderings1_testExtOrderings1: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings1.Extensions.test_ext_orderings1)
  }
  /// Clears the value of extension `ProtobufUnittest_TestExtensionOrderings1.Extensions.test_ext_orderings1`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestExtensionOrderings1_testExtOrderings1() {
    clearExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings1.Extensions.test_ext_orderings1)
  }

  var ProtobufUnittest_TestExtensionOrderings2_testExtOrderings2: ProtobufUnittest_TestExtensionOrderings2 {
    get {return getExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings2.Extensions.test_ext_orderings2) ?? ProtobufUnittest_TestExtensionOrderings2()}
    set {setExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings2.Extensions.test_ext_orderings2, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestExtensionOrderings2.Extensions.test_ext_orderings2`
  /// has been explicitly set.
  var hasProtobufUnittest_TestExtensionOrderings2_testExtOrderings2: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings2.Extensions.test_ext_orderings2)
  }
  /// Clears the value of extension `ProtobufUnittest_TestExtensionOrderings2.Extensions.test_ext_orderings2`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestExtensionOrderings2_testExtOrderings2() {
    clearExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings2.Extensions.test_ext_orderings2)
  }

  var ProtobufUnittest_TestExtensionOrderings2_TestExtensionOrderings3_testExtOrderings3: ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3 {
    get {return getExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3.Extensions.test_ext_orderings3) ?? ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3()}
    set {setExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3.Extensions.test_ext_orderings3, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3.Extensions.test_ext_orderings3`
  /// has been explicitly set.
  var hasProtobufUnittest_TestExtensionOrderings2_TestExtensionOrderings3_testExtOrderings3: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3.Extensions.test_ext_orderings3)
  }
  /// Clears the value of extension `ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3.Extensions.test_ext_orderings3`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestExtensionOrderings2_TestExtensionOrderings3_testExtOrderings3() {
    clearExtensionValue(ext: ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3.Extensions.test_ext_orderings3)
  }
}

extension ProtobufUnittest_TestGroupExtension {

  var ProtobufUnittest_TestNestedExtension_optionalGroupExtension: ProtobufUnittest_TestNestedExtension.OptionalGroup_extension {
    get {return getExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.OptionalGroup_extension) ?? ProtobufUnittest_TestNestedExtension.OptionalGroup_extension()}
    set {setExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.OptionalGroup_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestNestedExtension.Extensions.OptionalGroup_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_TestNestedExtension_optionalGroupExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.OptionalGroup_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_TestNestedExtension.Extensions.OptionalGroup_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestNestedExtension_optionalGroupExtension() {
    clearExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.OptionalGroup_extension)
  }

  var ProtobufUnittest_TestNestedExtension_optionalForeignEnumExtension: ProtobufUnittest_ForeignEnum {
    get {return getExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.optional_foreign_enum_extension) ?? .foreignFoo}
    set {setExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.optional_foreign_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestNestedExtension.Extensions.optional_foreign_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_TestNestedExtension_optionalForeignEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.optional_foreign_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_TestNestedExtension.Extensions.optional_foreign_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestNestedExtension_optionalForeignEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_TestNestedExtension.Extensions.optional_foreign_enum_extension)
  }
}

extension ProtobufUnittest_TestHugeFieldNumbers {

  var ProtobufUnittest_testAllTypes: ProtobufUnittest_TestAllTypes {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_test_all_types) ?? ProtobufUnittest_TestAllTypes()}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_test_all_types, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_test_all_types`
  /// has been explicitly set.
  var hasProtobufUnittest_testAllTypes: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_test_all_types)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_test_all_types`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_testAllTypes() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_test_all_types)
  }
}

extension ProtobufUnittest_TestPackedExtensions {

  var ProtobufUnittest_packedInt32Extension: [Int32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_int32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_int32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_int32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedInt32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_int32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_int32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedInt32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_int32_extension)
  }

  var ProtobufUnittest_packedInt64Extension: [Int64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_int64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_int64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_int64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedInt64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_int64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_int64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedInt64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_int64_extension)
  }

  var ProtobufUnittest_packedUint32Extension: [UInt32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_uint32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_uint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_uint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedUint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_uint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_uint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedUint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_uint32_extension)
  }

  var ProtobufUnittest_packedUint64Extension: [UInt64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_uint64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_uint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_uint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedUint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_uint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_uint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedUint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_uint64_extension)
  }

  var ProtobufUnittest_packedSint32Extension: [Int32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_sint32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_sint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_sint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedSint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_sint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_sint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedSint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_sint32_extension)
  }

  var ProtobufUnittest_packedSint64Extension: [Int64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_sint64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_sint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_sint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedSint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_sint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_sint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedSint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_sint64_extension)
  }

  var ProtobufUnittest_packedFixed32Extension: [UInt32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_fixed32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_fixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_fixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedFixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_fixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_fixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedFixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_fixed32_extension)
  }

  var ProtobufUnittest_packedFixed64Extension: [UInt64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_fixed64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_fixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_fixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedFixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_fixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_fixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedFixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_fixed64_extension)
  }

  var ProtobufUnittest_packedSfixed32Extension: [Int32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_sfixed32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_sfixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_sfixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedSfixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_sfixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_sfixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedSfixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_sfixed32_extension)
  }

  var ProtobufUnittest_packedSfixed64Extension: [Int64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_sfixed64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_sfixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_sfixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedSfixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_sfixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_sfixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedSfixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_sfixed64_extension)
  }

  var ProtobufUnittest_packedFloatExtension: [Float] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_float_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_float_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_float_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedFloatExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_float_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_float_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedFloatExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_float_extension)
  }

  var ProtobufUnittest_packedDoubleExtension: [Double] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_double_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_double_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_double_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedDoubleExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_double_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_double_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedDoubleExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_double_extension)
  }

  var ProtobufUnittest_packedBoolExtension: [Bool] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_bool_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_bool_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_bool_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedBoolExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_bool_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_bool_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedBoolExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_bool_extension)
  }

  var ProtobufUnittest_packedEnumExtension: [ProtobufUnittest_ForeignEnum] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_packed_enum_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_packed_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_packed_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_packedEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_packed_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_packed_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_packedEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_packed_enum_extension)
  }
}

extension ProtobufUnittest_TestParsingMerge {

  var ProtobufUnittest_TestParsingMerge_optionalExt: ProtobufUnittest_TestAllTypes {
    get {return getExtensionValue(ext: ProtobufUnittest_TestParsingMerge.Extensions.optional_ext) ?? ProtobufUnittest_TestAllTypes()}
    set {setExtensionValue(ext: ProtobufUnittest_TestParsingMerge.Extensions.optional_ext, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestParsingMerge.Extensions.optional_ext`
  /// has been explicitly set.
  var hasProtobufUnittest_TestParsingMerge_optionalExt: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestParsingMerge.Extensions.optional_ext)
  }
  /// Clears the value of extension `ProtobufUnittest_TestParsingMerge.Extensions.optional_ext`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestParsingMerge_optionalExt() {
    clearExtensionValue(ext: ProtobufUnittest_TestParsingMerge.Extensions.optional_ext)
  }

  var ProtobufUnittest_TestParsingMerge_repeatedExt: [ProtobufUnittest_TestAllTypes] {
    get {return getExtensionValue(ext: ProtobufUnittest_TestParsingMerge.Extensions.repeated_ext) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_TestParsingMerge.Extensions.repeated_ext, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_TestParsingMerge.Extensions.repeated_ext`
  /// has been explicitly set.
  var hasProtobufUnittest_TestParsingMerge_repeatedExt: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_TestParsingMerge.Extensions.repeated_ext)
  }
  /// Clears the value of extension `ProtobufUnittest_TestParsingMerge.Extensions.repeated_ext`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_TestParsingMerge_repeatedExt() {
    clearExtensionValue(ext: ProtobufUnittest_TestParsingMerge.Extensions.repeated_ext)
  }
}

extension ProtobufUnittest_TestUnpackedExtensions {

  var ProtobufUnittest_unpackedInt32Extension: [Int32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_int32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_int32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_int32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedInt32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_int32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_int32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedInt32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_int32_extension)
  }

  var ProtobufUnittest_unpackedInt64Extension: [Int64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_int64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_int64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_int64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedInt64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_int64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_int64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedInt64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_int64_extension)
  }

  var ProtobufUnittest_unpackedUint32Extension: [UInt32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_uint32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_uint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_uint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedUint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_uint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_uint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedUint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_uint32_extension)
  }

  var ProtobufUnittest_unpackedUint64Extension: [UInt64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_uint64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_uint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_uint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedUint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_uint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_uint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedUint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_uint64_extension)
  }

  var ProtobufUnittest_unpackedSint32Extension: [Int32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sint32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sint32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_sint32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedSint32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sint32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_sint32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedSint32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sint32_extension)
  }

  var ProtobufUnittest_unpackedSint64Extension: [Int64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sint64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sint64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_sint64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedSint64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sint64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_sint64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedSint64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sint64_extension)
  }

  var ProtobufUnittest_unpackedFixed32Extension: [UInt32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_fixed32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_fixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_fixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedFixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_fixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_fixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedFixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_fixed32_extension)
  }

  var ProtobufUnittest_unpackedFixed64Extension: [UInt64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_fixed64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_fixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_fixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedFixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_fixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_fixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedFixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_fixed64_extension)
  }

  var ProtobufUnittest_unpackedSfixed32Extension: [Int32] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sfixed32_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sfixed32_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_sfixed32_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedSfixed32Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sfixed32_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_sfixed32_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedSfixed32Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sfixed32_extension)
  }

  var ProtobufUnittest_unpackedSfixed64Extension: [Int64] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sfixed64_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sfixed64_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_sfixed64_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedSfixed64Extension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sfixed64_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_sfixed64_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedSfixed64Extension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_sfixed64_extension)
  }

  var ProtobufUnittest_unpackedFloatExtension: [Float] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_float_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_float_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_float_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedFloatExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_float_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_float_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedFloatExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_float_extension)
  }

  var ProtobufUnittest_unpackedDoubleExtension: [Double] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_double_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_double_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_double_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedDoubleExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_double_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_double_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedDoubleExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_double_extension)
  }

  var ProtobufUnittest_unpackedBoolExtension: [Bool] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_bool_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_bool_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_bool_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedBoolExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_bool_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_bool_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedBoolExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_bool_extension)
  }

  var ProtobufUnittest_unpackedEnumExtension: [ProtobufUnittest_ForeignEnum] {
    get {return getExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_enum_extension) ?? []}
    set {setExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_enum_extension, value: newValue)}
  }
  /// Returns true if extension `ProtobufUnittest_Extensions_unpacked_enum_extension`
  /// has been explicitly set.
  var hasProtobufUnittest_unpackedEnumExtension: Bool {
    return hasExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_enum_extension)
  }
  /// Clears the value of extension `ProtobufUnittest_Extensions_unpacked_enum_extension`.
  /// Subsequent reads from it will return its default value.
  mutating func clearProtobufUnittest_unpackedEnumExtension() {
    clearExtensionValue(ext: ProtobufUnittest_Extensions_unpacked_enum_extension)
  }

}

/// A `SwiftProtobuf.SimpleExtensionMap` that includes all of the extensions defined by
/// this .proto file. It can be used any place an `SwiftProtobuf.ExtensionMap` is needed
/// in parsing, or it can be combined with other `SwiftProtobuf.SimpleExtensionMap`s to create
/// a larger `SwiftProtobuf.SimpleExtensionMap`.
let ProtobufUnittest_Unittest_Extensions: SwiftProtobuf.SimpleExtensionMap = [
  ProtobufUnittest_Extensions_optional_int32_extension,
  ProtobufUnittest_Extensions_optional_int64_extension,
  ProtobufUnittest_Extensions_optional_uint32_extension,
  ProtobufUnittest_Extensions_optional_uint64_extension,
  ProtobufUnittest_Extensions_optional_sint32_extension,
  ProtobufUnittest_Extensions_optional_sint64_extension,
  ProtobufUnittest_Extensions_optional_fixed32_extension,
  ProtobufUnittest_Extensions_optional_fixed64_extension,
  ProtobufUnittest_Extensions_optional_sfixed32_extension,
  ProtobufUnittest_Extensions_optional_sfixed64_extension,
  ProtobufUnittest_Extensions_optional_float_extension,
  ProtobufUnittest_Extensions_optional_double_extension,
  ProtobufUnittest_Extensions_optional_bool_extension,
  ProtobufUnittest_Extensions_optional_string_extension,
  ProtobufUnittest_Extensions_optional_bytes_extension,
  ProtobufUnittest_Extensions_OptionalGroup_extension,
  ProtobufUnittest_Extensions_optional_nested_message_extension,
  ProtobufUnittest_Extensions_optional_foreign_message_extension,
  ProtobufUnittest_Extensions_optional_import_message_extension,
  ProtobufUnittest_Extensions_optional_nested_enum_extension,
  ProtobufUnittest_Extensions_optional_foreign_enum_extension,
  ProtobufUnittest_Extensions_optional_import_enum_extension,
  ProtobufUnittest_Extensions_optional_string_piece_extension,
  ProtobufUnittest_Extensions_optional_cord_extension,
  ProtobufUnittest_Extensions_optional_public_import_message_extension,
  ProtobufUnittest_Extensions_optional_lazy_message_extension,
  ProtobufUnittest_Extensions_repeated_int32_extension,
  ProtobufUnittest_Extensions_repeated_int64_extension,
  ProtobufUnittest_Extensions_repeated_uint32_extension,
  ProtobufUnittest_Extensions_repeated_uint64_extension,
  ProtobufUnittest_Extensions_repeated_sint32_extension,
  ProtobufUnittest_Extensions_repeated_sint64_extension,
  ProtobufUnittest_Extensions_repeated_fixed32_extension,
  ProtobufUnittest_Extensions_repeated_fixed64_extension,
  ProtobufUnittest_Extensions_repeated_sfixed32_extension,
  ProtobufUnittest_Extensions_repeated_sfixed64_extension,
  ProtobufUnittest_Extensions_repeated_float_extension,
  ProtobufUnittest_Extensions_repeated_double_extension,
  ProtobufUnittest_Extensions_repeated_bool_extension,
  ProtobufUnittest_Extensions_repeated_string_extension,
  ProtobufUnittest_Extensions_repeated_bytes_extension,
  ProtobufUnittest_Extensions_RepeatedGroup_extension,
  ProtobufUnittest_Extensions_repeated_nested_message_extension,
  ProtobufUnittest_Extensions_repeated_foreign_message_extension,
  ProtobufUnittest_Extensions_repeated_import_message_extension,
  ProtobufUnittest_Extensions_repeated_nested_enum_extension,
  ProtobufUnittest_Extensions_repeated_foreign_enum_extension,
  ProtobufUnittest_Extensions_repeated_import_enum_extension,
  ProtobufUnittest_Extensions_repeated_string_piece_extension,
  ProtobufUnittest_Extensions_repeated_cord_extension,
  ProtobufUnittest_Extensions_repeated_lazy_message_extension,
  ProtobufUnittest_Extensions_default_int32_extension,
  ProtobufUnittest_Extensions_default_int64_extension,
  ProtobufUnittest_Extensions_default_uint32_extension,
  ProtobufUnittest_Extensions_default_uint64_extension,
  ProtobufUnittest_Extensions_default_sint32_extension,
  ProtobufUnittest_Extensions_default_sint64_extension,
  ProtobufUnittest_Extensions_default_fixed32_extension,
  ProtobufUnittest_Extensions_default_fixed64_extension,
  ProtobufUnittest_Extensions_default_sfixed32_extension,
  ProtobufUnittest_Extensions_default_sfixed64_extension,
  ProtobufUnittest_Extensions_default_float_extension,
  ProtobufUnittest_Extensions_default_double_extension,
  ProtobufUnittest_Extensions_default_bool_extension,
  ProtobufUnittest_Extensions_default_string_extension,
  ProtobufUnittest_Extensions_default_bytes_extension,
  ProtobufUnittest_Extensions_default_nested_enum_extension,
  ProtobufUnittest_Extensions_default_foreign_enum_extension,
  ProtobufUnittest_Extensions_default_import_enum_extension,
  ProtobufUnittest_Extensions_default_string_piece_extension,
  ProtobufUnittest_Extensions_default_cord_extension,
  ProtobufUnittest_Extensions_oneof_uint32_extension,
  ProtobufUnittest_Extensions_oneof_nested_message_extension,
  ProtobufUnittest_Extensions_oneof_string_extension,
  ProtobufUnittest_Extensions_oneof_bytes_extension,
  ProtobufUnittest_Extensions_my_extension_string,
  ProtobufUnittest_Extensions_my_extension_int,
  ProtobufUnittest_Extensions_packed_int32_extension,
  ProtobufUnittest_Extensions_packed_int64_extension,
  ProtobufUnittest_Extensions_packed_uint32_extension,
  ProtobufUnittest_Extensions_packed_uint64_extension,
  ProtobufUnittest_Extensions_packed_sint32_extension,
  ProtobufUnittest_Extensions_packed_sint64_extension,
  ProtobufUnittest_Extensions_packed_fixed32_extension,
  ProtobufUnittest_Extensions_packed_fixed64_extension,
  ProtobufUnittest_Extensions_packed_sfixed32_extension,
  ProtobufUnittest_Extensions_packed_sfixed64_extension,
  ProtobufUnittest_Extensions_packed_float_extension,
  ProtobufUnittest_Extensions_packed_double_extension,
  ProtobufUnittest_Extensions_packed_bool_extension,
  ProtobufUnittest_Extensions_packed_enum_extension,
  ProtobufUnittest_Extensions_unpacked_int32_extension,
  ProtobufUnittest_Extensions_unpacked_int64_extension,
  ProtobufUnittest_Extensions_unpacked_uint32_extension,
  ProtobufUnittest_Extensions_unpacked_uint64_extension,
  ProtobufUnittest_Extensions_unpacked_sint32_extension,
  ProtobufUnittest_Extensions_unpacked_sint64_extension,
  ProtobufUnittest_Extensions_unpacked_fixed32_extension,
  ProtobufUnittest_Extensions_unpacked_fixed64_extension,
  ProtobufUnittest_Extensions_unpacked_sfixed32_extension,
  ProtobufUnittest_Extensions_unpacked_sfixed64_extension,
  ProtobufUnittest_Extensions_unpacked_float_extension,
  ProtobufUnittest_Extensions_unpacked_double_extension,
  ProtobufUnittest_Extensions_unpacked_bool_extension,
  ProtobufUnittest_Extensions_unpacked_enum_extension,
  ProtobufUnittest_Extensions_test_all_types,
  ProtobufUnittest_Extensions_test_extension_inside_table_extension,
  ProtobufUnittest_TestNestedExtension.Extensions.test,
  ProtobufUnittest_TestNestedExtension.Extensions.nested_string_extension,
  ProtobufUnittest_TestNestedExtension.Extensions.OptionalGroup_extension,
  ProtobufUnittest_TestNestedExtension.Extensions.optional_foreign_enum_extension,
  ProtobufUnittest_TestRequired.Extensions.single,
  ProtobufUnittest_TestRequired.Extensions.multi,
  ProtobufUnittest_TestExtensionOrderings1.Extensions.test_ext_orderings1,
  ProtobufUnittest_TestExtensionOrderings2.Extensions.test_ext_orderings2,
  ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3.Extensions.test_ext_orderings3,
  ProtobufUnittest_TestParsingMerge.Extensions.optional_ext,
  ProtobufUnittest_TestParsingMerge.Extensions.repeated_ext
]

/// Singular
let ProtobufUnittest_Extensions_optional_int32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 1,
  fieldName: "protobuf_unittest.optional_int32_extension"
)

let ProtobufUnittest_Extensions_optional_int64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufInt64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 2,
  fieldName: "protobuf_unittest.optional_int64_extension"
)

let ProtobufUnittest_Extensions_optional_uint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufUInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 3,
  fieldName: "protobuf_unittest.optional_uint32_extension"
)

let ProtobufUnittest_Extensions_optional_uint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufUInt64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 4,
  fieldName: "protobuf_unittest.optional_uint64_extension"
)

let ProtobufUnittest_Extensions_optional_sint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufSInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 5,
  fieldName: "protobuf_unittest.optional_sint32_extension"
)

let ProtobufUnittest_Extensions_optional_sint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufSInt64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 6,
  fieldName: "protobuf_unittest.optional_sint64_extension"
)

let ProtobufUnittest_Extensions_optional_fixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufFixed32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 7,
  fieldName: "protobuf_unittest.optional_fixed32_extension"
)

let ProtobufUnittest_Extensions_optional_fixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufFixed64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 8,
  fieldName: "protobuf_unittest.optional_fixed64_extension"
)

let ProtobufUnittest_Extensions_optional_sfixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufSFixed32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 9,
  fieldName: "protobuf_unittest.optional_sfixed32_extension"
)

let ProtobufUnittest_Extensions_optional_sfixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufSFixed64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 10,
  fieldName: "protobuf_unittest.optional_sfixed64_extension"
)

let ProtobufUnittest_Extensions_optional_float_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufFloat>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 11,
  fieldName: "protobuf_unittest.optional_float_extension"
)

let ProtobufUnittest_Extensions_optional_double_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufDouble>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 12,
  fieldName: "protobuf_unittest.optional_double_extension"
)

let ProtobufUnittest_Extensions_optional_bool_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufBool>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 13,
  fieldName: "protobuf_unittest.optional_bool_extension"
)

let ProtobufUnittest_Extensions_optional_string_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 14,
  fieldName: "protobuf_unittest.optional_string_extension"
)

let ProtobufUnittest_Extensions_optional_bytes_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufBytes>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 15,
  fieldName: "protobuf_unittest.optional_bytes_extension"
)

let ProtobufUnittest_Extensions_OptionalGroup_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalGroupExtensionField<ProtobufUnittest_OptionalGroup_extension>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 16,
  fieldName: "protobuf_unittest.optionalgroup_extension"
)

let ProtobufUnittest_Extensions_optional_nested_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_TestAllTypes.NestedMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 18,
  fieldName: "protobuf_unittest.optional_nested_message_extension"
)

let ProtobufUnittest_Extensions_optional_foreign_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_ForeignMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 19,
  fieldName: "protobuf_unittest.optional_foreign_message_extension"
)

let ProtobufUnittest_Extensions_optional_import_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittestImport_ImportMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 20,
  fieldName: "protobuf_unittest.optional_import_message_extension"
)

let ProtobufUnittest_Extensions_optional_nested_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalEnumExtensionField<ProtobufUnittest_TestAllTypes.NestedEnum>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 21,
  fieldName: "protobuf_unittest.optional_nested_enum_extension"
)

let ProtobufUnittest_Extensions_optional_foreign_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalEnumExtensionField<ProtobufUnittest_ForeignEnum>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 22,
  fieldName: "protobuf_unittest.optional_foreign_enum_extension"
)

let ProtobufUnittest_Extensions_optional_import_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalEnumExtensionField<ProtobufUnittestImport_ImportEnum>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 23,
  fieldName: "protobuf_unittest.optional_import_enum_extension"
)

let ProtobufUnittest_Extensions_optional_string_piece_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 24,
  fieldName: "protobuf_unittest.optional_string_piece_extension"
)

let ProtobufUnittest_Extensions_optional_cord_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 25,
  fieldName: "protobuf_unittest.optional_cord_extension"
)

let ProtobufUnittest_Extensions_optional_public_import_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittestImport_PublicImportMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 26,
  fieldName: "protobuf_unittest.optional_public_import_message_extension"
)

let ProtobufUnittest_Extensions_optional_lazy_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_TestAllTypes.NestedMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 27,
  fieldName: "protobuf_unittest.optional_lazy_message_extension"
)

/// Repeated
let ProtobufUnittest_Extensions_repeated_int32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 31,
  fieldName: "protobuf_unittest.repeated_int32_extension"
)

let ProtobufUnittest_Extensions_repeated_int64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufInt64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 32,
  fieldName: "protobuf_unittest.repeated_int64_extension"
)

let ProtobufUnittest_Extensions_repeated_uint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufUInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 33,
  fieldName: "protobuf_unittest.repeated_uint32_extension"
)

let ProtobufUnittest_Extensions_repeated_uint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufUInt64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 34,
  fieldName: "protobuf_unittest.repeated_uint64_extension"
)

let ProtobufUnittest_Extensions_repeated_sint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufSInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 35,
  fieldName: "protobuf_unittest.repeated_sint32_extension"
)

let ProtobufUnittest_Extensions_repeated_sint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufSInt64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 36,
  fieldName: "protobuf_unittest.repeated_sint64_extension"
)

let ProtobufUnittest_Extensions_repeated_fixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufFixed32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 37,
  fieldName: "protobuf_unittest.repeated_fixed32_extension"
)

let ProtobufUnittest_Extensions_repeated_fixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufFixed64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 38,
  fieldName: "protobuf_unittest.repeated_fixed64_extension"
)

let ProtobufUnittest_Extensions_repeated_sfixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufSFixed32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 39,
  fieldName: "protobuf_unittest.repeated_sfixed32_extension"
)

let ProtobufUnittest_Extensions_repeated_sfixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufSFixed64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 40,
  fieldName: "protobuf_unittest.repeated_sfixed64_extension"
)

let ProtobufUnittest_Extensions_repeated_float_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufFloat>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 41,
  fieldName: "protobuf_unittest.repeated_float_extension"
)

let ProtobufUnittest_Extensions_repeated_double_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufDouble>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 42,
  fieldName: "protobuf_unittest.repeated_double_extension"
)

let ProtobufUnittest_Extensions_repeated_bool_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufBool>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 43,
  fieldName: "protobuf_unittest.repeated_bool_extension"
)

let ProtobufUnittest_Extensions_repeated_string_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 44,
  fieldName: "protobuf_unittest.repeated_string_extension"
)

let ProtobufUnittest_Extensions_repeated_bytes_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufBytes>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 45,
  fieldName: "protobuf_unittest.repeated_bytes_extension"
)

let ProtobufUnittest_Extensions_RepeatedGroup_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedGroupExtensionField<ProtobufUnittest_RepeatedGroup_extension>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 46,
  fieldName: "protobuf_unittest.repeatedgroup_extension"
)

let ProtobufUnittest_Extensions_repeated_nested_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedMessageExtensionField<ProtobufUnittest_TestAllTypes.NestedMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 48,
  fieldName: "protobuf_unittest.repeated_nested_message_extension"
)

let ProtobufUnittest_Extensions_repeated_foreign_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedMessageExtensionField<ProtobufUnittest_ForeignMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 49,
  fieldName: "protobuf_unittest.repeated_foreign_message_extension"
)

let ProtobufUnittest_Extensions_repeated_import_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedMessageExtensionField<ProtobufUnittestImport_ImportMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 50,
  fieldName: "protobuf_unittest.repeated_import_message_extension"
)

let ProtobufUnittest_Extensions_repeated_nested_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedEnumExtensionField<ProtobufUnittest_TestAllTypes.NestedEnum>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 51,
  fieldName: "protobuf_unittest.repeated_nested_enum_extension"
)

let ProtobufUnittest_Extensions_repeated_foreign_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedEnumExtensionField<ProtobufUnittest_ForeignEnum>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 52,
  fieldName: "protobuf_unittest.repeated_foreign_enum_extension"
)

let ProtobufUnittest_Extensions_repeated_import_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedEnumExtensionField<ProtobufUnittestImport_ImportEnum>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 53,
  fieldName: "protobuf_unittest.repeated_import_enum_extension"
)

let ProtobufUnittest_Extensions_repeated_string_piece_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 54,
  fieldName: "protobuf_unittest.repeated_string_piece_extension"
)

let ProtobufUnittest_Extensions_repeated_cord_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 55,
  fieldName: "protobuf_unittest.repeated_cord_extension"
)

let ProtobufUnittest_Extensions_repeated_lazy_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedMessageExtensionField<ProtobufUnittest_TestAllTypes.NestedMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 57,
  fieldName: "protobuf_unittest.repeated_lazy_message_extension"
)

/// Singular with defaults
let ProtobufUnittest_Extensions_default_int32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 61,
  fieldName: "protobuf_unittest.default_int32_extension"
)

let ProtobufUnittest_Extensions_default_int64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufInt64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 62,
  fieldName: "protobuf_unittest.default_int64_extension"
)

let ProtobufUnittest_Extensions_default_uint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufUInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 63,
  fieldName: "protobuf_unittest.default_uint32_extension"
)

let ProtobufUnittest_Extensions_default_uint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufUInt64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 64,
  fieldName: "protobuf_unittest.default_uint64_extension"
)

let ProtobufUnittest_Extensions_default_sint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufSInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 65,
  fieldName: "protobuf_unittest.default_sint32_extension"
)

let ProtobufUnittest_Extensions_default_sint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufSInt64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 66,
  fieldName: "protobuf_unittest.default_sint64_extension"
)

let ProtobufUnittest_Extensions_default_fixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufFixed32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 67,
  fieldName: "protobuf_unittest.default_fixed32_extension"
)

let ProtobufUnittest_Extensions_default_fixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufFixed64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 68,
  fieldName: "protobuf_unittest.default_fixed64_extension"
)

let ProtobufUnittest_Extensions_default_sfixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufSFixed32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 69,
  fieldName: "protobuf_unittest.default_sfixed32_extension"
)

let ProtobufUnittest_Extensions_default_sfixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufSFixed64>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 70,
  fieldName: "protobuf_unittest.default_sfixed64_extension"
)

let ProtobufUnittest_Extensions_default_float_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufFloat>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 71,
  fieldName: "protobuf_unittest.default_float_extension"
)

let ProtobufUnittest_Extensions_default_double_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufDouble>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 72,
  fieldName: "protobuf_unittest.default_double_extension"
)

let ProtobufUnittest_Extensions_default_bool_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufBool>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 73,
  fieldName: "protobuf_unittest.default_bool_extension"
)

let ProtobufUnittest_Extensions_default_string_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 74,
  fieldName: "protobuf_unittest.default_string_extension"
)

let ProtobufUnittest_Extensions_default_bytes_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufBytes>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 75,
  fieldName: "protobuf_unittest.default_bytes_extension"
)

let ProtobufUnittest_Extensions_default_nested_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalEnumExtensionField<ProtobufUnittest_TestAllTypes.NestedEnum>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 81,
  fieldName: "protobuf_unittest.default_nested_enum_extension"
)

let ProtobufUnittest_Extensions_default_foreign_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalEnumExtensionField<ProtobufUnittest_ForeignEnum>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 82,
  fieldName: "protobuf_unittest.default_foreign_enum_extension"
)

let ProtobufUnittest_Extensions_default_import_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalEnumExtensionField<ProtobufUnittestImport_ImportEnum>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 83,
  fieldName: "protobuf_unittest.default_import_enum_extension"
)

let ProtobufUnittest_Extensions_default_string_piece_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 84,
  fieldName: "protobuf_unittest.default_string_piece_extension"
)

let ProtobufUnittest_Extensions_default_cord_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 85,
  fieldName: "protobuf_unittest.default_cord_extension"
)

/// For oneof test
let ProtobufUnittest_Extensions_oneof_uint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufUInt32>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 111,
  fieldName: "protobuf_unittest.oneof_uint32_extension"
)

let ProtobufUnittest_Extensions_oneof_nested_message_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_TestAllTypes.NestedMessage>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 112,
  fieldName: "protobuf_unittest.oneof_nested_message_extension"
)

let ProtobufUnittest_Extensions_oneof_string_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 113,
  fieldName: "protobuf_unittest.oneof_string_extension"
)

let ProtobufUnittest_Extensions_oneof_bytes_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufBytes>, ProtobufUnittest_TestAllExtensions>(
  _protobuf_fieldNumber: 114,
  fieldName: "protobuf_unittest.oneof_bytes_extension"
)

let ProtobufUnittest_Extensions_my_extension_string = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestFieldOrderings>(
  _protobuf_fieldNumber: 50,
  fieldName: "protobuf_unittest.my_extension_string"
)

let ProtobufUnittest_Extensions_my_extension_int = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufInt32>, ProtobufUnittest_TestFieldOrderings>(
  _protobuf_fieldNumber: 5,
  fieldName: "protobuf_unittest.my_extension_int"
)

let ProtobufUnittest_Extensions_packed_int32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufInt32>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 90,
  fieldName: "protobuf_unittest.packed_int32_extension"
)

let ProtobufUnittest_Extensions_packed_int64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufInt64>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 91,
  fieldName: "protobuf_unittest.packed_int64_extension"
)

let ProtobufUnittest_Extensions_packed_uint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufUInt32>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 92,
  fieldName: "protobuf_unittest.packed_uint32_extension"
)

let ProtobufUnittest_Extensions_packed_uint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufUInt64>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 93,
  fieldName: "protobuf_unittest.packed_uint64_extension"
)

let ProtobufUnittest_Extensions_packed_sint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufSInt32>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 94,
  fieldName: "protobuf_unittest.packed_sint32_extension"
)

let ProtobufUnittest_Extensions_packed_sint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufSInt64>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 95,
  fieldName: "protobuf_unittest.packed_sint64_extension"
)

let ProtobufUnittest_Extensions_packed_fixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufFixed32>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 96,
  fieldName: "protobuf_unittest.packed_fixed32_extension"
)

let ProtobufUnittest_Extensions_packed_fixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufFixed64>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 97,
  fieldName: "protobuf_unittest.packed_fixed64_extension"
)

let ProtobufUnittest_Extensions_packed_sfixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufSFixed32>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 98,
  fieldName: "protobuf_unittest.packed_sfixed32_extension"
)

let ProtobufUnittest_Extensions_packed_sfixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufSFixed64>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 99,
  fieldName: "protobuf_unittest.packed_sfixed64_extension"
)

let ProtobufUnittest_Extensions_packed_float_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufFloat>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 100,
  fieldName: "protobuf_unittest.packed_float_extension"
)

let ProtobufUnittest_Extensions_packed_double_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufDouble>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 101,
  fieldName: "protobuf_unittest.packed_double_extension"
)

let ProtobufUnittest_Extensions_packed_bool_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedExtensionField<SwiftProtobuf.ProtobufBool>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 102,
  fieldName: "protobuf_unittest.packed_bool_extension"
)

let ProtobufUnittest_Extensions_packed_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.PackedEnumExtensionField<ProtobufUnittest_ForeignEnum>, ProtobufUnittest_TestPackedExtensions>(
  _protobuf_fieldNumber: 103,
  fieldName: "protobuf_unittest.packed_enum_extension"
)

let ProtobufUnittest_Extensions_unpacked_int32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufInt32>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 90,
  fieldName: "protobuf_unittest.unpacked_int32_extension"
)

let ProtobufUnittest_Extensions_unpacked_int64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufInt64>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 91,
  fieldName: "protobuf_unittest.unpacked_int64_extension"
)

let ProtobufUnittest_Extensions_unpacked_uint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufUInt32>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 92,
  fieldName: "protobuf_unittest.unpacked_uint32_extension"
)

let ProtobufUnittest_Extensions_unpacked_uint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufUInt64>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 93,
  fieldName: "protobuf_unittest.unpacked_uint64_extension"
)

let ProtobufUnittest_Extensions_unpacked_sint32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufSInt32>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 94,
  fieldName: "protobuf_unittest.unpacked_sint32_extension"
)

let ProtobufUnittest_Extensions_unpacked_sint64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufSInt64>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 95,
  fieldName: "protobuf_unittest.unpacked_sint64_extension"
)

let ProtobufUnittest_Extensions_unpacked_fixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufFixed32>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 96,
  fieldName: "protobuf_unittest.unpacked_fixed32_extension"
)

let ProtobufUnittest_Extensions_unpacked_fixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufFixed64>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 97,
  fieldName: "protobuf_unittest.unpacked_fixed64_extension"
)

let ProtobufUnittest_Extensions_unpacked_sfixed32_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufSFixed32>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 98,
  fieldName: "protobuf_unittest.unpacked_sfixed32_extension"
)

let ProtobufUnittest_Extensions_unpacked_sfixed64_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufSFixed64>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 99,
  fieldName: "protobuf_unittest.unpacked_sfixed64_extension"
)

let ProtobufUnittest_Extensions_unpacked_float_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufFloat>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 100,
  fieldName: "protobuf_unittest.unpacked_float_extension"
)

let ProtobufUnittest_Extensions_unpacked_double_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufDouble>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 101,
  fieldName: "protobuf_unittest.unpacked_double_extension"
)

let ProtobufUnittest_Extensions_unpacked_bool_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedExtensionField<SwiftProtobuf.ProtobufBool>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 102,
  fieldName: "protobuf_unittest.unpacked_bool_extension"
)

let ProtobufUnittest_Extensions_unpacked_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedEnumExtensionField<ProtobufUnittest_ForeignEnum>, ProtobufUnittest_TestUnpackedExtensions>(
  _protobuf_fieldNumber: 103,
  fieldName: "protobuf_unittest.unpacked_enum_extension"
)

let ProtobufUnittest_Extensions_test_all_types = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_TestAllTypes>, ProtobufUnittest_TestHugeFieldNumbers>(
  _protobuf_fieldNumber: 536860000,
  fieldName: "protobuf_unittest.test_all_types"
)

let ProtobufUnittest_Extensions_test_extension_inside_table_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufInt32>, ProtobufUnittest_TestExtensionInsideTable>(
  _protobuf_fieldNumber: 5,
  fieldName: "protobuf_unittest.test_extension_inside_table_extension"
)

extension ProtobufUnittest_TestNestedExtension {
  enum Extensions {
    /// Check for bug where string extensions declared in tested scope did not
    /// compile.
    static let test = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
      _protobuf_fieldNumber: 1002,
      fieldName: "protobuf_unittest.TestNestedExtension.test"
    )

    /// Used to test if generated extension name is correct when there are
    /// underscores.
    static let nested_string_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalExtensionField<SwiftProtobuf.ProtobufString>, ProtobufUnittest_TestAllExtensions>(
      _protobuf_fieldNumber: 1003,
      fieldName: "protobuf_unittest.TestNestedExtension.nested_string_extension"
    )

    static let OptionalGroup_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalGroupExtensionField<ProtobufUnittest_TestNestedExtension.OptionalGroup_extension>, ProtobufUnittest_TestGroupExtension>(
      _protobuf_fieldNumber: 16,
      fieldName: "protobuf_unittest.TestNestedExtension.optionalgroup_extension"
    )

    static let optional_foreign_enum_extension = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalEnumExtensionField<ProtobufUnittest_ForeignEnum>, ProtobufUnittest_TestGroupExtension>(
      _protobuf_fieldNumber: 22,
      fieldName: "protobuf_unittest.TestNestedExtension.optional_foreign_enum_extension"
    )
  }
}

extension ProtobufUnittest_TestRequired {
  enum Extensions {
    static let single = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_TestRequired>, ProtobufUnittest_TestAllExtensions>(
      _protobuf_fieldNumber: 1000,
      fieldName: "protobuf_unittest.TestRequired.single"
    )

    static let multi = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedMessageExtensionField<ProtobufUnittest_TestRequired>, ProtobufUnittest_TestAllExtensions>(
      _protobuf_fieldNumber: 1001,
      fieldName: "protobuf_unittest.TestRequired.multi"
    )
  }
}

extension ProtobufUnittest_TestExtensionOrderings1 {
  enum Extensions {
    static let test_ext_orderings1 = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_TestExtensionOrderings1>, ProtobufUnittest_TestFieldOrderings>(
      _protobuf_fieldNumber: 13,
      fieldName: "protobuf_unittest.TestExtensionOrderings1.test_ext_orderings1"
    )
  }
}

extension ProtobufUnittest_TestExtensionOrderings2 {
  enum Extensions {
    static let test_ext_orderings2 = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_TestExtensionOrderings2>, ProtobufUnittest_TestFieldOrderings>(
      _protobuf_fieldNumber: 12,
      fieldName: "protobuf_unittest.TestExtensionOrderings2.test_ext_orderings2"
    )
  }
}

extension ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3 {
  enum Extensions {
    static let test_ext_orderings3 = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3>, ProtobufUnittest_TestFieldOrderings>(
      _protobuf_fieldNumber: 14,
      fieldName: "protobuf_unittest.TestExtensionOrderings2.TestExtensionOrderings3.test_ext_orderings3"
    )
  }
}

extension ProtobufUnittest_TestParsingMerge {
  enum Extensions {
    static let optional_ext = SwiftProtobuf.MessageExtension<SwiftProtobuf.OptionalMessageExtensionField<ProtobufUnittest_TestAllTypes>, ProtobufUnittest_TestParsingMerge>(
      _protobuf_fieldNumber: 1000,
      fieldName: "protobuf_unittest.TestParsingMerge.optional_ext"
    )

    static let repeated_ext = SwiftProtobuf.MessageExtension<SwiftProtobuf.RepeatedMessageExtensionField<ProtobufUnittest_TestAllTypes>, ProtobufUnittest_TestParsingMerge>(
      _protobuf_fieldNumber: 1001,
      fieldName: "protobuf_unittest.TestParsingMerge.repeated_ext"
    )
  }
}

// MARK: - Code below here is support for the SwiftProtobuf runtime.

fileprivate let _protobuf_package = "protobuf_unittest"

extension ProtobufUnittest_ForeignEnum: SwiftProtobuf._ProtoNameProviding {
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    4: .same(proto: "FOREIGN_FOO"),
    5: .same(proto: "FOREIGN_BAR"),
    6: .same(proto: "FOREIGN_BAZ"),
  ]
}

extension ProtobufUnittest_TestEnumWithDupValue: SwiftProtobuf._ProtoNameProviding {
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .aliased(proto: "FOO1", aliases: ["FOO2"]),
    2: .aliased(proto: "BAR1", aliases: ["BAR2"]),
    3: .same(proto: "BAZ"),
  ]
}

extension ProtobufUnittest_TestSparseEnum: SwiftProtobuf._ProtoNameProviding {
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    -53452: .same(proto: "SPARSE_E"),
    -15: .same(proto: "SPARSE_D"),
    0: .same(proto: "SPARSE_F"),
    2: .same(proto: "SPARSE_G"),
    123: .same(proto: "SPARSE_A"),
    62374: .same(proto: "SPARSE_B"),
    12589234: .same(proto: "SPARSE_C"),
  ]
}

extension ProtobufUnittest_VeryLargeEnum: SwiftProtobuf._ProtoNameProviding {
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    0: .same(proto: "ENUM_LABEL_DEFAULT"),
    1: .same(proto: "ENUM_LABEL_1"),
    2: .same(proto: "ENUM_LABEL_2"),
    3: .same(proto: "ENUM_LABEL_3"),
    4: .same(proto: "ENUM_LABEL_4"),
    5: .same(proto: "ENUM_LABEL_5"),
    6: .same(proto: "ENUM_LABEL_6"),
    7: .same(proto: "ENUM_LABEL_7"),
    8: .same(proto: "ENUM_LABEL_8"),
    9: .same(proto: "ENUM_LABEL_9"),
    10: .same(proto: "ENUM_LABEL_10"),
    11: .same(proto: "ENUM_LABEL_11"),
    12: .same(proto: "ENUM_LABEL_12"),
    13: .same(proto: "ENUM_LABEL_13"),
    14: .same(proto: "ENUM_LABEL_14"),
    15: .same(proto: "ENUM_LABEL_15"),
    16: .same(proto: "ENUM_LABEL_16"),
    17: .same(proto: "ENUM_LABEL_17"),
    18: .same(proto: "ENUM_LABEL_18"),
    19: .same(proto: "ENUM_LABEL_19"),
    20: .same(proto: "ENUM_LABEL_20"),
    21: .same(proto: "ENUM_LABEL_21"),
    22: .same(proto: "ENUM_LABEL_22"),
    23: .same(proto: "ENUM_LABEL_23"),
    24: .same(proto: "ENUM_LABEL_24"),
    25: .same(proto: "ENUM_LABEL_25"),
    26: .same(proto: "ENUM_LABEL_26"),
    27: .same(proto: "ENUM_LABEL_27"),
    28: .same(proto: "ENUM_LABEL_28"),
    29: .same(proto: "ENUM_LABEL_29"),
    30: .same(proto: "ENUM_LABEL_30"),
    31: .same(proto: "ENUM_LABEL_31"),
    32: .same(proto: "ENUM_LABEL_32"),
    33: .same(proto: "ENUM_LABEL_33"),
    34: .same(proto: "ENUM_LABEL_34"),
    35: .same(proto: "ENUM_LABEL_35"),
    36: .same(proto: "ENUM_LABEL_36"),
    37: .same(proto: "ENUM_LABEL_37"),
    38: .same(proto: "ENUM_LABEL_38"),
    39: .same(proto: "ENUM_LABEL_39"),
    40: .same(proto: "ENUM_LABEL_40"),
    41: .same(proto: "ENUM_LABEL_41"),
    42: .same(proto: "ENUM_LABEL_42"),
    43: .same(proto: "ENUM_LABEL_43"),
    44: .same(proto: "ENUM_LABEL_44"),
    45: .same(proto: "ENUM_LABEL_45"),
    46: .same(proto: "ENUM_LABEL_46"),
    47: .same(proto: "ENUM_LABEL_47"),
    48: .same(proto: "ENUM_LABEL_48"),
    49: .same(proto: "ENUM_LABEL_49"),
    50: .same(proto: "ENUM_LABEL_50"),
    51: .same(proto: "ENUM_LABEL_51"),
    52: .same(proto: "ENUM_LABEL_52"),
    53: .same(proto: "ENUM_LABEL_53"),
    54: .same(proto: "ENUM_LABEL_54"),
    55: .same(proto: "ENUM_LABEL_55"),
    56: .same(proto: "ENUM_LABEL_56"),
    57: .same(proto: "ENUM_LABEL_57"),
    58: .same(proto: "ENUM_LABEL_58"),
    59: .same(proto: "ENUM_LABEL_59"),
    60: .same(proto: "ENUM_LABEL_60"),
    61: .same(proto: "ENUM_LABEL_61"),
    62: .same(proto: "ENUM_LABEL_62"),
    63: .same(proto: "ENUM_LABEL_63"),
    64: .same(proto: "ENUM_LABEL_64"),
    65: .same(proto: "ENUM_LABEL_65"),
    66: .same(proto: "ENUM_LABEL_66"),
    67: .same(proto: "ENUM_LABEL_67"),
    68: .same(proto: "ENUM_LABEL_68"),
    69: .same(proto: "ENUM_LABEL_69"),
    70: .same(proto: "ENUM_LABEL_70"),
    71: .same(proto: "ENUM_LABEL_71"),
    72: .same(proto: "ENUM_LABEL_72"),
    73: .same(proto: "ENUM_LABEL_73"),
    74: .same(proto: "ENUM_LABEL_74"),
    75: .same(proto: "ENUM_LABEL_75"),
    76: .same(proto: "ENUM_LABEL_76"),
    77: .same(proto: "ENUM_LABEL_77"),
    78: .same(proto: "ENUM_LABEL_78"),
    79: .same(proto: "ENUM_LABEL_79"),
    80: .same(proto: "ENUM_LABEL_80"),
    81: .same(proto: "ENUM_LABEL_81"),
    82: .same(proto: "ENUM_LABEL_82"),
    83: .same(proto: "ENUM_LABEL_83"),
    84: .same(proto: "ENUM_LABEL_84"),
    85: .same(proto: "ENUM_LABEL_85"),
    86: .same(proto: "ENUM_LABEL_86"),
    87: .same(proto: "ENUM_LABEL_87"),
    88: .same(proto: "ENUM_LABEL_88"),
    89: .same(proto: "ENUM_LABEL_89"),
    90: .same(proto: "ENUM_LABEL_90"),
    91: .same(proto: "ENUM_LABEL_91"),
    92: .same(proto: "ENUM_LABEL_92"),
    93: .same(proto: "ENUM_LABEL_93"),
    94: .same(proto: "ENUM_LABEL_94"),
    95: .same(proto: "ENUM_LABEL_95"),
    96: .same(proto: "ENUM_LABEL_96"),
    97: .same(proto: "ENUM_LABEL_97"),
    98: .same(proto: "ENUM_LABEL_98"),
    99: .same(proto: "ENUM_LABEL_99"),
    100: .same(proto: "ENUM_LABEL_100"),
  ]
}

extension ProtobufUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestAllTypes"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "optional_int32"),
    2: .standard(proto: "optional_int64"),
    3: .standard(proto: "optional_uint32"),
    4: .standard(proto: "optional_uint64"),
    5: .standard(proto: "optional_sint32"),
    6: .standard(proto: "optional_sint64"),
    7: .standard(proto: "optional_fixed32"),
    8: .standard(proto: "optional_fixed64"),
    9: .standard(proto: "optional_sfixed32"),
    10: .standard(proto: "optional_sfixed64"),
    11: .standard(proto: "optional_float"),
    12: .standard(proto: "optional_double"),
    13: .standard(proto: "optional_bool"),
    14: .standard(proto: "optional_string"),
    15: .standard(proto: "optional_bytes"),
    16: .unique(proto: "OptionalGroup", json: "optionalgroup"),
    18: .standard(proto: "optional_nested_message"),
    19: .standard(proto: "optional_foreign_message"),
    20: .standard(proto: "optional_import_message"),
    21: .standard(proto: "optional_nested_enum"),
    22: .standard(proto: "optional_foreign_enum"),
    23: .standard(proto: "optional_import_enum"),
    24: .standard(proto: "optional_string_piece"),
    25: .standard(proto: "optional_cord"),
    26: .standard(proto: "optional_public_import_message"),
    27: .standard(proto: "optional_lazy_message"),
    31: .standard(proto: "repeated_int32"),
    32: .standard(proto: "repeated_int64"),
    33: .standard(proto: "repeated_uint32"),
    34: .standard(proto: "repeated_uint64"),
    35: .standard(proto: "repeated_sint32"),
    36: .standard(proto: "repeated_sint64"),
    37: .standard(proto: "repeated_fixed32"),
    38: .standard(proto: "repeated_fixed64"),
    39: .standard(proto: "repeated_sfixed32"),
    40: .standard(proto: "repeated_sfixed64"),
    41: .standard(proto: "repeated_float"),
    42: .standard(proto: "repeated_double"),
    43: .standard(proto: "repeated_bool"),
    44: .standard(proto: "repeated_string"),
    45: .standard(proto: "repeated_bytes"),
    46: .unique(proto: "RepeatedGroup", json: "repeatedgroup"),
    48: .standard(proto: "repeated_nested_message"),
    49: .standard(proto: "repeated_foreign_message"),
    50: .standard(proto: "repeated_import_message"),
    51: .standard(proto: "repeated_nested_enum"),
    52: .standard(proto: "repeated_foreign_enum"),
    53: .standard(proto: "repeated_import_enum"),
    54: .standard(proto: "repeated_string_piece"),
    55: .standard(proto: "repeated_cord"),
    57: .standard(proto: "repeated_lazy_message"),
    61: .standard(proto: "default_int32"),
    62: .standard(proto: "default_int64"),
    63: .standard(proto: "default_uint32"),
    64: .standard(proto: "default_uint64"),
    65: .standard(proto: "default_sint32"),
    66: .standard(proto: "default_sint64"),
    67: .standard(proto: "default_fixed32"),
    68: .standard(proto: "default_fixed64"),
    69: .standard(proto: "default_sfixed32"),
    70: .standard(proto: "default_sfixed64"),
    71: .standard(proto: "default_float"),
    72: .standard(proto: "default_double"),
    73: .standard(proto: "default_bool"),
    74: .standard(proto: "default_string"),
    75: .standard(proto: "default_bytes"),
    81: .standard(proto: "default_nested_enum"),
    82: .standard(proto: "default_foreign_enum"),
    83: .standard(proto: "default_import_enum"),
    84: .standard(proto: "default_string_piece"),
    85: .standard(proto: "default_cord"),
    111: .standard(proto: "oneof_uint32"),
    112: .standard(proto: "oneof_nested_message"),
    113: .standard(proto: "oneof_string"),
    114: .standard(proto: "oneof_bytes"),
  ]

  fileprivate class _StorageClass {
    var _optionalInt32: Int32? = nil
    var _optionalInt64: Int64? = nil
    var _optionalUint32: UInt32? = nil
    var _optionalUint64: UInt64? = nil
    var _optionalSint32: Int32? = nil
    var _optionalSint64: Int64? = nil
    var _optionalFixed32: UInt32? = nil
    var _optionalFixed64: UInt64? = nil
    var _optionalSfixed32: Int32? = nil
    var _optionalSfixed64: Int64? = nil
    var _optionalFloat: Float? = nil
    var _optionalDouble: Double? = nil
    var _optionalBool: Bool? = nil
    var _optionalString: String? = nil
    var _optionalBytes: Data? = nil
    var _optionalGroup: ProtobufUnittest_TestAllTypes.OptionalGroup? = nil
    var _optionalNestedMessage: ProtobufUnittest_TestAllTypes.NestedMessage? = nil
    var _optionalForeignMessage: ProtobufUnittest_ForeignMessage? = nil
    var _optionalImportMessage: ProtobufUnittestImport_ImportMessage? = nil
    var _optionalNestedEnum: ProtobufUnittest_TestAllTypes.NestedEnum? = nil
    var _optionalForeignEnum: ProtobufUnittest_ForeignEnum? = nil
    var _optionalImportEnum: ProtobufUnittestImport_ImportEnum? = nil
    var _optionalStringPiece: String? = nil
    var _optionalCord: String? = nil
    var _optionalPublicImportMessage: ProtobufUnittestImport_PublicImportMessage? = nil
    var _optionalLazyMessage: ProtobufUnittest_TestAllTypes.NestedMessage? = nil
    var _repeatedInt32: [Int32] = []
    var _repeatedInt64: [Int64] = []
    var _repeatedUint32: [UInt32] = []
    var _repeatedUint64: [UInt64] = []
    var _repeatedSint32: [Int32] = []
    var _repeatedSint64: [Int64] = []
    var _repeatedFixed32: [UInt32] = []
    var _repeatedFixed64: [UInt64] = []
    var _repeatedSfixed32: [Int32] = []
    var _repeatedSfixed64: [Int64] = []
    var _repeatedFloat: [Float] = []
    var _repeatedDouble: [Double] = []
    var _repeatedBool: [Bool] = []
    var _repeatedString: [String] = []
    var _repeatedBytes: [Data] = []
    var _repeatedGroup: [ProtobufUnittest_TestAllTypes.RepeatedGroup] = []
    var _repeatedNestedMessage: [ProtobufUnittest_TestAllTypes.NestedMessage] = []
    var _repeatedForeignMessage: [ProtobufUnittest_ForeignMessage] = []
    var _repeatedImportMessage: [ProtobufUnittestImport_ImportMessage] = []
    var _repeatedNestedEnum: [ProtobufUnittest_TestAllTypes.NestedEnum] = []
    var _repeatedForeignEnum: [ProtobufUnittest_ForeignEnum] = []
    var _repeatedImportEnum: [ProtobufUnittestImport_ImportEnum] = []
    var _repeatedStringPiece: [String] = []
    var _repeatedCord: [String] = []
    var _repeatedLazyMessage: [ProtobufUnittest_TestAllTypes.NestedMessage] = []
    var _defaultInt32: Int32? = nil
    var _defaultInt64: Int64? = nil
    var _defaultUint32: UInt32? = nil
    var _defaultUint64: UInt64? = nil
    var _defaultSint32: Int32? = nil
    var _defaultSint64: Int64? = nil
    var _defaultFixed32: UInt32? = nil
    var _defaultFixed64: UInt64? = nil
    var _defaultSfixed32: Int32? = nil
    var _defaultSfixed64: Int64? = nil
    var _defaultFloat: Float? = nil
    var _defaultDouble: Double? = nil
    var _defaultBool: Bool? = nil
    var _defaultString: String? = nil
    var _defaultBytes: Data? = nil
    var _defaultNestedEnum: ProtobufUnittest_TestAllTypes.NestedEnum? = nil
    var _defaultForeignEnum: ProtobufUnittest_ForeignEnum? = nil
    var _defaultImportEnum: ProtobufUnittestImport_ImportEnum? = nil
    var _defaultStringPiece: String? = nil
    var _defaultCord: String? = nil
    var _oneofField: ProtobufUnittest_TestAllTypes.OneOf_OneofField?

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _optionalInt32 = source._optionalInt32
      _optionalInt64 = source._optionalInt64
      _optionalUint32 = source._optionalUint32
      _optionalUint64 = source._optionalUint64
      _optionalSint32 = source._optionalSint32
      _optionalSint64 = source._optionalSint64
      _optionalFixed32 = source._optionalFixed32
      _optionalFixed64 = source._optionalFixed64
      _optionalSfixed32 = source._optionalSfixed32
      _optionalSfixed64 = source._optionalSfixed64
      _optionalFloat = source._optionalFloat
      _optionalDouble = source._optionalDouble
      _optionalBool = source._optionalBool
      _optionalString = source._optionalString
      _optionalBytes = source._optionalBytes
      _optionalGroup = source._optionalGroup
      _optionalNestedMessage = source._optionalNestedMessage
      _optionalForeignMessage = source._optionalForeignMessage
      _optionalImportMessage = source._optionalImportMessage
      _optionalNestedEnum = source._optionalNestedEnum
      _optionalForeignEnum = source._optionalForeignEnum
      _optionalImportEnum = source._optionalImportEnum
      _optionalStringPiece = source._optionalStringPiece
      _optionalCord = source._optionalCord
      _optionalPublicImportMessage = source._optionalPublicImportMessage
      _optionalLazyMessage = source._optionalLazyMessage
      _repeatedInt32 = source._repeatedInt32
      _repeatedInt64 = source._repeatedInt64
      _repeatedUint32 = source._repeatedUint32
      _repeatedUint64 = source._repeatedUint64
      _repeatedSint32 = source._repeatedSint32
      _repeatedSint64 = source._repeatedSint64
      _repeatedFixed32 = source._repeatedFixed32
      _repeatedFixed64 = source._repeatedFixed64
      _repeatedSfixed32 = source._repeatedSfixed32
      _repeatedSfixed64 = source._repeatedSfixed64
      _repeatedFloat = source._repeatedFloat
      _repeatedDouble = source._repeatedDouble
      _repeatedBool = source._repeatedBool
      _repeatedString = source._repeatedString
      _repeatedBytes = source._repeatedBytes
      _repeatedGroup = source._repeatedGroup
      _repeatedNestedMessage = source._repeatedNestedMessage
      _repeatedForeignMessage = source._repeatedForeignMessage
      _repeatedImportMessage = source._repeatedImportMessage
      _repeatedNestedEnum = source._repeatedNestedEnum
      _repeatedForeignEnum = source._repeatedForeignEnum
      _repeatedImportEnum = source._repeatedImportEnum
      _repeatedStringPiece = source._repeatedStringPiece
      _repeatedCord = source._repeatedCord
      _repeatedLazyMessage = source._repeatedLazyMessage
      _defaultInt32 = source._defaultInt32
      _defaultInt64 = source._defaultInt64
      _defaultUint32 = source._defaultUint32
      _defaultUint64 = source._defaultUint64
      _defaultSint32 = source._defaultSint32
      _defaultSint64 = source._defaultSint64
      _defaultFixed32 = source._defaultFixed32
      _defaultFixed64 = source._defaultFixed64
      _defaultSfixed32 = source._defaultSfixed32
      _defaultSfixed64 = source._defaultSfixed64
      _defaultFloat = source._defaultFloat
      _defaultDouble = source._defaultDouble
      _defaultBool = source._defaultBool
      _defaultString = source._defaultString
      _defaultBytes = source._defaultBytes
      _defaultNestedEnum = source._defaultNestedEnum
      _defaultForeignEnum = source._defaultForeignEnum
      _defaultImportEnum = source._defaultImportEnum
      _defaultStringPiece = source._defaultStringPiece
      _defaultCord = source._defaultCord
      _oneofField = source._oneofField
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularInt32Field(value: &_storage._optionalInt32)
        case 2: try decoder.decodeSingularInt64Field(value: &_storage._optionalInt64)
        case 3: try decoder.decodeSingularUInt32Field(value: &_storage._optionalUint32)
        case 4: try decoder.decodeSingularUInt64Field(value: &_storage._optionalUint64)
        case 5: try decoder.decodeSingularSInt32Field(value: &_storage._optionalSint32)
        case 6: try decoder.decodeSingularSInt64Field(value: &_storage._optionalSint64)
        case 7: try decoder.decodeSingularFixed32Field(value: &_storage._optionalFixed32)
        case 8: try decoder.decodeSingularFixed64Field(value: &_storage._optionalFixed64)
        case 9: try decoder.decodeSingularSFixed32Field(value: &_storage._optionalSfixed32)
        case 10: try decoder.decodeSingularSFixed64Field(value: &_storage._optionalSfixed64)
        case 11: try decoder.decodeSingularFloatField(value: &_storage._optionalFloat)
        case 12: try decoder.decodeSingularDoubleField(value: &_storage._optionalDouble)
        case 13: try decoder.decodeSingularBoolField(value: &_storage._optionalBool)
        case 14: try decoder.decodeSingularStringField(value: &_storage._optionalString)
        case 15: try decoder.decodeSingularBytesField(value: &_storage._optionalBytes)
        case 16: try decoder.decodeSingularGroupField(value: &_storage._optionalGroup)
        case 18: try decoder.decodeSingularMessageField(value: &_storage._optionalNestedMessage)
        case 19: try decoder.decodeSingularMessageField(value: &_storage._optionalForeignMessage)
        case 20: try decoder.decodeSingularMessageField(value: &_storage._optionalImportMessage)
        case 21: try decoder.decodeSingularEnumField(value: &_storage._optionalNestedEnum)
        case 22: try decoder.decodeSingularEnumField(value: &_storage._optionalForeignEnum)
        case 23: try decoder.decodeSingularEnumField(value: &_storage._optionalImportEnum)
        case 24: try decoder.decodeSingularStringField(value: &_storage._optionalStringPiece)
        case 25: try decoder.decodeSingularStringField(value: &_storage._optionalCord)
        case 26: try decoder.decodeSingularMessageField(value: &_storage._optionalPublicImportMessage)
        case 27: try decoder.decodeSingularMessageField(value: &_storage._optionalLazyMessage)
        case 31: try decoder.decodeRepeatedInt32Field(value: &_storage._repeatedInt32)
        case 32: try decoder.decodeRepeatedInt64Field(value: &_storage._repeatedInt64)
        case 33: try decoder.decodeRepeatedUInt32Field(value: &_storage._repeatedUint32)
        case 34: try decoder.decodeRepeatedUInt64Field(value: &_storage._repeatedUint64)
        case 35: try decoder.decodeRepeatedSInt32Field(value: &_storage._repeatedSint32)
        case 36: try decoder.decodeRepeatedSInt64Field(value: &_storage._repeatedSint64)
        case 37: try decoder.decodeRepeatedFixed32Field(value: &_storage._repeatedFixed32)
        case 38: try decoder.decodeRepeatedFixed64Field(value: &_storage._repeatedFixed64)
        case 39: try decoder.decodeRepeatedSFixed32Field(value: &_storage._repeatedSfixed32)
        case 40: try decoder.decodeRepeatedSFixed64Field(value: &_storage._repeatedSfixed64)
        case 41: try decoder.decodeRepeatedFloatField(value: &_storage._repeatedFloat)
        case 42: try decoder.decodeRepeatedDoubleField(value: &_storage._repeatedDouble)
        case 43: try decoder.decodeRepeatedBoolField(value: &_storage._repeatedBool)
        case 44: try decoder.decodeRepeatedStringField(value: &_storage._repeatedString)
        case 45: try decoder.decodeRepeatedBytesField(value: &_storage._repeatedBytes)
        case 46: try decoder.decodeRepeatedGroupField(value: &_storage._repeatedGroup)
        case 48: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedNestedMessage)
        case 49: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedForeignMessage)
        case 50: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedImportMessage)
        case 51: try decoder.decodeRepeatedEnumField(value: &_storage._repeatedNestedEnum)
        case 52: try decoder.decodeRepeatedEnumField(value: &_storage._repeatedForeignEnum)
        case 53: try decoder.decodeRepeatedEnumField(value: &_storage._repeatedImportEnum)
        case 54: try decoder.decodeRepeatedStringField(value: &_storage._repeatedStringPiece)
        case 55: try decoder.decodeRepeatedStringField(value: &_storage._repeatedCord)
        case 57: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage)
        case 61: try decoder.decodeSingularInt32Field(value: &_storage._defaultInt32)
        case 62: try decoder.decodeSingularInt64Field(value: &_storage._defaultInt64)
        case 63: try decoder.decodeSingularUInt32Field(value: &_storage._defaultUint32)
        case 64: try decoder.decodeSingularUInt64Field(value: &_storage._defaultUint64)
        case 65: try decoder.decodeSingularSInt32Field(value: &_storage._defaultSint32)
        case 66: try decoder.decodeSingularSInt64Field(value: &_storage._defaultSint64)
        case 67: try decoder.decodeSingularFixed32Field(value: &_storage._defaultFixed32)
        case 68: try decoder.decodeSingularFixed64Field(value: &_storage._defaultFixed64)
        case 69: try decoder.decodeSingularSFixed32Field(value: &_storage._defaultSfixed32)
        case 70: try decoder.decodeSingularSFixed64Field(value: &_storage._defaultSfixed64)
        case 71: try decoder.decodeSingularFloatField(value: &_storage._defaultFloat)
        case 72: try decoder.decodeSingularDoubleField(value: &_storage._defaultDouble)
        case 73: try decoder.decodeSingularBoolField(value: &_storage._defaultBool)
        case 74: try decoder.decodeSingularStringField(value: &_storage._defaultString)
        case 75: try decoder.decodeSingularBytesField(value: &_storage._defaultBytes)
        case 81: try decoder.decodeSingularEnumField(value: &_storage._defaultNestedEnum)
        case 82: try decoder.decodeSingularEnumField(value: &_storage._defaultForeignEnum)
        case 83: try decoder.decodeSingularEnumField(value: &_storage._defaultImportEnum)
        case 84: try decoder.decodeSingularStringField(value: &_storage._defaultStringPiece)
        case 85: try decoder.decodeSingularStringField(value: &_storage._defaultCord)
        case 111:
          if _storage._oneofField != nil {try decoder.handleConflictingOneOf()}
          var v: UInt32?
          try decoder.decodeSingularUInt32Field(value: &v)
          if let v = v {_storage._oneofField = .oneofUint32(v)}
        case 112:
          var v: ProtobufUnittest_TestAllTypes.NestedMessage?
          if let current = _storage._oneofField {
            try decoder.handleConflictingOneOf()
            if case .oneofNestedMessage(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._oneofField = .oneofNestedMessage(v)}
        case 113:
          if _storage._oneofField != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._oneofField = .oneofString(v)}
        case 114:
          if _storage._oneofField != nil {try decoder.handleConflictingOneOf()}
          var v: Data?
          try decoder.decodeSingularBytesField(value: &v)
          if let v = v {_storage._oneofField = .oneofBytes(v)}
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._optionalInt32 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
      }
      if let v = _storage._optionalInt64 {
        try visitor.visitSingularInt64Field(value: v, fieldNumber: 2)
      }
      if let v = _storage._optionalUint32 {
        try visitor.visitSingularUInt32Field(value: v, fieldNumber: 3)
      }
      if let v = _storage._optionalUint64 {
        try visitor.visitSingularUInt64Field(value: v, fieldNumber: 4)
      }
      if let v = _storage._optionalSint32 {
        try visitor.visitSingularSInt32Field(value: v, fieldNumber: 5)
      }
      if let v = _storage._optionalSint64 {
        try visitor.visitSingularSInt64Field(value: v, fieldNumber: 6)
      }
      if let v = _storage._optionalFixed32 {
        try visitor.visitSingularFixed32Field(value: v, fieldNumber: 7)
      }
      if let v = _storage._optionalFixed64 {
        try visitor.visitSingularFixed64Field(value: v, fieldNumber: 8)
      }
      if let v = _storage._optionalSfixed32 {
        try visitor.visitSingularSFixed32Field(value: v, fieldNumber: 9)
      }
      if let v = _storage._optionalSfixed64 {
        try visitor.visitSingularSFixed64Field(value: v, fieldNumber: 10)
      }
      if let v = _storage._optionalFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 11)
      }
      if let v = _storage._optionalDouble {
        try visitor.visitSingularDoubleField(value: v, fieldNumber: 12)
      }
      if let v = _storage._optionalBool {
        try visitor.visitSingularBoolField(value: v, fieldNumber: 13)
      }
      if let v = _storage._optionalString {
        try visitor.visitSingularStringField(value: v, fieldNumber: 14)
      }
      if let v = _storage._optionalBytes {
        try visitor.visitSingularBytesField(value: v, fieldNumber: 15)
      }
      if let v = _storage._optionalGroup {
        try visitor.visitSingularGroupField(value: v, fieldNumber: 16)
      }
      if let v = _storage._optionalNestedMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 18)
      }
      if let v = _storage._optionalForeignMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 19)
      }
      if let v = _storage._optionalImportMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 20)
      }
      if let v = _storage._optionalNestedEnum {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 21)
      }
      if let v = _storage._optionalForeignEnum {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 22)
      }
      if let v = _storage._optionalImportEnum {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 23)
      }
      if let v = _storage._optionalStringPiece {
        try visitor.visitSingularStringField(value: v, fieldNumber: 24)
      }
      if let v = _storage._optionalCord {
        try visitor.visitSingularStringField(value: v, fieldNumber: 25)
      }
      if let v = _storage._optionalPublicImportMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 26)
      }
      if let v = _storage._optionalLazyMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 27)
      }
      if !_storage._repeatedInt32.isEmpty {
        try visitor.visitRepeatedInt32Field(value: _storage._repeatedInt32, fieldNumber: 31)
      }
      if !_storage._repeatedInt64.isEmpty {
        try visitor.visitRepeatedInt64Field(value: _storage._repeatedInt64, fieldNumber: 32)
      }
      if !_storage._repeatedUint32.isEmpty {
        try visitor.visitRepeatedUInt32Field(value: _storage._repeatedUint32, fieldNumber: 33)
      }
      if !_storage._repeatedUint64.isEmpty {
        try visitor.visitRepeatedUInt64Field(value: _storage._repeatedUint64, fieldNumber: 34)
      }
      if !_storage._repeatedSint32.isEmpty {
        try visitor.visitRepeatedSInt32Field(value: _storage._repeatedSint32, fieldNumber: 35)
      }
      if !_storage._repeatedSint64.isEmpty {
        try visitor.visitRepeatedSInt64Field(value: _storage._repeatedSint64, fieldNumber: 36)
      }
      if !_storage._repeatedFixed32.isEmpty {
        try visitor.visitRepeatedFixed32Field(value: _storage._repeatedFixed32, fieldNumber: 37)
      }
      if !_storage._repeatedFixed64.isEmpty {
        try visitor.visitRepeatedFixed64Field(value: _storage._repeatedFixed64, fieldNumber: 38)
      }
      if !_storage._repeatedSfixed32.isEmpty {
        try visitor.visitRepeatedSFixed32Field(value: _storage._repeatedSfixed32, fieldNumber: 39)
      }
      if !_storage._repeatedSfixed64.isEmpty {
        try visitor.visitRepeatedSFixed64Field(value: _storage._repeatedSfixed64, fieldNumber: 40)
      }
      if !_storage._repeatedFloat.isEmpty {
        try visitor.visitRepeatedFloatField(value: _storage._repeatedFloat, fieldNumber: 41)
      }
      if !_storage._repeatedDouble.isEmpty {
        try visitor.visitRepeatedDoubleField(value: _storage._repeatedDouble, fieldNumber: 42)
      }
      if !_storage._repeatedBool.isEmpty {
        try visitor.visitRepeatedBoolField(value: _storage._repeatedBool, fieldNumber: 43)
      }
      if !_storage._repeatedString.isEmpty {
        try visitor.visitRepeatedStringField(value: _storage._repeatedString, fieldNumber: 44)
      }
      if !_storage._repeatedBytes.isEmpty {
        try visitor.visitRepeatedBytesField(value: _storage._repeatedBytes, fieldNumber: 45)
      }
      if !_storage._repeatedGroup.isEmpty {
        try visitor.visitRepeatedGroupField(value: _storage._repeatedGroup, fieldNumber: 46)
      }
      if !_storage._repeatedNestedMessage.isEmpty {
        try visitor.visitRepeatedMessageField(value: _storage._repeatedNestedMessage, fieldNumber: 48)
      }
      if !_storage._repeatedForeignMessage.isEmpty {
        try visitor.visitRepeatedMessageField(value: _storage._repeatedForeignMessage, fieldNumber: 49)
      }
      if !_storage._repeatedImportMessage.isEmpty {
        try visitor.visitRepeatedMessageField(value: _storage._repeatedImportMessage, fieldNumber: 50)
      }
      if !_storage._repeatedNestedEnum.isEmpty {
        try visitor.visitRepeatedEnumField(value: _storage._repeatedNestedEnum, fieldNumber: 51)
      }
      if !_storage._repeatedForeignEnum.isEmpty {
        try visitor.visitRepeatedEnumField(value: _storage._repeatedForeignEnum, fieldNumber: 52)
      }
      if !_storage._repeatedImportEnum.isEmpty {
        try visitor.visitRepeatedEnumField(value: _storage._repeatedImportEnum, fieldNumber: 53)
      }
      if !_storage._repeatedStringPiece.isEmpty {
        try visitor.visitRepeatedStringField(value: _storage._repeatedStringPiece, fieldNumber: 54)
      }
      if !_storage._repeatedCord.isEmpty {
        try visitor.visitRepeatedStringField(value: _storage._repeatedCord, fieldNumber: 55)
      }
      if !_storage._repeatedLazyMessage.isEmpty {
        try visitor.visitRepeatedMessageField(value: _storage._repeatedLazyMessage, fieldNumber: 57)
      }
      if let v = _storage._defaultInt32 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 61)
      }
      if let v = _storage._defaultInt64 {
        try visitor.visitSingularInt64Field(value: v, fieldNumber: 62)
      }
      if let v = _storage._defaultUint32 {
        try visitor.visitSingularUInt32Field(value: v, fieldNumber: 63)
      }
      if let v = _storage._defaultUint64 {
        try visitor.visitSingularUInt64Field(value: v, fieldNumber: 64)
      }
      if let v = _storage._defaultSint32 {
        try visitor.visitSingularSInt32Field(value: v, fieldNumber: 65)
      }
      if let v = _storage._defaultSint64 {
        try visitor.visitSingularSInt64Field(value: v, fieldNumber: 66)
      }
      if let v = _storage._defaultFixed32 {
        try visitor.visitSingularFixed32Field(value: v, fieldNumber: 67)
      }
      if let v = _storage._defaultFixed64 {
        try visitor.visitSingularFixed64Field(value: v, fieldNumber: 68)
      }
      if let v = _storage._defaultSfixed32 {
        try visitor.visitSingularSFixed32Field(value: v, fieldNumber: 69)
      }
      if let v = _storage._defaultSfixed64 {
        try visitor.visitSingularSFixed64Field(value: v, fieldNumber: 70)
      }
      if let v = _storage._defaultFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 71)
      }
      if let v = _storage._defaultDouble {
        try visitor.visitSingularDoubleField(value: v, fieldNumber: 72)
      }
      if let v = _storage._defaultBool {
        try visitor.visitSingularBoolField(value: v, fieldNumber: 73)
      }
      if let v = _storage._defaultString {
        try visitor.visitSingularStringField(value: v, fieldNumber: 74)
      }
      if let v = _storage._defaultBytes {
        try visitor.visitSingularBytesField(value: v, fieldNumber: 75)
      }
      if let v = _storage._defaultNestedEnum {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 81)
      }
      if let v = _storage._defaultForeignEnum {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 82)
      }
      if let v = _storage._defaultImportEnum {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 83)
      }
      if let v = _storage._defaultStringPiece {
        try visitor.visitSingularStringField(value: v, fieldNumber: 84)
      }
      if let v = _storage._defaultCord {
        try visitor.visitSingularStringField(value: v, fieldNumber: 85)
      }
      switch _storage._oneofField {
      case .oneofUint32(let v)?:
        try visitor.visitSingularUInt32Field(value: v, fieldNumber: 111)
      case .oneofNestedMessage(let v)?:
        try visitor.visitSingularMessageField(value: v, fieldNumber: 112)
      case .oneofString(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 113)
      case .oneofBytes(let v)?:
        try visitor.visitSingularBytesField(value: v, fieldNumber: 114)
      case nil: break
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestAllTypes, rhs: ProtobufUnittest_TestAllTypes) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._optionalInt32 != rhs_storage._optionalInt32 {return false}
        if _storage._optionalInt64 != rhs_storage._optionalInt64 {return false}
        if _storage._optionalUint32 != rhs_storage._optionalUint32 {return false}
        if _storage._optionalUint64 != rhs_storage._optionalUint64 {return false}
        if _storage._optionalSint32 != rhs_storage._optionalSint32 {return false}
        if _storage._optionalSint64 != rhs_storage._optionalSint64 {return false}
        if _storage._optionalFixed32 != rhs_storage._optionalFixed32 {return false}
        if _storage._optionalFixed64 != rhs_storage._optionalFixed64 {return false}
        if _storage._optionalSfixed32 != rhs_storage._optionalSfixed32 {return false}
        if _storage._optionalSfixed64 != rhs_storage._optionalSfixed64 {return false}
        if _storage._optionalFloat != rhs_storage._optionalFloat {return false}
        if _storage._optionalDouble != rhs_storage._optionalDouble {return false}
        if _storage._optionalBool != rhs_storage._optionalBool {return false}
        if _storage._optionalString != rhs_storage._optionalString {return false}
        if _storage._optionalBytes != rhs_storage._optionalBytes {return false}
        if _storage._optionalGroup != rhs_storage._optionalGroup {return false}
        if _storage._optionalNestedMessage != rhs_storage._optionalNestedMessage {return false}
        if _storage._optionalForeignMessage != rhs_storage._optionalForeignMessage {return false}
        if _storage._optionalImportMessage != rhs_storage._optionalImportMessage {return false}
        if _storage._optionalNestedEnum != rhs_storage._optionalNestedEnum {return false}
        if _storage._optionalForeignEnum != rhs_storage._optionalForeignEnum {return false}
        if _storage._optionalImportEnum != rhs_storage._optionalImportEnum {return false}
        if _storage._optionalStringPiece != rhs_storage._optionalStringPiece {return false}
        if _storage._optionalCord != rhs_storage._optionalCord {return false}
        if _storage._optionalPublicImportMessage != rhs_storage._optionalPublicImportMessage {return false}
        if _storage._optionalLazyMessage != rhs_storage._optionalLazyMessage {return false}
        if _storage._repeatedInt32 != rhs_storage._repeatedInt32 {return false}
        if _storage._repeatedInt64 != rhs_storage._repeatedInt64 {return false}
        if _storage._repeatedUint32 != rhs_storage._repeatedUint32 {return false}
        if _storage._repeatedUint64 != rhs_storage._repeatedUint64 {return false}
        if _storage._repeatedSint32 != rhs_storage._repeatedSint32 {return false}
        if _storage._repeatedSint64 != rhs_storage._repeatedSint64 {return false}
        if _storage._repeatedFixed32 != rhs_storage._repeatedFixed32 {return false}
        if _storage._repeatedFixed64 != rhs_storage._repeatedFixed64 {return false}
        if _storage._repeatedSfixed32 != rhs_storage._repeatedSfixed32 {return false}
        if _storage._repeatedSfixed64 != rhs_storage._repeatedSfixed64 {return false}
        if _storage._repeatedFloat != rhs_storage._repeatedFloat {return false}
        if _storage._repeatedDouble != rhs_storage._repeatedDouble {return false}
        if _storage._repeatedBool != rhs_storage._repeatedBool {return false}
        if _storage._repeatedString != rhs_storage._repeatedString {return false}
        if _storage._repeatedBytes != rhs_storage._repeatedBytes {return false}
        if _storage._repeatedGroup != rhs_storage._repeatedGroup {return false}
        if _storage._repeatedNestedMessage != rhs_storage._repeatedNestedMessage {return false}
        if _storage._repeatedForeignMessage != rhs_storage._repeatedForeignMessage {return false}
        if _storage._repeatedImportMessage != rhs_storage._repeatedImportMessage {return false}
        if _storage._repeatedNestedEnum != rhs_storage._repeatedNestedEnum {return false}
        if _storage._repeatedForeignEnum != rhs_storage._repeatedForeignEnum {return false}
        if _storage._repeatedImportEnum != rhs_storage._repeatedImportEnum {return false}
        if _storage._repeatedStringPiece != rhs_storage._repeatedStringPiece {return false}
        if _storage._repeatedCord != rhs_storage._repeatedCord {return false}
        if _storage._repeatedLazyMessage != rhs_storage._repeatedLazyMessage {return false}
        if _storage._defaultInt32 != rhs_storage._defaultInt32 {return false}
        if _storage._defaultInt64 != rhs_storage._defaultInt64 {return false}
        if _storage._defaultUint32 != rhs_storage._defaultUint32 {return false}
        if _storage._defaultUint64 != rhs_storage._defaultUint64 {return false}
        if _storage._defaultSint32 != rhs_storage._defaultSint32 {return false}
        if _storage._defaultSint64 != rhs_storage._defaultSint64 {return false}
        if _storage._defaultFixed32 != rhs_storage._defaultFixed32 {return false}
        if _storage._defaultFixed64 != rhs_storage._defaultFixed64 {return false}
        if _storage._defaultSfixed32 != rhs_storage._defaultSfixed32 {return false}
        if _storage._defaultSfixed64 != rhs_storage._defaultSfixed64 {return false}
        if _storage._defaultFloat != rhs_storage._defaultFloat {return false}
        if _storage._defaultDouble != rhs_storage._defaultDouble {return false}
        if _storage._defaultBool != rhs_storage._defaultBool {return false}
        if _storage._defaultString != rhs_storage._defaultString {return false}
        if _storage._defaultBytes != rhs_storage._defaultBytes {return false}
        if _storage._defaultNestedEnum != rhs_storage._defaultNestedEnum {return false}
        if _storage._defaultForeignEnum != rhs_storage._defaultForeignEnum {return false}
        if _storage._defaultImportEnum != rhs_storage._defaultImportEnum {return false}
        if _storage._defaultStringPiece != rhs_storage._defaultStringPiece {return false}
        if _storage._defaultCord != rhs_storage._defaultCord {return false}
        if _storage._oneofField != rhs_storage._oneofField {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestAllTypes.NestedEnum: SwiftProtobuf._ProtoNameProviding {
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    -1: .same(proto: "NEG"),
    1: .same(proto: "FOO"),
    2: .same(proto: "BAR"),
    3: .same(proto: "BAZ"),
  ]
}

extension ProtobufUnittest_TestAllTypes.NestedMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestAllTypes.protoMessageName + ".NestedMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "bb"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._bb)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._bb {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestAllTypes.NestedMessage, rhs: ProtobufUnittest_TestAllTypes.NestedMessage) -> Bool {
    if lhs._bb != rhs._bb {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestAllTypes.OptionalGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestAllTypes.protoMessageName + ".OptionalGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    17: .same(proto: "a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 17: try decoder.decodeSingularInt32Field(value: &self._a)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 17)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestAllTypes.OptionalGroup, rhs: ProtobufUnittest_TestAllTypes.OptionalGroup) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestAllTypes.RepeatedGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestAllTypes.protoMessageName + ".RepeatedGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    47: .same(proto: "a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 47: try decoder.decodeSingularInt32Field(value: &self._a)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 47)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestAllTypes.RepeatedGroup, rhs: ProtobufUnittest_TestAllTypes.RepeatedGroup) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_NestedTestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".NestedTestAllTypes"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "child"),
    2: .same(proto: "payload"),
    3: .standard(proto: "repeated_child"),
  ]

  fileprivate class _StorageClass {
    var _child: ProtobufUnittest_NestedTestAllTypes? = nil
    var _payload: ProtobufUnittest_TestAllTypes? = nil
    var _repeatedChild: [ProtobufUnittest_NestedTestAllTypes] = []

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _child = source._child
      _payload = source._payload
      _repeatedChild = source._repeatedChild
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._child)
        case 2: try decoder.decodeSingularMessageField(value: &_storage._payload)
        case 3: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedChild)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._child {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
      if let v = _storage._payload {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 2)
      }
      if !_storage._repeatedChild.isEmpty {
        try visitor.visitRepeatedMessageField(value: _storage._repeatedChild, fieldNumber: 3)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_NestedTestAllTypes, rhs: ProtobufUnittest_NestedTestAllTypes) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._child != rhs_storage._child {return false}
        if _storage._payload != rhs_storage._payload {return false}
        if _storage._repeatedChild != rhs_storage._repeatedChild {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestDeprecatedFields: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestDeprecatedFields"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "deprecated_int32"),
    2: .standard(proto: "deprecated_int32_in_oneof"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._deprecatedInt32)
      case 2:
        if self.oneofFields != nil {try decoder.handleConflictingOneOf()}
        var v: Int32?
        try decoder.decodeSingularInt32Field(value: &v)
        if let v = v {self.oneofFields = .deprecatedInt32InOneof(v)}
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._deprecatedInt32 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    if case .deprecatedInt32InOneof(let v)? = self.oneofFields {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 2)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestDeprecatedFields, rhs: ProtobufUnittest_TestDeprecatedFields) -> Bool {
    if lhs._deprecatedInt32 != rhs._deprecatedInt32 {return false}
    if lhs.oneofFields != rhs.oneofFields {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestDeprecatedMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestDeprecatedMessage"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestDeprecatedMessage, rhs: ProtobufUnittest_TestDeprecatedMessage) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_ForeignMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".ForeignMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "c"),
    2: .same(proto: "d"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._c)
      case 2: try decoder.decodeSingularInt32Field(value: &self._d)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._c {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    if let v = self._d {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 2)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_ForeignMessage, rhs: ProtobufUnittest_ForeignMessage) -> Bool {
    if lhs._c != rhs._c {return false}
    if lhs._d != rhs._d {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestReservedFields: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestReservedFields"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestReservedFields, rhs: ProtobufUnittest_TestReservedFields) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestAllExtensions: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestAllExtensions"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      if (1 <= fieldNumber && fieldNumber < 536870912) {
        try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestAllExtensions.self, fieldNumber: fieldNumber)
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 1, end: 536870912)
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestAllExtensions, rhs: ProtobufUnittest_TestAllExtensions) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}

extension ProtobufUnittest_OptionalGroup_extension: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".OptionalGroup_extension"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    17: .same(proto: "a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 17: try decoder.decodeSingularInt32Field(value: &self._a)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 17)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_OptionalGroup_extension, rhs: ProtobufUnittest_OptionalGroup_extension) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_RepeatedGroup_extension: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".RepeatedGroup_extension"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    47: .same(proto: "a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 47: try decoder.decodeSingularInt32Field(value: &self._a)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 47)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_RepeatedGroup_extension, rhs: ProtobufUnittest_RepeatedGroup_extension) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    16: .unique(proto: "OptionalGroup", json: "optionalgroup"),
    22: .standard(proto: "optional_foreign_enum"),
  ]

  fileprivate class _StorageClass {
    var _optionalGroup: ProtobufUnittest_TestGroup.OptionalGroup? = nil
    var _optionalForeignEnum: ProtobufUnittest_ForeignEnum? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _optionalGroup = source._optionalGroup
      _optionalForeignEnum = source._optionalForeignEnum
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 16: try decoder.decodeSingularGroupField(value: &_storage._optionalGroup)
        case 22: try decoder.decodeSingularEnumField(value: &_storage._optionalForeignEnum)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._optionalGroup {
        try visitor.visitSingularGroupField(value: v, fieldNumber: 16)
      }
      if let v = _storage._optionalForeignEnum {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 22)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestGroup, rhs: ProtobufUnittest_TestGroup) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._optionalGroup != rhs_storage._optionalGroup {return false}
        if _storage._optionalForeignEnum != rhs_storage._optionalForeignEnum {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestGroup.OptionalGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestGroup.protoMessageName + ".OptionalGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    17: .same(proto: "a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 17: try decoder.decodeSingularInt32Field(value: &self._a)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 17)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestGroup.OptionalGroup, rhs: ProtobufUnittest_TestGroup.OptionalGroup) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestGroupExtension: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestGroupExtension"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      if (1 <= fieldNumber && fieldNumber < 536870912) {
        try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestGroupExtension.self, fieldNumber: fieldNumber)
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 1, end: 536870912)
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestGroupExtension, rhs: ProtobufUnittest_TestGroupExtension) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}

extension ProtobufUnittest_TestNestedExtension: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestNestedExtension"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestNestedExtension, rhs: ProtobufUnittest_TestNestedExtension) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestNestedExtension.OptionalGroup_extension: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestNestedExtension.protoMessageName + ".OptionalGroup_extension"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    17: .same(proto: "a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 17: try decoder.decodeSingularInt32Field(value: &self._a)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 17)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestNestedExtension.OptionalGroup_extension, rhs: ProtobufUnittest_TestNestedExtension.OptionalGroup_extension) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestRequired: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestRequired"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "a"),
    2: .same(proto: "dummy2"),
    3: .same(proto: "b"),
    4: .same(proto: "dummy4"),
    5: .same(proto: "dummy5"),
    6: .same(proto: "dummy6"),
    7: .same(proto: "dummy7"),
    8: .same(proto: "dummy8"),
    9: .same(proto: "dummy9"),
    10: .same(proto: "dummy10"),
    11: .same(proto: "dummy11"),
    12: .same(proto: "dummy12"),
    13: .same(proto: "dummy13"),
    14: .same(proto: "dummy14"),
    15: .same(proto: "dummy15"),
    16: .same(proto: "dummy16"),
    17: .same(proto: "dummy17"),
    18: .same(proto: "dummy18"),
    19: .same(proto: "dummy19"),
    20: .same(proto: "dummy20"),
    21: .same(proto: "dummy21"),
    22: .same(proto: "dummy22"),
    23: .same(proto: "dummy23"),
    24: .same(proto: "dummy24"),
    25: .same(proto: "dummy25"),
    26: .same(proto: "dummy26"),
    27: .same(proto: "dummy27"),
    28: .same(proto: "dummy28"),
    29: .same(proto: "dummy29"),
    30: .same(proto: "dummy30"),
    31: .same(proto: "dummy31"),
    32: .same(proto: "dummy32"),
    33: .same(proto: "c"),
  ]

  fileprivate class _StorageClass {
    var _a: Int32? = nil
    var _dummy2: Int32? = nil
    var _b: Int32? = nil
    var _dummy4: Int32? = nil
    var _dummy5: Int32? = nil
    var _dummy6: Int32? = nil
    var _dummy7: Int32? = nil
    var _dummy8: Int32? = nil
    var _dummy9: Int32? = nil
    var _dummy10: Int32? = nil
    var _dummy11: Int32? = nil
    var _dummy12: Int32? = nil
    var _dummy13: Int32? = nil
    var _dummy14: Int32? = nil
    var _dummy15: Int32? = nil
    var _dummy16: Int32? = nil
    var _dummy17: Int32? = nil
    var _dummy18: Int32? = nil
    var _dummy19: Int32? = nil
    var _dummy20: Int32? = nil
    var _dummy21: Int32? = nil
    var _dummy22: Int32? = nil
    var _dummy23: Int32? = nil
    var _dummy24: Int32? = nil
    var _dummy25: Int32? = nil
    var _dummy26: Int32? = nil
    var _dummy27: Int32? = nil
    var _dummy28: Int32? = nil
    var _dummy29: Int32? = nil
    var _dummy30: Int32? = nil
    var _dummy31: Int32? = nil
    var _dummy32: Int32? = nil
    var _c: Int32? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _a = source._a
      _dummy2 = source._dummy2
      _b = source._b
      _dummy4 = source._dummy4
      _dummy5 = source._dummy5
      _dummy6 = source._dummy6
      _dummy7 = source._dummy7
      _dummy8 = source._dummy8
      _dummy9 = source._dummy9
      _dummy10 = source._dummy10
      _dummy11 = source._dummy11
      _dummy12 = source._dummy12
      _dummy13 = source._dummy13
      _dummy14 = source._dummy14
      _dummy15 = source._dummy15
      _dummy16 = source._dummy16
      _dummy17 = source._dummy17
      _dummy18 = source._dummy18
      _dummy19 = source._dummy19
      _dummy20 = source._dummy20
      _dummy21 = source._dummy21
      _dummy22 = source._dummy22
      _dummy23 = source._dummy23
      _dummy24 = source._dummy24
      _dummy25 = source._dummy25
      _dummy26 = source._dummy26
      _dummy27 = source._dummy27
      _dummy28 = source._dummy28
      _dummy29 = source._dummy29
      _dummy30 = source._dummy30
      _dummy31 = source._dummy31
      _dummy32 = source._dummy32
      _c = source._c
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  public var isInitialized: Bool {
    return withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if _storage._a == nil {return false}
      if _storage._b == nil {return false}
      if _storage._c == nil {return false}
      return true
    }
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularInt32Field(value: &_storage._a)
        case 2: try decoder.decodeSingularInt32Field(value: &_storage._dummy2)
        case 3: try decoder.decodeSingularInt32Field(value: &_storage._b)
        case 4: try decoder.decodeSingularInt32Field(value: &_storage._dummy4)
        case 5: try decoder.decodeSingularInt32Field(value: &_storage._dummy5)
        case 6: try decoder.decodeSingularInt32Field(value: &_storage._dummy6)
        case 7: try decoder.decodeSingularInt32Field(value: &_storage._dummy7)
        case 8: try decoder.decodeSingularInt32Field(value: &_storage._dummy8)
        case 9: try decoder.decodeSingularInt32Field(value: &_storage._dummy9)
        case 10: try decoder.decodeSingularInt32Field(value: &_storage._dummy10)
        case 11: try decoder.decodeSingularInt32Field(value: &_storage._dummy11)
        case 12: try decoder.decodeSingularInt32Field(value: &_storage._dummy12)
        case 13: try decoder.decodeSingularInt32Field(value: &_storage._dummy13)
        case 14: try decoder.decodeSingularInt32Field(value: &_storage._dummy14)
        case 15: try decoder.decodeSingularInt32Field(value: &_storage._dummy15)
        case 16: try decoder.decodeSingularInt32Field(value: &_storage._dummy16)
        case 17: try decoder.decodeSingularInt32Field(value: &_storage._dummy17)
        case 18: try decoder.decodeSingularInt32Field(value: &_storage._dummy18)
        case 19: try decoder.decodeSingularInt32Field(value: &_storage._dummy19)
        case 20: try decoder.decodeSingularInt32Field(value: &_storage._dummy20)
        case 21: try decoder.decodeSingularInt32Field(value: &_storage._dummy21)
        case 22: try decoder.decodeSingularInt32Field(value: &_storage._dummy22)
        case 23: try decoder.decodeSingularInt32Field(value: &_storage._dummy23)
        case 24: try decoder.decodeSingularInt32Field(value: &_storage._dummy24)
        case 25: try decoder.decodeSingularInt32Field(value: &_storage._dummy25)
        case 26: try decoder.decodeSingularInt32Field(value: &_storage._dummy26)
        case 27: try decoder.decodeSingularInt32Field(value: &_storage._dummy27)
        case 28: try decoder.decodeSingularInt32Field(value: &_storage._dummy28)
        case 29: try decoder.decodeSingularInt32Field(value: &_storage._dummy29)
        case 30: try decoder.decodeSingularInt32Field(value: &_storage._dummy30)
        case 31: try decoder.decodeSingularInt32Field(value: &_storage._dummy31)
        case 32: try decoder.decodeSingularInt32Field(value: &_storage._dummy32)
        case 33: try decoder.decodeSingularInt32Field(value: &_storage._c)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._a {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
      }
      if let v = _storage._dummy2 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 2)
      }
      if let v = _storage._b {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 3)
      }
      if let v = _storage._dummy4 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 4)
      }
      if let v = _storage._dummy5 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 5)
      }
      if let v = _storage._dummy6 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 6)
      }
      if let v = _storage._dummy7 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 7)
      }
      if let v = _storage._dummy8 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 8)
      }
      if let v = _storage._dummy9 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 9)
      }
      if let v = _storage._dummy10 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 10)
      }
      if let v = _storage._dummy11 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 11)
      }
      if let v = _storage._dummy12 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 12)
      }
      if let v = _storage._dummy13 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 13)
      }
      if let v = _storage._dummy14 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 14)
      }
      if let v = _storage._dummy15 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 15)
      }
      if let v = _storage._dummy16 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 16)
      }
      if let v = _storage._dummy17 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 17)
      }
      if let v = _storage._dummy18 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 18)
      }
      if let v = _storage._dummy19 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 19)
      }
      if let v = _storage._dummy20 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 20)
      }
      if let v = _storage._dummy21 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 21)
      }
      if let v = _storage._dummy22 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 22)
      }
      if let v = _storage._dummy23 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 23)
      }
      if let v = _storage._dummy24 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 24)
      }
      if let v = _storage._dummy25 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 25)
      }
      if let v = _storage._dummy26 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 26)
      }
      if let v = _storage._dummy27 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 27)
      }
      if let v = _storage._dummy28 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 28)
      }
      if let v = _storage._dummy29 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 29)
      }
      if let v = _storage._dummy30 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 30)
      }
      if let v = _storage._dummy31 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 31)
      }
      if let v = _storage._dummy32 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 32)
      }
      if let v = _storage._c {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 33)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestRequired, rhs: ProtobufUnittest_TestRequired) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._a != rhs_storage._a {return false}
        if _storage._dummy2 != rhs_storage._dummy2 {return false}
        if _storage._b != rhs_storage._b {return false}
        if _storage._dummy4 != rhs_storage._dummy4 {return false}
        if _storage._dummy5 != rhs_storage._dummy5 {return false}
        if _storage._dummy6 != rhs_storage._dummy6 {return false}
        if _storage._dummy7 != rhs_storage._dummy7 {return false}
        if _storage._dummy8 != rhs_storage._dummy8 {return false}
        if _storage._dummy9 != rhs_storage._dummy9 {return false}
        if _storage._dummy10 != rhs_storage._dummy10 {return false}
        if _storage._dummy11 != rhs_storage._dummy11 {return false}
        if _storage._dummy12 != rhs_storage._dummy12 {return false}
        if _storage._dummy13 != rhs_storage._dummy13 {return false}
        if _storage._dummy14 != rhs_storage._dummy14 {return false}
        if _storage._dummy15 != rhs_storage._dummy15 {return false}
        if _storage._dummy16 != rhs_storage._dummy16 {return false}
        if _storage._dummy17 != rhs_storage._dummy17 {return false}
        if _storage._dummy18 != rhs_storage._dummy18 {return false}
        if _storage._dummy19 != rhs_storage._dummy19 {return false}
        if _storage._dummy20 != rhs_storage._dummy20 {return false}
        if _storage._dummy21 != rhs_storage._dummy21 {return false}
        if _storage._dummy22 != rhs_storage._dummy22 {return false}
        if _storage._dummy23 != rhs_storage._dummy23 {return false}
        if _storage._dummy24 != rhs_storage._dummy24 {return false}
        if _storage._dummy25 != rhs_storage._dummy25 {return false}
        if _storage._dummy26 != rhs_storage._dummy26 {return false}
        if _storage._dummy27 != rhs_storage._dummy27 {return false}
        if _storage._dummy28 != rhs_storage._dummy28 {return false}
        if _storage._dummy29 != rhs_storage._dummy29 {return false}
        if _storage._dummy30 != rhs_storage._dummy30 {return false}
        if _storage._dummy31 != rhs_storage._dummy31 {return false}
        if _storage._dummy32 != rhs_storage._dummy32 {return false}
        if _storage._c != rhs_storage._c {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestRequiredForeign: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestRequiredForeign"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "optional_message"),
    2: .standard(proto: "repeated_message"),
    3: .same(proto: "dummy"),
  ]

  fileprivate class _StorageClass {
    var _optionalMessage: ProtobufUnittest_TestRequired? = nil
    var _repeatedMessage: [ProtobufUnittest_TestRequired] = []
    var _dummy: Int32? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _optionalMessage = source._optionalMessage
      _repeatedMessage = source._repeatedMessage
      _dummy = source._dummy
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  public var isInitialized: Bool {
    return withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._optionalMessage, !v.isInitialized {return false}
      if !SwiftProtobuf.Internal.areAllInitialized(_storage._repeatedMessage) {return false}
      return true
    }
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._optionalMessage)
        case 2: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedMessage)
        case 3: try decoder.decodeSingularInt32Field(value: &_storage._dummy)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._optionalMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
      if !_storage._repeatedMessage.isEmpty {
        try visitor.visitRepeatedMessageField(value: _storage._repeatedMessage, fieldNumber: 2)
      }
      if let v = _storage._dummy {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 3)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestRequiredForeign, rhs: ProtobufUnittest_TestRequiredForeign) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._optionalMessage != rhs_storage._optionalMessage {return false}
        if _storage._repeatedMessage != rhs_storage._repeatedMessage {return false}
        if _storage._dummy != rhs_storage._dummy {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestRequiredMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestRequiredMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "optional_message"),
    2: .standard(proto: "repeated_message"),
    3: .standard(proto: "required_message"),
  ]

  fileprivate class _StorageClass {
    var _optionalMessage: ProtobufUnittest_TestRequired? = nil
    var _repeatedMessage: [ProtobufUnittest_TestRequired] = []
    var _requiredMessage: ProtobufUnittest_TestRequired? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _optionalMessage = source._optionalMessage
      _repeatedMessage = source._repeatedMessage
      _requiredMessage = source._requiredMessage
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  public var isInitialized: Bool {
    return withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if _storage._requiredMessage == nil {return false}
      if let v = _storage._optionalMessage, !v.isInitialized {return false}
      if !SwiftProtobuf.Internal.areAllInitialized(_storage._repeatedMessage) {return false}
      if let v = _storage._requiredMessage, !v.isInitialized {return false}
      return true
    }
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._optionalMessage)
        case 2: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedMessage)
        case 3: try decoder.decodeSingularMessageField(value: &_storage._requiredMessage)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._optionalMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
      if !_storage._repeatedMessage.isEmpty {
        try visitor.visitRepeatedMessageField(value: _storage._repeatedMessage, fieldNumber: 2)
      }
      if let v = _storage._requiredMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestRequiredMessage, rhs: ProtobufUnittest_TestRequiredMessage) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._optionalMessage != rhs_storage._optionalMessage {return false}
        if _storage._repeatedMessage != rhs_storage._repeatedMessage {return false}
        if _storage._requiredMessage != rhs_storage._requiredMessage {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestForeignNested: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestForeignNested"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "foreign_nested"),
  ]

  fileprivate class _StorageClass {
    var _foreignNested: ProtobufUnittest_TestAllTypes.NestedMessage? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _foreignNested = source._foreignNested
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._foreignNested)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._foreignNested {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestForeignNested, rhs: ProtobufUnittest_TestForeignNested) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._foreignNested != rhs_storage._foreignNested {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestEmptyMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestEmptyMessage"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestEmptyMessage, rhs: ProtobufUnittest_TestEmptyMessage) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestEmptyMessageWithExtensions: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestEmptyMessageWithExtensions"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      if (1 <= fieldNumber && fieldNumber < 536870912) {
        try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestEmptyMessageWithExtensions.self, fieldNumber: fieldNumber)
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 1, end: 536870912)
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestEmptyMessageWithExtensions, rhs: ProtobufUnittest_TestEmptyMessageWithExtensions) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}

extension ProtobufUnittest_TestMultipleExtensionRanges: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestMultipleExtensionRanges"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      if (42 <= fieldNumber && fieldNumber < 43) || (4143 <= fieldNumber && fieldNumber < 4244) || (65536 <= fieldNumber && fieldNumber < 536870912) {
        try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestMultipleExtensionRanges.self, fieldNumber: fieldNumber)
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 42, end: 43)
    try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 4143, end: 4244)
    try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 65536, end: 536870912)
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestMultipleExtensionRanges, rhs: ProtobufUnittest_TestMultipleExtensionRanges) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}

extension ProtobufUnittest_TestReallyLargeTagNumber: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestReallyLargeTagNumber"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "a"),
    268435455: .same(proto: "bb"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._a)
      case 268435455: try decoder.decodeSingularInt32Field(value: &self._bb)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    if let v = self._bb {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 268435455)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestReallyLargeTagNumber, rhs: ProtobufUnittest_TestReallyLargeTagNumber) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs._bb != rhs._bb {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestRecursiveMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestRecursiveMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "a"),
    2: .same(proto: "i"),
  ]

  fileprivate class _StorageClass {
    var _a: ProtobufUnittest_TestRecursiveMessage? = nil
    var _i: Int32? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _a = source._a
      _i = source._i
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._a)
        case 2: try decoder.decodeSingularInt32Field(value: &_storage._i)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._a {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
      if let v = _storage._i {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 2)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestRecursiveMessage, rhs: ProtobufUnittest_TestRecursiveMessage) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._a != rhs_storage._a {return false}
        if _storage._i != rhs_storage._i {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestMutualRecursionA: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestMutualRecursionA"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "bb"),
    2: .unique(proto: "SubGroup", json: "subgroup"),
  ]

  fileprivate class _StorageClass {
    var _bb: ProtobufUnittest_TestMutualRecursionB? = nil
    var _subGroup: ProtobufUnittest_TestMutualRecursionA.SubGroup? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _bb = source._bb
      _subGroup = source._subGroup
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._bb)
        case 2: try decoder.decodeSingularGroupField(value: &_storage._subGroup)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._bb {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
      if let v = _storage._subGroup {
        try visitor.visitSingularGroupField(value: v, fieldNumber: 2)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestMutualRecursionA, rhs: ProtobufUnittest_TestMutualRecursionA) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._bb != rhs_storage._bb {return false}
        if _storage._subGroup != rhs_storage._subGroup {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestMutualRecursionA.SubMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestMutualRecursionA.protoMessageName + ".SubMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "b"),
  ]

  fileprivate class _StorageClass {
    var _b: ProtobufUnittest_TestMutualRecursionB? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _b = source._b
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._b)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._b {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestMutualRecursionA.SubMessage, rhs: ProtobufUnittest_TestMutualRecursionA.SubMessage) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._b != rhs_storage._b {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestMutualRecursionA.SubGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestMutualRecursionA.protoMessageName + ".SubGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    3: .standard(proto: "sub_message"),
    4: .standard(proto: "not_in_this_scc"),
  ]

  fileprivate class _StorageClass {
    var _subMessage: ProtobufUnittest_TestMutualRecursionA.SubMessage? = nil
    var _notInThisScc: ProtobufUnittest_TestAllTypes? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _subMessage = source._subMessage
      _notInThisScc = source._notInThisScc
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 3: try decoder.decodeSingularMessageField(value: &_storage._subMessage)
        case 4: try decoder.decodeSingularMessageField(value: &_storage._notInThisScc)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._subMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
      }
      if let v = _storage._notInThisScc {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 4)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestMutualRecursionA.SubGroup, rhs: ProtobufUnittest_TestMutualRecursionA.SubGroup) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._subMessage != rhs_storage._subMessage {return false}
        if _storage._notInThisScc != rhs_storage._notInThisScc {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestMutualRecursionB: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestMutualRecursionB"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "a"),
    2: .standard(proto: "optional_int32"),
  ]

  fileprivate class _StorageClass {
    var _a: ProtobufUnittest_TestMutualRecursionA? = nil
    var _optionalInt32: Int32? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _a = source._a
      _optionalInt32 = source._optionalInt32
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._a)
        case 2: try decoder.decodeSingularInt32Field(value: &_storage._optionalInt32)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._a {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
      if let v = _storage._optionalInt32 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 2)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestMutualRecursionB, rhs: ProtobufUnittest_TestMutualRecursionB) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._a != rhs_storage._a {return false}
        if _storage._optionalInt32 != rhs_storage._optionalInt32 {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestIsInitialized: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestIsInitialized"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "sub_message"),
  ]

  fileprivate class _StorageClass {
    var _subMessage: ProtobufUnittest_TestIsInitialized.SubMessage? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _subMessage = source._subMessage
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  public var isInitialized: Bool {
    return withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._subMessage, !v.isInitialized {return false}
      return true
    }
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._subMessage)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._subMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestIsInitialized, rhs: ProtobufUnittest_TestIsInitialized) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._subMessage != rhs_storage._subMessage {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestIsInitialized.SubMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestIsInitialized.protoMessageName + ".SubMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .unique(proto: "SubGroup", json: "subgroup"),
  ]

  fileprivate class _StorageClass {
    var _subGroup: ProtobufUnittest_TestIsInitialized.SubMessage.SubGroup? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _subGroup = source._subGroup
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  public var isInitialized: Bool {
    return withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._subGroup, !v.isInitialized {return false}
      return true
    }
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularGroupField(value: &_storage._subGroup)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._subGroup {
        try visitor.visitSingularGroupField(value: v, fieldNumber: 1)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestIsInitialized.SubMessage, rhs: ProtobufUnittest_TestIsInitialized.SubMessage) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._subGroup != rhs_storage._subGroup {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestIsInitialized.SubMessage.SubGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestIsInitialized.SubMessage.protoMessageName + ".SubGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    2: .same(proto: "i"),
  ]

  public var isInitialized: Bool {
    if self._i == nil {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 2: try decoder.decodeSingularInt32Field(value: &self._i)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._i {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 2)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestIsInitialized.SubMessage.SubGroup, rhs: ProtobufUnittest_TestIsInitialized.SubMessage.SubGroup) -> Bool {
    if lhs._i != rhs._i {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestDupFieldNumber: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestDupFieldNumber"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "a"),
    2: .unique(proto: "Foo", json: "foo"),
    3: .unique(proto: "Bar", json: "bar"),
  ]

  fileprivate class _StorageClass {
    var _a: Int32? = nil
    var _foo: ProtobufUnittest_TestDupFieldNumber.Foo? = nil
    var _bar: ProtobufUnittest_TestDupFieldNumber.Bar? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _a = source._a
      _foo = source._foo
      _bar = source._bar
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularInt32Field(value: &_storage._a)
        case 2: try decoder.decodeSingularGroupField(value: &_storage._foo)
        case 3: try decoder.decodeSingularGroupField(value: &_storage._bar)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._a {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
      }
      if let v = _storage._foo {
        try visitor.visitSingularGroupField(value: v, fieldNumber: 2)
      }
      if let v = _storage._bar {
        try visitor.visitSingularGroupField(value: v, fieldNumber: 3)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestDupFieldNumber, rhs: ProtobufUnittest_TestDupFieldNumber) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._a != rhs_storage._a {return false}
        if _storage._foo != rhs_storage._foo {return false}
        if _storage._bar != rhs_storage._bar {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestDupFieldNumber.Foo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestDupFieldNumber.protoMessageName + ".Foo"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._a)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestDupFieldNumber.Foo, rhs: ProtobufUnittest_TestDupFieldNumber.Foo) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestDupFieldNumber.Bar: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestDupFieldNumber.protoMessageName + ".Bar"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._a)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestDupFieldNumber.Bar, rhs: ProtobufUnittest_TestDupFieldNumber.Bar) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestEagerMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestEagerMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "sub_message"),
  ]

  fileprivate class _StorageClass {
    var _subMessage: ProtobufUnittest_TestAllTypes? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _subMessage = source._subMessage
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._subMessage)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._subMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestEagerMessage, rhs: ProtobufUnittest_TestEagerMessage) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._subMessage != rhs_storage._subMessage {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestLazyMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestLazyMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "sub_message"),
  ]

  fileprivate class _StorageClass {
    var _subMessage: ProtobufUnittest_TestAllTypes? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _subMessage = source._subMessage
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._subMessage)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._subMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestLazyMessage, rhs: ProtobufUnittest_TestLazyMessage) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._subMessage != rhs_storage._subMessage {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestNestedMessageHasBits: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestNestedMessageHasBits"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "optional_nested_message"),
  ]

  fileprivate class _StorageClass {
    var _optionalNestedMessage: ProtobufUnittest_TestNestedMessageHasBits.NestedMessage? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _optionalNestedMessage = source._optionalNestedMessage
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._optionalNestedMessage)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._optionalNestedMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestNestedMessageHasBits, rhs: ProtobufUnittest_TestNestedMessageHasBits) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._optionalNestedMessage != rhs_storage._optionalNestedMessage {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestNestedMessageHasBits.NestedMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestNestedMessageHasBits.protoMessageName + ".NestedMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "nestedmessage_repeated_int32"),
    2: .standard(proto: "nestedmessage_repeated_foreignmessage"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeRepeatedInt32Field(value: &self.nestedmessageRepeatedInt32)
      case 2: try decoder.decodeRepeatedMessageField(value: &self.nestedmessageRepeatedForeignmessage)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if !self.nestedmessageRepeatedInt32.isEmpty {
      try visitor.visitRepeatedInt32Field(value: self.nestedmessageRepeatedInt32, fieldNumber: 1)
    }
    if !self.nestedmessageRepeatedForeignmessage.isEmpty {
      try visitor.visitRepeatedMessageField(value: self.nestedmessageRepeatedForeignmessage, fieldNumber: 2)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestNestedMessageHasBits.NestedMessage, rhs: ProtobufUnittest_TestNestedMessageHasBits.NestedMessage) -> Bool {
    if lhs.nestedmessageRepeatedInt32 != rhs.nestedmessageRepeatedInt32 {return false}
    if lhs.nestedmessageRepeatedForeignmessage != rhs.nestedmessageRepeatedForeignmessage {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestCamelCaseFieldNames: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestCamelCaseFieldNames"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "PrimitiveField"),
    2: .same(proto: "StringField"),
    3: .same(proto: "EnumField"),
    4: .same(proto: "MessageField"),
    5: .same(proto: "StringPieceField"),
    6: .same(proto: "CordField"),
    7: .same(proto: "RepeatedPrimitiveField"),
    8: .same(proto: "RepeatedStringField"),
    9: .same(proto: "RepeatedEnumField"),
    10: .same(proto: "RepeatedMessageField"),
    11: .same(proto: "RepeatedStringPieceField"),
    12: .same(proto: "RepeatedCordField"),
  ]

  fileprivate class _StorageClass {
    var _primitiveField: Int32? = nil
    var _stringField: String? = nil
    var _enumField: ProtobufUnittest_ForeignEnum? = nil
    var _messageField: ProtobufUnittest_ForeignMessage? = nil
    var _stringPieceField: String? = nil
    var _cordField: String? = nil
    var _repeatedPrimitiveField: [Int32] = []
    var _repeatedStringField: [String] = []
    var _repeatedEnumField: [ProtobufUnittest_ForeignEnum] = []
    var _repeatedMessageField: [ProtobufUnittest_ForeignMessage] = []
    var _repeatedStringPieceField: [String] = []
    var _repeatedCordField: [String] = []

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _primitiveField = source._primitiveField
      _stringField = source._stringField
      _enumField = source._enumField
      _messageField = source._messageField
      _stringPieceField = source._stringPieceField
      _cordField = source._cordField
      _repeatedPrimitiveField = source._repeatedPrimitiveField
      _repeatedStringField = source._repeatedStringField
      _repeatedEnumField = source._repeatedEnumField
      _repeatedMessageField = source._repeatedMessageField
      _repeatedStringPieceField = source._repeatedStringPieceField
      _repeatedCordField = source._repeatedCordField
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularInt32Field(value: &_storage._primitiveField)
        case 2: try decoder.decodeSingularStringField(value: &_storage._stringField)
        case 3: try decoder.decodeSingularEnumField(value: &_storage._enumField)
        case 4: try decoder.decodeSingularMessageField(value: &_storage._messageField)
        case 5: try decoder.decodeSingularStringField(value: &_storage._stringPieceField)
        case 6: try decoder.decodeSingularStringField(value: &_storage._cordField)
        case 7: try decoder.decodeRepeatedInt32Field(value: &_storage._repeatedPrimitiveField)
        case 8: try decoder.decodeRepeatedStringField(value: &_storage._repeatedStringField)
        case 9: try decoder.decodeRepeatedEnumField(value: &_storage._repeatedEnumField)
        case 10: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedMessageField)
        case 11: try decoder.decodeRepeatedStringField(value: &_storage._repeatedStringPieceField)
        case 12: try decoder.decodeRepeatedStringField(value: &_storage._repeatedCordField)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._primitiveField {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
      }
      if let v = _storage._stringField {
        try visitor.visitSingularStringField(value: v, fieldNumber: 2)
      }
      if let v = _storage._enumField {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 3)
      }
      if let v = _storage._messageField {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 4)
      }
      if let v = _storage._stringPieceField {
        try visitor.visitSingularStringField(value: v, fieldNumber: 5)
      }
      if let v = _storage._cordField {
        try visitor.visitSingularStringField(value: v, fieldNumber: 6)
      }
      if !_storage._repeatedPrimitiveField.isEmpty {
        try visitor.visitRepeatedInt32Field(value: _storage._repeatedPrimitiveField, fieldNumber: 7)
      }
      if !_storage._repeatedStringField.isEmpty {
        try visitor.visitRepeatedStringField(value: _storage._repeatedStringField, fieldNumber: 8)
      }
      if !_storage._repeatedEnumField.isEmpty {
        try visitor.visitRepeatedEnumField(value: _storage._repeatedEnumField, fieldNumber: 9)
      }
      if !_storage._repeatedMessageField.isEmpty {
        try visitor.visitRepeatedMessageField(value: _storage._repeatedMessageField, fieldNumber: 10)
      }
      if !_storage._repeatedStringPieceField.isEmpty {
        try visitor.visitRepeatedStringField(value: _storage._repeatedStringPieceField, fieldNumber: 11)
      }
      if !_storage._repeatedCordField.isEmpty {
        try visitor.visitRepeatedStringField(value: _storage._repeatedCordField, fieldNumber: 12)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestCamelCaseFieldNames, rhs: ProtobufUnittest_TestCamelCaseFieldNames) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._primitiveField != rhs_storage._primitiveField {return false}
        if _storage._stringField != rhs_storage._stringField {return false}
        if _storage._enumField != rhs_storage._enumField {return false}
        if _storage._messageField != rhs_storage._messageField {return false}
        if _storage._stringPieceField != rhs_storage._stringPieceField {return false}
        if _storage._cordField != rhs_storage._cordField {return false}
        if _storage._repeatedPrimitiveField != rhs_storage._repeatedPrimitiveField {return false}
        if _storage._repeatedStringField != rhs_storage._repeatedStringField {return false}
        if _storage._repeatedEnumField != rhs_storage._repeatedEnumField {return false}
        if _storage._repeatedMessageField != rhs_storage._repeatedMessageField {return false}
        if _storage._repeatedStringPieceField != rhs_storage._repeatedStringPieceField {return false}
        if _storage._repeatedCordField != rhs_storage._repeatedCordField {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestFieldOrderings: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestFieldOrderings"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    11: .standard(proto: "my_string"),
    1: .standard(proto: "my_int"),
    101: .standard(proto: "my_float"),
    200: .standard(proto: "optional_nested_message"),
  ]

  fileprivate class _StorageClass {
    var _myString: String? = nil
    var _myInt: Int64? = nil
    var _myFloat: Float? = nil
    var _optionalNestedMessage: ProtobufUnittest_TestFieldOrderings.NestedMessage? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _myString = source._myString
      _myInt = source._myInt
      _myFloat = source._myFloat
      _optionalNestedMessage = source._optionalNestedMessage
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularInt64Field(value: &_storage._myInt)
        case 11: try decoder.decodeSingularStringField(value: &_storage._myString)
        case 101: try decoder.decodeSingularFloatField(value: &_storage._myFloat)
        case 200: try decoder.decodeSingularMessageField(value: &_storage._optionalNestedMessage)
        case 2..<11, 12..<101:
          try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestFieldOrderings.self, fieldNumber: fieldNumber)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._myInt {
        try visitor.visitSingularInt64Field(value: v, fieldNumber: 1)
      }
      try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 2, end: 11)
      if let v = _storage._myString {
        try visitor.visitSingularStringField(value: v, fieldNumber: 11)
      }
      try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 12, end: 101)
      if let v = _storage._myFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 101)
      }
      if let v = _storage._optionalNestedMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 200)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestFieldOrderings, rhs: ProtobufUnittest_TestFieldOrderings) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._myString != rhs_storage._myString {return false}
        if _storage._myInt != rhs_storage._myInt {return false}
        if _storage._myFloat != rhs_storage._myFloat {return false}
        if _storage._optionalNestedMessage != rhs_storage._optionalNestedMessage {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}

extension ProtobufUnittest_TestFieldOrderings.NestedMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestFieldOrderings.protoMessageName + ".NestedMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    2: .same(proto: "oo"),
    1: .same(proto: "bb"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._bb)
      case 2: try decoder.decodeSingularInt64Field(value: &self._oo)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._bb {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    if let v = self._oo {
      try visitor.visitSingularInt64Field(value: v, fieldNumber: 2)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestFieldOrderings.NestedMessage, rhs: ProtobufUnittest_TestFieldOrderings.NestedMessage) -> Bool {
    if lhs._oo != rhs._oo {return false}
    if lhs._bb != rhs._bb {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestExtensionOrderings1: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestExtensionOrderings1"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "my_string"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularStringField(value: &self._myString)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._myString {
      try visitor.visitSingularStringField(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestExtensionOrderings1, rhs: ProtobufUnittest_TestExtensionOrderings1) -> Bool {
    if lhs._myString != rhs._myString {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestExtensionOrderings2: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestExtensionOrderings2"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "my_string"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularStringField(value: &self._myString)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._myString {
      try visitor.visitSingularStringField(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestExtensionOrderings2, rhs: ProtobufUnittest_TestExtensionOrderings2) -> Bool {
    if lhs._myString != rhs._myString {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestExtensionOrderings2.protoMessageName + ".TestExtensionOrderings3"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "my_string"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularStringField(value: &self._myString)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._myString {
      try visitor.visitSingularStringField(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3, rhs: ProtobufUnittest_TestExtensionOrderings2.TestExtensionOrderings3) -> Bool {
    if lhs._myString != rhs._myString {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestExtremeDefaultValues: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestExtremeDefaultValues"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "escaped_bytes"),
    2: .standard(proto: "large_uint32"),
    3: .standard(proto: "large_uint64"),
    4: .standard(proto: "small_int32"),
    5: .standard(proto: "small_int64"),
    21: .standard(proto: "really_small_int32"),
    22: .standard(proto: "really_small_int64"),
    6: .standard(proto: "utf8_string"),
    7: .standard(proto: "zero_float"),
    8: .standard(proto: "one_float"),
    9: .standard(proto: "small_float"),
    10: .standard(proto: "negative_one_float"),
    11: .standard(proto: "negative_float"),
    12: .standard(proto: "large_float"),
    13: .standard(proto: "small_negative_float"),
    14: .standard(proto: "inf_double"),
    15: .standard(proto: "neg_inf_double"),
    16: .standard(proto: "nan_double"),
    17: .standard(proto: "inf_float"),
    18: .standard(proto: "neg_inf_float"),
    19: .standard(proto: "nan_float"),
    20: .standard(proto: "cpp_trigraph"),
    23: .standard(proto: "string_with_zero"),
    24: .standard(proto: "bytes_with_zero"),
    25: .standard(proto: "string_piece_with_zero"),
    26: .standard(proto: "cord_with_zero"),
    27: .standard(proto: "replacement_string"),
  ]

  fileprivate class _StorageClass {
    var _escapedBytes: Data? = nil
    var _largeUint32: UInt32? = nil
    var _largeUint64: UInt64? = nil
    var _smallInt32: Int32? = nil
    var _smallInt64: Int64? = nil
    var _reallySmallInt32: Int32? = nil
    var _reallySmallInt64: Int64? = nil
    var _utf8String: String? = nil
    var _zeroFloat: Float? = nil
    var _oneFloat: Float? = nil
    var _smallFloat: Float? = nil
    var _negativeOneFloat: Float? = nil
    var _negativeFloat: Float? = nil
    var _largeFloat: Float? = nil
    var _smallNegativeFloat: Float? = nil
    var _infDouble: Double? = nil
    var _negInfDouble: Double? = nil
    var _nanDouble: Double? = nil
    var _infFloat: Float? = nil
    var _negInfFloat: Float? = nil
    var _nanFloat: Float? = nil
    var _cppTrigraph: String? = nil
    var _stringWithZero: String? = nil
    var _bytesWithZero: Data? = nil
    var _stringPieceWithZero: String? = nil
    var _cordWithZero: String? = nil
    var _replacementString: String? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _escapedBytes = source._escapedBytes
      _largeUint32 = source._largeUint32
      _largeUint64 = source._largeUint64
      _smallInt32 = source._smallInt32
      _smallInt64 = source._smallInt64
      _reallySmallInt32 = source._reallySmallInt32
      _reallySmallInt64 = source._reallySmallInt64
      _utf8String = source._utf8String
      _zeroFloat = source._zeroFloat
      _oneFloat = source._oneFloat
      _smallFloat = source._smallFloat
      _negativeOneFloat = source._negativeOneFloat
      _negativeFloat = source._negativeFloat
      _largeFloat = source._largeFloat
      _smallNegativeFloat = source._smallNegativeFloat
      _infDouble = source._infDouble
      _negInfDouble = source._negInfDouble
      _nanDouble = source._nanDouble
      _infFloat = source._infFloat
      _negInfFloat = source._negInfFloat
      _nanFloat = source._nanFloat
      _cppTrigraph = source._cppTrigraph
      _stringWithZero = source._stringWithZero
      _bytesWithZero = source._bytesWithZero
      _stringPieceWithZero = source._stringPieceWithZero
      _cordWithZero = source._cordWithZero
      _replacementString = source._replacementString
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularBytesField(value: &_storage._escapedBytes)
        case 2: try decoder.decodeSingularUInt32Field(value: &_storage._largeUint32)
        case 3: try decoder.decodeSingularUInt64Field(value: &_storage._largeUint64)
        case 4: try decoder.decodeSingularInt32Field(value: &_storage._smallInt32)
        case 5: try decoder.decodeSingularInt64Field(value: &_storage._smallInt64)
        case 6: try decoder.decodeSingularStringField(value: &_storage._utf8String)
        case 7: try decoder.decodeSingularFloatField(value: &_storage._zeroFloat)
        case 8: try decoder.decodeSingularFloatField(value: &_storage._oneFloat)
        case 9: try decoder.decodeSingularFloatField(value: &_storage._smallFloat)
        case 10: try decoder.decodeSingularFloatField(value: &_storage._negativeOneFloat)
        case 11: try decoder.decodeSingularFloatField(value: &_storage._negativeFloat)
        case 12: try decoder.decodeSingularFloatField(value: &_storage._largeFloat)
        case 13: try decoder.decodeSingularFloatField(value: &_storage._smallNegativeFloat)
        case 14: try decoder.decodeSingularDoubleField(value: &_storage._infDouble)
        case 15: try decoder.decodeSingularDoubleField(value: &_storage._negInfDouble)
        case 16: try decoder.decodeSingularDoubleField(value: &_storage._nanDouble)
        case 17: try decoder.decodeSingularFloatField(value: &_storage._infFloat)
        case 18: try decoder.decodeSingularFloatField(value: &_storage._negInfFloat)
        case 19: try decoder.decodeSingularFloatField(value: &_storage._nanFloat)
        case 20: try decoder.decodeSingularStringField(value: &_storage._cppTrigraph)
        case 21: try decoder.decodeSingularInt32Field(value: &_storage._reallySmallInt32)
        case 22: try decoder.decodeSingularInt64Field(value: &_storage._reallySmallInt64)
        case 23: try decoder.decodeSingularStringField(value: &_storage._stringWithZero)
        case 24: try decoder.decodeSingularBytesField(value: &_storage._bytesWithZero)
        case 25: try decoder.decodeSingularStringField(value: &_storage._stringPieceWithZero)
        case 26: try decoder.decodeSingularStringField(value: &_storage._cordWithZero)
        case 27: try decoder.decodeSingularStringField(value: &_storage._replacementString)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._escapedBytes {
        try visitor.visitSingularBytesField(value: v, fieldNumber: 1)
      }
      if let v = _storage._largeUint32 {
        try visitor.visitSingularUInt32Field(value: v, fieldNumber: 2)
      }
      if let v = _storage._largeUint64 {
        try visitor.visitSingularUInt64Field(value: v, fieldNumber: 3)
      }
      if let v = _storage._smallInt32 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 4)
      }
      if let v = _storage._smallInt64 {
        try visitor.visitSingularInt64Field(value: v, fieldNumber: 5)
      }
      if let v = _storage._utf8String {
        try visitor.visitSingularStringField(value: v, fieldNumber: 6)
      }
      if let v = _storage._zeroFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 7)
      }
      if let v = _storage._oneFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 8)
      }
      if let v = _storage._smallFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 9)
      }
      if let v = _storage._negativeOneFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 10)
      }
      if let v = _storage._negativeFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 11)
      }
      if let v = _storage._largeFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 12)
      }
      if let v = _storage._smallNegativeFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 13)
      }
      if let v = _storage._infDouble {
        try visitor.visitSingularDoubleField(value: v, fieldNumber: 14)
      }
      if let v = _storage._negInfDouble {
        try visitor.visitSingularDoubleField(value: v, fieldNumber: 15)
      }
      if let v = _storage._nanDouble {
        try visitor.visitSingularDoubleField(value: v, fieldNumber: 16)
      }
      if let v = _storage._infFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 17)
      }
      if let v = _storage._negInfFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 18)
      }
      if let v = _storage._nanFloat {
        try visitor.visitSingularFloatField(value: v, fieldNumber: 19)
      }
      if let v = _storage._cppTrigraph {
        try visitor.visitSingularStringField(value: v, fieldNumber: 20)
      }
      if let v = _storage._reallySmallInt32 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 21)
      }
      if let v = _storage._reallySmallInt64 {
        try visitor.visitSingularInt64Field(value: v, fieldNumber: 22)
      }
      if let v = _storage._stringWithZero {
        try visitor.visitSingularStringField(value: v, fieldNumber: 23)
      }
      if let v = _storage._bytesWithZero {
        try visitor.visitSingularBytesField(value: v, fieldNumber: 24)
      }
      if let v = _storage._stringPieceWithZero {
        try visitor.visitSingularStringField(value: v, fieldNumber: 25)
      }
      if let v = _storage._cordWithZero {
        try visitor.visitSingularStringField(value: v, fieldNumber: 26)
      }
      if let v = _storage._replacementString {
        try visitor.visitSingularStringField(value: v, fieldNumber: 27)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestExtremeDefaultValues, rhs: ProtobufUnittest_TestExtremeDefaultValues) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._escapedBytes != rhs_storage._escapedBytes {return false}
        if _storage._largeUint32 != rhs_storage._largeUint32 {return false}
        if _storage._largeUint64 != rhs_storage._largeUint64 {return false}
        if _storage._smallInt32 != rhs_storage._smallInt32 {return false}
        if _storage._smallInt64 != rhs_storage._smallInt64 {return false}
        if _storage._reallySmallInt32 != rhs_storage._reallySmallInt32 {return false}
        if _storage._reallySmallInt64 != rhs_storage._reallySmallInt64 {return false}
        if _storage._utf8String != rhs_storage._utf8String {return false}
        if _storage._zeroFloat != rhs_storage._zeroFloat {return false}
        if _storage._oneFloat != rhs_storage._oneFloat {return false}
        if _storage._smallFloat != rhs_storage._smallFloat {return false}
        if _storage._negativeOneFloat != rhs_storage._negativeOneFloat {return false}
        if _storage._negativeFloat != rhs_storage._negativeFloat {return false}
        if _storage._largeFloat != rhs_storage._largeFloat {return false}
        if _storage._smallNegativeFloat != rhs_storage._smallNegativeFloat {return false}
        if _storage._infDouble != rhs_storage._infDouble {return false}
        if _storage._negInfDouble != rhs_storage._negInfDouble {return false}
        if _storage._nanDouble != rhs_storage._nanDouble {return false}
        if _storage._infFloat != rhs_storage._infFloat {return false}
        if _storage._negInfFloat != rhs_storage._negInfFloat {return false}
        if _storage._nanFloat != rhs_storage._nanFloat {return false}
        if _storage._cppTrigraph != rhs_storage._cppTrigraph {return false}
        if _storage._stringWithZero != rhs_storage._stringWithZero {return false}
        if _storage._bytesWithZero != rhs_storage._bytesWithZero {return false}
        if _storage._stringPieceWithZero != rhs_storage._stringPieceWithZero {return false}
        if _storage._cordWithZero != rhs_storage._cordWithZero {return false}
        if _storage._replacementString != rhs_storage._replacementString {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_SparseEnumMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".SparseEnumMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "sparse_enum"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularEnumField(value: &self._sparseEnum)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._sparseEnum {
      try visitor.visitSingularEnumField(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_SparseEnumMessage, rhs: ProtobufUnittest_SparseEnumMessage) -> Bool {
    if lhs._sparseEnum != rhs._sparseEnum {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_OneString: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".OneString"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "data"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularStringField(value: &self._data)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._data {
      try visitor.visitSingularStringField(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_OneString, rhs: ProtobufUnittest_OneString) -> Bool {
    if lhs._data != rhs._data {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_MoreString: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".MoreString"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "data"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeRepeatedStringField(value: &self.data)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if !self.data.isEmpty {
      try visitor.visitRepeatedStringField(value: self.data, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_MoreString, rhs: ProtobufUnittest_MoreString) -> Bool {
    if lhs.data != rhs.data {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_OneBytes: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".OneBytes"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "data"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularBytesField(value: &self._data)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._data {
      try visitor.visitSingularBytesField(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_OneBytes, rhs: ProtobufUnittest_OneBytes) -> Bool {
    if lhs._data != rhs._data {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_MoreBytes: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".MoreBytes"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "data"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeRepeatedBytesField(value: &self.data)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if !self.data.isEmpty {
      try visitor.visitRepeatedBytesField(value: self.data, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_MoreBytes, rhs: ProtobufUnittest_MoreBytes) -> Bool {
    if lhs.data != rhs.data {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_Int32Message: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".Int32Message"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "data"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._data)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._data {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_Int32Message, rhs: ProtobufUnittest_Int32Message) -> Bool {
    if lhs._data != rhs._data {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_Uint32Message: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".Uint32Message"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "data"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularUInt32Field(value: &self._data)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._data {
      try visitor.visitSingularUInt32Field(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_Uint32Message, rhs: ProtobufUnittest_Uint32Message) -> Bool {
    if lhs._data != rhs._data {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_Int64Message: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".Int64Message"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "data"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt64Field(value: &self._data)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._data {
      try visitor.visitSingularInt64Field(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_Int64Message, rhs: ProtobufUnittest_Int64Message) -> Bool {
    if lhs._data != rhs._data {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_Uint64Message: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".Uint64Message"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "data"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularUInt64Field(value: &self._data)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._data {
      try visitor.visitSingularUInt64Field(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_Uint64Message, rhs: ProtobufUnittest_Uint64Message) -> Bool {
    if lhs._data != rhs._data {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_BoolMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".BoolMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "data"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularBoolField(value: &self._data)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._data {
      try visitor.visitSingularBoolField(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_BoolMessage, rhs: ProtobufUnittest_BoolMessage) -> Bool {
    if lhs._data != rhs._data {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestOneof: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestOneof"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "foo_int"),
    2: .standard(proto: "foo_string"),
    3: .standard(proto: "foo_message"),
    4: .unique(proto: "FooGroup", json: "foogroup"),
  ]

  fileprivate class _StorageClass {
    var _foo: ProtobufUnittest_TestOneof.OneOf_Foo?

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _foo = source._foo
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: Int32?
          try decoder.decodeSingularInt32Field(value: &v)
          if let v = v {_storage._foo = .fooInt(v)}
        case 2:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._foo = .fooString(v)}
        case 3:
          var v: ProtobufUnittest_TestAllTypes?
          if let current = _storage._foo {
            try decoder.handleConflictingOneOf()
            if case .fooMessage(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._foo = .fooMessage(v)}
        case 4:
          var v: ProtobufUnittest_TestOneof.FooGroup?
          if let current = _storage._foo {
            try decoder.handleConflictingOneOf()
            if case .fooGroup(let m) = current {v = m}
          }
          try decoder.decodeSingularGroupField(value: &v)
          if let v = v {_storage._foo = .fooGroup(v)}
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      switch _storage._foo {
      case .fooInt(let v)?:
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
      case .fooString(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 2)
      case .fooMessage(let v)?:
        try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
      case .fooGroup(let v)?:
        try visitor.visitSingularGroupField(value: v, fieldNumber: 4)
      case nil: break
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestOneof, rhs: ProtobufUnittest_TestOneof) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._foo != rhs_storage._foo {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestOneof.FooGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestOneof.protoMessageName + ".FooGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    5: .same(proto: "a"),
    6: .same(proto: "b"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 5: try decoder.decodeSingularInt32Field(value: &self._a)
      case 6: try decoder.decodeSingularStringField(value: &self._b)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 5)
    }
    if let v = self._b {
      try visitor.visitSingularStringField(value: v, fieldNumber: 6)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestOneof.FooGroup, rhs: ProtobufUnittest_TestOneof.FooGroup) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs._b != rhs._b {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestOneofBackwardsCompatible: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestOneofBackwardsCompatible"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "foo_int"),
    2: .standard(proto: "foo_string"),
    3: .standard(proto: "foo_message"),
    4: .unique(proto: "FooGroup", json: "foogroup"),
  ]

  fileprivate class _StorageClass {
    var _fooInt: Int32? = nil
    var _fooString: String? = nil
    var _fooMessage: ProtobufUnittest_TestAllTypes? = nil
    var _fooGroup: ProtobufUnittest_TestOneofBackwardsCompatible.FooGroup? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _fooInt = source._fooInt
      _fooString = source._fooString
      _fooMessage = source._fooMessage
      _fooGroup = source._fooGroup
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularInt32Field(value: &_storage._fooInt)
        case 2: try decoder.decodeSingularStringField(value: &_storage._fooString)
        case 3: try decoder.decodeSingularMessageField(value: &_storage._fooMessage)
        case 4: try decoder.decodeSingularGroupField(value: &_storage._fooGroup)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._fooInt {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
      }
      if let v = _storage._fooString {
        try visitor.visitSingularStringField(value: v, fieldNumber: 2)
      }
      if let v = _storage._fooMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
      }
      if let v = _storage._fooGroup {
        try visitor.visitSingularGroupField(value: v, fieldNumber: 4)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestOneofBackwardsCompatible, rhs: ProtobufUnittest_TestOneofBackwardsCompatible) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._fooInt != rhs_storage._fooInt {return false}
        if _storage._fooString != rhs_storage._fooString {return false}
        if _storage._fooMessage != rhs_storage._fooMessage {return false}
        if _storage._fooGroup != rhs_storage._fooGroup {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestOneofBackwardsCompatible.FooGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestOneofBackwardsCompatible.protoMessageName + ".FooGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    5: .same(proto: "a"),
    6: .same(proto: "b"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 5: try decoder.decodeSingularInt32Field(value: &self._a)
      case 6: try decoder.decodeSingularStringField(value: &self._b)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 5)
    }
    if let v = self._b {
      try visitor.visitSingularStringField(value: v, fieldNumber: 6)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestOneofBackwardsCompatible.FooGroup, rhs: ProtobufUnittest_TestOneofBackwardsCompatible.FooGroup) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs._b != rhs._b {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestOneof2"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "foo_int"),
    2: .standard(proto: "foo_string"),
    3: .standard(proto: "foo_cord"),
    4: .standard(proto: "foo_string_piece"),
    5: .standard(proto: "foo_bytes"),
    6: .standard(proto: "foo_enum"),
    7: .standard(proto: "foo_message"),
    8: .unique(proto: "FooGroup", json: "foogroup"),
    11: .standard(proto: "foo_lazy_message"),
    12: .standard(proto: "bar_int"),
    13: .standard(proto: "bar_string"),
    14: .standard(proto: "bar_cord"),
    15: .standard(proto: "bar_string_piece"),
    16: .standard(proto: "bar_bytes"),
    17: .standard(proto: "bar_enum"),
    18: .standard(proto: "baz_int"),
    19: .standard(proto: "baz_string"),
  ]

  fileprivate class _StorageClass {
    var _foo: ProtobufUnittest_TestOneof2.OneOf_Foo?
    var _bar: ProtobufUnittest_TestOneof2.OneOf_Bar?
    var _bazInt: Int32? = nil
    var _bazString: String? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _foo = source._foo
      _bar = source._bar
      _bazInt = source._bazInt
      _bazString = source._bazString
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: Int32?
          try decoder.decodeSingularInt32Field(value: &v)
          if let v = v {_storage._foo = .fooInt(v)}
        case 2:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._foo = .fooString(v)}
        case 3:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._foo = .fooCord(v)}
        case 4:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._foo = .fooStringPiece(v)}
        case 5:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: Data?
          try decoder.decodeSingularBytesField(value: &v)
          if let v = v {_storage._foo = .fooBytes(v)}
        case 6:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: ProtobufUnittest_TestOneof2.NestedEnum?
          try decoder.decodeSingularEnumField(value: &v)
          if let v = v {_storage._foo = .fooEnum(v)}
        case 7:
          var v: ProtobufUnittest_TestOneof2.NestedMessage?
          if let current = _storage._foo {
            try decoder.handleConflictingOneOf()
            if case .fooMessage(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._foo = .fooMessage(v)}
        case 8:
          var v: ProtobufUnittest_TestOneof2.FooGroup?
          if let current = _storage._foo {
            try decoder.handleConflictingOneOf()
            if case .fooGroup(let m) = current {v = m}
          }
          try decoder.decodeSingularGroupField(value: &v)
          if let v = v {_storage._foo = .fooGroup(v)}
        case 11:
          var v: ProtobufUnittest_TestOneof2.NestedMessage?
          if let current = _storage._foo {
            try decoder.handleConflictingOneOf()
            if case .fooLazyMessage(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._foo = .fooLazyMessage(v)}
        case 12:
          if _storage._bar != nil {try decoder.handleConflictingOneOf()}
          var v: Int32?
          try decoder.decodeSingularInt32Field(value: &v)
          if let v = v {_storage._bar = .barInt(v)}
        case 13:
          if _storage._bar != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._bar = .barString(v)}
        case 14:
          if _storage._bar != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._bar = .barCord(v)}
        case 15:
          if _storage._bar != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._bar = .barStringPiece(v)}
        case 16:
          if _storage._bar != nil {try decoder.handleConflictingOneOf()}
          var v: Data?
          try decoder.decodeSingularBytesField(value: &v)
          if let v = v {_storage._bar = .barBytes(v)}
        case 17:
          if _storage._bar != nil {try decoder.handleConflictingOneOf()}
          var v: ProtobufUnittest_TestOneof2.NestedEnum?
          try decoder.decodeSingularEnumField(value: &v)
          if let v = v {_storage._bar = .barEnum(v)}
        case 18: try decoder.decodeSingularInt32Field(value: &_storage._bazInt)
        case 19: try decoder.decodeSingularStringField(value: &_storage._bazString)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      switch _storage._foo {
      case .fooInt(let v)?:
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
      case .fooString(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 2)
      case .fooCord(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 3)
      case .fooStringPiece(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 4)
      case .fooBytes(let v)?:
        try visitor.visitSingularBytesField(value: v, fieldNumber: 5)
      case .fooEnum(let v)?:
        try visitor.visitSingularEnumField(value: v, fieldNumber: 6)
      case .fooMessage(let v)?:
        try visitor.visitSingularMessageField(value: v, fieldNumber: 7)
      case .fooGroup(let v)?:
        try visitor.visitSingularGroupField(value: v, fieldNumber: 8)
      case .fooLazyMessage(let v)?:
        try visitor.visitSingularMessageField(value: v, fieldNumber: 11)
      case nil: break
      }
      switch _storage._bar {
      case .barInt(let v)?:
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 12)
      case .barString(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 13)
      case .barCord(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 14)
      case .barStringPiece(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 15)
      case .barBytes(let v)?:
        try visitor.visitSingularBytesField(value: v, fieldNumber: 16)
      case .barEnum(let v)?:
        try visitor.visitSingularEnumField(value: v, fieldNumber: 17)
      case nil: break
      }
      if let v = _storage._bazInt {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 18)
      }
      if let v = _storage._bazString {
        try visitor.visitSingularStringField(value: v, fieldNumber: 19)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestOneof2, rhs: ProtobufUnittest_TestOneof2) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._foo != rhs_storage._foo {return false}
        if _storage._bar != rhs_storage._bar {return false}
        if _storage._bazInt != rhs_storage._bazInt {return false}
        if _storage._bazString != rhs_storage._bazString {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestOneof2.NestedEnum: SwiftProtobuf._ProtoNameProviding {
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "FOO"),
    2: .same(proto: "BAR"),
    3: .same(proto: "BAZ"),
  ]
}

extension ProtobufUnittest_TestOneof2.FooGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestOneof2.protoMessageName + ".FooGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    9: .same(proto: "a"),
    10: .same(proto: "b"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 9: try decoder.decodeSingularInt32Field(value: &self._a)
      case 10: try decoder.decodeSingularStringField(value: &self._b)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 9)
    }
    if let v = self._b {
      try visitor.visitSingularStringField(value: v, fieldNumber: 10)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestOneof2.FooGroup, rhs: ProtobufUnittest_TestOneof2.FooGroup) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs._b != rhs._b {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestOneof2.NestedMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestOneof2.protoMessageName + ".NestedMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "qux_int"),
    2: .standard(proto: "corge_int"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt64Field(value: &self._quxInt)
      case 2: try decoder.decodeRepeatedInt32Field(value: &self.corgeInt)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._quxInt {
      try visitor.visitSingularInt64Field(value: v, fieldNumber: 1)
    }
    if !self.corgeInt.isEmpty {
      try visitor.visitRepeatedInt32Field(value: self.corgeInt, fieldNumber: 2)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestOneof2.NestedMessage, rhs: ProtobufUnittest_TestOneof2.NestedMessage) -> Bool {
    if lhs._quxInt != rhs._quxInt {return false}
    if lhs.corgeInt != rhs.corgeInt {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestRequiredOneof: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestRequiredOneof"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "foo_int"),
    2: .standard(proto: "foo_string"),
    3: .standard(proto: "foo_message"),
  ]

  fileprivate class _StorageClass {
    var _foo: ProtobufUnittest_TestRequiredOneof.OneOf_Foo?

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _foo = source._foo
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  public var isInitialized: Bool {
    return withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if case .fooMessage(let v)? = _storage._foo, !v.isInitialized {return false}
      return true
    }
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: Int32?
          try decoder.decodeSingularInt32Field(value: &v)
          if let v = v {_storage._foo = .fooInt(v)}
        case 2:
          if _storage._foo != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._foo = .fooString(v)}
        case 3:
          var v: ProtobufUnittest_TestRequiredOneof.NestedMessage?
          if let current = _storage._foo {
            try decoder.handleConflictingOneOf()
            if case .fooMessage(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._foo = .fooMessage(v)}
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      switch _storage._foo {
      case .fooInt(let v)?:
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
      case .fooString(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 2)
      case .fooMessage(let v)?:
        try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
      case nil: break
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestRequiredOneof, rhs: ProtobufUnittest_TestRequiredOneof) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._foo != rhs_storage._foo {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestRequiredOneof.NestedMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestRequiredOneof.protoMessageName + ".NestedMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "required_double"),
  ]

  public var isInitialized: Bool {
    if self._requiredDouble == nil {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularDoubleField(value: &self._requiredDouble)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._requiredDouble {
      try visitor.visitSingularDoubleField(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestRequiredOneof.NestedMessage, rhs: ProtobufUnittest_TestRequiredOneof.NestedMessage) -> Bool {
    if lhs._requiredDouble != rhs._requiredDouble {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestPackedTypes: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestPackedTypes"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    90: .standard(proto: "packed_int32"),
    91: .standard(proto: "packed_int64"),
    92: .standard(proto: "packed_uint32"),
    93: .standard(proto: "packed_uint64"),
    94: .standard(proto: "packed_sint32"),
    95: .standard(proto: "packed_sint64"),
    96: .standard(proto: "packed_fixed32"),
    97: .standard(proto: "packed_fixed64"),
    98: .standard(proto: "packed_sfixed32"),
    99: .standard(proto: "packed_sfixed64"),
    100: .standard(proto: "packed_float"),
    101: .standard(proto: "packed_double"),
    102: .standard(proto: "packed_bool"),
    103: .standard(proto: "packed_enum"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 90: try decoder.decodeRepeatedInt32Field(value: &self.packedInt32)
      case 91: try decoder.decodeRepeatedInt64Field(value: &self.packedInt64)
      case 92: try decoder.decodeRepeatedUInt32Field(value: &self.packedUint32)
      case 93: try decoder.decodeRepeatedUInt64Field(value: &self.packedUint64)
      case 94: try decoder.decodeRepeatedSInt32Field(value: &self.packedSint32)
      case 95: try decoder.decodeRepeatedSInt64Field(value: &self.packedSint64)
      case 96: try decoder.decodeRepeatedFixed32Field(value: &self.packedFixed32)
      case 97: try decoder.decodeRepeatedFixed64Field(value: &self.packedFixed64)
      case 98: try decoder.decodeRepeatedSFixed32Field(value: &self.packedSfixed32)
      case 99: try decoder.decodeRepeatedSFixed64Field(value: &self.packedSfixed64)
      case 100: try decoder.decodeRepeatedFloatField(value: &self.packedFloat)
      case 101: try decoder.decodeRepeatedDoubleField(value: &self.packedDouble)
      case 102: try decoder.decodeRepeatedBoolField(value: &self.packedBool)
      case 103: try decoder.decodeRepeatedEnumField(value: &self.packedEnum)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if !self.packedInt32.isEmpty {
      try visitor.visitPackedInt32Field(value: self.packedInt32, fieldNumber: 90)
    }
    if !self.packedInt64.isEmpty {
      try visitor.visitPackedInt64Field(value: self.packedInt64, fieldNumber: 91)
    }
    if !self.packedUint32.isEmpty {
      try visitor.visitPackedUInt32Field(value: self.packedUint32, fieldNumber: 92)
    }
    if !self.packedUint64.isEmpty {
      try visitor.visitPackedUInt64Field(value: self.packedUint64, fieldNumber: 93)
    }
    if !self.packedSint32.isEmpty {
      try visitor.visitPackedSInt32Field(value: self.packedSint32, fieldNumber: 94)
    }
    if !self.packedSint64.isEmpty {
      try visitor.visitPackedSInt64Field(value: self.packedSint64, fieldNumber: 95)
    }
    if !self.packedFixed32.isEmpty {
      try visitor.visitPackedFixed32Field(value: self.packedFixed32, fieldNumber: 96)
    }
    if !self.packedFixed64.isEmpty {
      try visitor.visitPackedFixed64Field(value: self.packedFixed64, fieldNumber: 97)
    }
    if !self.packedSfixed32.isEmpty {
      try visitor.visitPackedSFixed32Field(value: self.packedSfixed32, fieldNumber: 98)
    }
    if !self.packedSfixed64.isEmpty {
      try visitor.visitPackedSFixed64Field(value: self.packedSfixed64, fieldNumber: 99)
    }
    if !self.packedFloat.isEmpty {
      try visitor.visitPackedFloatField(value: self.packedFloat, fieldNumber: 100)
    }
    if !self.packedDouble.isEmpty {
      try visitor.visitPackedDoubleField(value: self.packedDouble, fieldNumber: 101)
    }
    if !self.packedBool.isEmpty {
      try visitor.visitPackedBoolField(value: self.packedBool, fieldNumber: 102)
    }
    if !self.packedEnum.isEmpty {
      try visitor.visitPackedEnumField(value: self.packedEnum, fieldNumber: 103)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestPackedTypes, rhs: ProtobufUnittest_TestPackedTypes) -> Bool {
    if lhs.packedInt32 != rhs.packedInt32 {return false}
    if lhs.packedInt64 != rhs.packedInt64 {return false}
    if lhs.packedUint32 != rhs.packedUint32 {return false}
    if lhs.packedUint64 != rhs.packedUint64 {return false}
    if lhs.packedSint32 != rhs.packedSint32 {return false}
    if lhs.packedSint64 != rhs.packedSint64 {return false}
    if lhs.packedFixed32 != rhs.packedFixed32 {return false}
    if lhs.packedFixed64 != rhs.packedFixed64 {return false}
    if lhs.packedSfixed32 != rhs.packedSfixed32 {return false}
    if lhs.packedSfixed64 != rhs.packedSfixed64 {return false}
    if lhs.packedFloat != rhs.packedFloat {return false}
    if lhs.packedDouble != rhs.packedDouble {return false}
    if lhs.packedBool != rhs.packedBool {return false}
    if lhs.packedEnum != rhs.packedEnum {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestUnpackedTypes: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestUnpackedTypes"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    90: .standard(proto: "unpacked_int32"),
    91: .standard(proto: "unpacked_int64"),
    92: .standard(proto: "unpacked_uint32"),
    93: .standard(proto: "unpacked_uint64"),
    94: .standard(proto: "unpacked_sint32"),
    95: .standard(proto: "unpacked_sint64"),
    96: .standard(proto: "unpacked_fixed32"),
    97: .standard(proto: "unpacked_fixed64"),
    98: .standard(proto: "unpacked_sfixed32"),
    99: .standard(proto: "unpacked_sfixed64"),
    100: .standard(proto: "unpacked_float"),
    101: .standard(proto: "unpacked_double"),
    102: .standard(proto: "unpacked_bool"),
    103: .standard(proto: "unpacked_enum"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 90: try decoder.decodeRepeatedInt32Field(value: &self.unpackedInt32)
      case 91: try decoder.decodeRepeatedInt64Field(value: &self.unpackedInt64)
      case 92: try decoder.decodeRepeatedUInt32Field(value: &self.unpackedUint32)
      case 93: try decoder.decodeRepeatedUInt64Field(value: &self.unpackedUint64)
      case 94: try decoder.decodeRepeatedSInt32Field(value: &self.unpackedSint32)
      case 95: try decoder.decodeRepeatedSInt64Field(value: &self.unpackedSint64)
      case 96: try decoder.decodeRepeatedFixed32Field(value: &self.unpackedFixed32)
      case 97: try decoder.decodeRepeatedFixed64Field(value: &self.unpackedFixed64)
      case 98: try decoder.decodeRepeatedSFixed32Field(value: &self.unpackedSfixed32)
      case 99: try decoder.decodeRepeatedSFixed64Field(value: &self.unpackedSfixed64)
      case 100: try decoder.decodeRepeatedFloatField(value: &self.unpackedFloat)
      case 101: try decoder.decodeRepeatedDoubleField(value: &self.unpackedDouble)
      case 102: try decoder.decodeRepeatedBoolField(value: &self.unpackedBool)
      case 103: try decoder.decodeRepeatedEnumField(value: &self.unpackedEnum)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if !self.unpackedInt32.isEmpty {
      try visitor.visitRepeatedInt32Field(value: self.unpackedInt32, fieldNumber: 90)
    }
    if !self.unpackedInt64.isEmpty {
      try visitor.visitRepeatedInt64Field(value: self.unpackedInt64, fieldNumber: 91)
    }
    if !self.unpackedUint32.isEmpty {
      try visitor.visitRepeatedUInt32Field(value: self.unpackedUint32, fieldNumber: 92)
    }
    if !self.unpackedUint64.isEmpty {
      try visitor.visitRepeatedUInt64Field(value: self.unpackedUint64, fieldNumber: 93)
    }
    if !self.unpackedSint32.isEmpty {
      try visitor.visitRepeatedSInt32Field(value: self.unpackedSint32, fieldNumber: 94)
    }
    if !self.unpackedSint64.isEmpty {
      try visitor.visitRepeatedSInt64Field(value: self.unpackedSint64, fieldNumber: 95)
    }
    if !self.unpackedFixed32.isEmpty {
      try visitor.visitRepeatedFixed32Field(value: self.unpackedFixed32, fieldNumber: 96)
    }
    if !self.unpackedFixed64.isEmpty {
      try visitor.visitRepeatedFixed64Field(value: self.unpackedFixed64, fieldNumber: 97)
    }
    if !self.unpackedSfixed32.isEmpty {
      try visitor.visitRepeatedSFixed32Field(value: self.unpackedSfixed32, fieldNumber: 98)
    }
    if !self.unpackedSfixed64.isEmpty {
      try visitor.visitRepeatedSFixed64Field(value: self.unpackedSfixed64, fieldNumber: 99)
    }
    if !self.unpackedFloat.isEmpty {
      try visitor.visitRepeatedFloatField(value: self.unpackedFloat, fieldNumber: 100)
    }
    if !self.unpackedDouble.isEmpty {
      try visitor.visitRepeatedDoubleField(value: self.unpackedDouble, fieldNumber: 101)
    }
    if !self.unpackedBool.isEmpty {
      try visitor.visitRepeatedBoolField(value: self.unpackedBool, fieldNumber: 102)
    }
    if !self.unpackedEnum.isEmpty {
      try visitor.visitRepeatedEnumField(value: self.unpackedEnum, fieldNumber: 103)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestUnpackedTypes, rhs: ProtobufUnittest_TestUnpackedTypes) -> Bool {
    if lhs.unpackedInt32 != rhs.unpackedInt32 {return false}
    if lhs.unpackedInt64 != rhs.unpackedInt64 {return false}
    if lhs.unpackedUint32 != rhs.unpackedUint32 {return false}
    if lhs.unpackedUint64 != rhs.unpackedUint64 {return false}
    if lhs.unpackedSint32 != rhs.unpackedSint32 {return false}
    if lhs.unpackedSint64 != rhs.unpackedSint64 {return false}
    if lhs.unpackedFixed32 != rhs.unpackedFixed32 {return false}
    if lhs.unpackedFixed64 != rhs.unpackedFixed64 {return false}
    if lhs.unpackedSfixed32 != rhs.unpackedSfixed32 {return false}
    if lhs.unpackedSfixed64 != rhs.unpackedSfixed64 {return false}
    if lhs.unpackedFloat != rhs.unpackedFloat {return false}
    if lhs.unpackedDouble != rhs.unpackedDouble {return false}
    if lhs.unpackedBool != rhs.unpackedBool {return false}
    if lhs.unpackedEnum != rhs.unpackedEnum {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestPackedExtensions: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestPackedExtensions"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      if (1 <= fieldNumber && fieldNumber < 536870912) {
        try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestPackedExtensions.self, fieldNumber: fieldNumber)
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 1, end: 536870912)
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestPackedExtensions, rhs: ProtobufUnittest_TestPackedExtensions) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}

extension ProtobufUnittest_TestUnpackedExtensions: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestUnpackedExtensions"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      if (1 <= fieldNumber && fieldNumber < 536870912) {
        try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestUnpackedExtensions.self, fieldNumber: fieldNumber)
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 1, end: 536870912)
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestUnpackedExtensions, rhs: ProtobufUnittest_TestUnpackedExtensions) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}

extension ProtobufUnittest_TestDynamicExtensions: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestDynamicExtensions"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    2000: .standard(proto: "scalar_extension"),
    2001: .standard(proto: "enum_extension"),
    2002: .standard(proto: "dynamic_enum_extension"),
    2003: .standard(proto: "message_extension"),
    2004: .standard(proto: "dynamic_message_extension"),
    2005: .standard(proto: "repeated_extension"),
    2006: .standard(proto: "packed_extension"),
  ]

  fileprivate class _StorageClass {
    var _scalarExtension: UInt32? = nil
    var _enumExtension: ProtobufUnittest_ForeignEnum? = nil
    var _dynamicEnumExtension: ProtobufUnittest_TestDynamicExtensions.DynamicEnumType? = nil
    var _messageExtension: ProtobufUnittest_ForeignMessage? = nil
    var _dynamicMessageExtension: ProtobufUnittest_TestDynamicExtensions.DynamicMessageType? = nil
    var _repeatedExtension: [String] = []
    var _packedExtension: [Int32] = []

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _scalarExtension = source._scalarExtension
      _enumExtension = source._enumExtension
      _dynamicEnumExtension = source._dynamicEnumExtension
      _messageExtension = source._messageExtension
      _dynamicMessageExtension = source._dynamicMessageExtension
      _repeatedExtension = source._repeatedExtension
      _packedExtension = source._packedExtension
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 2000: try decoder.decodeSingularFixed32Field(value: &_storage._scalarExtension)
        case 2001: try decoder.decodeSingularEnumField(value: &_storage._enumExtension)
        case 2002: try decoder.decodeSingularEnumField(value: &_storage._dynamicEnumExtension)
        case 2003: try decoder.decodeSingularMessageField(value: &_storage._messageExtension)
        case 2004: try decoder.decodeSingularMessageField(value: &_storage._dynamicMessageExtension)
        case 2005: try decoder.decodeRepeatedStringField(value: &_storage._repeatedExtension)
        case 2006: try decoder.decodeRepeatedSInt32Field(value: &_storage._packedExtension)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._scalarExtension {
        try visitor.visitSingularFixed32Field(value: v, fieldNumber: 2000)
      }
      if let v = _storage._enumExtension {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 2001)
      }
      if let v = _storage._dynamicEnumExtension {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 2002)
      }
      if let v = _storage._messageExtension {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 2003)
      }
      if let v = _storage._dynamicMessageExtension {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 2004)
      }
      if !_storage._repeatedExtension.isEmpty {
        try visitor.visitRepeatedStringField(value: _storage._repeatedExtension, fieldNumber: 2005)
      }
      if !_storage._packedExtension.isEmpty {
        try visitor.visitPackedSInt32Field(value: _storage._packedExtension, fieldNumber: 2006)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestDynamicExtensions, rhs: ProtobufUnittest_TestDynamicExtensions) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._scalarExtension != rhs_storage._scalarExtension {return false}
        if _storage._enumExtension != rhs_storage._enumExtension {return false}
        if _storage._dynamicEnumExtension != rhs_storage._dynamicEnumExtension {return false}
        if _storage._messageExtension != rhs_storage._messageExtension {return false}
        if _storage._dynamicMessageExtension != rhs_storage._dynamicMessageExtension {return false}
        if _storage._repeatedExtension != rhs_storage._repeatedExtension {return false}
        if _storage._packedExtension != rhs_storage._packedExtension {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestDynamicExtensions.DynamicEnumType: SwiftProtobuf._ProtoNameProviding {
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    2200: .same(proto: "DYNAMIC_FOO"),
    2201: .same(proto: "DYNAMIC_BAR"),
    2202: .same(proto: "DYNAMIC_BAZ"),
  ]
}

extension ProtobufUnittest_TestDynamicExtensions.DynamicMessageType: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestDynamicExtensions.protoMessageName + ".DynamicMessageType"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    2100: .standard(proto: "dynamic_field"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 2100: try decoder.decodeSingularInt32Field(value: &self._dynamicField)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._dynamicField {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 2100)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestDynamicExtensions.DynamicMessageType, rhs: ProtobufUnittest_TestDynamicExtensions.DynamicMessageType) -> Bool {
    if lhs._dynamicField != rhs._dynamicField {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestRepeatedScalarDifferentTagSizes: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestRepeatedScalarDifferentTagSizes"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    12: .standard(proto: "repeated_fixed32"),
    13: .standard(proto: "repeated_int32"),
    2046: .standard(proto: "repeated_fixed64"),
    2047: .standard(proto: "repeated_int64"),
    262142: .standard(proto: "repeated_float"),
    262143: .standard(proto: "repeated_uint64"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 12: try decoder.decodeRepeatedFixed32Field(value: &self.repeatedFixed32)
      case 13: try decoder.decodeRepeatedInt32Field(value: &self.repeatedInt32)
      case 2046: try decoder.decodeRepeatedFixed64Field(value: &self.repeatedFixed64)
      case 2047: try decoder.decodeRepeatedInt64Field(value: &self.repeatedInt64)
      case 262142: try decoder.decodeRepeatedFloatField(value: &self.repeatedFloat)
      case 262143: try decoder.decodeRepeatedUInt64Field(value: &self.repeatedUint64)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if !self.repeatedFixed32.isEmpty {
      try visitor.visitRepeatedFixed32Field(value: self.repeatedFixed32, fieldNumber: 12)
    }
    if !self.repeatedInt32.isEmpty {
      try visitor.visitRepeatedInt32Field(value: self.repeatedInt32, fieldNumber: 13)
    }
    if !self.repeatedFixed64.isEmpty {
      try visitor.visitRepeatedFixed64Field(value: self.repeatedFixed64, fieldNumber: 2046)
    }
    if !self.repeatedInt64.isEmpty {
      try visitor.visitRepeatedInt64Field(value: self.repeatedInt64, fieldNumber: 2047)
    }
    if !self.repeatedFloat.isEmpty {
      try visitor.visitRepeatedFloatField(value: self.repeatedFloat, fieldNumber: 262142)
    }
    if !self.repeatedUint64.isEmpty {
      try visitor.visitRepeatedUInt64Field(value: self.repeatedUint64, fieldNumber: 262143)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestRepeatedScalarDifferentTagSizes, rhs: ProtobufUnittest_TestRepeatedScalarDifferentTagSizes) -> Bool {
    if lhs.repeatedFixed32 != rhs.repeatedFixed32 {return false}
    if lhs.repeatedInt32 != rhs.repeatedInt32 {return false}
    if lhs.repeatedFixed64 != rhs.repeatedFixed64 {return false}
    if lhs.repeatedInt64 != rhs.repeatedInt64 {return false}
    if lhs.repeatedFloat != rhs.repeatedFloat {return false}
    if lhs.repeatedUint64 != rhs.repeatedUint64 {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestParsingMerge: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestParsingMerge"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "required_all_types"),
    2: .standard(proto: "optional_all_types"),
    3: .standard(proto: "repeated_all_types"),
    10: .unique(proto: "OptionalGroup", json: "optionalgroup"),
    20: .unique(proto: "RepeatedGroup", json: "repeatedgroup"),
  ]

  fileprivate class _StorageClass {
    var _requiredAllTypes: ProtobufUnittest_TestAllTypes? = nil
    var _optionalAllTypes: ProtobufUnittest_TestAllTypes? = nil
    var _repeatedAllTypes: [ProtobufUnittest_TestAllTypes] = []
    var _optionalGroup: ProtobufUnittest_TestParsingMerge.OptionalGroup? = nil
    var _repeatedGroup: [ProtobufUnittest_TestParsingMerge.RepeatedGroup] = []

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _requiredAllTypes = source._requiredAllTypes
      _optionalAllTypes = source._optionalAllTypes
      _repeatedAllTypes = source._repeatedAllTypes
      _optionalGroup = source._optionalGroup
      _repeatedGroup = source._repeatedGroup
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if _storage._requiredAllTypes == nil {return false}
      return true
    }
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 1: try decoder.decodeSingularMessageField(value: &_storage._requiredAllTypes)
        case 2: try decoder.decodeSingularMessageField(value: &_storage._optionalAllTypes)
        case 3: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedAllTypes)
        case 10: try decoder.decodeSingularGroupField(value: &_storage._optionalGroup)
        case 20: try decoder.decodeRepeatedGroupField(value: &_storage._repeatedGroup)
        case 1000..<536870912:
          try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestParsingMerge.self, fieldNumber: fieldNumber)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._requiredAllTypes {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
      }
      if let v = _storage._optionalAllTypes {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 2)
      }
      if !_storage._repeatedAllTypes.isEmpty {
        try visitor.visitRepeatedMessageField(value: _storage._repeatedAllTypes, fieldNumber: 3)
      }
      if let v = _storage._optionalGroup {
        try visitor.visitSingularGroupField(value: v, fieldNumber: 10)
      }
      if !_storage._repeatedGroup.isEmpty {
        try visitor.visitRepeatedGroupField(value: _storage._repeatedGroup, fieldNumber: 20)
      }
      try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 1000, end: 536870912)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestParsingMerge, rhs: ProtobufUnittest_TestParsingMerge) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._requiredAllTypes != rhs_storage._requiredAllTypes {return false}
        if _storage._optionalAllTypes != rhs_storage._optionalAllTypes {return false}
        if _storage._repeatedAllTypes != rhs_storage._repeatedAllTypes {return false}
        if _storage._optionalGroup != rhs_storage._optionalGroup {return false}
        if _storage._repeatedGroup != rhs_storage._repeatedGroup {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}

extension ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestParsingMerge.protoMessageName + ".RepeatedFieldsGenerator"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "field1"),
    2: .same(proto: "field2"),
    3: .same(proto: "field3"),
    10: .unique(proto: "Group1", json: "group1"),
    20: .unique(proto: "Group2", json: "group2"),
    1000: .same(proto: "ext1"),
    1001: .same(proto: "ext2"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeRepeatedMessageField(value: &self.field1)
      case 2: try decoder.decodeRepeatedMessageField(value: &self.field2)
      case 3: try decoder.decodeRepeatedMessageField(value: &self.field3)
      case 10: try decoder.decodeRepeatedGroupField(value: &self.group1)
      case 20: try decoder.decodeRepeatedGroupField(value: &self.group2)
      case 1000: try decoder.decodeRepeatedMessageField(value: &self.ext1)
      case 1001: try decoder.decodeRepeatedMessageField(value: &self.ext2)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if !self.field1.isEmpty {
      try visitor.visitRepeatedMessageField(value: self.field1, fieldNumber: 1)
    }
    if !self.field2.isEmpty {
      try visitor.visitRepeatedMessageField(value: self.field2, fieldNumber: 2)
    }
    if !self.field3.isEmpty {
      try visitor.visitRepeatedMessageField(value: self.field3, fieldNumber: 3)
    }
    if !self.group1.isEmpty {
      try visitor.visitRepeatedGroupField(value: self.group1, fieldNumber: 10)
    }
    if !self.group2.isEmpty {
      try visitor.visitRepeatedGroupField(value: self.group2, fieldNumber: 20)
    }
    if !self.ext1.isEmpty {
      try visitor.visitRepeatedMessageField(value: self.ext1, fieldNumber: 1000)
    }
    if !self.ext2.isEmpty {
      try visitor.visitRepeatedMessageField(value: self.ext2, fieldNumber: 1001)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator, rhs: ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator) -> Bool {
    if lhs.field1 != rhs.field1 {return false}
    if lhs.field2 != rhs.field2 {return false}
    if lhs.field3 != rhs.field3 {return false}
    if lhs.group1 != rhs.group1 {return false}
    if lhs.group2 != rhs.group2 {return false}
    if lhs.ext1 != rhs.ext1 {return false}
    if lhs.ext2 != rhs.ext2 {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.Group1: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.protoMessageName + ".Group1"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    11: .same(proto: "field1"),
  ]

  fileprivate class _StorageClass {
    var _field1: ProtobufUnittest_TestAllTypes? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _field1 = source._field1
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 11: try decoder.decodeSingularMessageField(value: &_storage._field1)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._field1 {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 11)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.Group1, rhs: ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.Group1) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._field1 != rhs_storage._field1 {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.Group2: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.protoMessageName + ".Group2"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    21: .same(proto: "field1"),
  ]

  fileprivate class _StorageClass {
    var _field1: ProtobufUnittest_TestAllTypes? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _field1 = source._field1
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 21: try decoder.decodeSingularMessageField(value: &_storage._field1)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._field1 {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 21)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.Group2, rhs: ProtobufUnittest_TestParsingMerge.RepeatedFieldsGenerator.Group2) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._field1 != rhs_storage._field1 {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestParsingMerge.OptionalGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestParsingMerge.protoMessageName + ".OptionalGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    11: .standard(proto: "optional_group_all_types"),
  ]

  fileprivate class _StorageClass {
    var _optionalGroupAllTypes: ProtobufUnittest_TestAllTypes? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _optionalGroupAllTypes = source._optionalGroupAllTypes
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 11: try decoder.decodeSingularMessageField(value: &_storage._optionalGroupAllTypes)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._optionalGroupAllTypes {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 11)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestParsingMerge.OptionalGroup, rhs: ProtobufUnittest_TestParsingMerge.OptionalGroup) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._optionalGroupAllTypes != rhs_storage._optionalGroupAllTypes {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestParsingMerge.RepeatedGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestParsingMerge.protoMessageName + ".RepeatedGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    21: .standard(proto: "repeated_group_all_types"),
  ]

  fileprivate class _StorageClass {
    var _repeatedGroupAllTypes: ProtobufUnittest_TestAllTypes? = nil

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _repeatedGroupAllTypes = source._repeatedGroupAllTypes
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 21: try decoder.decodeSingularMessageField(value: &_storage._repeatedGroupAllTypes)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      if let v = _storage._repeatedGroupAllTypes {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 21)
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestParsingMerge.RepeatedGroup, rhs: ProtobufUnittest_TestParsingMerge.RepeatedGroup) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._repeatedGroupAllTypes != rhs_storage._repeatedGroupAllTypes {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestCommentInjectionMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestCommentInjectionMessage"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularStringField(value: &self._a)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._a {
      try visitor.visitSingularStringField(value: v, fieldNumber: 1)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestCommentInjectionMessage, rhs: ProtobufUnittest_TestCommentInjectionMessage) -> Bool {
    if lhs._a != rhs._a {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_FooRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".FooRequest"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_FooRequest, rhs: ProtobufUnittest_FooRequest) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_FooResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".FooResponse"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_FooResponse, rhs: ProtobufUnittest_FooResponse) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_FooClientMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".FooClientMessage"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_FooClientMessage, rhs: ProtobufUnittest_FooClientMessage) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_FooServerMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".FooServerMessage"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_FooServerMessage, rhs: ProtobufUnittest_FooServerMessage) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_BarRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".BarRequest"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_BarRequest, rhs: ProtobufUnittest_BarRequest) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_BarResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".BarResponse"
  static let _protobuf_nameMap = SwiftProtobuf._NameMap()

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let _ = try decoder.nextFieldNumber() {
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_BarResponse, rhs: ProtobufUnittest_BarResponse) -> Bool {
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestJsonName: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestJsonName"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .standard(proto: "field_name1"),
    2: .same(proto: "fieldName2"),
    3: .same(proto: "FieldName3"),
    4: .standard(proto: "_field_name4"),
    5: .standard(proto: "FIELD_NAME5"),
    6: .unique(proto: "field_name6", json: "@type"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._fieldName1)
      case 2: try decoder.decodeSingularInt32Field(value: &self._fieldName2)
      case 3: try decoder.decodeSingularInt32Field(value: &self._fieldName3)
      case 4: try decoder.decodeSingularInt32Field(value: &self._fieldName4)
      case 5: try decoder.decodeSingularInt32Field(value: &self._fieldName5)
      case 6: try decoder.decodeSingularInt32Field(value: &self._fieldName6)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._fieldName1 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    if let v = self._fieldName2 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 2)
    }
    if let v = self._fieldName3 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 3)
    }
    if let v = self._fieldName4 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 4)
    }
    if let v = self._fieldName5 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 5)
    }
    if let v = self._fieldName6 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 6)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestJsonName, rhs: ProtobufUnittest_TestJsonName) -> Bool {
    if lhs._fieldName1 != rhs._fieldName1 {return false}
    if lhs._fieldName2 != rhs._fieldName2 {return false}
    if lhs._fieldName3 != rhs._fieldName3 {return false}
    if lhs._fieldName4 != rhs._fieldName4 {return false}
    if lhs._fieldName5 != rhs._fieldName5 {return false}
    if lhs._fieldName6 != rhs._fieldName6 {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestHugeFieldNumbers: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestHugeFieldNumbers"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    536870000: .standard(proto: "optional_int32"),
    536870001: .standard(proto: "fixed_32"),
    536870002: .standard(proto: "repeated_int32"),
    536870003: .standard(proto: "packed_int32"),
    536870004: .standard(proto: "optional_enum"),
    536870005: .standard(proto: "optional_string"),
    536870006: .standard(proto: "optional_bytes"),
    536870007: .standard(proto: "optional_message"),
    536870008: .unique(proto: "OptionalGroup", json: "optionalgroup"),
    536870010: .standard(proto: "string_string_map"),
    536870011: .standard(proto: "oneof_uint32"),
    536870012: .standard(proto: "oneof_test_all_types"),
    536870013: .standard(proto: "oneof_string"),
    536870014: .standard(proto: "oneof_bytes"),
  ]

  fileprivate class _StorageClass {
    var _optionalInt32: Int32? = nil
    var _fixed32: Int32? = nil
    var _repeatedInt32: [Int32] = []
    var _packedInt32: [Int32] = []
    var _optionalEnum: ProtobufUnittest_ForeignEnum? = nil
    var _optionalString: String? = nil
    var _optionalBytes: Data? = nil
    var _optionalMessage: ProtobufUnittest_ForeignMessage? = nil
    var _optionalGroup: ProtobufUnittest_TestHugeFieldNumbers.OptionalGroup? = nil
    var _stringStringMap: Dictionary<String,String> = [:]
    var _oneofField: ProtobufUnittest_TestHugeFieldNumbers.OneOf_OneofField?

    static let defaultInstance = _StorageClass()

    private init() {}

    init(copying source: _StorageClass) {
      _optionalInt32 = source._optionalInt32
      _fixed32 = source._fixed32
      _repeatedInt32 = source._repeatedInt32
      _packedInt32 = source._packedInt32
      _optionalEnum = source._optionalEnum
      _optionalString = source._optionalString
      _optionalBytes = source._optionalBytes
      _optionalMessage = source._optionalMessage
      _optionalGroup = source._optionalGroup
      _stringStringMap = source._stringStringMap
      _oneofField = source._oneofField
    }
  }

  fileprivate mutating func _uniqueStorage() -> _StorageClass {
    if !isKnownUniquelyReferenced(&_storage) {
      _storage = _StorageClass(copying: _storage)
    }
    return _storage
  }

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        switch fieldNumber {
        case 536870000: try decoder.decodeSingularInt32Field(value: &_storage._optionalInt32)
        case 536870001: try decoder.decodeSingularInt32Field(value: &_storage._fixed32)
        case 536870002: try decoder.decodeRepeatedInt32Field(value: &_storage._repeatedInt32)
        case 536870003: try decoder.decodeRepeatedInt32Field(value: &_storage._packedInt32)
        case 536870004: try decoder.decodeSingularEnumField(value: &_storage._optionalEnum)
        case 536870005: try decoder.decodeSingularStringField(value: &_storage._optionalString)
        case 536870006: try decoder.decodeSingularBytesField(value: &_storage._optionalBytes)
        case 536870007: try decoder.decodeSingularMessageField(value: &_storage._optionalMessage)
        case 536870008: try decoder.decodeSingularGroupField(value: &_storage._optionalGroup)
        case 536870010: try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufMap<SwiftProtobuf.ProtobufString,SwiftProtobuf.ProtobufString>.self, value: &_storage._stringStringMap)
        case 536870011:
          if _storage._oneofField != nil {try decoder.handleConflictingOneOf()}
          var v: UInt32?
          try decoder.decodeSingularUInt32Field(value: &v)
          if let v = v {_storage._oneofField = .oneofUint32(v)}
        case 536870012:
          var v: ProtobufUnittest_TestAllTypes?
          if let current = _storage._oneofField {
            try decoder.handleConflictingOneOf()
            if case .oneofTestAllTypes(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._oneofField = .oneofTestAllTypes(v)}
        case 536870013:
          if _storage._oneofField != nil {try decoder.handleConflictingOneOf()}
          var v: String?
          try decoder.decodeSingularStringField(value: &v)
          if let v = v {_storage._oneofField = .oneofString(v)}
        case 536870014:
          if _storage._oneofField != nil {try decoder.handleConflictingOneOf()}
          var v: Data?
          try decoder.decodeSingularBytesField(value: &v)
          if let v = v {_storage._oneofField = .oneofBytes(v)}
        case 536860000..<536870000:
          try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestHugeFieldNumbers.self, fieldNumber: fieldNumber)
        default: break
        }
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 536860000, end: 536870000)
      if let v = _storage._optionalInt32 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 536870000)
      }
      if let v = _storage._fixed32 {
        try visitor.visitSingularInt32Field(value: v, fieldNumber: 536870001)
      }
      if !_storage._repeatedInt32.isEmpty {
        try visitor.visitRepeatedInt32Field(value: _storage._repeatedInt32, fieldNumber: 536870002)
      }
      if !_storage._packedInt32.isEmpty {
        try visitor.visitPackedInt32Field(value: _storage._packedInt32, fieldNumber: 536870003)
      }
      if let v = _storage._optionalEnum {
        try visitor.visitSingularEnumField(value: v, fieldNumber: 536870004)
      }
      if let v = _storage._optionalString {
        try visitor.visitSingularStringField(value: v, fieldNumber: 536870005)
      }
      if let v = _storage._optionalBytes {
        try visitor.visitSingularBytesField(value: v, fieldNumber: 536870006)
      }
      if let v = _storage._optionalMessage {
        try visitor.visitSingularMessageField(value: v, fieldNumber: 536870007)
      }
      if let v = _storage._optionalGroup {
        try visitor.visitSingularGroupField(value: v, fieldNumber: 536870008)
      }
      if !_storage._stringStringMap.isEmpty {
        try visitor.visitMapField(fieldType: SwiftProtobuf._ProtobufMap<SwiftProtobuf.ProtobufString,SwiftProtobuf.ProtobufString>.self, value: _storage._stringStringMap, fieldNumber: 536870010)
      }
      switch _storage._oneofField {
      case .oneofUint32(let v)?:
        try visitor.visitSingularUInt32Field(value: v, fieldNumber: 536870011)
      case .oneofTestAllTypes(let v)?:
        try visitor.visitSingularMessageField(value: v, fieldNumber: 536870012)
      case .oneofString(let v)?:
        try visitor.visitSingularStringField(value: v, fieldNumber: 536870013)
      case .oneofBytes(let v)?:
        try visitor.visitSingularBytesField(value: v, fieldNumber: 536870014)
      case nil: break
      }
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestHugeFieldNumbers, rhs: ProtobufUnittest_TestHugeFieldNumbers) -> Bool {
    if lhs._storage !== rhs._storage {
      let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
        let _storage = _args.0
        let rhs_storage = _args.1
        if _storage._optionalInt32 != rhs_storage._optionalInt32 {return false}
        if _storage._fixed32 != rhs_storage._fixed32 {return false}
        if _storage._repeatedInt32 != rhs_storage._repeatedInt32 {return false}
        if _storage._packedInt32 != rhs_storage._packedInt32 {return false}
        if _storage._optionalEnum != rhs_storage._optionalEnum {return false}
        if _storage._optionalString != rhs_storage._optionalString {return false}
        if _storage._optionalBytes != rhs_storage._optionalBytes {return false}
        if _storage._optionalMessage != rhs_storage._optionalMessage {return false}
        if _storage._optionalGroup != rhs_storage._optionalGroup {return false}
        if _storage._stringStringMap != rhs_storage._stringStringMap {return false}
        if _storage._oneofField != rhs_storage._oneofField {return false}
        return true
      }
      if !storagesAreEqual {return false}
    }
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}

extension ProtobufUnittest_TestHugeFieldNumbers.OptionalGroup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = ProtobufUnittest_TestHugeFieldNumbers.protoMessageName + ".OptionalGroup"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    536870009: .standard(proto: "group_a"),
  ]

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 536870009: try decoder.decodeSingularInt32Field(value: &self._groupA)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._groupA {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 536870009)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestHugeFieldNumbers.OptionalGroup, rhs: ProtobufUnittest_TestHugeFieldNumbers.OptionalGroup) -> Bool {
    if lhs._groupA != rhs._groupA {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    return true
  }
}

extension ProtobufUnittest_TestExtensionInsideTable: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  static let protoMessageName: String = _protobuf_package + ".TestExtensionInsideTable"
  static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
    1: .same(proto: "field1"),
    2: .same(proto: "field2"),
    3: .same(proto: "field3"),
    4: .same(proto: "field4"),
    6: .same(proto: "field6"),
    7: .same(proto: "field7"),
    8: .same(proto: "field8"),
    9: .same(proto: "field9"),
    10: .same(proto: "field10"),
  ]

  public var isInitialized: Bool {
    if !_protobuf_extensionFieldValues.isInitialized {return false}
    return true
  }

  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    while let fieldNumber = try decoder.nextFieldNumber() {
      switch fieldNumber {
      case 1: try decoder.decodeSingularInt32Field(value: &self._field1)
      case 2: try decoder.decodeSingularInt32Field(value: &self._field2)
      case 3: try decoder.decodeSingularInt32Field(value: &self._field3)
      case 4: try decoder.decodeSingularInt32Field(value: &self._field4)
      case 6: try decoder.decodeSingularInt32Field(value: &self._field6)
      case 7: try decoder.decodeSingularInt32Field(value: &self._field7)
      case 8: try decoder.decodeSingularInt32Field(value: &self._field8)
      case 9: try decoder.decodeSingularInt32Field(value: &self._field9)
      case 10: try decoder.decodeSingularInt32Field(value: &self._field10)
      case 5..<6:
        try decoder.decodeExtensionField(values: &_protobuf_extensionFieldValues, messageType: ProtobufUnittest_TestExtensionInsideTable.self, fieldNumber: fieldNumber)
      default: break
      }
    }
  }

  func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
    if let v = self._field1 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
    }
    if let v = self._field2 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 2)
    }
    if let v = self._field3 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 3)
    }
    if let v = self._field4 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 4)
    }
    try visitor.visitExtensionFields(fields: _protobuf_extensionFieldValues, start: 5, end: 6)
    if let v = self._field6 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 6)
    }
    if let v = self._field7 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 7)
    }
    if let v = self._field8 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 8)
    }
    if let v = self._field9 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 9)
    }
    if let v = self._field10 {
      try visitor.visitSingularInt32Field(value: v, fieldNumber: 10)
    }
    try unknownFields.traverse(visitor: &visitor)
  }

  static func ==(lhs: ProtobufUnittest_TestExtensionInsideTable, rhs: ProtobufUnittest_TestExtensionInsideTable) -> Bool {
    if lhs._field1 != rhs._field1 {return false}
    if lhs._field2 != rhs._field2 {return false}
    if lhs._field3 != rhs._field3 {return false}
    if lhs._field4 != rhs._field4 {return false}
    if lhs._field6 != rhs._field6 {return false}
    if lhs._field7 != rhs._field7 {return false}
    if lhs._field8 != rhs._field8 {return false}
    if lhs._field9 != rhs._field9 {return false}
    if lhs._field10 != rhs._field10 {return false}
    if lhs.unknownFields != rhs.unknownFields {return false}
    if lhs._protobuf_extensionFieldValues != rhs._protobuf_extensionFieldValues {return false}
    return true
  }
}
