proto-lens-protoc 0.1.0.5 → 0.9.0.1
raw patch · 22 files changed
Files
- Changelog.md +127/−0
- app/Data/ProtoLens/Compiler/Definitions.hs +712/−0
- app/Data/ProtoLens/Compiler/Editions/Defaults.hs +43/−0
- app/Data/ProtoLens/Compiler/Editions/Features.hs +94/−0
- app/Data/ProtoLens/Compiler/Generate.hs +1108/−0
- app/Data/ProtoLens/Compiler/Generate/Commented.hs +62/−0
- app/Data/ProtoLens/Compiler/Generate/Encoding.hs +661/−0
- app/Data/ProtoLens/Compiler/Generate/Field.hs +242/−0
- app/Data/ProtoLens/Compiler/Plugin.hs +105/−0
- app/Proto/Google/Protobuf/Compiler/Plugin.hs +1811/−0
- app/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs +247/−0
- app/Proto/Google/Protobuf/Descriptor.hs +18329/−0
- app/Proto/Google/Protobuf/Descriptor_Fields.hs +1418/−0
- app/protoc-gen-haskell.hs +117/−0
- proto-lens-protoc.cabal +63/−80
- src/Data/ProtoLens/Compiler/Combinators.hs +0/−98
- src/Data/ProtoLens/Compiler/Definitions.hs +0/−261
- src/Data/ProtoLens/Compiler/Generate.hs +0/−697
- src/Data/ProtoLens/Compiler/ModuleName.hs +23/−0
- src/Data/ProtoLens/Compiler/Plugin.hs +0/−125
- src/Data/ProtoLens/Setup.hs +0/−195
- src/protoc-gen-haskell.hs +0/−96
+ Changelog.md view
@@ -0,0 +1,127 @@+# Changelog for `proto-lens-protoc`++## v0.9.0.1+- Support GHC 9.12.+- Support GHC 9.14.++## v0.9.0.0+- Support Protobuf Editions 2023 and 2024.+- Update bootstrap protobuf bindings to protobuf v28.0.+- Relax upper bounds for ghc-9.10.++## v0.8.0.0+- Relax upper bounds for ghc-9.6+- Incompatible change: change `forall` to `forall'` in generated code+ due to GHC warning of the upcoming change.++## v0.7.1.1+- Relax upper bounds for ghc-9.2++## v0.7.1.0+- Support GHC 9.0.+- Add ServiceDescriptor to generated services. (#409)+- Support proto3 optional (#400)++## v0.7.0.0+- Support GHC 8.10.+- Support `proto-lens` changes for the new method `packedMessageDescriptor`.+- Bump upper bound to allow base-4.14.+- Bump to ghc-source-gen-0.4.0.0.++### Breaking Changes+- Reexport transitive definitions from modules generated for `.proto` files+ with `import public` statements (#329).+- Bump lower bounds to base-4.10 (ghc-8.2).+- Use `ghc-source-gen` instead of `haskell-src-exts`. Removes+ `Data.ProtoLens.Compiler.Combinators` and adds+ `Data.ProtoLens.Compiler.Definitions`.+- Limit the exposed library to a single module+ `Data.ProtoLens.Compiler.ModuleName`. The other modules were not+ used in practice, and exposed internals unnecessarily.++### Backwards-Compatible Changes+- Fix a potential naming conflict when message types and enum values+ are the same except for case.+- Support dependencies on base-4.13 (ghc-8.8) and lens-family-2.0.++## v0.5.0.0++### Breaking Changes+- Capitalize enum values, and capitalize names of enum sub-messages (#270).+- Fix the parser to fail on end-group markers with the wrong tag number (#282).++### Backwards-Compatible Changes+- Allow enum names that start with underscores. (#238)+- Track changes to `proto-lens`: use generated Haskell code and a custom+ parsing monad to encode/decode proto messages faster.+- Store repeated fields internally as `Vector`s, and expose the internal+ representation via new `vec'*` lenses. (#302)+- Use `Vector`s for more efficient encoding/decoding.+- Add more combinators to support the generated code.++## v0.4.0.1+- Bump the dependency on `base` and `containers` to support `ghc-8.6.1`.+- Fix a GHC error on enums with a very large number of cases (#241).++## v0.4.0.0+- Split out `proto-lens-setup` and `proto-lens-runtime` into separate+ packages.+- Hide the constructors and record fields of message types, and make `Show`+ instances call `showMessageShort`.+- Generate explicit `NFData` instances for each type.+- Track the change to `proto-lens`: Don't use `data-default` for+ default proto values (#194).+- Use simplified lens-labels instances. (#208)++## v0.3.1.2+- Bump the upper bound to `temporary-1.3`.+- Fix warnings.++## v0.3.1.1+- Fix management of generated files between Cabal components (#171).+- Bump the lower bound on `base` to indicate we require `ghc>=8.0`.+- Use autogen-modules. (#196)++## v0.3.1.0+- Bump the dependency on `base` for `ghc-8.4.2`.+- Bump the dependency to `Cabal-2.2.*`.+- Make `Symbol` an instance of Semigroup.++## v0.3.0.0+- Remove support for `ghc-7.10`. (#136)+- Use a `.cabal` file that's auto-generated from `hpack`. (#138)+- Separate types into their own module, apart from field lenses.+- Improve readability of `HasLens` instances. (#118)+- Add support for tracking unknown fields. (#129)+- Don't generate Haskell modules if they won't be used. (#126)+- Bundle enum pattern synonyms exports with their type. (#136)+- Split the `Message` class into separate methods. (#139)+- Refactor the `FieldDescriptorType`. (#147)+- Add a case to proto3 enums for unknown values. (#137)+- Track consolidation of `proto-lens-descriptors` into `proto-lens`. (#140)+- Generate service definitions using promoted datatypes. (#154)+- Generate prisms for `oneof` message fields. (#160)++## v0.2.2.3+- Don't camel-case message names. This reverts behavior which was added+ in v0.2.2.0.++## v0.2.2.2+- Bump the dependency for `process-1.6`.++## v0.2.2.1+- Fix the case where types/constructors of oneofs overlap with those of+ submessages or subenums, by appending `"'"` to the former when required.++## v0.2.2.0+- Bump the dependency on `base` to support `ghc-8.2.1` and `Cabal-2.0`.+- Bump the dependency for `haskell-src-exts-0.19`.+- Improve the semantics of oneof fields, and add a lens to access the+ underlying sum type.+- Generate Ord instances for all exported datatypes.+- Print a better error message when missing `protoc` or `proto-lens-protoc`.+- Expose message names to support `Data.ProtoLens.Any`.+- CamelCase the names of Haskell message types.++## v0.2.1.0 and older+See `Changelog.md` for `proto-lens`.
+ app/Data/ProtoLens/Compiler/Definitions.hs view
@@ -0,0 +1,712 @@+-- Copyright 2016 Google Inc. All Rights Reserved.+--+-- Use of this source code is governed by a BSD-style+-- license that can be found in the LICENSE file or at+-- https://developers.google.com/open-source/licenses/bsd++-- | This module takes care of collecting all the definitions in a .proto file+-- and assigning Haskell names to all of the defined things (messages, enums+-- and field names).+{-# LANGUAGE CPP #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE OverloadedLabels #-}+{-# LANGUAGE OverloadedStrings #-}+module Data.ProtoLens.Compiler.Definitions+ ( Env+ , Definition(..)+ , MessageInfo(..)+ , ServiceInfo(..)+ , MethodInfo(..)+ , PlainFieldInfo(..)+ , FieldInfo(..)+ , FieldKind(..)+ , FieldPacking(..)+ , MapEntryInfo(..)+ , OneofInfo(..)+ , OneofCase(..)+ , FieldName(..)+ , Symbol+ , nameFromSymbol+ , promoteSymbol+ , EnumInfo(..)+ , EnumValueInfo(..)+ , EnumUnrecognizedInfo(..)+ , qualifyEnv+ , unqualifyEnv+ , collectDefinitions+ , collectServices+ , definedFieldType+ , definedType+ , camelCase+ , overloadedFieldName+ ) where++import Data.Char (isUpper, toUpper)+import Data.Int (Int32)+import Data.List (mapAccumL)+import qualified Data.Map as Map+import Data.Maybe (catMaybes, fromMaybe)+#if !MIN_VERSION_base(4,11,0)+import Data.Monoid ((<>))+#endif+import Data.ProtoLens.Labels ()+import Data.ProtoLens.Compiler.Editions.Features+ ( featuresForEdition+ , mergedInto+ )+import qualified Data.Semigroup as Semigroup+import qualified Data.Set as Set+import Data.String (IsString(..))+import Data.Text (Text, cons, splitOn, toLower, uncons, unpack)+import qualified Data.Text as T+import Data.Tree+ ( Tree(..)+ , Forest+ , flatten+ )+import Lens.Family2 ((^.), (^..), toListOf)+import Proto.Google.Protobuf.Descriptor+ ( DescriptorProto+ , Edition(..)+ , EnumDescriptorProto+ , EnumValueDescriptorProto+ , FeatureSet+ , FeatureSet'EnumType(..)+ , FeatureSet'FieldPresence(..)+ , FeatureSet'MessageEncoding(..)+ , FeatureSet'RepeatedFieldEncoding(..)+ , FieldDescriptorProto+ , FieldDescriptorProto'Label(..)+ , FieldDescriptorProto'Type(..)+ , FileDescriptorProto+ , MethodDescriptorProto+ , ServiceDescriptorProto+ )+import GHC.SourceGen+ ( OccNameStr+ , RdrNameStr+ , ModuleNameStr+ , HsType'+ , qual+ , stringTy+ , unqual+ )++-- | 'Env' contains a mapping of proto names (as specified in the .proto file)+-- to Haskell names. The keys are fully-qualified names, for example,+-- ".package.Message.Submessage". (The protocol_compiler tool emits all+-- message field types in this form, even if they refer to local definitions.)+--+-- The type 'n' can be either a 'Name' (when talking about definitions within+-- the current file) or a (qualified) 'RdrNameStr' (when talking about definitions+-- either from this or another file).+type Env n = Map.Map Text (Definition n)++{-| Returns the edition for the file.++For proto2 and proto3 files, 'EDITION_PROTO2' and 'EDITION_PROTO3' are returned,+respectively, which will map to the equivalent feature set compatible with+proto2 and proto3.++>>> fileEdition $ defMessage & #syntax .~ "proto2"+Right EDITION_PROTO2+>>> fileEdition $ defMessage & #syntax .~ "proto3"+Right EDITION_PROTO3++-}+fileEdition :: FileDescriptorProto -> Either Text Edition+fileEdition f = case f ^. #syntax of+ "editions" -> Right $ f ^. #edition+ "proto3" -> Right EDITION_PROTO3+ "proto2" -> Right EDITION_PROTO2+ "" -> Right EDITION_PROTO2+ s -> Left $ "Unknown syntax type " <> T.pack (show s)++{-| Returns the feature defaults for the file.++This includes the file-scope options which override+the feature defaults for an edition.+-}+fileFeatures :: FileDescriptorProto -> Either Text FeatureSet+fileFeatures f = do+ edition <- fileEdition f+ features <- featuresForEdition edition+ return $ case f ^. #options . #maybe'features of+ Just overrides -> overrides `mergedInto` features+ Nothing -> features++data Definition n = Message (MessageInfo n) | Enum (EnumInfo n)+ deriving Functor++-- | All the information needed to define or use a proto message type.+data MessageInfo n = MessageInfo+ { messageName :: n -- ^ Haskell type name+ , messageConstructorName :: n -- ^ Haskell constructor name+ , messageDescriptor :: DescriptorProto+ , messageFields :: [PlainFieldInfo]+ -- ^ Fields not belonging to a oneof. This includes proto3+ -- optional fields even though they are part of a synthetic+ -- oneof.+ , messageOneofFields :: [OneofInfo]+ -- ^ The oneofs in this message, associated with the fields that+ -- belong to them. Does not include synthetic oneofs generated+ -- for proto3 optional fields.+ , messageUnknownFields :: OccNameStr+ -- ^ The name of the Haskell field in this message that holds the+ -- unknown fields.+ , groupFieldNumber :: Maybe Int32+ -- ^ The number of the field that holds this message, if it is a group.+ } deriving Functor++data ServiceInfo = ServiceInfo+ { serviceName :: Text+ , servicePackage :: Text+ , serviceMethods :: [MethodInfo]+ , serviceDescriptor :: ServiceDescriptorProto+ }++data MethodInfo = MethodInfo+ { methodName :: Text+ , methodIdent :: Text+ , methodInput :: Text+ , methodOutput :: Text+ , methodClientStreaming :: Bool+ , methodServerStreaming :: Bool+ }++-- | Information about a single field of a proto message,+-- associated with how it is stored.+data PlainFieldInfo = PlainFieldInfo+ { plainFieldKind :: FieldKind+ , plainFieldInfo :: FieldInfo+ }++-- | Information about a single field of a proto message.+data FieldInfo = FieldInfo+ { fieldDescriptor :: FieldDescriptorProto+ , fieldName :: FieldName+ }++-- | How a field is stored inside of the proto message.+data FieldKind+ = RequiredField+ -- ^ A proto2 required field. Stored internally as a value.+ | OptionalValueField+ -- ^ A proto3 scalar field. Stored internally as a value, and+ -- defaults to corresponding instance of fieldDefault.+ | OptionalMaybeField+ -- ^ An optional field where the "unset" and "default" values+ -- are distinguishable. Stored internally as a Maybe.+ -- In particular: proto2 optional fields, proto3 messages,+ -- proto3 explicitly optional fields and "oneof" fields.+ | RepeatedField FieldPacking+ -- ^ A field containing a sequence of values.+ -- Stored internally as either a list or a map, depending on+ -- whether the field's FieldDescriptorProto of the field has+ -- options.map_entry set.+ | MapField MapEntryInfo+ -- ^ A field containing a map of keys to values.+ -- Serialized as a repeated field of an autogenerated "entry"+ -- proto type, each instance of which contains a key-value pair.++data FieldPacking+ = NotPackable -- ^ Cannot be packed (e.g., strings or messages).+ | Packable -- ^ Can be decoded as packed, but should not be not be+ -- encoded as packed by default.+ | Packed -- ^ Can be decoded as packed, and should be encoded+ -- as packed by default.+ deriving Eq++data OneofInfo = OneofInfo+ { oneofFieldName :: FieldName+ , oneofTypeName :: OccNameStr+ -- ^ The name of the sum type corresponding to this oneof.+ , oneofCases :: [OneofCase]+ -- ^ The individual fields that make up this oneof.+ }++data OneofCase = OneofCase+ { caseField :: FieldInfo+ , caseConstructorName :: OccNameStr+ -- ^ The constructor for building a 'oneofTypeName' from the+ -- value in this field.+ , casePrismName :: OccNameStr+ -- ^ The name for building 'Prism' definition.+ }++-- | The "entry" type for a map field is a proto message, autogenerated by+-- protoc, that has two fields: a key and a value. The map field should be+-- serialized like a repeated field of the entry messages.+data MapEntryInfo = MapEntryInfo+ { mapEntryTypeName :: OccNameStr+ -- ^ The Haskell name for this type.+ , keyField :: FieldInfo+ -- ^ The field of the entry type corresponding to the map key.+ , valueField :: FieldInfo+ -- ^ The field of the entry type corresponding to the map value.+ }++data FieldName = FieldName+ { overloadedName :: Symbol+ -- ^ The overloaded name of lenses that access this field.+ -- For example, if the field is called "foo_bar" in the .proto+ -- then @overloadedName == "fooBar"@ and we might generate+ -- @fooBar@ and/or @maybe'fooBar@ lenses to access the data.+ --+ -- May be shared between two different message data types in the same+ -- module.+ , haskellRecordFieldName :: OccNameStr+ -- ^ The Haskell name of this internal record field; for example,+ -- "_Foo'Bar'baz. Unique within each module.+ }++-- | A string that refers to the name (in Haskell) of a lens that accesses a+-- field.+--+-- For example, in the signature of the overloaded lens+--+-- @+-- foo :: HasLens "foo" ... => Lens ...+-- @+--+-- a 'Symbol' is used to construct both the type-level argument to+-- @HasLens@ and the name of the function @foo@.+newtype Symbol = Symbol String+ deriving (Eq, Ord, IsString, Semigroup.Semigroup, Monoid)++nameFromSymbol :: Symbol -> OccNameStr+nameFromSymbol (Symbol s) = fromString s++-- | Construct a promoted, type-level string.+promoteSymbol :: Symbol -> HsType'+promoteSymbol (Symbol s) = stringTy s++-- | All the information needed to define or use a proto enum type.+data EnumInfo n = EnumInfo+ { enumName :: n+ , enumUnrecognized :: Maybe EnumUnrecognizedInfo+ , enumDescriptor :: EnumDescriptorProto+ , enumValues :: [EnumValueInfo n]+ } deriving Functor++-- | Information about the "unrecognized" case of an enum.+data EnumUnrecognizedInfo = EnumUnrecognizedInfo+ { unrecognizedName :: OccNameStr+ , unrecognizedValueName :: OccNameStr+ }++-- | Information about a single value case of a proto enum.+data EnumValueInfo n = EnumValueInfo+ { enumValueName :: n+ , enumValueDescriptor :: EnumValueDescriptorProto+ , enumAliasOf :: Maybe OccNameStr+ -- ^ If 'Nothing', we turn value into a normal constructor of the enum.+ -- If @'Just' n@, we're treating it as an alias of the constructor @n@+ -- (a PatternSynonym in Haskell). This mirrors the behavior of the+ -- Java API.+ } deriving Functor++mapEnv :: (n -> n') -> Env n -> Env n'+mapEnv f = fmap $ fmap f++-- Lift a set of local definitions into references to a specific module.+qualifyEnv :: ModuleNameStr -> Env OccNameStr -> Env RdrNameStr+qualifyEnv m = mapEnv (qual m)++-- Lift a set of local definitions into references to the current module.+unqualifyEnv :: Env OccNameStr -> Env RdrNameStr+unqualifyEnv = mapEnv unqual++-- | Look up the Haskell name for the type of a given field (message or enum).+definedFieldType :: FieldDescriptorProto -> Env RdrNameStr -> Definition RdrNameStr+definedFieldType fd env = fromMaybe err $ Map.lookup (fd ^. #typeName) env+ where+ err = error $ "definedFieldType: Field type " ++ unpack (fd ^. #typeName)+ ++ " not found in environment."++-- | Look up the Haskell name for the type of a given type.+definedType :: Text -> Env RdrNameStr -> Definition RdrNameStr+definedType ty = fromMaybe err . Map.lookup ty+ where+ err = error $ "definedType: Type " ++ unpack ty+ ++ " not found in environment."++-- | Collect all the definitions in the given file (including definitions+-- nested in other messages), and assign Haskell names to them.+collectDefinitions :: FileDescriptorProto -> Either Text (Env OccNameStr)+collectDefinitions fd = do+ let protoPrefix = case fd ^. #package of+ "" -> "."+ p -> "." <> p <> "."+ let hsPrefix = ""+ features <- fileFeatures fd+ return $ Map.fromList $ concatMap flatten $+ messageAndEnumDefs+ features protoPrefix hsPrefix Map.empty+ (fd ^. #messageType) (fd ^. #enumType)++collectServices :: FileDescriptorProto -> [ServiceInfo]+collectServices fd = fmap (toServiceInfo $ fd ^. #package) $ fd ^. #service+ where+ toServiceInfo :: Text -> ServiceDescriptorProto -> ServiceInfo+ toServiceInfo pkg sd =+ ServiceInfo+ { serviceName = sd ^. #name+ , servicePackage = pkg+ , serviceMethods = fmap toMethodInfo $ sd ^. #method+ , serviceDescriptor = sd+ }++ toMethodInfo :: MethodDescriptorProto -> MethodInfo+ toMethodInfo md =+ MethodInfo+ { methodName = md ^. #name+ , methodIdent = camelCase $ md ^. #name+ , methodInput = fromString . T.unpack $ md ^. #inputType+ , methodOutput = fromString . T.unpack $ md ^. #outputType+ , methodClientStreaming = md ^. #clientStreaming+ , methodServerStreaming = md ^. #serverStreaming+ }++messageAndEnumDefs ::+ FeatureSet -> Text -> String+ -> GroupMap+ -- ^ Group fields of the parent message (if any).+ -> [DescriptorProto]+ -> [EnumDescriptorProto]+ -> Forest (Text, Definition OccNameStr)+ -- ^ Organized as a list of trees, to make it possible for callers+ -- to get the immediate child nested types.+messageAndEnumDefs features protoPrefix hsPrefix groups messages enums+ = map (messageDefs features protoPrefix hsPrefix groups) messages+ ++ map+ (flip Node [] -- Enums have no sub-definitions+ . enumDef features protoPrefix hsPrefix)+ enums++-- | Generate the definitions for a message and its nested types (if any).+messageDefs :: FeatureSet -> Text -> String -> GroupMap -> DescriptorProto+ -> Tree (Text, Definition OccNameStr)+messageDefs features protoPrefix hsPrefix groups d+ = Node (protoName, thisDef) subDefs+ where+ protoName = protoPrefix <> d ^. #name+ hsPrefix' = hsPrefix ++ hsName (d ^. #name) ++ "'"+ allFields = groupFieldsByOneofIndex (d ^. #field)+ thisDef =+ Message MessageInfo+ { messageName = fromString $ hsPrefix ++ hsName (d ^. #name)+ -- Set the constructor name to not conflict with enum values.+ , messageConstructorName =+ fromString $ hsPrefix ++ hsName (d ^. #name)+ ++ "'_constructor"+ , messageDescriptor = d+ , messageFields =+ map (PlainFieldInfo <$>+ fieldKind features' mapEntries <*> fieldInfo hsPrefix')+ $ Map.findWithDefault [] Nothing allFields+ , messageOneofFields = collectOneofFields hsPrefix' d allFields+ , messageUnknownFields =+ fromString $ "_" ++ hsPrefix' ++ "_unknownFields"+ , groupFieldNumber = Map.lookup protoName groups+ }+ subDefs = messageAndEnumDefs+ features'+ (protoName <> ".")+ hsPrefix'+ (collectGroupFields $ d ^. #field)+ (d ^. #nestedType)+ (d ^. #enumType)+ -- For efficiency, only look for map entries within the immediate+ -- nested types, rather than recursively searching through all of them.+ mapEntries = collectMapEntries $ map rootLabel subDefs+ -- Include message-scope feature overrides.+ features' = case d ^. #options . #maybe'features of+ Just overrides -> overrides `mergedInto ` features+ Nothing -> features++-- | If this type is a map entry, retrieves the relevant information+-- along with the proto name of this type.+mapEntryInfo :: Definition OccNameStr -> Maybe MapEntryInfo+mapEntryInfo (Message m)+ | messageDescriptor m ^. #options . #mapEntry+ , [keyFd, valueFd] <- messageFields m+ = Just MapEntryInfo+ { mapEntryTypeName = messageName m+ , keyField = plainFieldInfo keyFd+ , valueField = plainFieldInfo valueFd+ }+mapEntryInfo _ = Nothing++-- | Returns a map whose keys are the proto type name of the entry message.+collectMapEntries :: [(Text, Definition OccNameStr)] -> Map.Map Text MapEntryInfo+collectMapEntries defs =+ Map.fromList+ [(protoName, e) | (protoName, d) <- defs, Just e <- [mapEntryInfo d]]++-- | A map whose keys are the proto type names of the groups in a message,+-- and values are the field numbers for those groups.+-- (Every group corresponds to exactly one message field.)+type GroupMap = Map.Map Text Int32++collectGroupFields :: [FieldDescriptorProto] -> GroupMap+collectGroupFields fs = Map.fromList+ [ (f ^. #typeName, f ^. #number)+ | f <- fs+ , (f ^. #type' == FieldDescriptorProto'TYPE_GROUP) ||+ -- Message fields with DELIMITED encoding are the same as proto2 groups.+ (f ^. #options . #features . #messageEncoding == FeatureSet'DELIMITED)+ ]++fieldInfo :: String -> FieldDescriptorProto -> FieldInfo+fieldInfo hsPrefix f = FieldInfo+ { fieldDescriptor = f+ , fieldName = mkFieldName hsPrefix $ f ^. #name+ }++fieldKind ::+ FeatureSet -> Map.Map Text MapEntryInfo -> FieldDescriptorProto+ -> FieldKind+fieldKind features mapEntries f = case f ^. #label of+ FieldDescriptorProto'LABEL_OPTIONAL ->+ case features' ^. #fieldPresence of+ FeatureSet'IMPLICIT+ | f ^. #type' /= FieldDescriptorProto'TYPE_MESSAGE+ && not (f ^. #proto3Optional)+ -> OptionalValueField+ | otherwise -> OptionalMaybeField+ FeatureSet'EXPLICIT -> OptionalMaybeField+ FeatureSet'LEGACY_REQUIRED -> RequiredField+ _ -> error $ "Has unknown field presence: " ++ show (f ^. #name)+ FieldDescriptorProto'LABEL_REQUIRED -> RequiredField+ FieldDescriptorProto'LABEL_REPEATED+ | Just entryInfo <- Map.lookup (f ^. #typeName) mapEntries+ -> MapField entryInfo+ | otherwise -> RepeatedField packed+ where+ packed+ | f ^. #type' `elem` unpackableTypes = NotPackable+ | packedByDefault = Packed+ | otherwise = Packable++ packedByDefault =+ fromMaybe (features' ^. #repeatedFieldEncoding == FeatureSet'PACKED)+ $ f ^. #options . #maybe'packed++ unpackableTypes =+ [ FieldDescriptorProto'TYPE_MESSAGE+ , FieldDescriptorProto'TYPE_GROUP+ , FieldDescriptorProto'TYPE_STRING+ , FieldDescriptorProto'TYPE_BYTES+ ]++ -- Include field-scope feature overrides+ features' = case f ^. #options . #maybe'features of+ Just overrides -> overrides `mergedInto` features+ Nothing -> features++collectOneofFields+ :: String -> DescriptorProto -> Map.Map (Maybe Int32) [FieldDescriptorProto]+ -> [OneofInfo]+collectOneofFields hsPrefix d allFields+ = catMaybes $ zipWith oneofMaybe [0..] $ d ^.. #oneofDecl . traverse . #name+ where+ oneofMaybe idx n =+ let fields = Map.findWithDefault [] (Just idx) allFields+ in if isSynthetic fields+ then Nothing+ else Just $ oneofInfo n fields+ oneofInfo n fields = OneofInfo+ { oneofFieldName = mkFieldName hsPrefix n+ , oneofTypeName = fromString $ hsPrefix ++ hsNameUnique subdefTypes n+ , oneofCases = map oneofCase fields+ }+ -- The oneof is synthetic if it contains a single proto3_optional field.+ isSynthetic :: [FieldDescriptorProto] -> Bool+ isSynthetic [f] = f ^. #proto3Optional+ isSynthetic _ = False+ oneofCase f =+ let consName = hsPrefix ++ hsNameUnique subdefCons (f ^. #name)+ in OneofCase+ { caseField = fieldInfo hsPrefix f+ , caseConstructorName =+ -- Note: oneof case constructors aren't prefixed+ -- by the oneof name; field names (even inside+ -- of a oneof) are unique within a message.+ fromString consName+ , casePrismName =+ fromString $ "_" ++ consName+ }+ -- Make a name that doesn't overlap with those already defined by submessages+ -- or subenums.+ hsNameUnique ns n+ | n' `elem` ns = n' ++ "'"+ | otherwise = n'+ where+ n' = hsName $ camelCase n+ -- The Haskell "type" namespace+ subdefTypes = Set.fromList $ map hsName+ $ toListOf (#nestedType . traverse . #name) d+ ++ toListOf (#enumType . traverse . #name) d+ -- The Haskell "expression" namespace (i.e., constructors)+ subdefCons = Set.fromList $ map hsName+ $ toListOf (#nestedType . traverse . #name) d+ ++ toListOf (#enumType . traverse . #value . traverse . #name) d++-- | Group fields by the index of the oneof field that they belong to.+-- Or 'Nothing' if they don't belong to a oneof. Proto3 optional+-- fields are included twice, both as members of their synthetic oneof+-- (so that collectOneofFields can use them to recognize synthetic+-- oneofs) and as stand-alone fields for which we generate bindings.+groupFieldsByOneofIndex+ :: [FieldDescriptorProto] -> Map.Map (Maybe Int32) [FieldDescriptorProto]+groupFieldsByOneofIndex =+ fmap reverse+ . Map.fromListWith (++)+ . concatMap mapElementsForField+ where+ mapElementsForField+ :: FieldDescriptorProto -> [(Maybe Int32, [FieldDescriptorProto])]+ mapElementsForField f = case f ^. #maybe'oneofIndex of+ Nothing -> [(Nothing, [f])]+ Just idx -> if f ^. #proto3Optional+ then [(Nothing, [f]), (Just idx, [f])]+ else [(Just idx, [f])]++hsName :: Text -> String+hsName = unpack . capitalize++mkFieldName :: String -> Text -> FieldName+mkFieldName hsPrefix n = FieldName+ { overloadedName = fromString n'+ , haskellRecordFieldName = fromString $ "_" ++ hsPrefix ++ n'+ }+ where+ n' = fieldBaseName n++-- | Get the name in Haskell of a proto field, taking care of camel casing and+-- clashes with language keywords. Doesn't handle the name prefix of the+-- containing type.+fieldBaseName :: Text -> String+fieldBaseName = unpack . disambiguate . camelCase+ where+ disambiguate s+ | s `Set.member` reservedKeywords = s <> "'"+ | otherwise = s++camelCase :: Text -> Text+camelCase s =+ -- Preserve any initial underlines (e.g., "_foo_bar" -> "_fooBar").+ let (underlines, rest) = T.span (== '_') s+ in case splitOn "_" rest of+ -- splitOn always returns a list with at least one element.+ [] -> error $ "camelCase: splitOn returned empty list: "+ ++ show rest+ [""] -> error $ "camelCase: name consists only of underscores: "+ ++ show s+ s':ss -> T.concat $ underlines : lowerInitialChars s' : map capitalize ss++-- | Lower-case all initial upper-case characters.+-- For example: "Foo" -> "foo", "FooBar" -> "fooBar", "FOObar" -> "foobar"+lowerInitialChars :: Text -> Text+lowerInitialChars s = toLower pre <> post+ where (pre, post) = T.span isUpper s++-- | A list of reserved keywords that aren't valid as variable names.+reservedKeywords :: Set.Set Text+reservedKeywords = Set.fromList $+ -- Haskell2010 keywords:+ -- https://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-180002.4+ -- We don't include keywords that are allowed to be variable names,+ -- in particular: "as" and "hiding".+ [ "case"+ , "class"+ , "data"+ , "default"+ , "deriving"+ , "do"+ , "else"+ , "forall"+ , "foreign"+ , "if"+ , "import"+ , "in"+ , "infix"+ , "infixl"+ , "infixr"+ , "instance"+ , "let"+ , "module"+ , "newtype"+ , "of"+ , "then"+ , "type"+ , "where"+ ]+ ++ -- Nonstandard extensions+ [ "mdo" -- RecursiveDo+ , "rec" -- Arrows, RecursiveDo+ , "pattern" -- PatternSynonyms+ , "proc" -- Arrows+ ]++-- | Generate the definition for an enum type.+enumDef :: FeatureSet -> Text -> String -> EnumDescriptorProto+ -> (Text, Definition OccNameStr)+enumDef features protoPrefix hsPrefix d = let+ mkText n = protoPrefix <> n+ mkHsName n = fromString $ hsPrefix ++ case hsName n of+ ('_':xs) -> 'X':xs+ xs -> xs+ -- Include enum-scope feature overrides.+ features' = case d ^. #options . #maybe'features of+ Just overrides -> overrides `mergedInto` features+ Nothing -> features+ in (mkText (d ^. #name)+ , Enum EnumInfo+ { enumName = mkHsName (d ^. #name)+ , enumUnrecognized = case features' ^. #enumType of+ FeatureSet'CLOSED -> Nothing+ FeatureSet'OPEN ->+ Just EnumUnrecognizedInfo+ { unrecognizedName+ = mkHsName (d ^. #name <> "'Unrecognized")+ , unrecognizedValueName+ = mkHsName (d ^. #name <> "'UnrecognizedValue")+ }+ _ -> error $ "Has unknown enum type: " ++ show (d ^. #name)+ , enumDescriptor = d+ , enumValues = collectEnumValues mkHsName $ d ^. #value+ })++-- | Generate the definitions for each enum value. In particular, decide+-- whether it's a true constructor or a PatternSynonym to another+-- constructor.+--+-- Like Java, we treat the first case of each numeric value as the "real"+-- constructor, and subsequent cases as synonyms.+collectEnumValues :: (Text -> OccNameStr) -> [EnumValueDescriptorProto]+ -> [EnumValueInfo OccNameStr]+collectEnumValues mkHsName = snd . mapAccumL helper Map.empty+ where+ helper :: Map.Map Int32 OccNameStr -> EnumValueDescriptorProto+ -> (Map.Map Int32 OccNameStr, EnumValueInfo OccNameStr)+ helper seenNames v+ | Just n' <- Map.lookup k seenNames = (seenNames, mkValue (Just n'))+ | otherwise = (Map.insert k n seenNames, mkValue Nothing)+ where+ mkValue = EnumValueInfo n v+ n = mkHsName (v ^. #name)+ k = v ^. #number++-- Haskell types must start with an uppercase letter, so we capitalize message+-- and enum names.+-- OccNameStr collisions will show up as build errors in the generated haskell file.+capitalize :: Text -> Text+capitalize s+ | Just (c, s') <- uncons s = cons (toUpper c) s'+ | otherwise = s++overloadedFieldName :: FieldInfo -> Symbol+overloadedFieldName = overloadedName . fieldName
+ app/Data/ProtoLens/Compiler/Editions/Defaults.hs view
@@ -0,0 +1,43 @@+-- Copyright 2024 Google LLC. All Rights Reserved.+--+-- Use of this source code is governed by a BSD-style+-- license that can be found in the LICENSE file or at+-- https://developers.google.com/open-source/licenses/bsd++{-|+Module: Data.ProtoLens.Compiler.Editions.Defaults+Description: Exports defaults for native features in Protobuf Editions.+Copyright: Copyright (c) 2024 Google LLC+License: BSD3+-}+module Data.ProtoLens.Compiler.Editions.Defaults (nativeDefaults) where++import Data.ByteString (ByteString)+import Data.ProtoLens (decodeMessage)+import Proto.Google.Protobuf.Descriptor (FeatureSetDefaults)++{-| 'FeatureSetDefaults' message containing feature defaults.++This contains the defaults from editions @LEGACY@ to @EDITION_2023@+for the native features defined by @google.protobuf.FeatureSet@.+-}+nativeDefaults :: FeatureSetDefaults+nativeDefaults+ | Right m <- msg = m+ | Left e <- msg = error $ "unable to decode built-in defaults: " ++ e+ where msg = decodeMessage serializedNativeDefaults++{-| Serialized 'FeatureSetDefaults' message containing feature defaults.++This contains the defaults from editions @PROTO2@ to @EDITION_2024@+for the native features defined by @google.protobuf.FeatureSet@.+The message was generated with @protoc@ and translated into a Haskell string:++> $ protoc --edition_defaults_out=defaults.binpb --edition_defaults_minimum=PROTO2 --edition_defaults_maximum=2024 google/protobuf/descriptor.proto+> $ ghci+> ghci> import Data.ByteString as B+> ghci> B.readFile "defaults.binpb" >>= print . show++-}+serializedNativeDefaults :: ByteString+serializedNativeDefaults = read "\"\\n\\DC3\\CAN\\132\\a\\\"\\NUL*\\f\\b\\SOH\\DLE\\STX\\CAN\\STX \\ETX(\\SOH0\\STX\\n\\DC3\\CAN\\231\\a\\\"\\NUL*\\f\\b\\STX\\DLE\\SOH\\CAN\\SOH \\STX(\\SOH0\\SOH\\n\\DC3\\CAN\\232\\a\\\"\\f\\b\\SOH\\DLE\\SOH\\CAN\\SOH \\STX(\\SOH0\\SOH*\\NUL \\230\\a(\\233\\a\""
+ app/Data/ProtoLens/Compiler/Editions/Features.hs view
@@ -0,0 +1,94 @@+-- Copyright 2024 Google LLC. All Rights Reserved.+--+-- Use of this source code is governed by a BSD-style+-- license that can be found in the LICENSE file or at+-- https://developers.google.com/open-source/licenses/bsd++{-# LANGUAGE OverloadedLabels #-}+{-# LANGUAGE OverloadedStrings #-}++{-|+Module: Data.ProtoLens.Compiler.Editions.Features+Description: Resolves a feature set for a particular edition with Protobuf Editions.+Copyright: Copyright (c) 2024 Google LLC+License: BSD3+-}+module Data.ProtoLens.Compiler.Editions.Features+ ( featuresForEdition+ , featuresForEditionFromDefaults+ , mergedInto+ ) where++import Control.Applicative ((<|>))+import Data.ProtoLens (defMessage)+import Data.ProtoLens.Compiler.Editions.Defaults (nativeDefaults)+import Data.ProtoLens.Labels ()+import qualified Data.Text as T+import Data.Text (Text)+import Lens.Family2 ((^.), (.~), (&))+import Proto.Google.Protobuf.Descriptor+ ( Edition+ , FeatureSet+ , FeatureSetDefaults)++{-|+Returns the native feature set defaults for the given edition.++Native features refer to the fields directly defined by 'FeatureSet'.+Features defined as extensions of 'FeatureSet' would be custom features.+-}+featuresForEdition :: Edition -> Either Text FeatureSet+featuresForEdition = featuresForEditionFromDefaults nativeDefaults++{-|+Given the feature set defaults for multiple editions,+return the feature set defaults for the given edition.++If extensions were supported, this could be used directly+to resolve custom features defined as extensions of 'FeatureSet'+for a particular edition.+-}+featuresForEditionFromDefaults+ :: FeatureSetDefaults+ -> Edition+ -> Either Text FeatureSet+featuresForEditionFromDefaults defaults edition+ | (d : _) <- candidates =+ Right $ (d ^. #overridableFeatures) `mergedInto` (d ^. #fixedFeatures)+ | otherwise =+ Left $ "Unsupported edition. Tag number: " <> (T.pack . show . fromEnum) edition+ where+ candidates = dropWhile (\d -> d ^. #edition > edition) recentFirst++ -- #defaults is supposed to be in ascending order of editions+ recentFirst = reverse $ defaults ^. #defaults++{-|+Returns the result of merging a 'FeatureSet' message into another 'FeatureSet' message.++The semantics are the same as @MergeFrom@ in C++.+When merging a message A into a message B, then any field that has a value in A+will override the value of the same field in B,+otherwise the field in B is used as is.++Consider using this function as an infix operator.+For example,++>>> let c = a `mergedInto` b++could be read like "message C is the message A merged into message B".++If merging was generally supported for all messages,+we would use it directly instead of using this custom implementation for 'FeatureSet'.+This does not support merging extensions or unknown fields.+-}+mergedInto :: FeatureSet -- ^ Feature set to merge from.+ -> FeatureSet -- ^ Feature set to merge into.+ -> FeatureSet -- ^ The merged feature set.+mergedInto a b = defMessage+ & #maybe'fieldPresence .~ (a ^. #maybe'fieldPresence <|> b ^. #maybe'fieldPresence)+ & #maybe'enumType .~ (a ^. #maybe'enumType <|> b ^. #maybe'enumType)+ & #maybe'repeatedFieldEncoding .~ (a ^. #maybe'repeatedFieldEncoding <|> b ^. #maybe'repeatedFieldEncoding)+ & #maybe'utf8Validation .~ (a ^. #maybe'utf8Validation <|> b ^. #maybe'utf8Validation)+ & #maybe'messageEncoding .~ (a ^. #maybe'messageEncoding <|> b ^. #maybe'messageEncoding)+ & #maybe'jsonFormat .~ (a ^. #maybe'jsonFormat <|> b ^. #maybe'jsonFormat)
+ app/Data/ProtoLens/Compiler/Generate.hs view
@@ -0,0 +1,1108 @@+-- Copyright 2016 Google Inc. All Rights Reserved.+--+-- Use of this source code is governed by a BSD-style+-- license that can be found in the LICENSE file or at+-- https://developers.google.com/open-source/licenses/bsd++-- | This module builds the actual, generated Haskell file+-- for a given input .proto file.+{-# LANGUAGE CPP #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedLabels #-}+{-# LANGUAGE OverloadedStrings #-}+module Data.ProtoLens.Compiler.Generate(+ generateModule,+ ) where+++import Control.Arrow (second)+import qualified Data.Foldable as F+import qualified Data.List as List+import qualified Data.Map as Map+import Data.Maybe (isJust)+#if !MIN_VERSION_base(4,11,0)+import Data.Semigroup ((<>))+#endif+import Data.Ord (comparing)+import qualified Data.Set as Set+import Data.String (fromString)+import Data.Text (unpack)+import qualified Data.Text as T+import Data.Tuple (swap)+import GHC.SourceGen+#if MIN_VERSION_ghc(8,10,0)+import GHC.Hs (ideclName, ideclAs)+#else+import HsSyn (ideclName, ideclAs)+#endif+#if MIN_VERSION_ghc(9,10,0)+import GHC.Parser.Annotation (noAnn)+#elif MIN_VERSION_ghc(9,2,0)+import GHC.Parser.Annotation (EpAnn(EpAnnNotUsed), SrcSpanAnn'(SrcSpanAnn))+#endif+#if MIN_VERSION_ghc(9,0,0)+#if MIN_VERSION_ghc(9,6,0)+import Language.Haskell.Syntax.Module.Name (moduleNameString, mkModuleName)+#else+import GHC.Unit.Module.Name (moduleNameString, mkModuleName)+#endif+import qualified GHC.Utils.Outputable as Outputable+import GHC.Types.SrcLoc (unLoc)+import qualified GHC.Types.SrcLoc as SrcLoc+#else+import Module (moduleNameString, mkModuleName)+import qualified Outputable+import SrcLoc (unLoc)+import qualified SrcLoc+#endif+import Lens.Family2 ((^.))+import Text.Printf (printf)++import Proto.Google.Protobuf.Descriptor+ ( EnumValueDescriptorProto+ , FileDescriptorProto+ , FieldDescriptorProto+ , FieldDescriptorProto'Type(..)+ )++import Data.ProtoLens.Compiler.Definitions+import Data.ProtoLens.Compiler.Generate.Commented+import Data.ProtoLens.Compiler.Generate.Encoding+import Data.ProtoLens.Compiler.Generate.Field+ ( hsFieldType+ , hsFieldVectorType+ )++import Data.ProtoLens.Encoding (encodeMessage)+import qualified Data.ByteString as BS++-- Whether to import the "Runtime" modules or the originals;+-- e.g., Data.ProtoLens.Runtime.Data.Map vs Data.Map.+data UseRuntime = UseRuntime | UseOriginal+ deriving (Eq, Read)++-- | Generate a Haskell module for the given input file(s).+-- input contains all defined names, incl. those in this module+generateModule :: ModuleNameStr+ -> FileDescriptorProto -- ^ The complete file descriptor+ -> [ModuleNameStr] -- ^ The imported modules+ -> [ModuleNameStr] -- ^ The publicly imported modules+ -> Env OccNameStr -- ^ Definitions in this file+ -> Env RdrNameStr -- ^ Definitions in the imported modules+ -> [ServiceInfo]+ -> [CommentedModule]+generateModule modName fdesc imports publicImports definitions importedEnv services+ = [ CommentedModule pragmas+ (module' (Just modName)+ (Just $ serviceExports+ ++ concatMap generateExports (Map.elems definitions)+ ++ map moduleContents publicImports)+ (mainImports ++ sharedImports+ ++ map importQualified (imports List.\\ publicImports)+ ++ map import' publicImports)+ [])+ $ concatMap generateDecls (Map.toList definitions)+ ++ map uncommented (concatMap (generateServiceDecls env) services)+ ++ map uncommented packedFileDescriptorProto+ , CommentedModule pragmas+ (module' (Just fieldModName) Nothing+ (sharedImports ++ map importQualified imports) [])+ $ map uncommented+ $ concatMap generateFieldDecls allLensNames+ ]+ where+ fieldModName = fromString $ moduleNameString (unModuleNameStr modName) ++ "_Fields"+ pragmas =+ [ languagePragma $ List.intercalate ", " $ map fromString+ ["ScopedTypeVariables", "DataKinds", "TypeFamilies",+ "UndecidableInstances", "GeneralizedNewtypeDeriving",+ "MultiParamTypeClasses", "FlexibleContexts", "FlexibleInstances",+ "PatternSynonyms", "MagicHash", "NoImplicitPrelude",+ "DataKinds", "BangPatterns", "TypeApplications",+ "OverloadedStrings", "DerivingStrategies"]+ -- Allow unused imports in case we don't import anything from+ -- Data.Text, Data.Int, etc.+ , optionsGhcPragma "-Wno-unused-imports"+ -- haskell-src-exts doesn't support exporting `Foo(..., A, B)`+ -- in a single entry, so we use two: `Foo(..)` and `Foo(A, B)`.+ , optionsGhcPragma "-Wno-duplicate-exports"+ -- Don't warn if empty "import public" modules are reexported.+ , optionsGhcPragma "-Wno-dodgy-exports"+ ]+ mainImports = map (reexported . importQualified)+ [ "Control.DeepSeq", "Data.ProtoLens.Prism" ]+ sharedImports = map (reexported . importQualified)+ [ "Prelude", "Data.Int", "Data.Monoid", "Data.Word"+ , "Data.ProtoLens"+ , "Data.ProtoLens.Encoding.Bytes"+ , "Data.ProtoLens.Encoding.Growing"+ , "Data.ProtoLens.Encoding.Parser.Unsafe"+ , "Data.ProtoLens.Encoding.Wire"+ , "Data.ProtoLens.Field"+ , "Data.ProtoLens.Message.Enum"+ , "Data.ProtoLens.Service.Types"+ , "Lens.Family2", "Lens.Family2.Unchecked"+ , "Data.Text", "Data.Map", "Data.ByteString", "Data.ByteString.Char8"+ , "Data.Text.Encoding"+ , "Data.Vector"+ , "Data.Vector.Generic"+ , "Data.Vector.Unboxed"+ , "Text.Read"+ ]+ env = Map.union (unqualifyEnv definitions) importedEnv+ generateDecls (protoName, Message m)+ = generateMessageDecls fieldModName env (stripDotPrefix protoName) m+ ++ map uncommented (concatMap (generatePrisms env) (messageOneofFields m))+ generateDecls (_, Enum e) = map uncommented $ generateEnumDecls e+ generateExports (Message m) = generateMessageExports m+ ++ concatMap generatePrismExports (messageOneofFields m)+ generateExports (Enum e) = generateEnumExports e+ serviceExports = fmap generateServiceExports services+ allLensNames = F.toList $ Set.fromList+ [ lensSymbol inst+ | Message m <- Map.elems definitions+ , info <- allMessageFields env m+ , inst <- recordFieldLenses info+ ]+ -- The packedFileDescriptorProto is a file level definition that's+ -- shared across all message definitions. If there are no+ -- messages, it's omitted since it's only used inside of Message+ -- instances.+ packedFileDescriptorProto+ | null [m | Message m <- Map.elems definitions] = []+ | otherwise = [+ typeSig "packedFileDescriptor" $ var "Data.ByteString.ByteString",+ valBind "packedFileDescriptor" $ string packedFDesc+ ]+ where+ packedFDesc = fmap (toEnum . fromEnum) . BS.unpack . encodeMessage $ fdesc+ -- The Env uses the convention that Message names are prefixed with '.'+ -- (since that's how the FileDescriptorProto refers to them).+ -- Strip that off when defining MessageDescriptor.messageName.+ stripDotPrefix s+ | Just ('.', s') <- T.uncons s = s'+ | otherwise = s++allMessageFields :: Env RdrNameStr -> MessageInfo OccNameStr -> [RecordField]+allMessageFields env info =+ map (plainRecordField env) (messageFields info)+ ++ map (oneofRecordField env) (messageOneofFields info)++{- We import modules as follows:++1) Modules from proto-lens-runtime: import qualified, strip the prefix:+ import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text++2) Modules from "import" declarations: import qualified:+ import qualified Proto.Foo.Bar++3) Modules from "import public" declarations: import unqualified:+ import Proto.Foo.Bar+ To reexport the imported declarations from the current module via+ module ... (module Proto.Foo.Bar)+ the module Proto.Foo.Bar needs to be unqualified.+ Alternately we could explicitly enumerate every definition being reexported, but+ that would lead to less readable Haddocks and also make codegen a little more+ complicated.+-}++importQualified :: ModuleNameStr -> ImportDecl'+importQualified = qualified' . import'++type ModifyImports = ImportDecl' -> ImportDecl'++reexported :: ModifyImports+reexported imp = imp { ideclName = noLoc m', ideclAs = Just m }+ where+#if MIN_VERSION_ghc(9,10,0)+ noLoc = SrcLoc.L noAnn+#elif MIN_VERSION_ghc(9,2,0)+ noLoc = SrcLoc.L (SrcSpanAnn EpAnnNotUsed SrcLoc.noSrcSpan)+#else+ noLoc = SrcLoc.noLoc+#endif+ m' = mkModuleName $ "Data.ProtoLens.Runtime." ++ moduleNameString (unLoc m)+ m = ideclName imp++messageComment :: ModuleNameStr -> OccNameStr -> [RecordField] -> Outputable.SDoc+messageComment fieldModName n fields =+ Outputable.vcat+ $ [Outputable.text "Fields :", ""]+ ++ map item (concatMap recordFieldLenses fields)+ where+ item :: LensInstance -> Outputable.SDoc+ item l = Outputable.text (printf " * '%s.%s' @:: "+ (moduleNameStrToString fieldModName)+ (occNameStrToString $ nameFromSymbol $ lensSymbol l))+ Outputable.<>+ Outputable.ppr (var "Lens'" @@ t @@ lensFieldType l)+ Outputable.<> Outputable.char '@'+ t = var (unqual n)++generateMessageExports :: MessageInfo OccNameStr -> [IE']+generateMessageExports m =+ -- Hide the message contructor, but expose "oneof" case constructors.+ thingWith (unqual $ messageName m) []+ : map (thingAll . unqual . oneofTypeName)+ (messageOneofFields m)++generateServiceDecls :: Env RdrNameStr -> ServiceInfo -> [HsDecl']+generateServiceDecls env si =+ -- data MyService = MyService+ [ data' serverDataName []+ [ recordCon serverDataName []+ ]+ []+ ] +++ -- instance Data.ProtoLens.Service.Types.Service MyService where+ -- type ServiceName MyService = "myService"+ -- type ServicePackage MyService = "some.package"+ -- type ServiceMethods MyService = '["normalMethod", "streamingMethod"]+ -- packedServiceDescriptor _ = ...+ [ instance' (var "Data.ProtoLens.Service.Types.Service" @@ serverRecordType)+ [ tyFamInst "ServiceName" [serverRecordType]+ . stringTy . T.unpack $ serviceName si+ , tyFamInst "ServicePackage" [serverRecordType]+ . stringTy . T.unpack $ servicePackage si+ , tyFamInst "ServiceMethods" [serverRecordType]+ $ listPromotedTy+ [ stringTy . T.unpack $ methodIdent m+ | m <- List.sortBy (comparing methodIdent) $ serviceMethods si+ ]+ , funBind "packedServiceDescriptor" $ match [wildP] $ string svcDescriptor+ ]+ ] +++ -- instance Data.ProtoLens.Service.Types.HasMethodImpl MyService "normalMethod" where+ -- type MethodInput MyService "normalMethod" = Foo+ -- type MethodOutput MyService "normalMethod" = Bar+ -- type IsClientStreaming MyService "normalMethod" = 'False+ -- type IsServerStreaming MyService "normalMethod" = 'False+ [ instance' (var "Data.ProtoLens.Service.Types.HasMethodImpl" @@ serverRecordType @@ instanceHead)+ [ tyFamInst "MethodName" [serverRecordType, instanceHead]+ . stringTy . T.unpack $ methodName m+ , tyFamInst "MethodInput" [serverRecordType, instanceHead]+ . lookupType $ methodInput m+ , tyFamInst "MethodOutput" [serverRecordType, instanceHead]+ . lookupType $ methodOutput m+ , tyFamInst "MethodStreamingType" [serverRecordType, instanceHead]+ . tyPromotedVar+ $ case (methodClientStreaming m, methodServerStreaming m) of+ (False, False) -> "Data.ProtoLens.Service.Types.NonStreaming"+ (True, False) -> "Data.ProtoLens.Service.Types.ClientStreaming"+ (False, True) -> "Data.ProtoLens.Service.Types.ServerStreaming"+ (True, True) -> "Data.ProtoLens.Service.Types.BiDiStreaming"+ ]+ | m <- serviceMethods si+ , let instanceHead = stringTy (T.unpack $ methodIdent m)+ ]+ where+ svcDescriptor = fmap (toEnum . fromEnum) . BS.unpack . encodeMessage $ serviceDescriptor si+ serverDataName = fromString . T.unpack $ serviceName si+ serverRecordType = var $ unqual serverDataName++ lookupType t = case definedType t env of+ Message msg -> var $ messageName msg+ Enum _ -> error "Service must have a message type"+++generateMessageDecls :: ModuleNameStr -> Env RdrNameStr -> T.Text -> MessageInfo OccNameStr -> [CommentedDecl]+generateMessageDecls fieldModName env protoName info =+ -- data Bar = Bar {+ -- foo :: Baz+ -- }+ [ commented (messageComment fieldModName (messageName info) allFields)+ $ data' dataName []+ [recordCon (messageConstructorName info) $+ [ (recordFieldName f, strict $ field $ recordFieldType f)+ | f <- allFields+ ]+ ++ [(messageUnknownFields info, strict $ field $ var "Data.ProtoLens.FieldSet")]+ ]+ [derivingStock [var "Prelude.Eq", var "Prelude.Ord"]]+ -- instance Show Bar where+ -- showsPrec __x __s = showChar '{' (showString (showMessageShort __x) (showChar '}' s))+ , uncommented $+ instance' (var "Prelude.Show" @@ dataType)+ [funBind "showsPrec" $ match [bvar "_", bvar "__x", bvar "__s"]+ $ var "Prelude.showChar" @@ char '{'+ @@ (var "Prelude.showString"+ @@ (var "Data.ProtoLens.showMessageShort" @@ var "__x")+ @@ (var "Prelude.showChar" @@ char '}' @@ var "__s"))]+ ] +++ -- oneof field data type declarations+ -- proto: message Foo {+ -- oneof bar {+ -- float c = 1;+ -- Sub s = 2;+ -- }+ -- }+ -- haskell: data Foo'Bar = Foo'Bar'c !Prelude.Float+ -- | Foo'Bar's !Sub+ [ uncommented $ data' (oneofTypeName oneofInfo) []+ [ prefixCon consName [strict $ field $ hsFieldType env f]+ | c <- oneofCases oneofInfo+ , let f = caseField c+ , let consName = caseConstructorName c+ ]+ [derivingStock [var "Prelude.Show", var "Prelude.Eq", var "Prelude.Ord"]]+ | oneofInfo <- messageOneofFields info+ ] +++ -- instance HasField Foo "foo" Bar+ -- fieldOf _ = ...+ -- Note: for optional fields, this generates an instance both for "foo" and+ -- for "maybe'foo" (see plainRecordField below).+ [ uncommented $ instance'+ (var "Data.ProtoLens.Field.HasField" @@ dataType @@ sym @@ t)+ [funBind "fieldOf" $ match [wildP] $+ var "Prelude.."+ @@ rawFieldAccessor (unqual $ recordFieldName li)+ @@ lensExp i]+ | li <- allFields+ , i <- recordFieldLenses li+ , let t = lensFieldType i+ , let sym = promoteSymbol $ lensSymbol i+ ]+ +++ -- instance Message.Message Bar where+ [ uncommented $ instance' (var "Data.ProtoLens.Message" @@ dataType)+ $ messageInstance env protoName info+ -- instance NFData Bar where+ , uncommented $ instance' (var "Control.DeepSeq.NFData" @@ dataType)+ [valBind "rnf" $ messageRnfExpr info]+ ] +++ -- instance NFData Foo'Bar where+ [ uncommented $+ instance' (var "Control.DeepSeq.NFData" @@+ var (unqual $ oneofTypeName o))+ [funBinds "rnf" $ map oneofRnfMatch $ oneofCases o]+ | o <- messageOneofFields info+ ]+ where+ dataType = var $ unqual dataName+ dataName = messageName info+ allFields = allMessageFields env info++-- oneof Prism declarations+-- proto: message Foo {+-- oneof bar {+-- float c = 1;+-- Sub s = 2;+-- }+-- }+-- haskell: _Foo'C :: Prism' Bar'C Float+-- _Foo'S :: Prism' Bar'S Sub+--+-- example of the function definition for _Foo'C:+-- _Foo'C :: Prism' Bar'C Float+-- _Foo'C+-- = prism' Bar'C+-- (\ p__ ->+-- case p__ of+-- Bar'C p__val -> Prelude.Just p__val+-- _otherwise -> Prelude.Nothing)+generatePrisms :: Env RdrNameStr -> OneofInfo -> [HsDecl']+generatePrisms env oneofInfo =+ if length cases > 1+ then concatMap (generatePrism altOtherwise) cases+ else concatMap (generatePrism mempty) cases+ where+ cases = oneofCases oneofInfo+ altOtherwise = [match [bvar "_otherwise"] (var "Prelude.Nothing")]++ -- Generate type signature+ -- e.g. Prism' Bar'C Float+ generateTypeSig f funName =+ typeSig funName $ var "Data.ProtoLens.Prism.Prism'"+ -- The oneof sum type name+ @@ (var . unqual $ oneofTypeName oneofInfo)+ -- The field contained in the sum+ @@ hsFieldType env f+ -- Generate function definition+ -- Prism' is constructed with Constructor for building value+ -- and Deconstructor and wrapping in Just for getting value+ generateFunDef :: [RawMatch] -> OccNameStr -> HsExpr'+ generateFunDef otherwiseCase consName =+ var "Data.ProtoLens.Prism.prism'"+ -- Sum type constructor+ @@ var (unqual consName)+ -- Case deconstruction+ @@ lambda [bvar "p__"] (+ case' (var "p__") $+ match [conP (unqual consName) [bvar "p__val"]]+ (var "Prelude.Just" @@ var "p__val")+ -- We want to generate the otherwise case+ -- depending on the amount of sum type cases there are+ : otherwiseCase+ )+ generatePrism :: [RawMatch] -> OneofCase -> [HsDecl']+ generatePrism otherwiseCase oneofCase =+ let consName = caseConstructorName oneofCase+ prismName = casePrismName oneofCase+ in [ generateTypeSig (caseField oneofCase) prismName+ , valBind prismName $ generateFunDef otherwiseCase consName+ ]++generatePrismExports :: OneofInfo -> [IE']+generatePrismExports = map (var . unqual . casePrismName) . oneofCases++generateEnumExports :: EnumInfo OccNameStr -> [IE']+generateEnumExports e = [thingAll n, thingWith n aliases] ++ proto3NewType+ where+ n = unqual $ enumName e+ aliases = [enumValueName v | v <- enumValues e, needsManualExport v]+ needsManualExport v = isJust (enumAliasOf v)+ proto3NewType = case enumUnrecognized e of+ Just u -> [var . unqual $ unrecognizedValueName u]+ Nothing -> []++generateServiceExports :: ServiceInfo -> IE'+generateServiceExports si = thingAll $ unqual $ fromString $ T.unpack $ serviceName si++generateEnumDecls :: EnumInfo OccNameStr -> [HsDecl']+generateEnumDecls info =+ -- Proto3-only:+ -- newtype FooEnum'UnrecognizedValue = FooEnum'UnrecognizedValue Data.Int.Int32+ -- deriving (Prelude.Eq, Prelude.Ord, Prelude.Show, Prelude.Read)+ [ newtype' (unrecognizedValueName u) []+ (prefixCon (unrecognizedValueName u) [field $ var "Data.Int.Int32"])+ [derivingStock [var "Prelude.Eq", var "Prelude.Ord", var "Prelude.Show"]]+ | Just u <- [unrecognized]+ ]+ ++++ -- data FooEnum+ -- = Enum1+ -- | Enum2+ -- | FooEnum'Unrecognized !FooEnum'UnrecognizedValue+ -- deriving (Prelude.Show, Prelude.Eq, Prelude.Ord, Prelude.Read)+ [ data' dataName []+ ( (flip prefixCon [] <$> constructorNames)+ ++ [ prefixCon (unrecognizedName u)+ [strict $ field $ var $ unqual $ unrecognizedValueName u]+ | Just u <- [unrecognized]+ ]+ )+ [derivingStock [var "Prelude.Show", var "Prelude.Eq", var "Prelude.Ord"]]++ -- instance Data.ProtoLens.MessageEnum FooEnum where+ -- maybeToEnum 0 = Prelude.Just Enum1+ -- maybeToEnum 3 = Prelude.Just Enum2+ -- maybeToEnum k+ -- -- Proto3:+ -- = Prelude.Just+ -- (FooEnum'Unrecognized+ -- (FooEnum'UnrecognizedValue (Prelude.fromIntegral k)))+ -- -- Proto2:+ -- = Nothing+ --+ -- showEnum Foo'Enum2 = "Enum2"+ -- showEnum Foo'Enum1 = "Enum1"+ -- showEnum (FooEnum'Unrecognized (FooEnum'UnrecognizedValue k))+ -- = Prelude.show k+ --+ -- readEnum k+ -- | k == "Enum2a" = Prelude.Just Enum2a -- alias+ -- | k == "Enum2" = Prelude.Just Enum2+ -- | k == "Enum1" = Prelude.Just Enum1+ -- readEnum k = Text.Read.readMaybe k >>= maybeToEnum+ , instance' (var "Data.ProtoLens.MessageEnum" @@ dataType)+ [ funBinds "maybeToEnum" $+ [ match [int k] $ var "Prelude.Just" @@ var (unqual c)+ | (c, k) <- constructorNumbers+ ]+ +++ [ case enumUnrecognized info of+ Nothing -> match [wildP] $ var "Prelude.Nothing"+ Just u -> match [bvar "k"]+ $ var "Prelude.Just" @@+ (var (unqual $ unrecognizedName u)+ @@ (var (unqual $ unrecognizedValueName u)+ @@ (var "Prelude.fromIntegral" @@ var "k")+ )+ )+ ]+ , funBinds "showEnum" $+ [ match [conP_ (unqual n)] $ string pn+ | v <- filter (null . enumAliasOf) $ enumValues info+ , let n = enumValueName v+ , let pn = T.unpack $ enumValueDescriptor v ^. #name+ ] +++ [ match [conP (unqual $ unrecognizedName u)+ [conP (unqual $ unrecognizedValueName u) [bvar "k"]]+ ]+ $ var "Prelude.show" @@ var "k"+ | Just u <- [unrecognized]+ ]+ , funBind "readEnum" $ matchGRHSs [bvar "k"] $ guardedRhs $+ [ guard (var "Prelude.==" @@ var "k" @@ string pn)+ $ var "Prelude.Just" @@ var (unqual n)+ | v <- enumValues info+ , let n = enumValueName v+ , let pn = T.unpack $ enumValueDescriptor v ^. #name+ ]+ ++ [guard (var "Prelude.otherwise") $ var "Prelude.>>="+ @@ (var "Text.Read.readMaybe" @@ var "k")+ @@ var "Data.ProtoLens.maybeToEnum"]+ ]++ -- instance Bounded Foo where+ -- minBound = Foo1+ -- maxBound = FooN+ , instance' (var "Prelude.Bounded" @@ dataType)+ [ valBind "minBound" $ var $ unqual minBoundName+ , valBind "maxBound" $ var $ unqual maxBoundName+ ]++ -- instance Enum Foo where+ -- toEnum k = maybe (error ("Foo.toEnum: unknown argument for enum Foo: "+ -- ++ show k))+ -- id (maybeToEnum k)+ -- fromEnum Foo1 = 1+ -- fromEnum Foo2 = 2+ -- ..+ -- succ FooN = error "Foo.succ: bad argument FooN."+ -- succ Foo1 = Foo2+ -- succ Foo2 = Foo3+ -- ..+ -- pred Foo1 = error "Foo.succ: bad argument Foo1."+ -- pred Foo2 = Foo1+ -- pred Foo3 = Foo2+ -- ..+ -- enumFrom = messageEnumFrom+ -- enumFromTo = messageEnumFromTo+ -- enumFromThen = messageEnumFromThen+ -- enumFromThenTo = messageEnumFromThenTo+ , instance' (var "Prelude.Enum" @@ dataType)+ [funBind "toEnum" $ match [bvar "k__"]+ $ var "Prelude.maybe" @@ errorMessageExpr @@ var "Prelude.id"+ @@ (var "Data.ProtoLens.maybeToEnum" @@ var "k__")+ , funBinds "fromEnum" $+ [ match [conP_ (unqual c)] $ int k+ | (c, k) <- constructorNumbers+ ]+ +++ [ match [conP (unqual $ unrecognizedName u)+ [conP (unqual $ unrecognizedValueName u) [bvar "k"]]+ ]+ $ var "Prelude.fromIntegral" @@ var "k"+ | Just u <- [unrecognized]+ ]+ , succDecl "succ" maxBoundName succPairs+ , succDecl "pred" minBoundName $ map swap succPairs+ , valBind "enumFrom" $ var "Data.ProtoLens.Message.Enum.messageEnumFrom"+ , valBind "enumFromTo" $ var "Data.ProtoLens.Message.Enum.messageEnumFromTo"+ , valBind "enumFromThen" $ var "Data.ProtoLens.Message.Enum.messageEnumFromThen"+ , valBind "enumFromThenTo"+ $ var "Data.ProtoLens.Message.Enum.messageEnumFromThenTo"+ ]++ -- instance Data.ProtoLens.FieldDefault Foo where+ -- fieldDefault = FirstEnumValue+ , instance' (var "Data.ProtoLens.FieldDefault" @@ dataType)+ [valBind "fieldDefault" defaultCon]++ -- instance NFData Foo where+ -- rnf x__ = seq x__ ()+ -- (Trivial since enum types are already strict)+ , instance' (var "Control.DeepSeq.NFData" @@ dataType)+ [ funBind "rnf" $ match [bvar "x__"]+ $ var "Prelude.seq" @@ var "x__" @@ var "()" ]+ ] ++++ -- pattern Enum2a :: FooEnum+ -- pattern Enum2a = Enum2+ concat+ [ [ patSynSig aliasName dataType+ , patSynBind aliasName [] (bvar originalName)+ ]+ | EnumValueInfo+ { enumValueName = aliasName+ , enumAliasOf = Just originalName+ } <- enumValues info+ ]++ where+ EnumInfo { enumName = dataName+ , enumUnrecognized = unrecognized+ , enumDescriptor = ed+ } = info+ errorMessage = "toEnum: unknown value for enum " ++ unpack (ed ^. #name)+ ++ ": "++ errorMessageExpr = var "Prelude.error"+ @@ (var "Prelude.++" @@ string errorMessage+ @@ (var "Prelude.show" @@ var "k__"))++ dataType = var $ unqual dataName++ constructors :: [(OccNameStr, EnumValueDescriptorProto)]+ constructors = List.sortBy (comparing ((^. #number) . snd))+ [(n, d) | EnumValueInfo+ { enumValueName = n+ , enumValueDescriptor = d+ , enumAliasOf = Nothing+ } <- enumValues info+ ]+ constructorNames = map fst constructors++ defaultCon = var $ unqual minBoundName++ (minBoundName, maxBoundName, succPairs) =+ case constructorNames of+ (c : cs) -> (c, last constructorNames, zip constructorNames cs)+ _ -> error $ "Unexpected empty constructors in " <> show (enumName info)++ constructorNumbers = map (second (fromIntegral . (^. #number))) constructors++ succDecl :: OccNameStr -> OccNameStr -> [(OccNameStr, OccNameStr)] -> RawInstDecl+ succDecl funName boundName thePairs = funBinds funName $+ match [conP_ (unqual boundName)]+ (var "Prelude.error" @@ string (concat+ [ occNameStrToString dataName, "."+ , occNameStrToString funName, ": bad argument "+ , occNameStrToString boundName+ , ". This value would be out of bounds."+ ]))+ :+ [ match [conP_ (unqual from')] $ var $ unqual to+ | (from', to) <- thePairs+ ]+ +++ [ match [conP (unqual $ unrecognizedName u) [wildP]]+ (var "Prelude.error" @@ string (concat+ [ occNameStrToString dataName, "."+ , occNameStrToString funName, ": bad argument: unrecognized value"++ ]))+ | Just u <- [unrecognized]+ ]++generateFieldDecls :: Symbol -> [HsDecl']+generateFieldDecls xStr =+ -- foo :: forall f s a+ -- . (Functor f, HasLens s x a) => LensLike' f s a+ -- foo = fieldOf @s+ [ typeSig x+ $ forall' [bvar "f", bvar "s", bvar "a"]+ $ [ var "Prelude.Functor" @@ var "f"+ , var "Data.ProtoLens.Field.HasField" @@ var "s" @@ xSym @@ var "a"+ ]+ ==> var "Lens.Family2.LensLike'" @@ var "f" @@ var "s" @@ var "a"+ , valBind x $ fieldOfExp xStr+ ]+ where+ x = nameFromSymbol xStr+ xSym = promoteSymbol xStr++------------------------------------------++-- | An individual field of the Haskell type corresponding to a proto message.+data RecordField = RecordField+ { recordFieldName :: OccNameStr -- ^ The Haskell name of this field (unique+ -- within the module).+ , recordFieldType :: HsType' -- ^ Internal type in the record+ , recordFieldLenses :: [LensInstance]+ -- ^ All of the (overloaded) lenses accessing this record field.+ }++-- | An instance of HasLens' for a particular field.+data LensInstance = LensInstance+ { lensSymbol :: Symbol+ -- ^ The overloaded name for this lens.+ , lensFieldType :: HsType'+ -- ^ The type pointed to from this lens.+ , lensExp :: HsExpr'+ -- ^ A lens from the recordFieldType to the lensFieldType; i.e.,+ -- from how it's actually stored in the Haskell record to how the+ -- lens views it.+ }++-- | Compile information about the record field type and type/class instances+-- for this particular field.+--+-- Used for "plain" record fields that are not part of a oneof.+plainRecordField :: Env RdrNameStr -> PlainFieldInfo -> RecordField+plainRecordField env (PlainFieldInfo kind f) = case kind of+ -- data Foo = Foo { _Foo_bar :: Bar }+ -- type instance Field "bar" Foo = Bar+ RequiredField+ -> recordField baseType+ [LensInstance+ { lensSymbol = baseName+ , lensFieldType = baseType+ , lensExp = rawAccessor+ }]+ OptionalValueField+ -> recordField baseType+ [LensInstance+ { lensSymbol = baseName+ , lensFieldType = baseType+ , lensExp = rawAccessor+ }]+ -- data Foo = Foo { _Foo_bar :: Maybe Bar }+ -- type instance Field "bar" Foo = Bar+ -- type instance Field "maybe'bar" Foo = Maybe Bar+ OptionalMaybeField ->+ recordField maybeType+ [LensInstance+ { lensSymbol = baseName+ , lensFieldType = baseType+ , lensExp = maybeAccessor+ }+ , LensInstance+ { lensSymbol = "maybe'" <> baseName+ , lensFieldType = maybeType+ , lensExp = rawAccessor+ }+ ]+ -- data Foo = Foo { _Foo_bar :: Map Bar Baz }+ -- type instance Field "foo" Foo = Map Bar Baz+ MapField entry ->+ let mapType = var "Data.Map.Map"+ @@ hsFieldType env (keyField entry)+ @@ hsFieldType env (valueField entry)+ in recordField mapType+ [LensInstance+ { lensSymbol = baseName+ , lensFieldType = mapType+ , lensExp = rawAccessor+ }]+ -- data Foo = Foo { _Foo_bar :: [Bar] }+ -- type instance Field "bar" Foo = [Bar]+ RepeatedField {} ->+ recordField vectorType+ [ LensInstance+ { lensSymbol = baseName+ , lensFieldType = listType+ , lensExp = vectorAccessor+ }+ , LensInstance+ { lensSymbol = "vec'" <> baseName+ , lensFieldType = vectorType+ , lensExp = rawAccessor+ }+ ]+ where+ recordField = RecordField (haskellRecordFieldName $ fieldName f)+ baseName = overloadedName $ fieldName f+ fd = fieldDescriptor f+ baseType = hsFieldType env f+ maybeType = var "Prelude.Maybe" @@ baseType+ listType = listTy baseType+ vectorType = hsFieldVectorType f @@ baseType+ rawAccessor = var "Prelude.id"+ maybeAccessor = var "Data.ProtoLens.maybeLens"+ @@ hsFieldValueDefault env fd++vectorAccessor :: HsExpr'+vectorAccessor = var "Lens.Family2.Unchecked.lens" @@ getter @@ setter+ where+ getter = var "Data.Vector.Generic.toList"+ setter = lambda [wildP, bvar "y__"]+ $ var "Data.Vector.Generic.fromList" @@ var "y__"++oneofRecordField :: Env RdrNameStr -> OneofInfo -> RecordField+oneofRecordField env oneofInfo+ = RecordField+ { recordFieldName = haskellRecordFieldName $ oneofFieldName oneofInfo+ , recordFieldType =+ var "Prelude.Maybe" @@ var (unqual $ oneofTypeName oneofInfo)+ , recordFieldLenses = lenses+ }+ where+ lenses =+ -- Only generate a "maybe" version of this lens,+ -- since oneofs don't have a notion of a "default" case.+ -- data Foo = Foo { _Foo'bar = Maybe Foo'Bar }+ -- type instance Field "maybe'bar" Foo = Maybe Foo'Bar+ LensInstance+ { lensSymbol = "maybe'" <> overloadedName+ (oneofFieldName oneofInfo)+ , lensFieldType =+ var "Prelude.Maybe" @@ var (unqual $ oneofTypeName oneofInfo)+ , lensExp = var "Prelude.id"+ }+ : concat+ -- Generate the same lenses for each sub-field of the oneof+ -- as if they were proto2 optional fields.+ -- type instance Field "bar" Foo = Bar+ -- type instance Field "maybe'bar" Foo = Maybe Bar+ [ [ LensInstance+ { lensSymbol = maybeName+ , lensFieldType = var "Prelude.Maybe" @@ baseType+ , lensExp = oneofFieldAccessor c+ }+ , LensInstance+ { lensSymbol = baseName+ , lensFieldType = baseType+ , lensExp = var "Prelude.."+ @@ oneofFieldAccessor c+ @@ (var "Data.ProtoLens.maybeLens"+ @@ hsFieldValueDefault env+ (fieldDescriptor f))+ }+ ]+ | c <- oneofCases oneofInfo+ , let f = caseField c+ , let baseName = overloadedName $ fieldName f+ , let baseType = hsFieldType env f+ , let maybeName = "maybe'" <> baseName+ ]++hsFieldDefault :: Env RdrNameStr -> PlainFieldInfo -> HsExpr'+hsFieldDefault env f = case plainFieldKind f of+ RequiredField -> hsFieldValueDefault env fd+ OptionalValueField -> hsFieldValueDefault env fd+ OptionalMaybeField -> var "Prelude.Nothing"+ MapField {} -> var "Data.Map.empty"+ RepeatedField {} -> var "Data.Vector.Generic.empty"+ where+ fd = fieldDescriptor (plainFieldInfo f)++hsFieldValueDefault :: Env RdrNameStr -> FieldDescriptorProto -> HsExpr'+hsFieldValueDefault env fd = case fd ^. #type' of+ FieldDescriptorProto'TYPE_MESSAGE -> var "Data.ProtoLens.defMessage"+ FieldDescriptorProto'TYPE_GROUP -> var "Data.ProtoLens.defMessage"+ FieldDescriptorProto'TYPE_ENUM+ | T.null def -> var "Data.ProtoLens.fieldDefault"+ | Enum e <- definedFieldType fd env+ , Just v <- List.lookup def [ (enumValueDescriptor v ^. #name, enumValueName v)+ | v <- enumValues e+ ]+ -> var v+ | otherwise -> errorMessage "enum"+ -- The rest of the cases are for scalar fields that have a fieldDefault+ -- instance.+ _ | T.null def -> var "Data.ProtoLens.fieldDefault"+ FieldDescriptorProto'TYPE_BOOL+ | def == "true" -> var "Prelude.True"+ | def == "false" -> var "Prelude.False"+ | otherwise -> errorMessage "bool"+ FieldDescriptorProto'TYPE_STRING+ -> var "Data.Text.pack" @@ string (T.unpack def)+ FieldDescriptorProto'TYPE_BYTES+ -> var "Data.ByteString.pack"+ @@ list (mkByte . fromEnum <$> T.unpack def)+ where mkByte c+ | c > 0 && c < 255 = int $ fromIntegral c+ | otherwise = errorMessage "bytes"+ FieldDescriptorProto'TYPE_FLOAT -> defaultFrac $ T.unpack def+ FieldDescriptorProto'TYPE_DOUBLE -> defaultFrac $ T.unpack def+ -- Otherwise, assume it's an integral field:+ _ -> defaultInt $ T.unpack def+ where+ def = fd ^. #defaultValue+ errorMessage fieldType+ = error $ "Bad default value " ++ show (T.unpack def)+ ++ " in default value for " ++ fieldType ++ " field "+ ++ unpack (fd ^. #name)+ -- float/double fields can use nan, inf and -inf as default values.+ -- The Prelude doesn't provide names for them, so we implement+ -- them as division by zero.+ defaultFrac "nan" = var "Prelude./" @@ frac 0 @@ frac 0+ defaultFrac "inf" = var "Prelude./" @@ frac 1 @@ frac 0+ defaultFrac "-inf" = var "Prelude./" @@ frac (negate 1) @@ frac 0+ defaultFrac s = case reads s of+ [(x, "")] -> frac $ toRational (x :: Double)+ _ -> errorMessage "fractional"+ defaultInt s = case reads s of+ [(x, "")] -> int x+ _ -> errorMessage "integral"++-- | A lens to access an internal field.+--+-- lens _Foo_bar (\x__ y__ -> x__ { _Foo_bar = y__ })+rawFieldAccessor :: RdrNameStr -> HsExpr'+rawFieldAccessor f = var "Lens.Family2.Unchecked.lens" @@ getter @@ setter+ where+ getter = var f+ setter = lambda [bvar "x__", bvar "y__"]+ $ recordUpd (var "x__") [(f, var "y__")]++-- | A lens that maps from a oneof sum type to one of its individual cases.+--+-- For example, with+-- data Foo = Bar Int32 | Baz Int64+--+-- this will generate a lens of type @Lens' (Maybe Foo) (Maybe Int32)@.+--+-- (Recall that oneofs are stored in a proto message as @Maybe Foo@, where+-- 'Nothing' means that it's either set to an unknown value or unset.)+--+-- lens+-- (\ x__ -> case x__ of+-- Prelude.Just (Foo'c x__val) -> Prelude.Just x__val+-- otherwise -> Prelude.Nothing)+-- (\ _ y__ -> fmap Foo'c y__+oneofFieldAccessor :: OneofCase -> HsExpr'+oneofFieldAccessor o+ = var "Lens.Family2.Unchecked.lens" @@ getter @@ setter+ where+ consName = caseConstructorName o+ getter = lambda [bvar "x__"] $+ case' (var "x__")+ [ match [conP "Prelude.Just" [conP (unqual consName) [bvar "x__val"]]]+ $ var "Prelude.Just" @@ var "x__val"+ , match [bvar "_otherwise"] $ var "Prelude.Nothing"+ ]+ setter = lambda [wildP, bvar "y__"]+ $ var "Prelude.fmap" @@ var (unqual consName) @@ var "y__"++messageInstance :: Env RdrNameStr -> T.Text -> MessageInfo OccNameStr -> [RawInstDecl]+messageInstance env protoName m =+ [ funBind "messageName" $ match [wildP] $+ var "Data.Text.pack" @@ string (T.unpack protoName)+ , funBind "packedMessageDescriptor" $ match [wildP] $ string msgDescriptor+ , funBind "packedFileDescriptor" $ match [wildP] $ var "packedFileDescriptor"+ , valBind "fieldsByTag" $+ let' (map (fieldDescriptorVarBind $ messageName m) fields)+ $ var "Data.Map.fromList" @@ list fieldsByTag+ , valBind "unknownFields"+ $ rawFieldAccessor (unqual $ messageUnknownFields m)+ , valBind "defMessage"+ $ recordConE (unqual $ messageConstructorName m) $+ [ (unqual $ haskellRecordFieldName+ $ fieldName $ plainFieldInfo f,+ hsFieldDefault env f)+ | f <- messageFields m+ ] +++ [ (unqual $ haskellRecordFieldName $ oneofFieldName o,+ var "Prelude.Nothing")+ | o <- messageOneofFields m+ ] +++ [ (unqual $ messageUnknownFields m, var "[]")]+ , valBind "parseMessage" $ generatedParser env m+ , valBind "buildMessage" $ generatedBuilder m+ ]+ where+ msgDescriptor = fmap (toEnum . fromEnum) . BS.unpack . encodeMessage $ messageDescriptor m+ fieldsByTag =+ [tuple+ [ t, fieldDescriptorVar f ]+ | f <- fields+ , let t = var "Data.ProtoLens.Tag"+ @@ int (fromIntegral+ $ fieldDescriptor (plainFieldInfo f) ^. #number)+ ]+ fieldDescriptorVar = var . unqual . fieldDescriptorName+ fieldDescriptorName f+ = nameFromSymbol $ overloadedName (fieldName . plainFieldInfo $ f)+ <> "__field_descriptor"+ fieldDescriptorVarBind n f+ = valBind (fieldDescriptorName f)+ $ fieldDescriptorExpr env n f+ fields = messageFields m+ ++ (messageOneofFields m >>= fmap casePlainField . oneofCases)+ -- The cases of an optional are always treated like proto2 "maybe" fields.+ -- This code here does not apply to proto3 optional fields which+ -- are absent from messageOneofFields, but those get treated as+ -- OptionalMaybeField by fieldKind so they behave the same.+ casePlainField = PlainFieldInfo OptionalMaybeField . caseField++-- | Get the name of the field when used in a text format proto. Groups are+-- special because their text format field name is the name of their type,+-- not the name of the field in the descriptor (e.g. "Foo", not "foo").+textFormatFieldName :: Env RdrNameStr -> FieldDescriptorProto -> T.Text+textFormatFieldName env descr = case descr ^. #type' of+ FieldDescriptorProto'TYPE_GROUP+ | Message msg <- definedFieldType descr env+ -> messageDescriptor msg ^. #name+ | otherwise -> error $ "expected TYPE_GROUP for type name"+ ++ T.unpack (descr ^. #typeName)+ _ -> descr ^. #name++fieldDescriptorExpr :: Env RdrNameStr -> OccNameStr -> PlainFieldInfo+ -> HsExpr'+fieldDescriptorExpr env n f =+ (var "Data.ProtoLens.FieldDescriptor"+ -- Record the original .proto name for text format+ @@ string (T.unpack $ textFormatFieldName env fd)+ -- Force the type signature since it can't be inferred for Map entry+ -- types.+ @@ (fieldTypeDescriptorExpr (fd ^. #type')+ @::@+ (var "Data.ProtoLens.FieldTypeDescriptor"+ @@ hsFieldType env (plainFieldInfo f)))+ @@ fieldAccessorExpr f)+ -- TODO: why is this type sig needed?+ @::@+ (var "Data.ProtoLens.FieldDescriptor" @@ var (unqual n))+ where+ fd = fieldDescriptor $ plainFieldInfo f++fieldAccessorExpr :: PlainFieldInfo -> HsExpr'+-- (PlainField Required foo), (OptionalField foo), etc...+fieldAccessorExpr (PlainFieldInfo kind f) = accessorCon @@ fieldOfExp hsFieldName++ where+ accessorCon = case kind of+ RequiredField+ -> var "Data.ProtoLens.PlainField" @@ var "Data.ProtoLens.Required"+ OptionalValueField+ -> var "Data.ProtoLens.PlainField" @@ var "Data.ProtoLens.Optional"+ OptionalMaybeField+ -> var "Data.ProtoLens.OptionalField"+ MapField entry+ -> var "Data.ProtoLens.MapField"+ @@ fieldOfExp (overloadedField $ keyField entry)+ @@ fieldOfExp (overloadedField $ valueField entry)+ RepeatedField packed ->+ var "Data.ProtoLens.RepeatedField"+ @@ if packed == Packed+ then var "Data.ProtoLens.Packed"+ else var "Data.ProtoLens.Unpacked"+ hsFieldName+ = case kind of+ OptionalMaybeField -> "maybe'" <> overloadedField f+ _ -> overloadedField f++fieldOfExp :: Symbol -> HsExpr'+fieldOfExp sym = var "Data.ProtoLens.Field.field" `tyApp` promoteSymbol sym++overloadedField :: FieldInfo -> Symbol+overloadedField = overloadedName . fieldName++fieldTypeDescriptorExpr :: FieldDescriptorProto'Type -> HsExpr'+fieldTypeDescriptorExpr = \case+ FieldDescriptorProto'TYPE_DOUBLE -> mk "ScalarField" "DoubleField"+ FieldDescriptorProto'TYPE_FLOAT -> mk "ScalarField" "FloatField"+ FieldDescriptorProto'TYPE_INT64 -> mk "ScalarField" "Int64Field"+ FieldDescriptorProto'TYPE_UINT64 -> mk "ScalarField" "UInt64Field"+ FieldDescriptorProto'TYPE_INT32 -> mk "ScalarField" "Int32Field"+ FieldDescriptorProto'TYPE_FIXED64 -> mk "ScalarField" "Fixed64Field"+ FieldDescriptorProto'TYPE_FIXED32 -> mk "ScalarField" "Fixed32Field"+ FieldDescriptorProto'TYPE_BOOL -> mk "ScalarField" "BoolField"+ FieldDescriptorProto'TYPE_STRING -> mk "ScalarField" "StringField"+ FieldDescriptorProto'TYPE_GROUP -> mk "MessageField" "GroupType"+ FieldDescriptorProto'TYPE_MESSAGE -> mk "MessageField" "MessageType"+ FieldDescriptorProto'TYPE_BYTES -> mk "ScalarField" "BytesField"+ FieldDescriptorProto'TYPE_UINT32 -> mk "ScalarField" "UInt32Field"+ FieldDescriptorProto'TYPE_ENUM -> mk "ScalarField" "EnumField"+ FieldDescriptorProto'TYPE_SFIXED32 -> mk "ScalarField" "SFixed32Field"+ FieldDescriptorProto'TYPE_SFIXED64 -> mk "ScalarField" "SFixed64Field"+ FieldDescriptorProto'TYPE_SINT32 -> mk "ScalarField" "SInt32Field"+ FieldDescriptorProto'TYPE_SINT64 -> mk "ScalarField" "SInt64Field"+ where+ mk x y = var (fromString ("Data.ProtoLens." ++ x))+ @@ var (fromString ("Data.ProtoLens." ++ y))++-- | Generate the implementation of NFData.rnf for the given message.+--+-- instance NFData Bar where+-- rnf = \x -> deepseq (_Bar'foo x) (deepseq (_Bar'bar x) ())+messageRnfExpr :: MessageInfo OccNameStr -> HsExpr'+messageRnfExpr msg = lambda [bvar "x__"] $ foldr ((@@) . seqField) unit fieldNames+ where+ fieldNames = messageUnknownFields msg+ : map (haskellRecordFieldName . fieldName . plainFieldInfo)+ (messageFields msg)+ ++ map (haskellRecordFieldName . oneofFieldName)+ (messageOneofFields msg)+ seqField :: OccNameStr -> HsExpr'+ seqField f = var "Control.DeepSeq.deepseq" @@ (var (unqual f) @@ var "x__")++-- rnf (Foo'a x__) = rnf x__+-- rnf (Bar'b x__) = rnf x__+oneofRnfMatch :: OneofCase -> RawMatch+oneofRnfMatch c = match [unqual (caseConstructorName c) `conP` [bvar "x__"]]+ $ var "Control.DeepSeq.rnf" @@ var "x__"
+ app/Data/ProtoLens/Compiler/Generate/Commented.hs view
@@ -0,0 +1,62 @@+{-# LANGUAGE CPP #-}+-- | Enables pretty-printing Haddock comments along with top-level declarations.+module Data.ProtoLens.Compiler.Generate.Commented where++import GHC.SourceGen+#if MIN_VERSION_ghc(9,0,0)+import GHC.Utils.Outputable (Outputable(..), SDoc, (<+>), ($+$), vcat, empty, text)+#else+import Outputable (Outputable(..), SDoc, (<+>), ($+$), vcat, empty, text)+#endif+#if MIN_VERSION_ghc(8,10,0)+import GHC.Hs (hsmodName)+#else+import HsSyn (hsmodName)+#endif+import GHC (ModuleName)+#if MIN_VERSION_ghc(9,0,0)+import GHC.Types.SrcLoc (unLoc)+#else+import SrcLoc (unLoc)+#endif++-- | A declaration, along with an optional comment.+--+-- GHC's pretty-printer omits the contents of comments, so we can't use it here.+data CommentedDecl = CommentedDecl (Maybe SDoc) HsDecl'++instance Outputable CommentedDecl where+ ppr (CommentedDecl maybeComment decl) =+ maybe empty pprComment maybeComment+ $+$ ppr decl+ where+ pprComment c = text "{- |" <+> c <+> text "-}"++uncommented :: HsDecl' -> CommentedDecl+uncommented = CommentedDecl Nothing++commented :: SDoc -> HsDecl' -> CommentedDecl+commented = CommentedDecl . Just++data CommentedModule = CommentedModule+ { pragmaComments :: [String]+ , moduleHeader :: HsModule'+ , commentedDecls :: [CommentedDecl]+ }++getModuleName :: CommentedModule -> ModuleName+getModuleName m =+ maybe+ (error "getModuleName: No explicit name")+ unLoc+ (hsmodName $ moduleHeader m)++instance Outputable CommentedModule where+ ppr m =+ vcat (map text $ pragmaComments m)+ $+$ ppr (moduleHeader m)+ $+$ vcat (map ppr $ commentedDecls m)++languagePragma, optionsGhcPragma :: String -> String+languagePragma s = "{-# LANGUAGE " ++ s ++ "#-}"+optionsGhcPragma s = "{-# OPTIONS_GHC " ++ s ++ "#-}"
+ app/Data/ProtoLens/Compiler/Generate/Encoding.hs view
@@ -0,0 +1,661 @@+-- | This module generates code for decoding and encoding protocol buffer messages.+--+-- Upstream docs: <https://developers.google.com/protocol-buffers/docs/encoding>+{-# LANGUAGE CPP #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE NoMonomorphismRestriction #-}+{-# LANGUAGE OverloadedLabels #-}+{-# LANGUAGE OverloadedStrings #-}+module Data.ProtoLens.Compiler.Generate.Encoding+ ( generatedParser+ , generatedBuilder+ ) where++import Data.Int (Int32)+import qualified Data.Map as Map+#if !MIN_VERSION_base(4,11,0)+import Data.Semigroup ((<>))+#endif+import qualified Data.Text as Text+import Lens.Family2 ((^.))+import GHC.SourceGen++import Data.ProtoLens.Compiler.Definitions+import Data.ProtoLens.Compiler.Generate.Field+import Data.ProtoLens.Encoding.Wire (joinTypeAndTag)+import Proto.Google.Protobuf.Descriptor+ ( FieldDescriptorProto'Type(..)+ , FeatureSet'MessageEncoding(..)+ )++generatedParser :: Env RdrNameStr -> MessageInfo OccNameStr -> HsExpr'+generatedParser env m =+ {- let loop :: T -> Bool -> Bool -> ...+ -> MVector RealWorld Int32 -> MVector RealWorld Float -> ...+ -> Parser T+ loop x required'a required'b ... mutable'a mutable'b ... = ...+ in "package.T" <?> do+ mutable'a <- unsafeLiftIO new+ mutable'b <- unsafeLiftIO new+ ...+ loop defMessage True True ... mutable'a mutable'b ...+ -}+ let' [typeSig loop loopSig+ , funBind loop $ match (bvar <$> loopArgs names) loopExpr+ ]+ $ var "Data.ProtoLens.Encoding.Bytes.<?>"+ @@ do' (startStmts ++ [stmt $ continue startExp])+ @@ string msgName+ where+ ty = var (unqual $ messageName m)+ msgName = Text.unpack (messageDescriptor m ^. #name)+ loopSig = foldr (-->)+ (var "Data.ProtoLens.Encoding.Bytes.Parser" @@ ty)+ (loopArgs $ parseStateTypes env m)++ names = parseStateNames m+ exprs = fmap (var . unqual) names+ tag = bvar "tag"+ end = bvar "end"+ loop = "loop"++ (startStmts, startExp) = startParse names++ continue :: ParseState HsExpr' -> HsExpr'+ continue s = foldl (@@) (var loop) (loopArgs s)++ loopExpr+ {- Group:+ do+ tag <- getVarInt+ case tag of+ {groupEndTag} -> {finish}+ ... -- Regular message fields++ TODO(#282): fail the parse if we find a group-end tag+ with an incorrect field number.+ -}+ | Just g <- groupFieldNumber m = do'+ [ tag <-- getVarInt'+ , stmt $ case' tag $+ match [int (groupEndTag g)] (finish m exprs)+ : parseTagCases continue exprs m+ ]+ {- Regular message type:+ do+ end <- atEnd+ if end+ then {finish}+ else do+ tag <- getVarInt+ case tag of ...+ -}+ | otherwise = do'+ [ end <-- var "Data.ProtoLens.Encoding.Bytes.atEnd"+ , stmt $+ if' end (finish m exprs)+ $ do'+ [ tag <-- getVarInt'+ , stmt $ case' tag $ parseTagCases continue exprs m+ ]+ ]++-- | A Parser expression that finalizes the message.+finish :: MessageInfo OccNameStr -> ParseState HsExpr' -> HsExpr'+finish m s = do' $+ {- do+ frozen'a <- unsafeLiftIO $ unsafeFreeze mutable'a+ frozen'b <- unsafeLiftIO $ unsafeFreeze mutable'b+ ...+ {checkMissingFields}+ over unknownFields reverse+ $ set field @"vec'a" frozen'a+ $ set field @"vec'b" frozen'b+ ...+ $ {partialMessage}+ -}+ [ bvar frozen <-- unsafeLiftIO' @@+ (var "Data.ProtoLens.Encoding.Growing.unsafeFreeze"+ @@ mutable)+ | (frozen, mutable) <- Map.elems $ Map.intersectionWith (,)+ frozenNames (repeatedFieldMVectors s)+ ]+ +++ [ stmt $ checkMissingFields s+ , stmt $ var "Prelude.return" @@+ (over' unknownFields' (var "Prelude.reverse")+ @@ foldr (@@)+ (partialMessage s)+ (Map.intersectionWith+ (\finfo frozen ->+ var "Lens.Family2.set"+ @@ fieldOfVector finfo+ @@ var (unqual frozen))+ repeatedInfos frozenNames))+ ]++ where+ repeatedInfos = repeatedFields m+ frozenNames = (\f -> nameFromSymbol $ "frozen'" <> overloadedFieldName f)+ <$> repeatedInfos++-- | The state of the parsing loop. Each instance of @v@ corresponds+-- to an argument of the loop function.+data ParseState v = ParseState+ { partialMessage :: v+ -- ^ The message that we're parsing.+ , requiredFieldsUnset :: Map.Map FieldId v+ -- ^ The required fields of the message, each corresponding to+ -- a @Bool@ argument of the loop.+ , repeatedFieldMVectors :: Map.Map FieldId v+ -- ^ The repeated fields of the message, each corresponding to+ -- an @MVector@ argument of the loop.+ } deriving Functor++-- | Returns a sequence of all arguments of the loop function.+loopArgs :: ParseState v -> [v]+loopArgs s = partialMessage s : Map.elems (requiredFieldsUnset s)+ ++ Map.elems (repeatedFieldMVectors s)++-- | The proto name of the field.+newtype FieldId = FieldId Text.Text+ deriving (Eq, Ord)++fieldId :: PlainFieldInfo -> FieldId+fieldId f = FieldId $ fieldDescriptor (plainFieldInfo f) ^. #name++-- | The names of the loop arguments.+parseStateNames :: MessageInfo OccNameStr -> ParseState OccNameStr+parseStateNames m = ParseState+ { partialMessage = "x"+ , requiredFieldsUnset = Map.fromList+ [ (fieldId f, nameFromSymbol $ "required'" <> n)+ | f <- messageFields m+ , let info = plainFieldInfo f+ , let n = overloadedFieldName info+ , RequiredField <- [plainFieldKind f]+ ]+ , repeatedFieldMVectors =+ (\f -> nameFromSymbol $ "mutable'" <> overloadedFieldName f)+ <$> repeatedFields m+ }++repeatedFields :: MessageInfo OccNameStr -> Map.Map FieldId FieldInfo+repeatedFields m = Map.fromList+ [ (fieldId f, plainFieldInfo f)+ | f <- messageFields m+ , RepeatedField{} <- [plainFieldKind f]+ ]++-- | Intialize the values of the loop arguments.+startParse :: ParseState OccNameStr -> ([Stmt'], ParseState HsExpr')+startParse names =+ ([ bvar n <-- unsafeLiftIO' @@ var "Data.ProtoLens.Encoding.Growing.new"+ | n <- Map.elems mvectorNames+ ]+ , ParseState+ { partialMessage = var "Data.ProtoLens.defMessage"+ , requiredFieldsUnset = const (var "Prelude.True")+ <$> requiredFieldsUnset names+ , repeatedFieldMVectors = var . unqual <$> mvectorNames+ }+ )+ where+ mvectorNames = repeatedFieldMVectors names++-- | The types of the loop arguments.+parseStateTypes :: Env RdrNameStr -> MessageInfo OccNameStr -> ParseState HsType'+parseStateTypes env m = ParseState+ { partialMessage = var $ unqual $ messageName m+ , requiredFieldsUnset = fmap (const $ var "Prelude.Bool")+ $ requiredFieldsUnset+ $ parseStateNames m+ , repeatedFieldMVectors = growingType env <$> repeatedFields m+ }++-- | Transform the loop arguments by applying a given function+-- to the intermediate message value.+updateParseState ::+ HsExpr' -- ^ An expression of type @msg -> msg@+ -> ParseState HsExpr'+ -> ParseState HsExpr'+updateParseState f s = s { partialMessage = f @@ partialMessage s }++-- | Transform the loop arguments by marking a required field+-- as having been set.+markRequiredField :: FieldId -> ParseState HsExpr' -> ParseState HsExpr'+markRequiredField f s =+ s { requiredFieldsUnset = Map.insert f (var "Prelude.False")+ $ requiredFieldsUnset s }++-- | Append to the given repeated field.+appendToRepeated :: FieldId -> HsExpr' -> ParseState HsExpr' -> (Stmt', ParseState HsExpr')+appendToRepeated f x s =+ ( v <-- unsafeLiftIO'+ @@ (var "Data.ProtoLens.Encoding.Growing.append"+ @@ (repeatedFieldMVectors s Map.! f)+ @@ x)+ , s { repeatedFieldMVectors =+ Map.insert f v+ $ repeatedFieldMVectors s+ }+ )+ where+ v = bvar "v"++-- | Returns an HsExpr' of type @Parser ()@+-- which fails if any of the missing fields aren't set.+checkMissingFields :: ParseState HsExpr' -> HsExpr'+checkMissingFields s =+ {- let missing = (if required'a then ("a":) else id)+ ((if required'b then ("b":) else id)+ ... [])+ in if null missing then return ()+ else fail ("Missing required fields: " ++ show missing)+ -}+ let' [valBind missing allMissingFields]+ $ if' (var "Prelude.null" @@ var missing) (var "Prelude.return" @@ unit)+ $ var "Prelude.fail"+ @@ (var "Prelude.++"+ @@ string "Missing required fields: "+ @@ (var "Prelude.show" @@ (var missing @::@ listTy (var "Prelude.String"))))+ where+ missing = "missing"+ allMissingFields = Map.foldrWithKey consIfMissing (list []) (requiredFieldsUnset s)+ consIfMissing (FieldId f) e rest =+ if' e (cons @@ string (Text.unpack f)) (var "Prelude.id") @@ rest++-- | A list case alternatives for the fields of a message.+--+-- The exact structure of each case differs based on the field type. However, it+-- generally looks like:+--+-- @+-- {N} -> do+-- {VALUE} <- {PARSE}+-- loop (set {FIELD} {VALUE} x) required'a False required'c ...+-- @+--+-- where:+-- - {N} is an integer representing the wire type + field number,+-- - {VALUE} is an expression of type "V", which is the type of the field,+-- - {PARSE} is an expression of the form "Parser V",+-- - and "loop" and "x" are as in @generatedParser@.+parseTagCases ::+ (ParseState HsExpr' -> HsExpr')+ -- ^ loop continuation, equivalent to "msg -> Bool -> ... -> Bool -> Parser msg".+ -- It continues the loop with the given new value of the message, keeping track+ -- of whether the required fields are still needed.+ -> ParseState HsExpr' -- ^ Previous value of the message and required field states+ -> MessageInfo OccNameStr+ -> [RawMatch]+parseTagCases loop x info =+ concatMap (parseFieldCase loop x) allFields+ -- TODO: currently we ignore unknown fields.+ ++ [unknownFieldCase info loop x]+ where+ allFields = messageFields info+ -- Cases of a oneof are decoded like optional oneof fields.+ ++ [ PlainFieldInfo OptionalMaybeField (caseField c)+ | o <- messageOneofFields info+ , c <- oneofCases o+ ]++-- | A particular parsing case. See @parseTagCases@ for details.+parseFieldCase ::+ (ParseState HsExpr' -> HsExpr') -> ParseState HsExpr' -> PlainFieldInfo -> [RawMatch]+parseFieldCase loop x f = case plainFieldKind f of+ MapField entryInfo -> [mapCase entryInfo]+ RepeatedField p+ | p == NotPackable -> [unpackedCase]+ | otherwise -> [unpackedCase, packedCase]+ RequiredField -> [requiredCase]+ _ -> [valueCase]+ where+ y = bvar "y"+ entry = bvar "entry"+ info = plainFieldInfo f+ valueCase = match [int (fieldTag info)] $ do'+ [ y <-- parseField info+ , stmt . loop . updateParseState (setField info @@ y)+ $ x+ ]+ requiredCase = match [int (fieldTag info)] $ do'+ [ y <-- parseField info+ , stmt . loop+ . updateParseState (setField info @@ y)+ . markRequiredField (fieldId f)+ $ x+ ]+ unpackedCase = match [int (fieldTag info)]+ $ let (appendStmt, x') = appendToRepeated (fieldId f) y x+ in do'+ [ strictP y <-- parseField info+ , appendStmt+ , stmt . loop $ x'+ ]+ packedCase = match [int (packedFieldTag info)] $ do'+ [ y <-- isolatedLengthy (parsePackedField info+ @@ repeatedFieldMVectors x Map.! fieldId f)+ , stmt $ loop x { repeatedFieldMVectors =+ Map.insert (fieldId f) y+ $ repeatedFieldMVectors x }+ ]+ mapCase entryInfo = match [int (fieldTag info)] $ do'+ [ strictP (entry `sigP` var (unqual $ mapEntryTypeName entryInfo))+ <-- parseField info+ , stmt . let' [ valBind "key"+ $ view' @@ fieldOf (keyField entryInfo)+ @@ entry+ , valBind "value"+ $ view' @@ fieldOf (valueField entryInfo)+ @@ entry+ ]+ . loop+ . updateParseState+ (overField info+ (var "Data.Map.insert" @@ var "key" @@ var "value"))+ $ x+ ]++unknownFieldCase ::+ MessageInfo OccNameStr -> (ParseState HsExpr' -> HsExpr') -> ParseState HsExpr' -> RawMatch+{-+ wire -> do+ !y <- parseTaggedValueFromWire wire+ -- Omitted if not a group:+ case y of+ TaggedValue utag EndGroup+ -> fail ("Mismatched group-end tag number " ++ show utag)+ _ -> return ()+ loop (over unknownFields (\!t -> y:t) x) ...+-}+unknownFieldCase info loop x = match [wire] $ do' $+ [ strictP y <-- if messageDescriptor info ^. #options . #messageSetWireFormat+ then var "Data.ProtoLens.Encoding.Wire.parseMessageSetTaggedValueFromWire" @@ wire+ else var "Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire" @@ wire+ ]+ +++ [ stmt $ case' y+ [ match+ [conP "Data.ProtoLens.Encoding.Wire.TaggedValue"+ [utag, conP_ "Data.ProtoLens.Encoding.Wire.EndGroup"]]+ $ var "Prelude.fail" @@+ (var "Prelude.++"+ @@ string "Mismatched group-end tag number "+ @@ (var "Prelude.show" @@ utag))+ , match [wildP] $ var "Prelude.return" @@ unit+ ]+ | Just _ <- [groupFieldNumber info]+ ]+ +++ [ stmt . loop . updateParseState (over' unknownFields' (cons @@ y))+ $ x+ ]+ where+ wire = bvar "wire"+ y = bvar "y"+ utag = bvar "utag"++-- | An expression of type "b -> a -> a", corresponding to a Lens a b+-- for this field.+setField :: FieldInfo -> HsExpr'+setField f = var "Lens.Family2.set" @@ fieldOf f++-- | An expression of type "(b -> b) -> a -> a", corresponding to a+-- Lens a b for this field.+overField :: FieldInfo -> HsExpr' -> HsExpr'+overField f = over' (fieldOf f)++-- | An expression of type "(b -> b) -> a -> a".+--+-- Specifically, this renders to:+-- over f (\!z -> g z) x+-- The extra strictness prevents a space leak due to lists being lazy.+over' :: HsExpr' -> HsExpr' -> HsExpr'+over' f g = var "Lens.Family2.over"+ @@ f+ @@ lambda [strictP t] (g @@ t)+ where+ t = bvar "t"++-- | A "Growing v RealWorld a -> Parser (Growing v RealWorld a)"+-- for a field that can be packed.+parsePackedField :: FieldInfo -> HsExpr'+{- let ploop qs = do+ packedEnd <- atEnd+ if packedEnd+ then return qs+ else do+ !q <- {PARSE FIELD}+ qs' <- append qs q+ ploop qs'+ in ploop+-}+parsePackedField info = let' [funBind ploop $ match [qs] ploopExp]+ (var ploop)+ where+ ploop = "ploop"+ q = bvar "q"+ qs = bvar "qs"+ qs' = bvar "qs'"+ packedEnd = bvar "packedEnd"+ ploopExp = do'+ [ packedEnd <-- var "Data.ProtoLens.Encoding.Bytes.atEnd"+ , stmt $+ if' packedEnd+ (var "Prelude.return" @@ qs)+ $ do'+ [ strictP q <-- parseField info+ , qs' <-- unsafeLiftIO' @@+ (var "Data.ProtoLens.Encoding.Growing.append"+ @@ qs @@ q)+ , stmt $ var ploop @@ qs'+ ]+ ]++generatedBuilder :: MessageInfo OccNameStr -> HsExpr'+generatedBuilder m =+ lambda [x] $ foldMapExp $ map (buildPlainField x) (messageFields m)+ ++ map (buildOneofField x) (messageOneofFields m)+ ++ [if messageDescriptor m ^. #options . #messageSetWireFormat+ then buildUnknownMessageSet x else buildUnknown x]+ ++ buildGroupEnd+ where+ x = bvar "_x" -- TODO: rename to "x" once it's always used+ -- If this is a group, finish by emitting the end-group tag.+ buildGroupEnd = [ putVarInt' @@ int (groupEndTag g)+ | Just g <- [groupFieldNumber m]+ ]++buildUnknown :: HsExpr' -> HsExpr'+buildUnknown x+ = var "Data.ProtoLens.Encoding.Wire.buildFieldSet"+ @@ (view' @@ unknownFields' @@ x)++buildUnknownMessageSet :: HsExpr' -> HsExpr'+buildUnknownMessageSet x+ = var "Data.ProtoLens.Encoding.Wire.buildMessageSet"+ @@ (view' @@ unknownFields' @@ x)++-- | Concatenate a list of Monoids into a single value.+-- For example, foldMapExp [a,b,c] will be transformed into+-- the (unrolled) expression a <> b <> c.+foldMapExp :: [HsExpr'] -> HsExpr'+foldMapExp [] = mempty'+foldMapExp [x] = x+foldMapExp (x:xs) = var "Data.Monoid.<>" @@ x @@ foldMapExp xs++-- | An expression of type @Builder@ which encodes the field value+-- @x@ based on the kind and type of the field @f@.+buildPlainField :: HsExpr' -> PlainFieldInfo -> HsExpr'+buildPlainField x f = case plainFieldKind f of+ RequiredField -> buildTaggedField info fieldValue+ OptionalMaybeField -> case' maybeFieldValue+ [ match [conP_ "Prelude.Nothing"] mempty'+ , match [conP "Prelude.Just" [v']]+ $ buildTaggedField info v'+ ]+ OptionalValueField -> let' [valBind v fieldValue]+ $ if' (var "Prelude.==" @@ v' @@ var "Data.ProtoLens.fieldDefault")+ mempty'+ (buildTaggedField info v')+ MapField entryInfo+ -> var "Data.Monoid.mconcat"+ @@ (var "Prelude.map"+ @@ lambda [v'] (buildEntry entryInfo v')+ @@ (var "Data.Map.toList" @@ fieldValue))+ RepeatedField Packed -> buildPackedField info vectorFieldValue+ RepeatedField _ -> var "Data.ProtoLens.Encoding.Bytes.foldMapBuilder"+ @@ lambda [v']+ (buildTaggedField info v')+ @@ vectorFieldValue+ where+ info = plainFieldInfo f+ v = "_v"+ v' = bvar v+ fieldValue = view'+ @@ fieldOf info+ @@ x+ maybeFieldValue = view'+ @@ fieldOfMaybe info+ @@ x+ vectorFieldValue = view'+ @@ fieldOfVector info+ @@ x+ {- Builds a value of the given map entry type+ from the given key/value pair kv.++ ... set (fieldOf {KEY}) (fst kv)+ (set (fieldOf {VALUE}) (snd kv)+ (defMessage :: Foo'Entry)+ -}+ buildEntry entry kv+ = buildTaggedField info+ $ set'+ @@ fieldOf (keyField entry)+ @@ (var "Prelude.fst" @@ kv)+ @@ (set' @@ fieldOf (valueField entry)+ @@ (var "Prelude.snd" @@ kv)+ @@ (var "Data.ProtoLens.defMessage"+ @::@ var (unqual $ mapEntryTypeName entry)))++fieldOf :: FieldInfo -> HsExpr'+fieldOf = fieldOfExp . overloadedFieldName++fieldOfMaybe :: FieldInfo -> HsExpr'+fieldOfMaybe = fieldOfExp . ("maybe'" <>) . overloadedFieldName++fieldOfOneof :: OneofInfo -> HsExpr'+fieldOfOneof =+ fieldOfExp . ("maybe'" <>) . overloadedName . oneofFieldName++fieldOfVector :: FieldInfo -> HsExpr'+fieldOfVector = fieldOfExp . ("vec'" <>) . overloadedFieldName++-- | Build a field along with its tag.+buildTaggedField :: FieldInfo -> HsExpr' -> HsExpr'+buildTaggedField f x = foldMapExp+ [ putVarInt' @@ int (fieldTag f)+ , buildField f @@ x+ ]++-- | Encodes a packed field as a byte string, along with+-- its wire type+number.+buildPackedField :: FieldInfo -> HsExpr' -> HsExpr'+{-+ let p = x -- where x might be a complicated expression+ in if null p then mempty+ else putVarInt {TAG}+ <> ... (runBuilder (mconcat (map {BUILD_ELT} p)))+-}+buildPackedField f x = let' [valBind p x]+ $ if' (var "Data.Vector.Generic.null" @@ var p) mempty'+ $ var "Data.Monoid.<>"+ @@ (putVarInt' @@ int (packedFieldTag f))+ @@ (buildFieldType lengthy+ @@ (var "Data.ProtoLens.Encoding.Bytes.runBuilder"+ @@ (var "Data.ProtoLens.Encoding.Bytes.foldMapBuilder"+ @@ buildField f+ @@ var p)))+ where+ p = "p"++buildOneofField :: HsExpr' -> OneofInfo -> HsExpr'+buildOneofField x info = case' (view' @@ fieldOfOneof info @@ x) $+ match [conP_ "Prelude.Nothing"] mempty'+ : [ match [conP "Prelude.Just" [conP (unqual $ caseConstructorName c)+ [v]]]+ $ buildTaggedField (caseField c) v+ | c <- oneofCases info+ ]+ where+ v = bvar "v"++-- | Compute the proto encoding's representation of the wire type+-- and field number.+--+-- The last three bits of the number store the wire type, and the+-- rest store the field number as a varint.+makeTag :: Int32 -> FieldEncoding -> Integer+makeTag num enc = fromIntegral $ joinTypeAndTag (fromIntegral num) (wireType enc)++fieldTag :: FieldInfo -> Integer+fieldTag f = makeTag (fieldDescriptor f ^. #number) $ fieldInfoEncoding f++packedFieldTag :: FieldInfo -> Integer+packedFieldTag f = makeTag (fieldDescriptor f ^. #number) lengthy++groupEndTag :: Int32 -> Integer+groupEndTag num = makeTag num groupEnd++-- | An expression that selects the overloaded field lens of this name.+--+-- field @"fieldName"+fieldOfExp :: Symbol -> HsExpr'+fieldOfExp sym = tyApp (var "Data.ProtoLens.Field.field") (promoteSymbol sym)++-- | Some functions that are used in multiple places in the generated code.+getVarInt', putVarInt', mempty', view', set', unknownFields', unsafeLiftIO'+ :: HsExpr'+getVarInt' = var "Data.ProtoLens.Encoding.Bytes.getVarInt"+putVarInt' = var "Data.ProtoLens.Encoding.Bytes.putVarInt"+mempty' = var "Data.Monoid.mempty"+view' = var "Lens.Family2.view"+set' = var "Lens.Family2.set"+unknownFields' = var "Data.ProtoLens.unknownFields"+unsafeLiftIO' = var "Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO"++-- | Returns an expression of type @Parser a@ for the given field.+parseField :: FieldInfo -> HsExpr'+parseField f = var "Data.ProtoLens.Encoding.Bytes.<?>"+ @@ parseFieldType (fieldInfoEncoding f)+ @@ string n+ where+ n = Text.unpack (fieldDescriptor f ^. #name)++-- | Returns a function corresponding to `a -> Builder`:+buildField :: FieldInfo -> HsExpr'+buildField = buildFieldType . fieldInfoEncoding++fieldInfoEncoding :: FieldInfo -> FieldEncoding+fieldInfoEncoding info+ -- In almost all cases, the encoding of a type is determined only by the type.+ -- There is one exception introduced in Protobuf Editions, and this is the+ -- ability to control the message encoding with "features.message_encoding".+ | isMessage = messageEncoding+ | otherwise = fieldEncoding $ fieldDescriptor info ^. #type'+ where+ descriptor = fieldDescriptor info+ isMessage = descriptor ^. #type' == FieldDescriptorProto'TYPE_MESSAGE+ messageEncoding = case descriptor ^. #options . #features . #messageEncoding of+ -- DELIMITED encoding is the same as proto2 group encoding.+ FeatureSet'DELIMITED -> fieldEncoding FieldDescriptorProto'TYPE_GROUP+ _ -> fieldEncoding FieldDescriptorProto'TYPE_MESSAGE++growingType :: Env RdrNameStr -> FieldInfo -> HsType'+growingType env f+ = var "Data.ProtoLens.Encoding.Growing.Growing"+ @@ hsFieldVectorType f+ @@ var "Data.ProtoLens.Encoding.Growing.RealWorld"+ @@ hsFieldType env f
+ app/Data/ProtoLens/Compiler/Generate/Field.hs view
@@ -0,0 +1,242 @@+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoMonomorphismRestriction #-}+{-# LANGUAGE OverloadedLabels #-}+{-# LANGUAGE OverloadedStrings #-}+-- | This module generates the code for decoding and encoding+-- individual field types.+--+-- Upstream docs:+-- <https://developers.google.com/protocol-buffers/docs/encoding#structure>+module Data.ProtoLens.Compiler.Generate.Field+ ( hsFieldType+ , hsFieldVectorType+ , FieldEncoding(..)+ , fieldEncoding+ , lengthy+ , groupEnd+ , isolatedLengthy+ ) where++import Data.Text (unpack)+import Data.Word (Word8)+import Lens.Family2+import Proto.Google.Protobuf.Descriptor (FieldDescriptorProto'Type(..))++import Data.ProtoLens.Compiler.Definitions++import GHC.SourceGen++hsFieldType :: Env RdrNameStr -> FieldInfo -> HsType'+hsFieldType env f = let+ fd = fieldDescriptor f+ in var $ case fd ^. #type' of+ FieldDescriptorProto'TYPE_DOUBLE -> "Prelude.Double"+ FieldDescriptorProto'TYPE_FLOAT -> "Prelude.Float"+ FieldDescriptorProto'TYPE_INT64 -> "Data.Int.Int64"+ FieldDescriptorProto'TYPE_UINT64 -> "Data.Word.Word64"+ FieldDescriptorProto'TYPE_INT32 -> "Data.Int.Int32"+ FieldDescriptorProto'TYPE_FIXED64 -> "Data.Word.Word64"+ FieldDescriptorProto'TYPE_FIXED32 -> "Data.Word.Word32"+ FieldDescriptorProto'TYPE_BOOL -> "Prelude.Bool"+ FieldDescriptorProto'TYPE_STRING -> "Data.Text.Text"+ FieldDescriptorProto'TYPE_GROUP+ | Message m <- definedFieldType fd env -> messageName m+ | otherwise -> error $ "expected TYPE_GROUP for type name"+ ++ unpack (fd ^. #typeName)+ FieldDescriptorProto'TYPE_MESSAGE+ | Message m <- definedFieldType fd env -> messageName m+ | otherwise -> error $ "expected TYPE_MESSAGE for type name"+ ++ unpack (fd ^. #typeName)+ FieldDescriptorProto'TYPE_BYTES -> "Data.ByteString.ByteString"+ FieldDescriptorProto'TYPE_UINT32 -> "Data.Word.Word32"+ FieldDescriptorProto'TYPE_ENUM+ | Enum e <- definedFieldType fd env -> enumName e+ | otherwise -> error $ "expected TYPE_ENUM for type name"+ ++ unpack (fd ^. #typeName)+ FieldDescriptorProto'TYPE_SFIXED32 -> "Data.Int.Int32"+ FieldDescriptorProto'TYPE_SFIXED64 -> "Data.Int.Int64"+ FieldDescriptorProto'TYPE_SINT32 -> "Data.Int.Int32"+ FieldDescriptorProto'TYPE_SINT64 -> "Data.Int.Int64"++hsFieldVectorType :: FieldInfo -> HsType'+hsFieldVectorType f = case fieldDescriptor f ^. #type' of+ FieldDescriptorProto'TYPE_MESSAGE -> boxed+ -- TODO: store enums in unboxed fields.+ FieldDescriptorProto'TYPE_ENUM -> boxed+ FieldDescriptorProto'TYPE_GROUP -> boxed+ FieldDescriptorProto'TYPE_STRING -> boxed+ FieldDescriptorProto'TYPE_BYTES -> boxed+ _ -> unboxed+ where+ boxed = var "Data.Vector.Vector"+ unboxed = var "Data.Vector.Unboxed.Vector"++-- | A representation for how to encode and decode a particular field type.+data FieldEncoding = FieldEncoding+ { buildFieldType :: HsExpr' -- ^ :: a -> Builder+ , parseFieldType :: HsExpr' -- ^ :: Parser a+ , wireType :: Word8+ }++-- | A variable-length integer, decoded as an unsigned Word64.+varint :: FieldEncoding+varint = FieldEncoding+ { wireType = 0+ , buildFieldType = putVarInt'+ , parseFieldType = getVarInt'+ }++-- | A fixed-length integer (Word64).+fixed64 :: FieldEncoding+fixed64 = FieldEncoding+ { wireType = 1+ , buildFieldType = var "Data.ProtoLens.Encoding.Bytes.putFixed64"+ , parseFieldType = var "Data.ProtoLens.Encoding.Bytes.getFixed64"+ }++-- | A fixed-length integer (Word32).+fixed32 :: FieldEncoding+fixed32 = FieldEncoding+ { wireType = 5+ , buildFieldType = var "Data.ProtoLens.Encoding.Bytes.putFixed32"+ , parseFieldType = var "Data.ProtoLens.Encoding.Bytes.getFixed32"+ }++-- | A ByteString, prefixed by its length (which is encoded as a varint).+lengthy :: FieldEncoding+lengthy = FieldEncoding+ { wireType = 2+ , buildFieldType = buildLengthy+ , parseFieldType = parseLengthy+ }+ where+ bs = bvar "bs"+ len = bvar "len"+ buildLengthy =+ -- Bind x since it may be a nontrivial expression:+ lambda [bs]+ $ var "Data.Monoid.<>"+ @@ (putVarInt'+ @@ (fromIntegral'+ @@ (var "Data.ByteString.length" @@ bs)))+ @@ (var "Data.ProtoLens.Encoding.Bytes.putBytes" @@ bs)+ parseLengthy = do'+ [ len <-- getVarInt'+ , stmt $ var "Data.ProtoLens.Encoding.Bytes.getBytes"+ @@ (fromIntegral' @@ len)+ ]++group :: FieldEncoding+group = FieldEncoding+ { wireType = 3+ , buildFieldType = var "Data.ProtoLens.buildMessage"+ , parseFieldType = var "Data.ProtoLens.parseMessage"+ }++groupEnd :: FieldEncoding+groupEnd = FieldEncoding+ { wireType = 4+ , buildFieldType = var "Prelude.const" @@ var "Data.Monoid.mempty"+ , parseFieldType = var "Prelude.return" @@ unit+ }++-- Wrap a field encoding with Haskell functions that should always succeed.+bijectField :: HsExpr' -> HsExpr' -> FieldEncoding -> FieldEncoding+bijectField buildF parseF f = FieldEncoding+ { buildFieldType = var "Prelude.." @@ buildFieldType f @@ buildF+ , parseFieldType = var "Prelude.fmap" @@ parseF @@ parseFieldType f+ , wireType = wireType f+ }++-- | Convert a field of one integral type to another.+integralField :: FieldEncoding -> FieldEncoding+integralField = bijectField fromIntegral' fromIntegral'++fieldEncoding :: FieldDescriptorProto'Type -> FieldEncoding+fieldEncoding = \case+ FieldDescriptorProto'TYPE_INT64 -> integralField varint+ FieldDescriptorProto'TYPE_UINT64 -> varint+ FieldDescriptorProto'TYPE_INT32 -> integralField varint+ FieldDescriptorProto'TYPE_UINT32 -> integralField varint+ FieldDescriptorProto'TYPE_FIXED64 -> fixed64+ FieldDescriptorProto'TYPE_FIXED32 -> fixed32+ FieldDescriptorProto'TYPE_SFIXED64 -> integralField fixed64+ FieldDescriptorProto'TYPE_SFIXED32 -> integralField fixed32+ FieldDescriptorProto'TYPE_DOUBLE ->+ bijectField+ (var "Data.ProtoLens.Encoding.Bytes.doubleToWord")+ (var "Data.ProtoLens.Encoding.Bytes.wordToDouble")+ fixed64+ FieldDescriptorProto'TYPE_FLOAT ->+ bijectField+ (var "Data.ProtoLens.Encoding.Bytes.floatToWord")+ (var "Data.ProtoLens.Encoding.Bytes.wordToFloat")+ fixed32+ FieldDescriptorProto'TYPE_BOOL ->+ bijectField+ (lambda [bvar "b"] $ if' (var "b") (int 1) (int 0))+ (var "Prelude./=" @@ int 0)+ varint+ FieldDescriptorProto'TYPE_ENUM ->+ -- TODO: don't throw an exception on unknown proto2 enums.+ bijectField (var "Prelude.fromEnum") (var "Prelude.toEnum")+ $ integralField varint+ FieldDescriptorProto'TYPE_SINT64 ->+ bijectField+ (var "Data.ProtoLens.Encoding.Bytes.signedInt64ToWord")+ (var "Data.ProtoLens.Encoding.Bytes.wordToSignedInt64")+ $ integralField varint+ FieldDescriptorProto'TYPE_SINT32 ->+ bijectField+ (var "Data.ProtoLens.Encoding.Bytes.signedInt32ToWord")+ (var "Data.ProtoLens.Encoding.Bytes.wordToSignedInt32")+ $ integralField varint+ FieldDescriptorProto'TYPE_BYTES -> lengthy+ FieldDescriptorProto'TYPE_STRING -> stringField+ FieldDescriptorProto'TYPE_MESSAGE -> message+ FieldDescriptorProto'TYPE_GROUP -> group++-- | A string, represented as Data.Text.Text.+stringField :: FieldEncoding+stringField =+ FieldEncoding+ { wireType = 2+ , buildFieldType = buildString+ , parseFieldType = parseString+ }+ where+ len = bvar "len"+ buildString = var "Prelude.." @@ buildFieldType lengthy+ @@ var "Data.Text.Encoding.encodeUtf8"+ parseString = do'+ [ len <-- getVarInt'+ , stmt $ var "Data.ProtoLens.Encoding.Bytes.getText"+ @@ (fromIntegral' @@ len)+ ]++-- | A protobuf message type.+message :: FieldEncoding+message = lengthy+ { buildFieldType = var "Prelude.." @@+ buildFieldType lengthy @@+ var "Data.ProtoLens.encodeMessage"+ , parseFieldType = isolatedLengthy (var "Data.ProtoLens.parseMessage")+ }++-- | Takes a @Parser a@, reads a varint and then runs the parser+-- isolated to the given length.+isolatedLengthy :: HsExpr' -> HsExpr'+isolatedLengthy parser = do'+ [ len <-- getVarInt'+ , stmt $ var "Data.ProtoLens.Encoding.Bytes.isolate"+ @@ (fromIntegral' @@ len)+ @@ parser+ ]+ where+ len = bvar "len"++-- | Some functions that are used in multiple places in the generated code.+getVarInt', putVarInt', fromIntegral' :: HsExpr'+getVarInt' = var "Data.ProtoLens.Encoding.Bytes.getVarInt"+putVarInt' = var "Data.ProtoLens.Encoding.Bytes.putVarInt"+fromIntegral' = var "Prelude.fromIntegral"
+ app/Data/ProtoLens/Compiler/Plugin.hs view
@@ -0,0 +1,105 @@+-- Copyright 2016 Google Inc. All Rights Reserved.+--+-- Use of this source code is governed by a BSD-style+-- license that can be found in the LICENSE file or at+-- https://developers.google.com/open-source/licenses/bsd+--+-- Code for writing protocol compiler plugins.++{-# LANGUAGE CPP #-}+{-# LANGUAGE OverloadedLabels #-}+module Data.ProtoLens.Compiler.Plugin+ ( ProtoFileName+ , ProtoFile(..)+ , analyzeProtoFiles+ , collectEnvFromDeps+ ) where++import qualified Data.Foldable as F+import qualified Data.Map.Strict as Map+import Data.Map.Strict (Map, unions, (!))+import Data.String (fromString)+import qualified Data.Text as T+import Data.Text (Text)+import Lens.Family2+import Proto.Google.Protobuf.Descriptor (FileDescriptorProto)++import Data.ProtoLens.Compiler.Definitions+import Data.ProtoLens.Compiler.ModuleName++import GHC.SourceGen (ModuleNameStr, OccNameStr, RdrNameStr)++-- | The filename of an input .proto file.+type ProtoFileName = Text++data ProtoFile = ProtoFile+ { descriptor :: FileDescriptorProto+ , haskellModule :: ModuleNameStr+ , definitions :: Env OccNameStr+ , services :: [ServiceInfo]+ , exportedEnv :: Env RdrNameStr+ , publicImports :: [ModuleNameStr]+ }++-- Given a list of FileDescriptorProtos, collect information about each file+-- into a map of 'ProtoFile's keyed by 'ProtoFileName'.+analyzeProtoFiles :: [FileDescriptorProto] -> Either Text (Map ProtoFileName ProtoFile)+analyzeProtoFiles files = do+ -- The definitions in each input proto file, indexed by filename.+ definitionsByName <- mapM collectDefinitions filesByName+ let servicesByName = fmap collectServices filesByName+ let exportsByName = transitiveExports files+ let exportedEnvs = fmap (foldMap (definitionsByName !)) exportsByName++ let ingestFile f = ProtoFile+ { descriptor = f+ , haskellModule = m+ , definitions = definitionsByName ! n+ , services = servicesByName ! n+ , exportedEnv = qualifyEnv m $ exportedEnvs ! n+ , publicImports = [moduleNames ! i | i <- reexported]+ }+ where+ n = f ^. #name+ m = moduleNames ! n+ reexported =+ [ (f ^. #dependency) !! fromIntegral i+ | i <- f ^. #publicDependency+ ]++ return $ Map.fromList [ (f ^. #name, ingestFile f) | f <- files ]+ where+ filesByName = Map.fromList [(f ^. #name, f) | f <- files]+ moduleNames = fmap fdModuleName filesByName++collectEnvFromDeps :: [ProtoFileName] -> Map ProtoFileName ProtoFile -> Env RdrNameStr+collectEnvFromDeps deps filesByName =+ unions $ fmap (exportedEnv . (filesByName !)) deps++-- | Get the Haskell 'ModuleName' corresponding to a given .proto file.+fdModuleName :: FileDescriptorProto -> ModuleNameStr+fdModuleName fd+ = fromString $ protoModuleName (T.unpack $ fd ^. #name)++-- | Given a list of .proto files (topologically sorted), determine which+-- files' definitions are exported by which files.+--+-- Files only export their own definitions, along with the definitions exported+-- by any "import public" declarations. (And any definitions that *those* files+-- "import public", etc.)+transitiveExports :: [FileDescriptorProto] -> Map ProtoFileName [ProtoFileName]+-- Accumulate the transitive dependencies by folding over the files in+-- topological order.+transitiveExports = F.foldl' setExportsFromFile Map.empty+ where+ setExportsFromFile :: Map ProtoFileName [ProtoFileName]+ -> FileDescriptorProto+ -> Map ProtoFileName [ProtoFileName]+ setExportsFromFile prevExports fd+ = flip (Map.insert n) prevExports $+ n : concat [ prevExports ! ((fd ^. #dependency) !! fromIntegral i)+ -- Note that publicDependency is a list of indices into+ -- the dependency list.+ | i <- fd ^. #publicDependency+ ]+ where n = fd ^. #name
+ app/Proto/Google/Protobuf/Compiler/Plugin.hs view
@@ -0,0 +1,1811 @@+{- This file was auto-generated from google/protobuf/compiler/plugin.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}+{-# OPTIONS_GHC -Wno-unused-imports#-}+{-# OPTIONS_GHC -Wno-duplicate-exports#-}+{-# OPTIONS_GHC -Wno-dodgy-exports#-}+module Proto.Google.Protobuf.Compiler.Plugin (+ CodeGeneratorRequest(), CodeGeneratorResponse(),+ CodeGeneratorResponse'Feature(..), CodeGeneratorResponse'Feature(),+ CodeGeneratorResponse'File(), Version()+ ) where+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism+import qualified Data.ProtoLens.Runtime.Prelude as Prelude+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read+import qualified Proto.Google.Protobuf.Descriptor+{- | Fields :+ + * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.fileToGenerate' @:: Lens' CodeGeneratorRequest [Data.Text.Text]@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.vec'fileToGenerate' @:: Lens' CodeGeneratorRequest (Data.Vector.Vector Data.Text.Text)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.parameter' @:: Lens' CodeGeneratorRequest Data.Text.Text@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'parameter' @:: Lens' CodeGeneratorRequest (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.protoFile' @:: Lens' CodeGeneratorRequest [Proto.Google.Protobuf.Descriptor.FileDescriptorProto]@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.vec'protoFile' @:: Lens' CodeGeneratorRequest (Data.Vector.Vector Proto.Google.Protobuf.Descriptor.FileDescriptorProto)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.sourceFileDescriptors' @:: Lens' CodeGeneratorRequest [Proto.Google.Protobuf.Descriptor.FileDescriptorProto]@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.vec'sourceFileDescriptors' @:: Lens' CodeGeneratorRequest (Data.Vector.Vector Proto.Google.Protobuf.Descriptor.FileDescriptorProto)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.compilerVersion' @:: Lens' CodeGeneratorRequest Version@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'compilerVersion' @:: Lens' CodeGeneratorRequest (Prelude.Maybe Version)@ -}+data CodeGeneratorRequest+ = CodeGeneratorRequest'_constructor {_CodeGeneratorRequest'fileToGenerate :: !(Data.Vector.Vector Data.Text.Text),+ _CodeGeneratorRequest'parameter :: !(Prelude.Maybe Data.Text.Text),+ _CodeGeneratorRequest'protoFile :: !(Data.Vector.Vector Proto.Google.Protobuf.Descriptor.FileDescriptorProto),+ _CodeGeneratorRequest'sourceFileDescriptors :: !(Data.Vector.Vector Proto.Google.Protobuf.Descriptor.FileDescriptorProto),+ _CodeGeneratorRequest'compilerVersion :: !(Prelude.Maybe Version),+ _CodeGeneratorRequest'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show CodeGeneratorRequest where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "fileToGenerate" [Data.Text.Text] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'fileToGenerate+ (\ x__ y__ -> x__ {_CodeGeneratorRequest'fileToGenerate = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "vec'fileToGenerate" (Data.Vector.Vector Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'fileToGenerate+ (\ x__ y__ -> x__ {_CodeGeneratorRequest'fileToGenerate = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "parameter" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'parameter+ (\ x__ y__ -> x__ {_CodeGeneratorRequest'parameter = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "maybe'parameter" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'parameter+ (\ x__ y__ -> x__ {_CodeGeneratorRequest'parameter = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "protoFile" [Proto.Google.Protobuf.Descriptor.FileDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'protoFile+ (\ x__ y__ -> x__ {_CodeGeneratorRequest'protoFile = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "vec'protoFile" (Data.Vector.Vector Proto.Google.Protobuf.Descriptor.FileDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'protoFile+ (\ x__ y__ -> x__ {_CodeGeneratorRequest'protoFile = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "sourceFileDescriptors" [Proto.Google.Protobuf.Descriptor.FileDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'sourceFileDescriptors+ (\ x__ y__+ -> x__ {_CodeGeneratorRequest'sourceFileDescriptors = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "vec'sourceFileDescriptors" (Data.Vector.Vector Proto.Google.Protobuf.Descriptor.FileDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'sourceFileDescriptors+ (\ x__ y__+ -> x__ {_CodeGeneratorRequest'sourceFileDescriptors = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "compilerVersion" Version where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'compilerVersion+ (\ x__ y__ -> x__ {_CodeGeneratorRequest'compilerVersion = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest "maybe'compilerVersion" (Prelude.Maybe Version) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'compilerVersion+ (\ x__ y__ -> x__ {_CodeGeneratorRequest'compilerVersion = y__}))+ Prelude.id+instance Data.ProtoLens.Message CodeGeneratorRequest where+ messageName _+ = Data.Text.pack "google.protobuf.compiler.CodeGeneratorRequest"+ packedMessageDescriptor _+ = "\n\+ \\DC4CodeGeneratorRequest\DC2(\n\+ \\DLEfile_to_generate\CAN\SOH \ETX(\tR\SOfileToGenerate\DC2\FS\n\+ \\tparameter\CAN\STX \SOH(\tR\tparameter\DC2C\n\+ \\n\+ \proto_file\CAN\SI \ETX(\v2$.google.protobuf.FileDescriptorProtoR\tprotoFile\DC2\\\n\+ \\ETBsource_file_descriptors\CAN\DC1 \ETX(\v2$.google.protobuf.FileDescriptorProtoR\NAKsourceFileDescriptors\DC2L\n\+ \\DLEcompiler_version\CAN\ETX \SOH(\v2!.google.protobuf.compiler.VersionR\SIcompilerVersion"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ fileToGenerate__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "file_to_generate"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"fileToGenerate")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorRequest+ parameter__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "parameter"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'parameter")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorRequest+ protoFile__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "proto_file"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Descriptor.FileDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"protoFile")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorRequest+ sourceFileDescriptors__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "source_file_descriptors"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Descriptor.FileDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"sourceFileDescriptors")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorRequest+ compilerVersion__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "compiler_version"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor Version)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'compilerVersion")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorRequest+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, fileToGenerate__field_descriptor),+ (Data.ProtoLens.Tag 2, parameter__field_descriptor),+ (Data.ProtoLens.Tag 15, protoFile__field_descriptor),+ (Data.ProtoLens.Tag 17, sourceFileDescriptors__field_descriptor),+ (Data.ProtoLens.Tag 3, compilerVersion__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _CodeGeneratorRequest'_unknownFields+ (\ x__ y__ -> x__ {_CodeGeneratorRequest'_unknownFields = y__})+ defMessage+ = CodeGeneratorRequest'_constructor+ {_CodeGeneratorRequest'fileToGenerate = Data.Vector.Generic.empty,+ _CodeGeneratorRequest'parameter = Prelude.Nothing,+ _CodeGeneratorRequest'protoFile = Data.Vector.Generic.empty,+ _CodeGeneratorRequest'sourceFileDescriptors = Data.Vector.Generic.empty,+ _CodeGeneratorRequest'compilerVersion = Prelude.Nothing,+ _CodeGeneratorRequest'_unknownFields = []}+ parseMessage+ = let+ loop ::+ CodeGeneratorRequest+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Google.Protobuf.Descriptor.FileDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Google.Protobuf.Descriptor.FileDescriptorProto+ -> Data.ProtoLens.Encoding.Bytes.Parser CodeGeneratorRequest+ loop+ x+ mutable'fileToGenerate+ mutable'protoFile+ mutable'sourceFileDescriptors+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'fileToGenerate <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'fileToGenerate)+ frozen'protoFile <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'protoFile)+ frozen'sourceFileDescriptors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'sourceFileDescriptors)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'fileToGenerate")+ frozen'fileToGenerate+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'protoFile")+ frozen'protoFile+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'sourceFileDescriptors")+ frozen'sourceFileDescriptors+ x))))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "file_to_generate"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'fileToGenerate y)+ loop x v mutable'protoFile mutable'sourceFileDescriptors+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "parameter"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"parameter") y x)+ mutable'fileToGenerate+ mutable'protoFile+ mutable'sourceFileDescriptors+ 122+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "proto_file"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'protoFile y)+ loop x mutable'fileToGenerate v mutable'sourceFileDescriptors+ 138+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "source_file_descriptors"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'sourceFileDescriptors y)+ loop x mutable'fileToGenerate mutable'protoFile v+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "compiler_version"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"compilerVersion") y x)+ mutable'fileToGenerate+ mutable'protoFile+ mutable'sourceFileDescriptors+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'fileToGenerate+ mutable'protoFile+ mutable'sourceFileDescriptors+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'fileToGenerate <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'protoFile <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'sourceFileDescriptors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop+ Data.ProtoLens.defMessage+ mutable'fileToGenerate+ mutable'protoFile+ mutable'sourceFileDescriptors)+ "CodeGeneratorRequest"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'fileToGenerate") _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'parameter") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 122)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'protoFile") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 138)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'sourceFileDescriptors") _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'compilerVersion") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData CodeGeneratorRequest where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_CodeGeneratorRequest'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorRequest'fileToGenerate x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorRequest'parameter x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorRequest'protoFile x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorRequest'sourceFileDescriptors x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorRequest'compilerVersion x__) ())))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.error' @:: Lens' CodeGeneratorResponse Data.Text.Text@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'error' @:: Lens' CodeGeneratorResponse (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.supportedFeatures' @:: Lens' CodeGeneratorResponse Data.Word.Word64@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'supportedFeatures' @:: Lens' CodeGeneratorResponse (Prelude.Maybe Data.Word.Word64)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.minimumEdition' @:: Lens' CodeGeneratorResponse Data.Int.Int32@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'minimumEdition' @:: Lens' CodeGeneratorResponse (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maximumEdition' @:: Lens' CodeGeneratorResponse Data.Int.Int32@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'maximumEdition' @:: Lens' CodeGeneratorResponse (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.file' @:: Lens' CodeGeneratorResponse [CodeGeneratorResponse'File]@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.vec'file' @:: Lens' CodeGeneratorResponse (Data.Vector.Vector CodeGeneratorResponse'File)@ -}+data CodeGeneratorResponse+ = CodeGeneratorResponse'_constructor {_CodeGeneratorResponse'error :: !(Prelude.Maybe Data.Text.Text),+ _CodeGeneratorResponse'supportedFeatures :: !(Prelude.Maybe Data.Word.Word64),+ _CodeGeneratorResponse'minimumEdition :: !(Prelude.Maybe Data.Int.Int32),+ _CodeGeneratorResponse'maximumEdition :: !(Prelude.Maybe Data.Int.Int32),+ _CodeGeneratorResponse'file :: !(Data.Vector.Vector CodeGeneratorResponse'File),+ _CodeGeneratorResponse'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show CodeGeneratorResponse where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "error" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'error+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'error = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "maybe'error" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'error+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'error = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "supportedFeatures" Data.Word.Word64 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'supportedFeatures+ (\ x__ y__+ -> x__ {_CodeGeneratorResponse'supportedFeatures = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "maybe'supportedFeatures" (Prelude.Maybe Data.Word.Word64) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'supportedFeatures+ (\ x__ y__+ -> x__ {_CodeGeneratorResponse'supportedFeatures = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "minimumEdition" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'minimumEdition+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'minimumEdition = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "maybe'minimumEdition" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'minimumEdition+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'minimumEdition = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "maximumEdition" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'maximumEdition+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'maximumEdition = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "maybe'maximumEdition" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'maximumEdition+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'maximumEdition = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "file" [CodeGeneratorResponse'File] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'file+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'file = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "vec'file" (Data.Vector.Vector CodeGeneratorResponse'File) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'file+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'file = y__}))+ Prelude.id+instance Data.ProtoLens.Message CodeGeneratorResponse where+ messageName _+ = Data.Text.pack "google.protobuf.compiler.CodeGeneratorResponse"+ packedMessageDescriptor _+ = "\n\+ \\NAKCodeGeneratorResponse\DC2\DC4\n\+ \\ENQerror\CAN\SOH \SOH(\tR\ENQerror\DC2-\n\+ \\DC2supported_features\CAN\STX \SOH(\EOTR\DC1supportedFeatures\DC2'\n\+ \\SIminimum_edition\CAN\ETX \SOH(\ENQR\SOminimumEdition\DC2'\n\+ \\SImaximum_edition\CAN\EOT \SOH(\ENQR\SOmaximumEdition\DC2H\n\+ \\EOTfile\CAN\SI \ETX(\v24.google.protobuf.compiler.CodeGeneratorResponse.FileR\EOTfile\SUB\177\SOH\n\+ \\EOTFile\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2'\n\+ \\SIinsertion_point\CAN\STX \SOH(\tR\SOinsertionPoint\DC2\CAN\n\+ \\acontent\CAN\SI \SOH(\tR\acontent\DC2R\n\+ \\DC3generated_code_info\CAN\DLE \SOH(\v2\".google.protobuf.GeneratedCodeInfoR\DC1generatedCodeInfo\"W\n\+ \\aFeature\DC2\DLE\n\+ \\fFEATURE_NONE\DLE\NUL\DC2\ESC\n\+ \\ETBFEATURE_PROTO3_OPTIONAL\DLE\SOH\DC2\GS\n\+ \\EMFEATURE_SUPPORTS_EDITIONS\DLE\STX"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ error__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "error"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'error")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorResponse+ supportedFeatures__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "supported_features"+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'supportedFeatures")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorResponse+ minimumEdition__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "minimum_edition"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'minimumEdition")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorResponse+ maximumEdition__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "maximum_edition"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'maximumEdition")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorResponse+ file__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "file"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor CodeGeneratorResponse'File)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"file")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorResponse+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, error__field_descriptor),+ (Data.ProtoLens.Tag 2, supportedFeatures__field_descriptor),+ (Data.ProtoLens.Tag 3, minimumEdition__field_descriptor),+ (Data.ProtoLens.Tag 4, maximumEdition__field_descriptor),+ (Data.ProtoLens.Tag 15, file__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'_unknownFields+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'_unknownFields = y__})+ defMessage+ = CodeGeneratorResponse'_constructor+ {_CodeGeneratorResponse'error = Prelude.Nothing,+ _CodeGeneratorResponse'supportedFeatures = Prelude.Nothing,+ _CodeGeneratorResponse'minimumEdition = Prelude.Nothing,+ _CodeGeneratorResponse'maximumEdition = Prelude.Nothing,+ _CodeGeneratorResponse'file = Data.Vector.Generic.empty,+ _CodeGeneratorResponse'_unknownFields = []}+ parseMessage+ = let+ loop ::+ CodeGeneratorResponse+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld CodeGeneratorResponse'File+ -> Data.ProtoLens.Encoding.Bytes.Parser CodeGeneratorResponse+ loop x mutable'file+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'file <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'file)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'file") frozen'file x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "error"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"error") y x)+ mutable'file+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ Data.ProtoLens.Encoding.Bytes.getVarInt "supported_features"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"supportedFeatures") y x)+ mutable'file+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "minimum_edition"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"minimumEdition") y x)+ mutable'file+ 32+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "maximum_edition"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"maximumEdition") y x)+ mutable'file+ 122+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "file"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'file y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'file+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'file <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'file)+ "CodeGeneratorResponse"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'error") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'supportedFeatures") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ (Data.ProtoLens.Encoding.Bytes.putVarInt _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'minimumEdition") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'maximumEdition") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 122)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'file") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData CodeGeneratorResponse where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'error x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'supportedFeatures x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'minimumEdition x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'maximumEdition x__)+ (Control.DeepSeq.deepseq (_CodeGeneratorResponse'file x__) ())))))+data CodeGeneratorResponse'Feature+ = CodeGeneratorResponse'FEATURE_NONE |+ CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL |+ CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum CodeGeneratorResponse'Feature where+ maybeToEnum 0 = Prelude.Just CodeGeneratorResponse'FEATURE_NONE+ maybeToEnum 1+ = Prelude.Just CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL+ maybeToEnum 2+ = Prelude.Just CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS+ maybeToEnum _ = Prelude.Nothing+ showEnum CodeGeneratorResponse'FEATURE_NONE = "FEATURE_NONE"+ showEnum CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL+ = "FEATURE_PROTO3_OPTIONAL"+ showEnum CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS+ = "FEATURE_SUPPORTS_EDITIONS"+ readEnum k+ | (Prelude.==) k "FEATURE_NONE"+ = Prelude.Just CodeGeneratorResponse'FEATURE_NONE+ | (Prelude.==) k "FEATURE_PROTO3_OPTIONAL"+ = Prelude.Just CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL+ | (Prelude.==) k "FEATURE_SUPPORTS_EDITIONS"+ = Prelude.Just CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded CodeGeneratorResponse'Feature where+ minBound = CodeGeneratorResponse'FEATURE_NONE+ maxBound = CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS+instance Prelude.Enum CodeGeneratorResponse'Feature where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum Feature: " (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum CodeGeneratorResponse'FEATURE_NONE = 0+ fromEnum CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL = 1+ fromEnum CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS = 2+ succ CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS+ = Prelude.error+ "CodeGeneratorResponse'Feature.succ: bad argument CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS. This value would be out of bounds."+ succ CodeGeneratorResponse'FEATURE_NONE+ = CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL+ succ CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL+ = CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS+ pred CodeGeneratorResponse'FEATURE_NONE+ = Prelude.error+ "CodeGeneratorResponse'Feature.pred: bad argument CodeGeneratorResponse'FEATURE_NONE. This value would be out of bounds."+ pred CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL+ = CodeGeneratorResponse'FEATURE_NONE+ pred CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS+ = CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault CodeGeneratorResponse'Feature where+ fieldDefault = CodeGeneratorResponse'FEATURE_NONE+instance Control.DeepSeq.NFData CodeGeneratorResponse'Feature where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.name' @:: Lens' CodeGeneratorResponse'File Data.Text.Text@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'name' @:: Lens' CodeGeneratorResponse'File (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.insertionPoint' @:: Lens' CodeGeneratorResponse'File Data.Text.Text@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'insertionPoint' @:: Lens' CodeGeneratorResponse'File (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.content' @:: Lens' CodeGeneratorResponse'File Data.Text.Text@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'content' @:: Lens' CodeGeneratorResponse'File (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.generatedCodeInfo' @:: Lens' CodeGeneratorResponse'File Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'generatedCodeInfo' @:: Lens' CodeGeneratorResponse'File (Prelude.Maybe Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo)@ -}+data CodeGeneratorResponse'File+ = CodeGeneratorResponse'File'_constructor {_CodeGeneratorResponse'File'name :: !(Prelude.Maybe Data.Text.Text),+ _CodeGeneratorResponse'File'insertionPoint :: !(Prelude.Maybe Data.Text.Text),+ _CodeGeneratorResponse'File'content :: !(Prelude.Maybe Data.Text.Text),+ _CodeGeneratorResponse'File'generatedCodeInfo :: !(Prelude.Maybe Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo),+ _CodeGeneratorResponse'File'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show CodeGeneratorResponse'File where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File "name" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'File'name+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'File'name = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File "maybe'name" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'File'name+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'File'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File "insertionPoint" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'File'insertionPoint+ (\ x__ y__+ -> x__ {_CodeGeneratorResponse'File'insertionPoint = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File "maybe'insertionPoint" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'File'insertionPoint+ (\ x__ y__+ -> x__ {_CodeGeneratorResponse'File'insertionPoint = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File "content" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'File'content+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'File'content = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File "maybe'content" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'File'content+ (\ x__ y__ -> x__ {_CodeGeneratorResponse'File'content = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File "generatedCodeInfo" Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'File'generatedCodeInfo+ (\ x__ y__+ -> x__ {_CodeGeneratorResponse'File'generatedCodeInfo = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File "maybe'generatedCodeInfo" (Prelude.Maybe Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'File'generatedCodeInfo+ (\ x__ y__+ -> x__ {_CodeGeneratorResponse'File'generatedCodeInfo = y__}))+ Prelude.id+instance Data.ProtoLens.Message CodeGeneratorResponse'File where+ messageName _+ = Data.Text.pack+ "google.protobuf.compiler.CodeGeneratorResponse.File"+ packedMessageDescriptor _+ = "\n\+ \\EOTFile\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2'\n\+ \\SIinsertion_point\CAN\STX \SOH(\tR\SOinsertionPoint\DC2\CAN\n\+ \\acontent\CAN\SI \SOH(\tR\acontent\DC2R\n\+ \\DC3generated_code_info\CAN\DLE \SOH(\v2\".google.protobuf.GeneratedCodeInfoR\DC1generatedCodeInfo"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'name")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File+ insertionPoint__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "insertion_point"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'insertionPoint")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File+ content__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "content"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'content")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File+ generatedCodeInfo__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "generated_code_info"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'generatedCodeInfo")) ::+ Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, name__field_descriptor),+ (Data.ProtoLens.Tag 2, insertionPoint__field_descriptor),+ (Data.ProtoLens.Tag 15, content__field_descriptor),+ (Data.ProtoLens.Tag 16, generatedCodeInfo__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _CodeGeneratorResponse'File'_unknownFields+ (\ x__ y__+ -> x__ {_CodeGeneratorResponse'File'_unknownFields = y__})+ defMessage+ = CodeGeneratorResponse'File'_constructor+ {_CodeGeneratorResponse'File'name = Prelude.Nothing,+ _CodeGeneratorResponse'File'insertionPoint = Prelude.Nothing,+ _CodeGeneratorResponse'File'content = Prelude.Nothing,+ _CodeGeneratorResponse'File'generatedCodeInfo = Prelude.Nothing,+ _CodeGeneratorResponse'File'_unknownFields = []}+ parseMessage+ = let+ loop ::+ CodeGeneratorResponse'File+ -> Data.ProtoLens.Encoding.Bytes.Parser CodeGeneratorResponse'File+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "insertion_point"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"insertionPoint") y x)+ 122+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "content"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"content") y x)+ 130+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "generated_code_info"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"generatedCodeInfo") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "File"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'insertionPoint") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'content") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 122)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'generatedCodeInfo") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 130)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))+instance Control.DeepSeq.NFData CodeGeneratorResponse'File where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'File'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'File'name x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'File'insertionPoint x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'File'content x__)+ (Control.DeepSeq.deepseq+ (_CodeGeneratorResponse'File'generatedCodeInfo x__) ()))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.major' @:: Lens' Version Data.Int.Int32@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'major' @:: Lens' Version (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.minor' @:: Lens' Version Data.Int.Int32@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'minor' @:: Lens' Version (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.patch' @:: Lens' Version Data.Int.Int32@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'patch' @:: Lens' Version (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.suffix' @:: Lens' Version Data.Text.Text@+ * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'suffix' @:: Lens' Version (Prelude.Maybe Data.Text.Text)@ -}+data Version+ = Version'_constructor {_Version'major :: !(Prelude.Maybe Data.Int.Int32),+ _Version'minor :: !(Prelude.Maybe Data.Int.Int32),+ _Version'patch :: !(Prelude.Maybe Data.Int.Int32),+ _Version'suffix :: !(Prelude.Maybe Data.Text.Text),+ _Version'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Version where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Version "major" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _Version'major (\ x__ y__ -> x__ {_Version'major = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField Version "maybe'major" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _Version'major (\ x__ y__ -> x__ {_Version'major = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField Version "minor" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _Version'minor (\ x__ y__ -> x__ {_Version'minor = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField Version "maybe'minor" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _Version'minor (\ x__ y__ -> x__ {_Version'minor = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField Version "patch" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _Version'patch (\ x__ y__ -> x__ {_Version'patch = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField Version "maybe'patch" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _Version'patch (\ x__ y__ -> x__ {_Version'patch = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField Version "suffix" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _Version'suffix (\ x__ y__ -> x__ {_Version'suffix = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField Version "maybe'suffix" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _Version'suffix (\ x__ y__ -> x__ {_Version'suffix = y__}))+ Prelude.id+instance Data.ProtoLens.Message Version where+ messageName _ = Data.Text.pack "google.protobuf.compiler.Version"+ packedMessageDescriptor _+ = "\n\+ \\aVersion\DC2\DC4\n\+ \\ENQmajor\CAN\SOH \SOH(\ENQR\ENQmajor\DC2\DC4\n\+ \\ENQminor\CAN\STX \SOH(\ENQR\ENQminor\DC2\DC4\n\+ \\ENQpatch\CAN\ETX \SOH(\ENQR\ENQpatch\DC2\SYN\n\+ \\ACKsuffix\CAN\EOT \SOH(\tR\ACKsuffix"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ major__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "major"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'major")) ::+ Data.ProtoLens.FieldDescriptor Version+ minor__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "minor"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'minor")) ::+ Data.ProtoLens.FieldDescriptor Version+ patch__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "patch"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'patch")) ::+ Data.ProtoLens.FieldDescriptor Version+ suffix__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "suffix"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'suffix")) ::+ Data.ProtoLens.FieldDescriptor Version+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, major__field_descriptor),+ (Data.ProtoLens.Tag 2, minor__field_descriptor),+ (Data.ProtoLens.Tag 3, patch__field_descriptor),+ (Data.ProtoLens.Tag 4, suffix__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _Version'_unknownFields+ (\ x__ y__ -> x__ {_Version'_unknownFields = y__})+ defMessage+ = Version'_constructor+ {_Version'major = Prelude.Nothing,+ _Version'minor = Prelude.Nothing, _Version'patch = Prelude.Nothing,+ _Version'suffix = Prelude.Nothing, _Version'_unknownFields = []}+ parseMessage+ = let+ loop :: Version -> Data.ProtoLens.Encoding.Bytes.Parser Version+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "major"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"major") y x)+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "minor"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"minor") y x)+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "patch"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"patch") y x)+ 34+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "suffix"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"suffix") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "Version"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'major") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'minor") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'patch") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'suffix") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))+instance Control.DeepSeq.NFData Version where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_Version'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_Version'major x__)+ (Control.DeepSeq.deepseq+ (_Version'minor x__)+ (Control.DeepSeq.deepseq+ (_Version'patch x__)+ (Control.DeepSeq.deepseq (_Version'suffix x__) ()))))+packedFileDescriptor :: Data.ByteString.ByteString+packedFileDescriptor+ = "\n\+ \%google/protobuf/compiler/plugin.proto\DC2\CANgoogle.protobuf.compiler\SUB google/protobuf/descriptor.proto\"c\n\+ \\aVersion\DC2\DC4\n\+ \\ENQmajor\CAN\SOH \SOH(\ENQR\ENQmajor\DC2\DC4\n\+ \\ENQminor\CAN\STX \SOH(\ENQR\ENQminor\DC2\DC4\n\+ \\ENQpatch\CAN\ETX \SOH(\ENQR\ENQpatch\DC2\SYN\n\+ \\ACKsuffix\CAN\EOT \SOH(\tR\ACKsuffix\"\207\STX\n\+ \\DC4CodeGeneratorRequest\DC2(\n\+ \\DLEfile_to_generate\CAN\SOH \ETX(\tR\SOfileToGenerate\DC2\FS\n\+ \\tparameter\CAN\STX \SOH(\tR\tparameter\DC2C\n\+ \\n\+ \proto_file\CAN\SI \ETX(\v2$.google.protobuf.FileDescriptorProtoR\tprotoFile\DC2\\\n\+ \\ETBsource_file_descriptors\CAN\DC1 \ETX(\v2$.google.protobuf.FileDescriptorProtoR\NAKsourceFileDescriptors\DC2L\n\+ \\DLEcompiler_version\CAN\ETX \SOH(\v2!.google.protobuf.compiler.VersionR\SIcompilerVersion\"\133\EOT\n\+ \\NAKCodeGeneratorResponse\DC2\DC4\n\+ \\ENQerror\CAN\SOH \SOH(\tR\ENQerror\DC2-\n\+ \\DC2supported_features\CAN\STX \SOH(\EOTR\DC1supportedFeatures\DC2'\n\+ \\SIminimum_edition\CAN\ETX \SOH(\ENQR\SOminimumEdition\DC2'\n\+ \\SImaximum_edition\CAN\EOT \SOH(\ENQR\SOmaximumEdition\DC2H\n\+ \\EOTfile\CAN\SI \ETX(\v24.google.protobuf.compiler.CodeGeneratorResponse.FileR\EOTfile\SUB\177\SOH\n\+ \\EOTFile\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2'\n\+ \\SIinsertion_point\CAN\STX \SOH(\tR\SOinsertionPoint\DC2\CAN\n\+ \\acontent\CAN\SI \SOH(\tR\acontent\DC2R\n\+ \\DC3generated_code_info\CAN\DLE \SOH(\v2\".google.protobuf.GeneratedCodeInfoR\DC1generatedCodeInfo\"W\n\+ \\aFeature\DC2\DLE\n\+ \\fFEATURE_NONE\DLE\NUL\DC2\ESC\n\+ \\ETBFEATURE_PROTO3_OPTIONAL\DLE\SOH\DC2\GS\n\+ \\EMFEATURE_SUPPORTS_EDITIONS\DLE\STXBr\n\+ \\FScom.google.protobuf.compilerB\fPluginProtosZ)google.golang.org/protobuf/types/pluginpb\170\STX\CANGoogle.Protobuf.CompilerJ\226B\n\+ \\a\DC2\ENQ\DC4\NUL\179\SOH\SOH\n\+ \\186\ACK\n\+ \\SOH\f\DC2\ETX\DC4\NUL\DC22\137\STX Protocol Buffers - Google's data interchange format\n\+ \ Copyright 2008 Google Inc. All rights reserved.\n\+ \\n\+ \ Use of this source code is governed by a BSD-style\n\+ \ license that can be found in the LICENSE file or at\n\+ \ https://developers.google.com/open-source/licenses/bsd\n\+ \2\163\EOT Author: kenton@google.com (Kenton Varda)\n\+ \\n\+ \ protoc (aka the Protocol Compiler) can be extended via plugins. A plugin is\n\+ \ just a program that reads a CodeGeneratorRequest from stdin and writes a\n\+ \ CodeGeneratorResponse to stdout.\n\+ \\n\+ \ Plugins written using C++ can use google/protobuf/compiler/plugin.h instead\n\+ \ of dealing with the raw protocol defined here.\n\+ \\n\+ \ A plugin executable needs only to be placed somewhere in the path. The\n\+ \ plugin should be named \"protoc-gen-$NAME\", and will then be used when the\n\+ \ flag \"--${NAME}_out\" is passed to protoc.\n\+ \\n\+ \\b\n\+ \\SOH\STX\DC2\ETX\SYN\NUL!\n\+ \\b\n\+ \\SOH\b\DC2\ETX\ETB\NUL5\n\+ \\t\n\+ \\STX\b\SOH\DC2\ETX\ETB\NUL5\n\+ \\b\n\+ \\SOH\b\DC2\ETX\CAN\NUL-\n\+ \\t\n\+ \\STX\b\b\DC2\ETX\CAN\NUL-\n\+ \\b\n\+ \\SOH\b\DC2\ETX\SUB\NUL5\n\+ \\t\n\+ \\STX\b%\DC2\ETX\SUB\NUL5\n\+ \\b\n\+ \\SOH\b\DC2\ETX\ESC\NUL@\n\+ \\t\n\+ \\STX\b\v\DC2\ETX\ESC\NUL@\n\+ \\t\n\+ \\STX\ETX\NUL\DC2\ETX\GS\NUL*\n\+ \6\n\+ \\STX\EOT\NUL\DC2\EOT \NUL'\SOH\SUB* The version number of protocol compiler.\n\+ \\n\+ \\n\+ \\n\+ \\ETX\EOT\NUL\SOH\DC2\ETX \b\SI\n\+ \\v\n\+ \\EOT\EOT\NUL\STX\NUL\DC2\ETX!\STX\ESC\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX!\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\NUL\ENQ\DC2\ETX!\v\DLE\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX!\DC1\SYN\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX!\EM\SUB\n\+ \\v\n\+ \\EOT\EOT\NUL\STX\SOH\DC2\ETX\"\STX\ESC\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\SOH\EOT\DC2\ETX\"\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\SOH\ENQ\DC2\ETX\"\v\DLE\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX\"\DC1\SYN\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX\"\EM\SUB\n\+ \\v\n\+ \\EOT\EOT\NUL\STX\STX\DC2\ETX#\STX\ESC\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\STX\EOT\DC2\ETX#\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\STX\ENQ\DC2\ETX#\v\DLE\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\STX\SOH\DC2\ETX#\DC1\SYN\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETX#\EM\SUB\n\+ \\128\SOH\n\+ \\EOT\EOT\NUL\STX\ETX\DC2\ETX&\STX\GS\SUBs A suffix for alpha, beta or rc release, e.g., \"alpha-1\", \"rc2\". It should\n\+ \ be empty for mainline stable releases.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\ETX\EOT\DC2\ETX&\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\ETX\ENQ\DC2\ETX&\v\DC1\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\ETX\SOH\DC2\ETX&\DC2\CAN\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\ETX\ETX\DC2\ETX&\ESC\FS\n\+ \O\n\+ \\STX\EOT\SOH\DC2\EOT*\NULO\SOH\SUBC An encoded CodeGeneratorRequest is written to the plugin's stdin.\n\+ \\n\+ \\n\+ \\n\+ \\ETX\EOT\SOH\SOH\DC2\ETX*\b\FS\n\+ \\209\SOH\n\+ \\EOT\EOT\SOH\STX\NUL\DC2\ETX.\STX'\SUB\195\SOH The .proto files that were explicitly listed on the command-line. The\n\+ \ code generator should generate code only for these files. Each file's\n\+ \ descriptor will be included in proto_file, below.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\NUL\EOT\DC2\ETX.\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\NUL\ENQ\DC2\ETX.\v\DC1\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX.\DC2\"\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX.%&\n\+ \B\n\+ \\EOT\EOT\SOH\STX\SOH\DC2\ETX1\STX \SUB5 The generator parameter passed on the command-line.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\SOH\EOT\DC2\ETX1\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\SOH\ENQ\DC2\ETX1\v\DC1\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX1\DC2\ESC\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX1\RS\US\n\+ \\150\b\n\+ \\EOT\EOT\SOH\STX\STX\DC2\ETXF\STX/\SUB\136\b FileDescriptorProtos for all files in files_to_generate and everything\n\+ \ they import. The files will appear in topological order, so each file\n\+ \ appears before any file that imports it.\n\+ \\n\+ \ Note: the files listed in files_to_generate will include runtime-retention\n\+ \ options only, but all other files will include source-retention options.\n\+ \ The source_file_descriptors field below is available in case you need\n\+ \ source-retention options for files_to_generate.\n\+ \\n\+ \ protoc guarantees that all proto_files will be written after\n\+ \ the fields above, even though this is not technically guaranteed by the\n\+ \ protobuf wire format. This theoretically could allow a plugin to stream\n\+ \ in the FileDescriptorProtos and handle them one by one rather than read\n\+ \ the entire set into memory at once. However, as of this writing, this\n\+ \ is not similarly optimized on protoc's end -- it will store all fields in\n\+ \ memory at once before sending them to the plugin.\n\+ \\n\+ \ Type names of fields and extensions in the FileDescriptorProto are always\n\+ \ fully qualified.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\STX\EOT\DC2\ETXF\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\STX\ACK\DC2\ETXF\v\RS\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETXF\US)\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETXF,.\n\+ \\167\SOH\n\+ \\EOT\EOT\SOH\STX\ETX\DC2\ETXK\STX<\SUB\153\SOH File descriptors with all options, including source-retention options.\n\+ \ These descriptors are only provided for the files listed in\n\+ \ files_to_generate.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ETX\EOT\DC2\ETXK\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ETX\ACK\DC2\ETXK\v\RS\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETXK\US6\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETXK9;\n\+ \7\n\+ \\EOT\EOT\SOH\STX\EOT\DC2\ETXN\STX(\SUB* The version number of protocol compiler.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\EOT\EOT\DC2\ETXN\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\EOT\ACK\DC2\ETXN\v\DC2\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\EOT\SOH\DC2\ETXN\DC3#\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\EOT\ETX\DC2\ETXN&'\n\+ \L\n\+ \\STX\EOT\STX\DC2\ENQR\NUL\179\SOH\SOH\SUB? The plugin writes an encoded CodeGeneratorResponse to stdout.\n\+ \\n\+ \\n\+ \\n\+ \\ETX\EOT\STX\SOH\DC2\ETXR\b\GS\n\+ \\237\ETX\n\+ \\EOT\EOT\STX\STX\NUL\DC2\ETX[\STX\FS\SUB\223\ETX Error message. If non-empty, code generation failed. The plugin process\n\+ \ should exit with status code zero even if it reports an error in this way.\n\+ \\n\+ \ This should be used to indicate errors in .proto files which prevent the\n\+ \ code generator from generating correct code. Errors which indicate a\n\+ \ problem in protoc itself -- such as the input CodeGeneratorRequest being\n\+ \ unparseable -- should be reported by writing a message to stderr and\n\+ \ exiting with a non-zero status code.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\NUL\EOT\DC2\ETX[\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETX[\v\DC1\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETX[\DC2\ETB\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETX[\SUB\ESC\n\+ \\137\SOH\n\+ \\EOT\EOT\STX\STX\SOH\DC2\ETX_\STX)\SUB| A bitmask of supported features that the code generator supports.\n\+ \ This is a bitwise \"or\" of values from the Feature enum.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETX_\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETX_\v\DC1\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETX_\DC2$\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETX_'(\n\+ \+\n\+ \\EOT\EOT\STX\EOT\NUL\DC2\EOTb\STXf\ETX\SUB\GS Sync with code_generator.h.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\EOT\NUL\SOH\DC2\ETXb\a\SO\n\+ \\r\n\+ \\ACK\EOT\STX\EOT\NUL\STX\NUL\DC2\ETXc\EOT\NAK\n\+ \\SO\n\+ \\a\EOT\STX\EOT\NUL\STX\NUL\SOH\DC2\ETXc\EOT\DLE\n\+ \\SO\n\+ \\a\EOT\STX\EOT\NUL\STX\NUL\STX\DC2\ETXc\DC3\DC4\n\+ \\r\n\+ \\ACK\EOT\STX\EOT\NUL\STX\SOH\DC2\ETXd\EOT \n\+ \\SO\n\+ \\a\EOT\STX\EOT\NUL\STX\SOH\SOH\DC2\ETXd\EOT\ESC\n\+ \\SO\n\+ \\a\EOT\STX\EOT\NUL\STX\SOH\STX\DC2\ETXd\RS\US\n\+ \\r\n\+ \\ACK\EOT\STX\EOT\NUL\STX\STX\DC2\ETXe\EOT\"\n\+ \\SO\n\+ \\a\EOT\STX\EOT\NUL\STX\STX\SOH\DC2\ETXe\EOT\GS\n\+ \\SO\n\+ \\a\EOT\STX\EOT\NUL\STX\STX\STX\DC2\ETXe !\n\+ \\167\STX\n\+ \\EOT\EOT\STX\STX\STX\DC2\ETXl\STX%\SUB\153\STX The minimum edition this plugin supports. This will be treated as an\n\+ \ Edition enum, but we want to allow unknown values. It should be specified\n\+ \ according the edition enum value, *not* the edition number. Only takes\n\+ \ effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETXl\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXl\v\DLE\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXl\DC1 \n\+ \\f\n\+ \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXl#$\n\+ \\167\STX\n\+ \\EOT\EOT\STX\STX\ETX\DC2\ETXr\STX%\SUB\153\STX The maximum edition this plugin supports. This will be treated as an\n\+ \ Edition enum, but we want to allow unknown values. It should be specified\n\+ \ according the edition enum value, *not* the edition number. Only takes\n\+ \ effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\ETX\EOT\DC2\ETXr\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\ETX\ENQ\DC2\ETXr\v\DLE\n\+ \\f\n\+ \\ENQ\EOT\STX\STX\ETX\SOH\DC2\ETXr\DC1 \n\+ \\f\n\+ \\ENQ\EOT\STX\STX\ETX\ETX\DC2\ETXr#$\n\+ \4\n\+ \\EOT\EOT\STX\ETX\NUL\DC2\ENQu\STX\177\SOH\ETX\SUB% Represents a single generated file.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\STX\ETX\NUL\SOH\DC2\ETXu\n\+ \\SO\n\+ \\174\ENQ\n\+ \\ACK\EOT\STX\ETX\NUL\STX\NUL\DC2\EOT\129\SOH\EOT\GS\SUB\157\ENQ The file name, relative to the output directory. The name must not\n\+ \ contain \".\" or \"..\" components and must be relative, not be absolute (so,\n\+ \ the file cannot lie outside the output directory). \"/\" must be used as\n\+ \ the path separator, not \"\\\".\n\+ \\n\+ \ If the name is omitted, the content will be appended to the previous\n\+ \ file. This allows the generator to break large files into small chunks,\n\+ \ and allows the generated text to be streamed back to protoc so that large\n\+ \ files need not reside completely in memory at one time. Note that as of\n\+ \ this writing protoc does not optimize for this -- it will read the entire\n\+ \ CodeGeneratorResponse before writing files to disk.\n\+ \\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\NUL\EOT\DC2\EOT\129\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\NUL\ENQ\DC2\EOT\129\SOH\r\DC3\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\NUL\SOH\DC2\EOT\129\SOH\DC4\CAN\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\NUL\ETX\DC2\EOT\129\SOH\ESC\FS\n\+ \\174\DLE\n\+ \\ACK\EOT\STX\ETX\NUL\STX\SOH\DC2\EOT\168\SOH\EOT(\SUB\157\DLE If non-empty, indicates that the named file should already exist, and the\n\+ \ content here is to be inserted into that file at a defined insertion\n\+ \ point. This feature allows a code generator to extend the output\n\+ \ produced by another code generator. The original generator may provide\n\+ \ insertion points by placing special annotations in the file that look\n\+ \ like:\n\+ \ @@protoc_insertion_point(NAME)\n\+ \ The annotation can have arbitrary text before and after it on the line,\n\+ \ which allows it to be placed in a comment. NAME should be replaced with\n\+ \ an identifier naming the point -- this is what other generators will use\n\+ \ as the insertion_point. Code inserted at this point will be placed\n\+ \ immediately above the line containing the insertion point (thus multiple\n\+ \ insertions to the same point will come out in the order they were added).\n\+ \ The double-@ is intended to make it unlikely that the generated code\n\+ \ could contain things that look like insertion points by accident.\n\+ \\n\+ \ For example, the C++ code generator places the following line in the\n\+ \ .pb.h files that it generates:\n\+ \ // @@protoc_insertion_point(namespace_scope)\n\+ \ This line appears within the scope of the file's package namespace, but\n\+ \ outside of any particular class. Another plugin can then specify the\n\+ \ insertion_point \"namespace_scope\" to generate additional classes or\n\+ \ other declarations that should be placed in this scope.\n\+ \\n\+ \ Note that if the line containing the insertion point begins with\n\+ \ whitespace, the same whitespace will be added to every line of the\n\+ \ inserted text. This is useful for languages like Python, where\n\+ \ indentation matters. In these languages, the insertion point comment\n\+ \ should be indented the same amount as any inserted code will need to be\n\+ \ in order to work correctly in that context.\n\+ \\n\+ \ The code generator that generates the initial file and the one which\n\+ \ inserts into it must both run as part of a single invocation of protoc.\n\+ \ Code generators are executed in the order in which they appear on the\n\+ \ command line.\n\+ \\n\+ \ If |insertion_point| is present, |name| must also be present.\n\+ \\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\SOH\EOT\DC2\EOT\168\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\SOH\ENQ\DC2\EOT\168\SOH\r\DC3\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\SOH\SOH\DC2\EOT\168\SOH\DC4#\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\SOH\ETX\DC2\EOT\168\SOH&'\n\+ \$\n\+ \\ACK\EOT\STX\ETX\NUL\STX\STX\DC2\EOT\171\SOH\EOT!\SUB\DC4 The file contents.\n\+ \\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\STX\EOT\DC2\EOT\171\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\STX\ENQ\DC2\EOT\171\SOH\r\DC3\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\STX\SOH\DC2\EOT\171\SOH\DC4\ESC\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\STX\ETX\DC2\EOT\171\SOH\RS \n\+ \\225\SOH\n\+ \\ACK\EOT\STX\ETX\NUL\STX\ETX\DC2\EOT\176\SOH\EOT8\SUB\208\SOH Information describing the file content being inserted. If an insertion\n\+ \ point is used, this information will be appropriately offset and inserted\n\+ \ into the code generation metadata for the generated files.\n\+ \\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\ETX\EOT\DC2\EOT\176\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\ETX\ACK\DC2\EOT\176\SOH\r\RS\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\ETX\SOH\DC2\EOT\176\SOH\US2\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\ETX\ETX\DC2\EOT\176\SOH57\n\+ \\f\n\+ \\EOT\EOT\STX\STX\EOT\DC2\EOT\178\SOH\STX\SUB\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\EOT\EOT\DC2\EOT\178\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\EOT\ACK\DC2\EOT\178\SOH\v\SI\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\EOT\SOH\DC2\EOT\178\SOH\DLE\DC4\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\EOT\ETX\DC2\EOT\178\SOH\ETB\EM"
+ app/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs view
@@ -0,0 +1,247 @@+{- This file was auto-generated from google/protobuf/compiler/plugin.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}+{-# OPTIONS_GHC -Wno-unused-imports#-}+{-# OPTIONS_GHC -Wno-duplicate-exports#-}+{-# OPTIONS_GHC -Wno-dodgy-exports#-}+module Proto.Google.Protobuf.Compiler.Plugin_Fields where+import qualified Data.ProtoLens.Runtime.Prelude as Prelude+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read+import qualified Proto.Google.Protobuf.Descriptor+compilerVersion ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "compilerVersion" a) =>+ Lens.Family2.LensLike' f s a+compilerVersion = Data.ProtoLens.Field.field @"compilerVersion"+content ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "content" a) =>+ Lens.Family2.LensLike' f s a+content = Data.ProtoLens.Field.field @"content"+error ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "error" a) =>+ Lens.Family2.LensLike' f s a+error = Data.ProtoLens.Field.field @"error"+file ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "file" a) =>+ Lens.Family2.LensLike' f s a+file = Data.ProtoLens.Field.field @"file"+fileToGenerate ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "fileToGenerate" a) =>+ Lens.Family2.LensLike' f s a+fileToGenerate = Data.ProtoLens.Field.field @"fileToGenerate"+generatedCodeInfo ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "generatedCodeInfo" a) =>+ Lens.Family2.LensLike' f s a+generatedCodeInfo = Data.ProtoLens.Field.field @"generatedCodeInfo"+insertionPoint ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "insertionPoint" a) =>+ Lens.Family2.LensLike' f s a+insertionPoint = Data.ProtoLens.Field.field @"insertionPoint"+major ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "major" a) =>+ Lens.Family2.LensLike' f s a+major = Data.ProtoLens.Field.field @"major"+maximumEdition ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maximumEdition" a) =>+ Lens.Family2.LensLike' f s a+maximumEdition = Data.ProtoLens.Field.field @"maximumEdition"+maybe'compilerVersion ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'compilerVersion" a) =>+ Lens.Family2.LensLike' f s a+maybe'compilerVersion+ = Data.ProtoLens.Field.field @"maybe'compilerVersion"+maybe'content ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'content" a) =>+ Lens.Family2.LensLike' f s a+maybe'content = Data.ProtoLens.Field.field @"maybe'content"+maybe'error ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'error" a) =>+ Lens.Family2.LensLike' f s a+maybe'error = Data.ProtoLens.Field.field @"maybe'error"+maybe'generatedCodeInfo ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'generatedCodeInfo" a) =>+ Lens.Family2.LensLike' f s a+maybe'generatedCodeInfo+ = Data.ProtoLens.Field.field @"maybe'generatedCodeInfo"+maybe'insertionPoint ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'insertionPoint" a) =>+ Lens.Family2.LensLike' f s a+maybe'insertionPoint+ = Data.ProtoLens.Field.field @"maybe'insertionPoint"+maybe'major ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'major" a) =>+ Lens.Family2.LensLike' f s a+maybe'major = Data.ProtoLens.Field.field @"maybe'major"+maybe'maximumEdition ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'maximumEdition" a) =>+ Lens.Family2.LensLike' f s a+maybe'maximumEdition+ = Data.ProtoLens.Field.field @"maybe'maximumEdition"+maybe'minimumEdition ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'minimumEdition" a) =>+ Lens.Family2.LensLike' f s a+maybe'minimumEdition+ = Data.ProtoLens.Field.field @"maybe'minimumEdition"+maybe'minor ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'minor" a) =>+ Lens.Family2.LensLike' f s a+maybe'minor = Data.ProtoLens.Field.field @"maybe'minor"+maybe'name ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'name" a) =>+ Lens.Family2.LensLike' f s a+maybe'name = Data.ProtoLens.Field.field @"maybe'name"+maybe'parameter ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'parameter" a) =>+ Lens.Family2.LensLike' f s a+maybe'parameter = Data.ProtoLens.Field.field @"maybe'parameter"+maybe'patch ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'patch" a) =>+ Lens.Family2.LensLike' f s a+maybe'patch = Data.ProtoLens.Field.field @"maybe'patch"+maybe'suffix ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'suffix" a) =>+ Lens.Family2.LensLike' f s a+maybe'suffix = Data.ProtoLens.Field.field @"maybe'suffix"+maybe'supportedFeatures ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'supportedFeatures" a) =>+ Lens.Family2.LensLike' f s a+maybe'supportedFeatures+ = Data.ProtoLens.Field.field @"maybe'supportedFeatures"+minimumEdition ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "minimumEdition" a) =>+ Lens.Family2.LensLike' f s a+minimumEdition = Data.ProtoLens.Field.field @"minimumEdition"+minor ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "minor" a) =>+ Lens.Family2.LensLike' f s a+minor = Data.ProtoLens.Field.field @"minor"+name ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "name" a) =>+ Lens.Family2.LensLike' f s a+name = Data.ProtoLens.Field.field @"name"+parameter ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "parameter" a) =>+ Lens.Family2.LensLike' f s a+parameter = Data.ProtoLens.Field.field @"parameter"+patch ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "patch" a) =>+ Lens.Family2.LensLike' f s a+patch = Data.ProtoLens.Field.field @"patch"+protoFile ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "protoFile" a) =>+ Lens.Family2.LensLike' f s a+protoFile = Data.ProtoLens.Field.field @"protoFile"+sourceFileDescriptors ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "sourceFileDescriptors" a) =>+ Lens.Family2.LensLike' f s a+sourceFileDescriptors+ = Data.ProtoLens.Field.field @"sourceFileDescriptors"+suffix ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "suffix" a) =>+ Lens.Family2.LensLike' f s a+suffix = Data.ProtoLens.Field.field @"suffix"+supportedFeatures ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "supportedFeatures" a) =>+ Lens.Family2.LensLike' f s a+supportedFeatures = Data.ProtoLens.Field.field @"supportedFeatures"+vec'file ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'file" a) =>+ Lens.Family2.LensLike' f s a+vec'file = Data.ProtoLens.Field.field @"vec'file"+vec'fileToGenerate ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'fileToGenerate" a) =>+ Lens.Family2.LensLike' f s a+vec'fileToGenerate+ = Data.ProtoLens.Field.field @"vec'fileToGenerate"+vec'protoFile ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'protoFile" a) =>+ Lens.Family2.LensLike' f s a+vec'protoFile = Data.ProtoLens.Field.field @"vec'protoFile"+vec'sourceFileDescriptors ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'sourceFileDescriptors" a) =>+ Lens.Family2.LensLike' f s a+vec'sourceFileDescriptors+ = Data.ProtoLens.Field.field @"vec'sourceFileDescriptors"
+ app/Proto/Google/Protobuf/Descriptor.hs view
@@ -0,0 +1,18329 @@+{- This file was auto-generated from google/protobuf/descriptor.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}+{-# OPTIONS_GHC -Wno-unused-imports#-}+{-# OPTIONS_GHC -Wno-duplicate-exports#-}+{-# OPTIONS_GHC -Wno-dodgy-exports#-}+module Proto.Google.Protobuf.Descriptor (+ DescriptorProto(), DescriptorProto'ExtensionRange(),+ DescriptorProto'ReservedRange(), Edition(..), Edition(),+ EnumDescriptorProto(), EnumDescriptorProto'EnumReservedRange(),+ EnumOptions(), EnumValueDescriptorProto(), EnumValueOptions(),+ ExtensionRangeOptions(), ExtensionRangeOptions'Declaration(),+ ExtensionRangeOptions'VerificationState(..),+ ExtensionRangeOptions'VerificationState(), FeatureSet(),+ FeatureSet'EnumType(..), FeatureSet'EnumType(),+ FeatureSet'FieldPresence(..), FeatureSet'FieldPresence(),+ FeatureSet'JsonFormat(..), FeatureSet'JsonFormat(),+ FeatureSet'MessageEncoding(..), FeatureSet'MessageEncoding(),+ FeatureSet'RepeatedFieldEncoding(..),+ FeatureSet'RepeatedFieldEncoding(), FeatureSet'Utf8Validation(..),+ FeatureSet'Utf8Validation(), FeatureSetDefaults(),+ FeatureSetDefaults'FeatureSetEditionDefault(),+ FieldDescriptorProto(), FieldDescriptorProto'Label(..),+ FieldDescriptorProto'Label(), FieldDescriptorProto'Type(..),+ FieldDescriptorProto'Type(), FieldOptions(),+ FieldOptions'CType(..), FieldOptions'CType(),+ FieldOptions'EditionDefault(), FieldOptions'FeatureSupport(),+ FieldOptions'JSType(..), FieldOptions'JSType(),+ FieldOptions'OptionRetention(..), FieldOptions'OptionRetention(),+ FieldOptions'OptionTargetType(..), FieldOptions'OptionTargetType(),+ FileDescriptorProto(), FileDescriptorSet(), FileOptions(),+ FileOptions'OptimizeMode(..), FileOptions'OptimizeMode(),+ GeneratedCodeInfo(), GeneratedCodeInfo'Annotation(),+ GeneratedCodeInfo'Annotation'Semantic(..),+ GeneratedCodeInfo'Annotation'Semantic(), MessageOptions(),+ MethodDescriptorProto(), MethodOptions(),+ MethodOptions'IdempotencyLevel(..),+ MethodOptions'IdempotencyLevel(), OneofDescriptorProto(),+ OneofOptions(), ServiceDescriptorProto(), ServiceOptions(),+ SourceCodeInfo(), SourceCodeInfo'Location(), UninterpretedOption(),+ UninterpretedOption'NamePart()+ ) where+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism+import qualified Data.ProtoLens.Runtime.Prelude as Prelude+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' DescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' DescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.field' @:: Lens' DescriptorProto [FieldDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'field' @:: Lens' DescriptorProto (Data.Vector.Vector FieldDescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' DescriptorProto [FieldDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'extension' @:: Lens' DescriptorProto (Data.Vector.Vector FieldDescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.nestedType' @:: Lens' DescriptorProto [DescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'nestedType' @:: Lens' DescriptorProto (Data.Vector.Vector DescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' DescriptorProto [EnumDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'enumType' @:: Lens' DescriptorProto (Data.Vector.Vector EnumDescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.extensionRange' @:: Lens' DescriptorProto [DescriptorProto'ExtensionRange]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'extensionRange' @:: Lens' DescriptorProto (Data.Vector.Vector DescriptorProto'ExtensionRange)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.oneofDecl' @:: Lens' DescriptorProto [OneofDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'oneofDecl' @:: Lens' DescriptorProto (Data.Vector.Vector OneofDescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto MessageOptions@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto (Prelude.Maybe MessageOptions)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' DescriptorProto [DescriptorProto'ReservedRange]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'reservedRange' @:: Lens' DescriptorProto (Data.Vector.Vector DescriptorProto'ReservedRange)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' DescriptorProto [Data.Text.Text]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'reservedName' @:: Lens' DescriptorProto (Data.Vector.Vector Data.Text.Text)@ -}+data DescriptorProto+ = DescriptorProto'_constructor {_DescriptorProto'name :: !(Prelude.Maybe Data.Text.Text),+ _DescriptorProto'field :: !(Data.Vector.Vector FieldDescriptorProto),+ _DescriptorProto'extension :: !(Data.Vector.Vector FieldDescriptorProto),+ _DescriptorProto'nestedType :: !(Data.Vector.Vector DescriptorProto),+ _DescriptorProto'enumType :: !(Data.Vector.Vector EnumDescriptorProto),+ _DescriptorProto'extensionRange :: !(Data.Vector.Vector DescriptorProto'ExtensionRange),+ _DescriptorProto'oneofDecl :: !(Data.Vector.Vector OneofDescriptorProto),+ _DescriptorProto'options :: !(Prelude.Maybe MessageOptions),+ _DescriptorProto'reservedRange :: !(Data.Vector.Vector DescriptorProto'ReservedRange),+ _DescriptorProto'reservedName :: !(Data.Vector.Vector Data.Text.Text),+ _DescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show DescriptorProto where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField DescriptorProto "name" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'name+ (\ x__ y__ -> x__ {_DescriptorProto'name = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField DescriptorProto "maybe'name" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'name+ (\ x__ y__ -> x__ {_DescriptorProto'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto "field" [FieldDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'field+ (\ x__ y__ -> x__ {_DescriptorProto'field = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField DescriptorProto "vec'field" (Data.Vector.Vector FieldDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'field+ (\ x__ y__ -> x__ {_DescriptorProto'field = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto "extension" [FieldDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'extension+ (\ x__ y__ -> x__ {_DescriptorProto'extension = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField DescriptorProto "vec'extension" (Data.Vector.Vector FieldDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'extension+ (\ x__ y__ -> x__ {_DescriptorProto'extension = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto "nestedType" [DescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'nestedType+ (\ x__ y__ -> x__ {_DescriptorProto'nestedType = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField DescriptorProto "vec'nestedType" (Data.Vector.Vector DescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'nestedType+ (\ x__ y__ -> x__ {_DescriptorProto'nestedType = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto "enumType" [EnumDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'enumType+ (\ x__ y__ -> x__ {_DescriptorProto'enumType = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField DescriptorProto "vec'enumType" (Data.Vector.Vector EnumDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'enumType+ (\ x__ y__ -> x__ {_DescriptorProto'enumType = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto "extensionRange" [DescriptorProto'ExtensionRange] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'extensionRange+ (\ x__ y__ -> x__ {_DescriptorProto'extensionRange = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField DescriptorProto "vec'extensionRange" (Data.Vector.Vector DescriptorProto'ExtensionRange) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'extensionRange+ (\ x__ y__ -> x__ {_DescriptorProto'extensionRange = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto "oneofDecl" [OneofDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'oneofDecl+ (\ x__ y__ -> x__ {_DescriptorProto'oneofDecl = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField DescriptorProto "vec'oneofDecl" (Data.Vector.Vector OneofDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'oneofDecl+ (\ x__ y__ -> x__ {_DescriptorProto'oneofDecl = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto "options" MessageOptions where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'options+ (\ x__ y__ -> x__ {_DescriptorProto'options = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField DescriptorProto "maybe'options" (Prelude.Maybe MessageOptions) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'options+ (\ x__ y__ -> x__ {_DescriptorProto'options = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto "reservedRange" [DescriptorProto'ReservedRange] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'reservedRange+ (\ x__ y__ -> x__ {_DescriptorProto'reservedRange = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField DescriptorProto "vec'reservedRange" (Data.Vector.Vector DescriptorProto'ReservedRange) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'reservedRange+ (\ x__ y__ -> x__ {_DescriptorProto'reservedRange = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto "reservedName" [Data.Text.Text] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'reservedName+ (\ x__ y__ -> x__ {_DescriptorProto'reservedName = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField DescriptorProto "vec'reservedName" (Data.Vector.Vector Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'reservedName+ (\ x__ y__ -> x__ {_DescriptorProto'reservedName = y__}))+ Prelude.id+instance Data.ProtoLens.Message DescriptorProto where+ messageName _ = Data.Text.pack "google.protobuf.DescriptorProto"+ packedMessageDescriptor _+ = "\n\+ \\SIDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2;\n\+ \\ENQfield\CAN\STX \ETX(\v2%.google.protobuf.FieldDescriptorProtoR\ENQfield\DC2C\n\+ \\textension\CAN\ACK \ETX(\v2%.google.protobuf.FieldDescriptorProtoR\textension\DC2A\n\+ \\vnested_type\CAN\ETX \ETX(\v2 .google.protobuf.DescriptorProtoR\n\+ \nestedType\DC2A\n\+ \\tenum_type\CAN\EOT \ETX(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\DC2X\n\+ \\SIextension_range\CAN\ENQ \ETX(\v2/.google.protobuf.DescriptorProto.ExtensionRangeR\SOextensionRange\DC2D\n\+ \\n\+ \oneof_decl\CAN\b \ETX(\v2%.google.protobuf.OneofDescriptorProtoR\toneofDecl\DC29\n\+ \\aoptions\CAN\a \SOH(\v2\US.google.protobuf.MessageOptionsR\aoptions\DC2U\n\+ \\SOreserved_range\CAN\t \ETX(\v2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\DC2#\n\+ \\rreserved_name\CAN\n\+ \ \ETX(\tR\freservedName\SUBz\n\+ \\SOExtensionRange\DC2\DC4\n\+ \\ENQstart\CAN\SOH \SOH(\ENQR\ENQstart\DC2\DLE\n\+ \\ETXend\CAN\STX \SOH(\ENQR\ETXend\DC2@\n\+ \\aoptions\CAN\ETX \SOH(\v2&.google.protobuf.ExtensionRangeOptionsR\aoptions\SUB7\n\+ \\rReservedRange\DC2\DC4\n\+ \\ENQstart\CAN\SOH \SOH(\ENQR\ENQstart\DC2\DLE\n\+ \\ETXend\CAN\STX \SOH(\ENQR\ETXend"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'name")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ field__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "field"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"field")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ extension__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "extension"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"extension")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ nestedType__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "nested_type"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor DescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"nestedType")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ enumType__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "enum_type"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"enumType")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ extensionRange__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "extension_range"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ExtensionRange)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"extensionRange")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ oneofDecl__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "oneof_decl"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor OneofDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"oneofDecl")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ options__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "options"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor MessageOptions)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'options")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ reservedRange__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "reserved_range"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ReservedRange)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"reservedRange")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ reservedName__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "reserved_name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"reservedName")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, name__field_descriptor),+ (Data.ProtoLens.Tag 2, field__field_descriptor),+ (Data.ProtoLens.Tag 6, extension__field_descriptor),+ (Data.ProtoLens.Tag 3, nestedType__field_descriptor),+ (Data.ProtoLens.Tag 4, enumType__field_descriptor),+ (Data.ProtoLens.Tag 5, extensionRange__field_descriptor),+ (Data.ProtoLens.Tag 8, oneofDecl__field_descriptor),+ (Data.ProtoLens.Tag 7, options__field_descriptor),+ (Data.ProtoLens.Tag 9, reservedRange__field_descriptor),+ (Data.ProtoLens.Tag 10, reservedName__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _DescriptorProto'_unknownFields+ (\ x__ y__ -> x__ {_DescriptorProto'_unknownFields = y__})+ defMessage+ = DescriptorProto'_constructor+ {_DescriptorProto'name = Prelude.Nothing,+ _DescriptorProto'field = Data.Vector.Generic.empty,+ _DescriptorProto'extension = Data.Vector.Generic.empty,+ _DescriptorProto'nestedType = Data.Vector.Generic.empty,+ _DescriptorProto'enumType = Data.Vector.Generic.empty,+ _DescriptorProto'extensionRange = Data.Vector.Generic.empty,+ _DescriptorProto'oneofDecl = Data.Vector.Generic.empty,+ _DescriptorProto'options = Prelude.Nothing,+ _DescriptorProto'reservedRange = Data.Vector.Generic.empty,+ _DescriptorProto'reservedName = Data.Vector.Generic.empty,+ _DescriptorProto'_unknownFields = []}+ parseMessage+ = let+ loop ::+ DescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EnumDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld FieldDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld DescriptorProto'ExtensionRange+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld FieldDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld DescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld OneofDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld DescriptorProto'ReservedRange+ -> Data.ProtoLens.Encoding.Bytes.Parser DescriptorProto+ loop+ x+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'enumType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'enumType)+ frozen'extension <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'extension)+ frozen'extensionRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'extensionRange)+ frozen'field <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'field)+ frozen'nestedType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'nestedType)+ frozen'oneofDecl <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'oneofDecl)+ frozen'reservedName <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'reservedName)+ frozen'reservedRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'reservedRange)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'enumType")+ frozen'enumType+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'extension")+ frozen'extension+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'extensionRange")+ frozen'extensionRange+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'field")+ frozen'field+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'nestedType")+ frozen'nestedType+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'oneofDecl")+ frozen'oneofDecl+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'reservedName")+ frozen'reservedName+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'reservedRange")+ frozen'reservedRange+ x)))))))))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange+ 18+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "field"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'field y)+ loop+ x+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ v+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange+ 50+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "extension"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'extension y)+ loop+ x+ mutable'enumType+ v+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange+ 26+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "nested_type"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'nestedType y)+ loop+ x+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ mutable'field+ v+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange+ 34+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "enum_type"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'enumType y)+ loop+ x+ v+ mutable'extension+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange+ 42+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "extension_range"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'extensionRange y)+ loop+ x+ mutable'enumType+ mutable'extension+ v+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange+ 66+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "oneof_decl"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'oneofDecl y)+ loop+ x+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ v+ mutable'reservedName+ mutable'reservedRange+ 58+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "options"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"options") y x)+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange+ 74+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "reserved_range"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'reservedRange y)+ loop+ x+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ v+ 82+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "reserved_name"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'reservedName y)+ loop+ x+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ v+ mutable'reservedRange+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'enumType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'extension <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'extensionRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'field <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'nestedType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'oneofDecl <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'reservedName <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'reservedRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop+ Data.ProtoLens.defMessage+ mutable'enumType+ mutable'extension+ mutable'extensionRange+ mutable'field+ mutable'nestedType+ mutable'oneofDecl+ mutable'reservedName+ mutable'reservedRange)+ "DescriptorProto"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'field") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 50)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'extension") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'nestedType") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'enumType") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 42)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'extensionRange") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 66)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'oneofDecl") _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'options") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 58)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 74)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'reservedRange") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 82)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'reservedName") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view+ Data.ProtoLens.unknownFields _x)))))))))))+instance Control.DeepSeq.NFData DescriptorProto where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_DescriptorProto'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'name x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'field x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'extension x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'nestedType x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'enumType x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'extensionRange x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'oneofDecl x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'options x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'reservedRange x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'reservedName x__) ()))))))))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto'ExtensionRange ExtensionRangeOptions@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe ExtensionRangeOptions)@ -}+data DescriptorProto'ExtensionRange+ = DescriptorProto'ExtensionRange'_constructor {_DescriptorProto'ExtensionRange'start :: !(Prelude.Maybe Data.Int.Int32),+ _DescriptorProto'ExtensionRange'end :: !(Prelude.Maybe Data.Int.Int32),+ _DescriptorProto'ExtensionRange'options :: !(Prelude.Maybe ExtensionRangeOptions),+ _DescriptorProto'ExtensionRange'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show DescriptorProto'ExtensionRange where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField DescriptorProto'ExtensionRange "start" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ExtensionRange'start+ (\ x__ y__ -> x__ {_DescriptorProto'ExtensionRange'start = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField DescriptorProto'ExtensionRange "maybe'start" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ExtensionRange'start+ (\ x__ y__ -> x__ {_DescriptorProto'ExtensionRange'start = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto'ExtensionRange "end" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ExtensionRange'end+ (\ x__ y__ -> x__ {_DescriptorProto'ExtensionRange'end = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField DescriptorProto'ExtensionRange "maybe'end" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ExtensionRange'end+ (\ x__ y__ -> x__ {_DescriptorProto'ExtensionRange'end = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto'ExtensionRange "options" ExtensionRangeOptions where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ExtensionRange'options+ (\ x__ y__ -> x__ {_DescriptorProto'ExtensionRange'options = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField DescriptorProto'ExtensionRange "maybe'options" (Prelude.Maybe ExtensionRangeOptions) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ExtensionRange'options+ (\ x__ y__ -> x__ {_DescriptorProto'ExtensionRange'options = y__}))+ Prelude.id+instance Data.ProtoLens.Message DescriptorProto'ExtensionRange where+ messageName _+ = Data.Text.pack "google.protobuf.DescriptorProto.ExtensionRange"+ packedMessageDescriptor _+ = "\n\+ \\SOExtensionRange\DC2\DC4\n\+ \\ENQstart\CAN\SOH \SOH(\ENQR\ENQstart\DC2\DLE\n\+ \\ETXend\CAN\STX \SOH(\ENQR\ETXend\DC2@\n\+ \\aoptions\CAN\ETX \SOH(\v2&.google.protobuf.ExtensionRangeOptionsR\aoptions"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ start__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "start"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'start")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange+ end__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "end"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'end")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange+ options__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "options"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor ExtensionRangeOptions)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'options")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, start__field_descriptor),+ (Data.ProtoLens.Tag 2, end__field_descriptor),+ (Data.ProtoLens.Tag 3, options__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _DescriptorProto'ExtensionRange'_unknownFields+ (\ x__ y__+ -> x__ {_DescriptorProto'ExtensionRange'_unknownFields = y__})+ defMessage+ = DescriptorProto'ExtensionRange'_constructor+ {_DescriptorProto'ExtensionRange'start = Prelude.Nothing,+ _DescriptorProto'ExtensionRange'end = Prelude.Nothing,+ _DescriptorProto'ExtensionRange'options = Prelude.Nothing,+ _DescriptorProto'ExtensionRange'_unknownFields = []}+ parseMessage+ = let+ loop ::+ DescriptorProto'ExtensionRange+ -> Data.ProtoLens.Encoding.Bytes.Parser DescriptorProto'ExtensionRange+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "start"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y x)+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "end"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y x)+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "options"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"options") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "ExtensionRange"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'start") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData DescriptorProto'ExtensionRange where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_DescriptorProto'ExtensionRange'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'ExtensionRange'start x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'ExtensionRange'end x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'ExtensionRange'options x__) ())))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@ -}+data DescriptorProto'ReservedRange+ = DescriptorProto'ReservedRange'_constructor {_DescriptorProto'ReservedRange'start :: !(Prelude.Maybe Data.Int.Int32),+ _DescriptorProto'ReservedRange'end :: !(Prelude.Maybe Data.Int.Int32),+ _DescriptorProto'ReservedRange'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show DescriptorProto'ReservedRange where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField DescriptorProto'ReservedRange "start" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ReservedRange'start+ (\ x__ y__ -> x__ {_DescriptorProto'ReservedRange'start = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField DescriptorProto'ReservedRange "maybe'start" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ReservedRange'start+ (\ x__ y__ -> x__ {_DescriptorProto'ReservedRange'start = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField DescriptorProto'ReservedRange "end" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ReservedRange'end+ (\ x__ y__ -> x__ {_DescriptorProto'ReservedRange'end = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField DescriptorProto'ReservedRange "maybe'end" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _DescriptorProto'ReservedRange'end+ (\ x__ y__ -> x__ {_DescriptorProto'ReservedRange'end = y__}))+ Prelude.id+instance Data.ProtoLens.Message DescriptorProto'ReservedRange where+ messageName _+ = Data.Text.pack "google.protobuf.DescriptorProto.ReservedRange"+ packedMessageDescriptor _+ = "\n\+ \\rReservedRange\DC2\DC4\n\+ \\ENQstart\CAN\SOH \SOH(\ENQR\ENQstart\DC2\DLE\n\+ \\ETXend\CAN\STX \SOH(\ENQR\ETXend"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ start__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "start"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'start")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange+ end__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "end"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'end")) ::+ Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, start__field_descriptor),+ (Data.ProtoLens.Tag 2, end__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _DescriptorProto'ReservedRange'_unknownFields+ (\ x__ y__+ -> x__ {_DescriptorProto'ReservedRange'_unknownFields = y__})+ defMessage+ = DescriptorProto'ReservedRange'_constructor+ {_DescriptorProto'ReservedRange'start = Prelude.Nothing,+ _DescriptorProto'ReservedRange'end = Prelude.Nothing,+ _DescriptorProto'ReservedRange'_unknownFields = []}+ parseMessage+ = let+ loop ::+ DescriptorProto'ReservedRange+ -> Data.ProtoLens.Encoding.Bytes.Parser DescriptorProto'ReservedRange+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "start"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y x)+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "end"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "ReservedRange"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'start") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))+instance Control.DeepSeq.NFData DescriptorProto'ReservedRange where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_DescriptorProto'ReservedRange'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'ReservedRange'start x__)+ (Control.DeepSeq.deepseq+ (_DescriptorProto'ReservedRange'end x__) ()))+data Edition+ = EDITION_UNKNOWN |+ EDITION_1_TEST_ONLY |+ EDITION_2_TEST_ONLY |+ EDITION_LEGACY |+ EDITION_PROTO2 |+ EDITION_PROTO3 |+ EDITION_2023 |+ EDITION_2024 |+ EDITION_99997_TEST_ONLY |+ EDITION_99998_TEST_ONLY |+ EDITION_99999_TEST_ONLY |+ EDITION_MAX+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum Edition where+ maybeToEnum 0 = Prelude.Just EDITION_UNKNOWN+ maybeToEnum 1 = Prelude.Just EDITION_1_TEST_ONLY+ maybeToEnum 2 = Prelude.Just EDITION_2_TEST_ONLY+ maybeToEnum 900 = Prelude.Just EDITION_LEGACY+ maybeToEnum 998 = Prelude.Just EDITION_PROTO2+ maybeToEnum 999 = Prelude.Just EDITION_PROTO3+ maybeToEnum 1000 = Prelude.Just EDITION_2023+ maybeToEnum 1001 = Prelude.Just EDITION_2024+ maybeToEnum 99997 = Prelude.Just EDITION_99997_TEST_ONLY+ maybeToEnum 99998 = Prelude.Just EDITION_99998_TEST_ONLY+ maybeToEnum 99999 = Prelude.Just EDITION_99999_TEST_ONLY+ maybeToEnum 2147483647 = Prelude.Just EDITION_MAX+ maybeToEnum _ = Prelude.Nothing+ showEnum EDITION_UNKNOWN = "EDITION_UNKNOWN"+ showEnum EDITION_LEGACY = "EDITION_LEGACY"+ showEnum EDITION_PROTO2 = "EDITION_PROTO2"+ showEnum EDITION_PROTO3 = "EDITION_PROTO3"+ showEnum EDITION_2023 = "EDITION_2023"+ showEnum EDITION_2024 = "EDITION_2024"+ showEnum EDITION_1_TEST_ONLY = "EDITION_1_TEST_ONLY"+ showEnum EDITION_2_TEST_ONLY = "EDITION_2_TEST_ONLY"+ showEnum EDITION_99997_TEST_ONLY = "EDITION_99997_TEST_ONLY"+ showEnum EDITION_99998_TEST_ONLY = "EDITION_99998_TEST_ONLY"+ showEnum EDITION_99999_TEST_ONLY = "EDITION_99999_TEST_ONLY"+ showEnum EDITION_MAX = "EDITION_MAX"+ readEnum k+ | (Prelude.==) k "EDITION_UNKNOWN" = Prelude.Just EDITION_UNKNOWN+ | (Prelude.==) k "EDITION_LEGACY" = Prelude.Just EDITION_LEGACY+ | (Prelude.==) k "EDITION_PROTO2" = Prelude.Just EDITION_PROTO2+ | (Prelude.==) k "EDITION_PROTO3" = Prelude.Just EDITION_PROTO3+ | (Prelude.==) k "EDITION_2023" = Prelude.Just EDITION_2023+ | (Prelude.==) k "EDITION_2024" = Prelude.Just EDITION_2024+ | (Prelude.==) k "EDITION_1_TEST_ONLY"+ = Prelude.Just EDITION_1_TEST_ONLY+ | (Prelude.==) k "EDITION_2_TEST_ONLY"+ = Prelude.Just EDITION_2_TEST_ONLY+ | (Prelude.==) k "EDITION_99997_TEST_ONLY"+ = Prelude.Just EDITION_99997_TEST_ONLY+ | (Prelude.==) k "EDITION_99998_TEST_ONLY"+ = Prelude.Just EDITION_99998_TEST_ONLY+ | (Prelude.==) k "EDITION_99999_TEST_ONLY"+ = Prelude.Just EDITION_99999_TEST_ONLY+ | (Prelude.==) k "EDITION_MAX" = Prelude.Just EDITION_MAX+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded Edition where+ minBound = EDITION_UNKNOWN+ maxBound = EDITION_MAX+instance Prelude.Enum Edition where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum Edition: " (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum EDITION_UNKNOWN = 0+ fromEnum EDITION_1_TEST_ONLY = 1+ fromEnum EDITION_2_TEST_ONLY = 2+ fromEnum EDITION_LEGACY = 900+ fromEnum EDITION_PROTO2 = 998+ fromEnum EDITION_PROTO3 = 999+ fromEnum EDITION_2023 = 1000+ fromEnum EDITION_2024 = 1001+ fromEnum EDITION_99997_TEST_ONLY = 99997+ fromEnum EDITION_99998_TEST_ONLY = 99998+ fromEnum EDITION_99999_TEST_ONLY = 99999+ fromEnum EDITION_MAX = 2147483647+ succ EDITION_MAX+ = Prelude.error+ "Edition.succ: bad argument EDITION_MAX. This value would be out of bounds."+ succ EDITION_UNKNOWN = EDITION_1_TEST_ONLY+ succ EDITION_1_TEST_ONLY = EDITION_2_TEST_ONLY+ succ EDITION_2_TEST_ONLY = EDITION_LEGACY+ succ EDITION_LEGACY = EDITION_PROTO2+ succ EDITION_PROTO2 = EDITION_PROTO3+ succ EDITION_PROTO3 = EDITION_2023+ succ EDITION_2023 = EDITION_2024+ succ EDITION_2024 = EDITION_99997_TEST_ONLY+ succ EDITION_99997_TEST_ONLY = EDITION_99998_TEST_ONLY+ succ EDITION_99998_TEST_ONLY = EDITION_99999_TEST_ONLY+ succ EDITION_99999_TEST_ONLY = EDITION_MAX+ pred EDITION_UNKNOWN+ = Prelude.error+ "Edition.pred: bad argument EDITION_UNKNOWN. This value would be out of bounds."+ pred EDITION_1_TEST_ONLY = EDITION_UNKNOWN+ pred EDITION_2_TEST_ONLY = EDITION_1_TEST_ONLY+ pred EDITION_LEGACY = EDITION_2_TEST_ONLY+ pred EDITION_PROTO2 = EDITION_LEGACY+ pred EDITION_PROTO3 = EDITION_PROTO2+ pred EDITION_2023 = EDITION_PROTO3+ pred EDITION_2024 = EDITION_2023+ pred EDITION_99997_TEST_ONLY = EDITION_2024+ pred EDITION_99998_TEST_ONLY = EDITION_99997_TEST_ONLY+ pred EDITION_99999_TEST_ONLY = EDITION_99998_TEST_ONLY+ pred EDITION_MAX = EDITION_99999_TEST_ONLY+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault Edition where+ fieldDefault = EDITION_UNKNOWN+instance Control.DeepSeq.NFData Edition where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.value' @:: Lens' EnumDescriptorProto [EnumValueDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'value' @:: Lens' EnumDescriptorProto (Data.Vector.Vector EnumValueDescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumDescriptorProto EnumOptions@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumDescriptorProto (Prelude.Maybe EnumOptions)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' EnumDescriptorProto [EnumDescriptorProto'EnumReservedRange]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'reservedRange' @:: Lens' EnumDescriptorProto (Data.Vector.Vector EnumDescriptorProto'EnumReservedRange)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' EnumDescriptorProto [Data.Text.Text]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'reservedName' @:: Lens' EnumDescriptorProto (Data.Vector.Vector Data.Text.Text)@ -}+data EnumDescriptorProto+ = EnumDescriptorProto'_constructor {_EnumDescriptorProto'name :: !(Prelude.Maybe Data.Text.Text),+ _EnumDescriptorProto'value :: !(Data.Vector.Vector EnumValueDescriptorProto),+ _EnumDescriptorProto'options :: !(Prelude.Maybe EnumOptions),+ _EnumDescriptorProto'reservedRange :: !(Data.Vector.Vector EnumDescriptorProto'EnumReservedRange),+ _EnumDescriptorProto'reservedName :: !(Data.Vector.Vector Data.Text.Text),+ _EnumDescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show EnumDescriptorProto where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "name" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'name+ (\ x__ y__ -> x__ {_EnumDescriptorProto'name = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "maybe'name" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'name+ (\ x__ y__ -> x__ {_EnumDescriptorProto'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "value" [EnumValueDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'value+ (\ x__ y__ -> x__ {_EnumDescriptorProto'value = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "vec'value" (Data.Vector.Vector EnumValueDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'value+ (\ x__ y__ -> x__ {_EnumDescriptorProto'value = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "options" EnumOptions where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'options+ (\ x__ y__ -> x__ {_EnumDescriptorProto'options = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "maybe'options" (Prelude.Maybe EnumOptions) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'options+ (\ x__ y__ -> x__ {_EnumDescriptorProto'options = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "reservedRange" [EnumDescriptorProto'EnumReservedRange] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'reservedRange+ (\ x__ y__ -> x__ {_EnumDescriptorProto'reservedRange = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "vec'reservedRange" (Data.Vector.Vector EnumDescriptorProto'EnumReservedRange) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'reservedRange+ (\ x__ y__ -> x__ {_EnumDescriptorProto'reservedRange = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "reservedName" [Data.Text.Text] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'reservedName+ (\ x__ y__ -> x__ {_EnumDescriptorProto'reservedName = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "vec'reservedName" (Data.Vector.Vector Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'reservedName+ (\ x__ y__ -> x__ {_EnumDescriptorProto'reservedName = y__}))+ Prelude.id+instance Data.ProtoLens.Message EnumDescriptorProto where+ messageName _+ = Data.Text.pack "google.protobuf.EnumDescriptorProto"+ packedMessageDescriptor _+ = "\n\+ \\DC3EnumDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2?\n\+ \\ENQvalue\CAN\STX \ETX(\v2).google.protobuf.EnumValueDescriptorProtoR\ENQvalue\DC26\n\+ \\aoptions\CAN\ETX \SOH(\v2\FS.google.protobuf.EnumOptionsR\aoptions\DC2]\n\+ \\SOreserved_range\CAN\EOT \ETX(\v26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\DC2#\n\+ \\rreserved_name\CAN\ENQ \ETX(\tR\freservedName\SUB;\n\+ \\DC1EnumReservedRange\DC2\DC4\n\+ \\ENQstart\CAN\SOH \SOH(\ENQR\ENQstart\DC2\DLE\n\+ \\ETXend\CAN\STX \SOH(\ENQR\ETXend"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'name")) ::+ Data.ProtoLens.FieldDescriptor EnumDescriptorProto+ value__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "value"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor EnumValueDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"value")) ::+ Data.ProtoLens.FieldDescriptor EnumDescriptorProto+ options__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "options"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor EnumOptions)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'options")) ::+ Data.ProtoLens.FieldDescriptor EnumDescriptorProto+ reservedRange__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "reserved_range"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto'EnumReservedRange)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"reservedRange")) ::+ Data.ProtoLens.FieldDescriptor EnumDescriptorProto+ reservedName__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "reserved_name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"reservedName")) ::+ Data.ProtoLens.FieldDescriptor EnumDescriptorProto+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, name__field_descriptor),+ (Data.ProtoLens.Tag 2, value__field_descriptor),+ (Data.ProtoLens.Tag 3, options__field_descriptor),+ (Data.ProtoLens.Tag 4, reservedRange__field_descriptor),+ (Data.ProtoLens.Tag 5, reservedName__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'_unknownFields+ (\ x__ y__ -> x__ {_EnumDescriptorProto'_unknownFields = y__})+ defMessage+ = EnumDescriptorProto'_constructor+ {_EnumDescriptorProto'name = Prelude.Nothing,+ _EnumDescriptorProto'value = Data.Vector.Generic.empty,+ _EnumDescriptorProto'options = Prelude.Nothing,+ _EnumDescriptorProto'reservedRange = Data.Vector.Generic.empty,+ _EnumDescriptorProto'reservedName = Data.Vector.Generic.empty,+ _EnumDescriptorProto'_unknownFields = []}+ parseMessage+ = let+ loop ::+ EnumDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EnumDescriptorProto'EnumReservedRange+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EnumValueDescriptorProto+ -> Data.ProtoLens.Encoding.Bytes.Parser EnumDescriptorProto+ loop x mutable'reservedName mutable'reservedRange mutable'value+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'reservedName <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'reservedName)+ frozen'reservedRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'reservedRange)+ frozen'value <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'value)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'reservedName")+ frozen'reservedName+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'reservedRange")+ frozen'reservedRange+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'value") frozen'value x))))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+ mutable'reservedName+ mutable'reservedRange+ mutable'value+ 18+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "value"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'value y)+ loop x mutable'reservedName mutable'reservedRange v+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "options"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"options") y x)+ mutable'reservedName+ mutable'reservedRange+ mutable'value+ 34+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "reserved_range"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'reservedRange y)+ loop x mutable'reservedName v mutable'value+ 42+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "reserved_name"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'reservedName y)+ loop x v mutable'reservedRange mutable'value+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'reservedName+ mutable'reservedRange+ mutable'value+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'reservedName <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'reservedRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'value <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop+ Data.ProtoLens.defMessage+ mutable'reservedName+ mutable'reservedRange+ mutable'value)+ "EnumDescriptorProto"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'value") _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'reservedRange") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 42)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'reservedName") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData EnumDescriptorProto where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_EnumDescriptorProto'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_EnumDescriptorProto'name x__)+ (Control.DeepSeq.deepseq+ (_EnumDescriptorProto'value x__)+ (Control.DeepSeq.deepseq+ (_EnumDescriptorProto'options x__)+ (Control.DeepSeq.deepseq+ (_EnumDescriptorProto'reservedRange x__)+ (Control.DeepSeq.deepseq+ (_EnumDescriptorProto'reservedName x__) ())))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' EnumDescriptorProto'EnumReservedRange Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' EnumDescriptorProto'EnumReservedRange (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' EnumDescriptorProto'EnumReservedRange Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' EnumDescriptorProto'EnumReservedRange (Prelude.Maybe Data.Int.Int32)@ -}+data EnumDescriptorProto'EnumReservedRange+ = EnumDescriptorProto'EnumReservedRange'_constructor {_EnumDescriptorProto'EnumReservedRange'start :: !(Prelude.Maybe Data.Int.Int32),+ _EnumDescriptorProto'EnumReservedRange'end :: !(Prelude.Maybe Data.Int.Int32),+ _EnumDescriptorProto'EnumReservedRange'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show EnumDescriptorProto'EnumReservedRange where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField EnumDescriptorProto'EnumReservedRange "start" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'EnumReservedRange'start+ (\ x__ y__+ -> x__ {_EnumDescriptorProto'EnumReservedRange'start = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField EnumDescriptorProto'EnumReservedRange "maybe'start" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'EnumReservedRange'start+ (\ x__ y__+ -> x__ {_EnumDescriptorProto'EnumReservedRange'start = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumDescriptorProto'EnumReservedRange "end" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'EnumReservedRange'end+ (\ x__ y__+ -> x__ {_EnumDescriptorProto'EnumReservedRange'end = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField EnumDescriptorProto'EnumReservedRange "maybe'end" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'EnumReservedRange'end+ (\ x__ y__+ -> x__ {_EnumDescriptorProto'EnumReservedRange'end = y__}))+ Prelude.id+instance Data.ProtoLens.Message EnumDescriptorProto'EnumReservedRange where+ messageName _+ = Data.Text.pack+ "google.protobuf.EnumDescriptorProto.EnumReservedRange"+ packedMessageDescriptor _+ = "\n\+ \\DC1EnumReservedRange\DC2\DC4\n\+ \\ENQstart\CAN\SOH \SOH(\ENQR\ENQstart\DC2\DLE\n\+ \\ETXend\CAN\STX \SOH(\ENQR\ETXend"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ start__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "start"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'start")) ::+ Data.ProtoLens.FieldDescriptor EnumDescriptorProto'EnumReservedRange+ end__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "end"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'end")) ::+ Data.ProtoLens.FieldDescriptor EnumDescriptorProto'EnumReservedRange+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, start__field_descriptor),+ (Data.ProtoLens.Tag 2, end__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _EnumDescriptorProto'EnumReservedRange'_unknownFields+ (\ x__ y__+ -> x__+ {_EnumDescriptorProto'EnumReservedRange'_unknownFields = y__})+ defMessage+ = EnumDescriptorProto'EnumReservedRange'_constructor+ {_EnumDescriptorProto'EnumReservedRange'start = Prelude.Nothing,+ _EnumDescriptorProto'EnumReservedRange'end = Prelude.Nothing,+ _EnumDescriptorProto'EnumReservedRange'_unknownFields = []}+ parseMessage+ = let+ loop ::+ EnumDescriptorProto'EnumReservedRange+ -> Data.ProtoLens.Encoding.Bytes.Parser EnumDescriptorProto'EnumReservedRange+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "start"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y x)+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "end"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "EnumReservedRange"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'start") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))+instance Control.DeepSeq.NFData EnumDescriptorProto'EnumReservedRange where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_EnumDescriptorProto'EnumReservedRange'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_EnumDescriptorProto'EnumReservedRange'start x__)+ (Control.DeepSeq.deepseq+ (_EnumDescriptorProto'EnumReservedRange'end x__) ()))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.allowAlias' @:: Lens' EnumOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'allowAlias' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.deprecatedLegacyJsonFieldConflicts' @:: Lens' EnumOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecatedLegacyJsonFieldConflicts' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.features' @:: Lens' EnumOptions FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'features' @:: Lens' EnumOptions (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumOptions [UninterpretedOption]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' EnumOptions (Data.Vector.Vector UninterpretedOption)@ -}+data EnumOptions+ = EnumOptions'_constructor {_EnumOptions'allowAlias :: !(Prelude.Maybe Prelude.Bool),+ _EnumOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+ _EnumOptions'deprecatedLegacyJsonFieldConflicts :: !(Prelude.Maybe Prelude.Bool),+ _EnumOptions'features :: !(Prelude.Maybe FeatureSet),+ _EnumOptions'uninterpretedOption :: !(Data.Vector.Vector UninterpretedOption),+ _EnumOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show EnumOptions where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField EnumOptions "allowAlias" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'allowAlias+ (\ x__ y__ -> x__ {_EnumOptions'allowAlias = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField EnumOptions "maybe'allowAlias" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'allowAlias+ (\ x__ y__ -> x__ {_EnumOptions'allowAlias = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumOptions "deprecated" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'deprecated+ (\ x__ y__ -> x__ {_EnumOptions'deprecated = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField EnumOptions "maybe'deprecated" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'deprecated+ (\ x__ y__ -> x__ {_EnumOptions'deprecated = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumOptions "deprecatedLegacyJsonFieldConflicts" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'deprecatedLegacyJsonFieldConflicts+ (\ x__ y__+ -> x__ {_EnumOptions'deprecatedLegacyJsonFieldConflicts = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField EnumOptions "maybe'deprecatedLegacyJsonFieldConflicts" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'deprecatedLegacyJsonFieldConflicts+ (\ x__ y__+ -> x__ {_EnumOptions'deprecatedLegacyJsonFieldConflicts = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumOptions "features" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'features+ (\ x__ y__ -> x__ {_EnumOptions'features = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField EnumOptions "maybe'features" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'features+ (\ x__ y__ -> x__ {_EnumOptions'features = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumOptions "uninterpretedOption" [UninterpretedOption] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_EnumOptions'uninterpretedOption = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField EnumOptions "vec'uninterpretedOption" (Data.Vector.Vector UninterpretedOption) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_EnumOptions'uninterpretedOption = y__}))+ Prelude.id+instance Data.ProtoLens.Message EnumOptions where+ messageName _ = Data.Text.pack "google.protobuf.EnumOptions"+ packedMessageDescriptor _+ = "\n\+ \\vEnumOptions\DC2\US\n\+ \\vallow_alias\CAN\STX \SOH(\bR\n\+ \allowAlias\DC2%\n\+ \\n\+ \deprecated\CAN\ETX \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2V\n\+ \&deprecated_legacy_json_field_conflicts\CAN\ACK \SOH(\bR\"deprecatedLegacyJsonFieldConflictsB\STX\CAN\SOH\DC27\n\+ \\bfeatures\CAN\a \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STXJ\EOT\b\ENQ\DLE\ACK"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ allowAlias__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "allow_alias"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'allowAlias")) ::+ Data.ProtoLens.FieldDescriptor EnumOptions+ deprecated__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecated"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'deprecated")) ::+ Data.ProtoLens.FieldDescriptor EnumOptions+ deprecatedLegacyJsonFieldConflicts__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecated_legacy_json_field_conflicts"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field+ @"maybe'deprecatedLegacyJsonFieldConflicts")) ::+ Data.ProtoLens.FieldDescriptor EnumOptions+ features__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'features")) ::+ Data.ProtoLens.FieldDescriptor EnumOptions+ uninterpretedOption__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "uninterpreted_option"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"uninterpretedOption")) ::+ Data.ProtoLens.FieldDescriptor EnumOptions+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 2, allowAlias__field_descriptor),+ (Data.ProtoLens.Tag 3, deprecated__field_descriptor),+ (Data.ProtoLens.Tag 6, + deprecatedLegacyJsonFieldConflicts__field_descriptor),+ (Data.ProtoLens.Tag 7, features__field_descriptor),+ (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _EnumOptions'_unknownFields+ (\ x__ y__ -> x__ {_EnumOptions'_unknownFields = y__})+ defMessage+ = EnumOptions'_constructor+ {_EnumOptions'allowAlias = Prelude.Nothing,+ _EnumOptions'deprecated = Prelude.Nothing,+ _EnumOptions'deprecatedLegacyJsonFieldConflicts = Prelude.Nothing,+ _EnumOptions'features = Prelude.Nothing,+ _EnumOptions'uninterpretedOption = Data.Vector.Generic.empty,+ _EnumOptions'_unknownFields = []}+ parseMessage+ = let+ loop ::+ EnumOptions+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption+ -> Data.ProtoLens.Encoding.Bytes.Parser EnumOptions+ loop x mutable'uninterpretedOption+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'uninterpretedOption)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption")+ frozen'uninterpretedOption+ x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "allow_alias"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"allowAlias") y x)+ mutable'uninterpretedOption+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "deprecated"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"deprecated") y x)+ mutable'uninterpretedOption+ 48+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "deprecated_legacy_json_field_conflicts"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field+ @"deprecatedLegacyJsonFieldConflicts")+ y+ x)+ mutable'uninterpretedOption+ 58+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "features"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"features") y x)+ mutable'uninterpretedOption+ 7994+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "uninterpreted_option"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'uninterpretedOption y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'uninterpretedOption+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'uninterpretedOption)+ "EnumOptions"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'allowAlias") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'deprecated") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'deprecatedLegacyJsonFieldConflicts")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 48)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'features") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 58)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 7994)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData EnumOptions where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_EnumOptions'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_EnumOptions'allowAlias x__)+ (Control.DeepSeq.deepseq+ (_EnumOptions'deprecated x__)+ (Control.DeepSeq.deepseq+ (_EnumOptions'deprecatedLegacyJsonFieldConflicts x__)+ (Control.DeepSeq.deepseq+ (_EnumOptions'features x__)+ (Control.DeepSeq.deepseq+ (_EnumOptions'uninterpretedOption x__) ())))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumValueDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' EnumValueDescriptorProto Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumValueDescriptorProto EnumValueOptions@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe EnumValueOptions)@ -}+data EnumValueDescriptorProto+ = EnumValueDescriptorProto'_constructor {_EnumValueDescriptorProto'name :: !(Prelude.Maybe Data.Text.Text),+ _EnumValueDescriptorProto'number :: !(Prelude.Maybe Data.Int.Int32),+ _EnumValueDescriptorProto'options :: !(Prelude.Maybe EnumValueOptions),+ _EnumValueDescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show EnumValueDescriptorProto where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto "name" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueDescriptorProto'name+ (\ x__ y__ -> x__ {_EnumValueDescriptorProto'name = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto "maybe'name" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueDescriptorProto'name+ (\ x__ y__ -> x__ {_EnumValueDescriptorProto'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto "number" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueDescriptorProto'number+ (\ x__ y__ -> x__ {_EnumValueDescriptorProto'number = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto "maybe'number" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueDescriptorProto'number+ (\ x__ y__ -> x__ {_EnumValueDescriptorProto'number = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto "options" EnumValueOptions where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueDescriptorProto'options+ (\ x__ y__ -> x__ {_EnumValueDescriptorProto'options = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto "maybe'options" (Prelude.Maybe EnumValueOptions) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueDescriptorProto'options+ (\ x__ y__ -> x__ {_EnumValueDescriptorProto'options = y__}))+ Prelude.id+instance Data.ProtoLens.Message EnumValueDescriptorProto where+ messageName _+ = Data.Text.pack "google.protobuf.EnumValueDescriptorProto"+ packedMessageDescriptor _+ = "\n\+ \\CANEnumValueDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\SYN\n\+ \\ACKnumber\CAN\STX \SOH(\ENQR\ACKnumber\DC2;\n\+ \\aoptions\CAN\ETX \SOH(\v2!.google.protobuf.EnumValueOptionsR\aoptions"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'name")) ::+ Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto+ number__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "number"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'number")) ::+ Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto+ options__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "options"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor EnumValueOptions)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'options")) ::+ Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, name__field_descriptor),+ (Data.ProtoLens.Tag 2, number__field_descriptor),+ (Data.ProtoLens.Tag 3, options__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _EnumValueDescriptorProto'_unknownFields+ (\ x__ y__ -> x__ {_EnumValueDescriptorProto'_unknownFields = y__})+ defMessage+ = EnumValueDescriptorProto'_constructor+ {_EnumValueDescriptorProto'name = Prelude.Nothing,+ _EnumValueDescriptorProto'number = Prelude.Nothing,+ _EnumValueDescriptorProto'options = Prelude.Nothing,+ _EnumValueDescriptorProto'_unknownFields = []}+ parseMessage+ = let+ loop ::+ EnumValueDescriptorProto+ -> Data.ProtoLens.Encoding.Bytes.Parser EnumValueDescriptorProto+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "number"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"number") y x)+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "options"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"options") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "EnumValueDescriptorProto"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'number") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData EnumValueDescriptorProto where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_EnumValueDescriptorProto'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_EnumValueDescriptorProto'name x__)+ (Control.DeepSeq.deepseq+ (_EnumValueDescriptorProto'number x__)+ (Control.DeepSeq.deepseq+ (_EnumValueDescriptorProto'options x__) ())))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumValueOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumValueOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.features' @:: Lens' EnumValueOptions FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'features' @:: Lens' EnumValueOptions (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.debugRedact' @:: Lens' EnumValueOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'debugRedact' @:: Lens' EnumValueOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.featureSupport' @:: Lens' EnumValueOptions FieldOptions'FeatureSupport@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'featureSupport' @:: Lens' EnumValueOptions (Prelude.Maybe FieldOptions'FeatureSupport)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumValueOptions [UninterpretedOption]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' EnumValueOptions (Data.Vector.Vector UninterpretedOption)@ -}+data EnumValueOptions+ = EnumValueOptions'_constructor {_EnumValueOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+ _EnumValueOptions'features :: !(Prelude.Maybe FeatureSet),+ _EnumValueOptions'debugRedact :: !(Prelude.Maybe Prelude.Bool),+ _EnumValueOptions'featureSupport :: !(Prelude.Maybe FieldOptions'FeatureSupport),+ _EnumValueOptions'uninterpretedOption :: !(Data.Vector.Vector UninterpretedOption),+ _EnumValueOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show EnumValueOptions where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField EnumValueOptions "deprecated" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'deprecated+ (\ x__ y__ -> x__ {_EnumValueOptions'deprecated = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField EnumValueOptions "maybe'deprecated" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'deprecated+ (\ x__ y__ -> x__ {_EnumValueOptions'deprecated = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumValueOptions "features" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'features+ (\ x__ y__ -> x__ {_EnumValueOptions'features = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField EnumValueOptions "maybe'features" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'features+ (\ x__ y__ -> x__ {_EnumValueOptions'features = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumValueOptions "debugRedact" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'debugRedact+ (\ x__ y__ -> x__ {_EnumValueOptions'debugRedact = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField EnumValueOptions "maybe'debugRedact" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'debugRedact+ (\ x__ y__ -> x__ {_EnumValueOptions'debugRedact = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumValueOptions "featureSupport" FieldOptions'FeatureSupport where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'featureSupport+ (\ x__ y__ -> x__ {_EnumValueOptions'featureSupport = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField EnumValueOptions "maybe'featureSupport" (Prelude.Maybe FieldOptions'FeatureSupport) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'featureSupport+ (\ x__ y__ -> x__ {_EnumValueOptions'featureSupport = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField EnumValueOptions "uninterpretedOption" [UninterpretedOption] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_EnumValueOptions'uninterpretedOption = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField EnumValueOptions "vec'uninterpretedOption" (Data.Vector.Vector UninterpretedOption) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _EnumValueOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_EnumValueOptions'uninterpretedOption = y__}))+ Prelude.id+instance Data.ProtoLens.Message EnumValueOptions where+ messageName _ = Data.Text.pack "google.protobuf.EnumValueOptions"+ packedMessageDescriptor _+ = "\n\+ \\DLEEnumValueOptions\DC2%\n\+ \\n\+ \deprecated\CAN\SOH \SOH(\b:\ENQfalseR\n\+ \deprecated\DC27\n\+ \\bfeatures\CAN\STX \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2(\n\+ \\fdebug_redact\CAN\ETX \SOH(\b:\ENQfalseR\vdebugRedact\DC2U\n\+ \\SIfeature_support\CAN\EOT \SOH(\v2,.google.protobuf.FieldOptions.FeatureSupportR\SOfeatureSupport\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STX"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ deprecated__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecated"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'deprecated")) ::+ Data.ProtoLens.FieldDescriptor EnumValueOptions+ features__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'features")) ::+ Data.ProtoLens.FieldDescriptor EnumValueOptions+ debugRedact__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "debug_redact"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'debugRedact")) ::+ Data.ProtoLens.FieldDescriptor EnumValueOptions+ featureSupport__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "feature_support"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FieldOptions'FeatureSupport)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'featureSupport")) ::+ Data.ProtoLens.FieldDescriptor EnumValueOptions+ uninterpretedOption__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "uninterpreted_option"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"uninterpretedOption")) ::+ Data.ProtoLens.FieldDescriptor EnumValueOptions+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, deprecated__field_descriptor),+ (Data.ProtoLens.Tag 2, features__field_descriptor),+ (Data.ProtoLens.Tag 3, debugRedact__field_descriptor),+ (Data.ProtoLens.Tag 4, featureSupport__field_descriptor),+ (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _EnumValueOptions'_unknownFields+ (\ x__ y__ -> x__ {_EnumValueOptions'_unknownFields = y__})+ defMessage+ = EnumValueOptions'_constructor+ {_EnumValueOptions'deprecated = Prelude.Nothing,+ _EnumValueOptions'features = Prelude.Nothing,+ _EnumValueOptions'debugRedact = Prelude.Nothing,+ _EnumValueOptions'featureSupport = Prelude.Nothing,+ _EnumValueOptions'uninterpretedOption = Data.Vector.Generic.empty,+ _EnumValueOptions'_unknownFields = []}+ parseMessage+ = let+ loop ::+ EnumValueOptions+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption+ -> Data.ProtoLens.Encoding.Bytes.Parser EnumValueOptions+ loop x mutable'uninterpretedOption+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'uninterpretedOption)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption")+ frozen'uninterpretedOption+ x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "deprecated"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"deprecated") y x)+ mutable'uninterpretedOption+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "features"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"features") y x)+ mutable'uninterpretedOption+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "debug_redact"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"debugRedact") y x)+ mutable'uninterpretedOption+ 34+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "feature_support"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"featureSupport") y x)+ mutable'uninterpretedOption+ 7994+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "uninterpreted_option"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'uninterpretedOption y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'uninterpretedOption+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'uninterpretedOption)+ "EnumValueOptions"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'deprecated") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'features") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'debugRedact") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'featureSupport") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 7994)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData EnumValueOptions where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_EnumValueOptions'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_EnumValueOptions'deprecated x__)+ (Control.DeepSeq.deepseq+ (_EnumValueOptions'features x__)+ (Control.DeepSeq.deepseq+ (_EnumValueOptions'debugRedact x__)+ (Control.DeepSeq.deepseq+ (_EnumValueOptions'featureSupport x__)+ (Control.DeepSeq.deepseq+ (_EnumValueOptions'uninterpretedOption x__) ())))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ExtensionRangeOptions [UninterpretedOption]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' ExtensionRangeOptions (Data.Vector.Vector UninterpretedOption)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.declaration' @:: Lens' ExtensionRangeOptions [ExtensionRangeOptions'Declaration]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'declaration' @:: Lens' ExtensionRangeOptions (Data.Vector.Vector ExtensionRangeOptions'Declaration)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.features' @:: Lens' ExtensionRangeOptions FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'features' @:: Lens' ExtensionRangeOptions (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.verification' @:: Lens' ExtensionRangeOptions ExtensionRangeOptions'VerificationState@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'verification' @:: Lens' ExtensionRangeOptions (Prelude.Maybe ExtensionRangeOptions'VerificationState)@ -}+data ExtensionRangeOptions+ = ExtensionRangeOptions'_constructor {_ExtensionRangeOptions'uninterpretedOption :: !(Data.Vector.Vector UninterpretedOption),+ _ExtensionRangeOptions'declaration :: !(Data.Vector.Vector ExtensionRangeOptions'Declaration),+ _ExtensionRangeOptions'features :: !(Prelude.Maybe FeatureSet),+ _ExtensionRangeOptions'verification :: !(Prelude.Maybe ExtensionRangeOptions'VerificationState),+ _ExtensionRangeOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show ExtensionRangeOptions where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions "uninterpretedOption" [UninterpretedOption] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'uninterpretedOption+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'uninterpretedOption = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions "vec'uninterpretedOption" (Data.Vector.Vector UninterpretedOption) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'uninterpretedOption+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'uninterpretedOption = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions "declaration" [ExtensionRangeOptions'Declaration] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'declaration+ (\ x__ y__ -> x__ {_ExtensionRangeOptions'declaration = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions "vec'declaration" (Data.Vector.Vector ExtensionRangeOptions'Declaration) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'declaration+ (\ x__ y__ -> x__ {_ExtensionRangeOptions'declaration = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions "features" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'features+ (\ x__ y__ -> x__ {_ExtensionRangeOptions'features = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions "maybe'features" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'features+ (\ x__ y__ -> x__ {_ExtensionRangeOptions'features = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions "verification" ExtensionRangeOptions'VerificationState where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'verification+ (\ x__ y__ -> x__ {_ExtensionRangeOptions'verification = y__}))+ (Data.ProtoLens.maybeLens ExtensionRangeOptions'UNVERIFIED)+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions "maybe'verification" (Prelude.Maybe ExtensionRangeOptions'VerificationState) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'verification+ (\ x__ y__ -> x__ {_ExtensionRangeOptions'verification = y__}))+ Prelude.id+instance Data.ProtoLens.Message ExtensionRangeOptions where+ messageName _+ = Data.Text.pack "google.protobuf.ExtensionRangeOptions"+ packedMessageDescriptor _+ = "\n\+ \\NAKExtensionRangeOptions\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption\DC2Y\n\+ \\vdeclaration\CAN\STX \ETX(\v22.google.protobuf.ExtensionRangeOptions.DeclarationR\vdeclarationB\ETX\136\SOH\STX\DC27\n\+ \\bfeatures\CAN2 \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2m\n\+ \\fverification\CAN\ETX \SOH(\SO28.google.protobuf.ExtensionRangeOptions.VerificationState:\n\+ \UNVERIFIEDR\fverificationB\ETX\136\SOH\STX\SUB\148\SOH\n\+ \\vDeclaration\DC2\SYN\n\+ \\ACKnumber\CAN\SOH \SOH(\ENQR\ACKnumber\DC2\ESC\n\+ \\tfull_name\CAN\STX \SOH(\tR\bfullName\DC2\DC2\n\+ \\EOTtype\CAN\ETX \SOH(\tR\EOTtype\DC2\SUB\n\+ \\breserved\CAN\ENQ \SOH(\bR\breserved\DC2\SUB\n\+ \\brepeated\CAN\ACK \SOH(\bR\brepeatedJ\EOT\b\EOT\DLE\ENQ\"4\n\+ \\DC1VerificationState\DC2\SI\n\+ \\vDECLARATION\DLE\NUL\DC2\SO\n\+ \\n\+ \UNVERIFIED\DLE\SOH*\t\b\232\a\DLE\128\128\128\128\STX"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ uninterpretedOption__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "uninterpreted_option"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"uninterpretedOption")) ::+ Data.ProtoLens.FieldDescriptor ExtensionRangeOptions+ declaration__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "declaration"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor ExtensionRangeOptions'Declaration)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"declaration")) ::+ Data.ProtoLens.FieldDescriptor ExtensionRangeOptions+ features__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'features")) ::+ Data.ProtoLens.FieldDescriptor ExtensionRangeOptions+ verification__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "verification"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor ExtensionRangeOptions'VerificationState)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'verification")) ::+ Data.ProtoLens.FieldDescriptor ExtensionRangeOptions+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor),+ (Data.ProtoLens.Tag 2, declaration__field_descriptor),+ (Data.ProtoLens.Tag 50, features__field_descriptor),+ (Data.ProtoLens.Tag 3, verification__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'_unknownFields+ (\ x__ y__ -> x__ {_ExtensionRangeOptions'_unknownFields = y__})+ defMessage+ = ExtensionRangeOptions'_constructor+ {_ExtensionRangeOptions'uninterpretedOption = Data.Vector.Generic.empty,+ _ExtensionRangeOptions'declaration = Data.Vector.Generic.empty,+ _ExtensionRangeOptions'features = Prelude.Nothing,+ _ExtensionRangeOptions'verification = Prelude.Nothing,+ _ExtensionRangeOptions'_unknownFields = []}+ parseMessage+ = let+ loop ::+ ExtensionRangeOptions+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ExtensionRangeOptions'Declaration+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption+ -> Data.ProtoLens.Encoding.Bytes.Parser ExtensionRangeOptions+ loop x mutable'declaration mutable'uninterpretedOption+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'declaration <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'declaration)+ frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'uninterpretedOption)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'declaration")+ frozen'declaration+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption")+ frozen'uninterpretedOption+ x)))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 7994+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "uninterpreted_option"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'uninterpretedOption y)+ loop x mutable'declaration v+ 18+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "declaration"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'declaration y)+ loop x v mutable'uninterpretedOption+ 402+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "features"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"features") y x)+ mutable'declaration+ mutable'uninterpretedOption+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "verification"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"verification") y x)+ mutable'declaration+ mutable'uninterpretedOption+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'declaration+ mutable'uninterpretedOption+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'declaration <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop+ Data.ProtoLens.defMessage+ mutable'declaration+ mutable'uninterpretedOption)+ "ExtensionRangeOptions"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 7994)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'declaration") _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'features") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 402)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'verification") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))+instance Control.DeepSeq.NFData ExtensionRangeOptions where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'uninterpretedOption x__)+ (Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'declaration x__)+ (Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'features x__)+ (Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'verification x__) ()))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' ExtensionRangeOptions'Declaration Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' ExtensionRangeOptions'Declaration (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.fullName' @:: Lens' ExtensionRangeOptions'Declaration Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'fullName' @:: Lens' ExtensionRangeOptions'Declaration (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.type'' @:: Lens' ExtensionRangeOptions'Declaration Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'type'' @:: Lens' ExtensionRangeOptions'Declaration (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.reserved' @:: Lens' ExtensionRangeOptions'Declaration Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'reserved' @:: Lens' ExtensionRangeOptions'Declaration (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.repeated' @:: Lens' ExtensionRangeOptions'Declaration Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'repeated' @:: Lens' ExtensionRangeOptions'Declaration (Prelude.Maybe Prelude.Bool)@ -}+data ExtensionRangeOptions'Declaration+ = ExtensionRangeOptions'Declaration'_constructor {_ExtensionRangeOptions'Declaration'number :: !(Prelude.Maybe Data.Int.Int32),+ _ExtensionRangeOptions'Declaration'fullName :: !(Prelude.Maybe Data.Text.Text),+ _ExtensionRangeOptions'Declaration'type' :: !(Prelude.Maybe Data.Text.Text),+ _ExtensionRangeOptions'Declaration'reserved :: !(Prelude.Maybe Prelude.Bool),+ _ExtensionRangeOptions'Declaration'repeated :: !(Prelude.Maybe Prelude.Bool),+ _ExtensionRangeOptions'Declaration'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show ExtensionRangeOptions'Declaration where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "number" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'number+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'number = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "maybe'number" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'number+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'number = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "fullName" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'fullName+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'fullName = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "maybe'fullName" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'fullName+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'fullName = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "type'" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'type'+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'type' = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "maybe'type'" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'type'+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'type' = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "reserved" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'reserved+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'reserved = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "maybe'reserved" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'reserved+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'reserved = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "repeated" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'repeated+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'repeated = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions'Declaration "maybe'repeated" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'repeated+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'repeated = y__}))+ Prelude.id+instance Data.ProtoLens.Message ExtensionRangeOptions'Declaration where+ messageName _+ = Data.Text.pack+ "google.protobuf.ExtensionRangeOptions.Declaration"+ packedMessageDescriptor _+ = "\n\+ \\vDeclaration\DC2\SYN\n\+ \\ACKnumber\CAN\SOH \SOH(\ENQR\ACKnumber\DC2\ESC\n\+ \\tfull_name\CAN\STX \SOH(\tR\bfullName\DC2\DC2\n\+ \\EOTtype\CAN\ETX \SOH(\tR\EOTtype\DC2\SUB\n\+ \\breserved\CAN\ENQ \SOH(\bR\breserved\DC2\SUB\n\+ \\brepeated\CAN\ACK \SOH(\bR\brepeatedJ\EOT\b\EOT\DLE\ENQ"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ number__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "number"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'number")) ::+ Data.ProtoLens.FieldDescriptor ExtensionRangeOptions'Declaration+ fullName__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "full_name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'fullName")) ::+ Data.ProtoLens.FieldDescriptor ExtensionRangeOptions'Declaration+ type'__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "type"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'type'")) ::+ Data.ProtoLens.FieldDescriptor ExtensionRangeOptions'Declaration+ reserved__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "reserved"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'reserved")) ::+ Data.ProtoLens.FieldDescriptor ExtensionRangeOptions'Declaration+ repeated__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "repeated"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'repeated")) ::+ Data.ProtoLens.FieldDescriptor ExtensionRangeOptions'Declaration+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, number__field_descriptor),+ (Data.ProtoLens.Tag 2, fullName__field_descriptor),+ (Data.ProtoLens.Tag 3, type'__field_descriptor),+ (Data.ProtoLens.Tag 5, reserved__field_descriptor),+ (Data.ProtoLens.Tag 6, repeated__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _ExtensionRangeOptions'Declaration'_unknownFields+ (\ x__ y__+ -> x__ {_ExtensionRangeOptions'Declaration'_unknownFields = y__})+ defMessage+ = ExtensionRangeOptions'Declaration'_constructor+ {_ExtensionRangeOptions'Declaration'number = Prelude.Nothing,+ _ExtensionRangeOptions'Declaration'fullName = Prelude.Nothing,+ _ExtensionRangeOptions'Declaration'type' = Prelude.Nothing,+ _ExtensionRangeOptions'Declaration'reserved = Prelude.Nothing,+ _ExtensionRangeOptions'Declaration'repeated = Prelude.Nothing,+ _ExtensionRangeOptions'Declaration'_unknownFields = []}+ parseMessage+ = let+ loop ::+ ExtensionRangeOptions'Declaration+ -> Data.ProtoLens.Encoding.Bytes.Parser ExtensionRangeOptions'Declaration+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "number"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"number") y x)+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "full_name"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"fullName") y x)+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "type"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"type'") y x)+ 40+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "reserved"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"reserved") y x)+ 48+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "repeated"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"repeated") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "Declaration"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'number") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'fullName") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'type'") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'reserved") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'repeated") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 48)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData ExtensionRangeOptions'Declaration where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'Declaration'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'Declaration'number x__)+ (Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'Declaration'fullName x__)+ (Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'Declaration'type' x__)+ (Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'Declaration'reserved x__)+ (Control.DeepSeq.deepseq+ (_ExtensionRangeOptions'Declaration'repeated x__) ())))))+data ExtensionRangeOptions'VerificationState+ = ExtensionRangeOptions'DECLARATION |+ ExtensionRangeOptions'UNVERIFIED+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum ExtensionRangeOptions'VerificationState where+ maybeToEnum 0 = Prelude.Just ExtensionRangeOptions'DECLARATION+ maybeToEnum 1 = Prelude.Just ExtensionRangeOptions'UNVERIFIED+ maybeToEnum _ = Prelude.Nothing+ showEnum ExtensionRangeOptions'DECLARATION = "DECLARATION"+ showEnum ExtensionRangeOptions'UNVERIFIED = "UNVERIFIED"+ readEnum k+ | (Prelude.==) k "DECLARATION"+ = Prelude.Just ExtensionRangeOptions'DECLARATION+ | (Prelude.==) k "UNVERIFIED"+ = Prelude.Just ExtensionRangeOptions'UNVERIFIED+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded ExtensionRangeOptions'VerificationState where+ minBound = ExtensionRangeOptions'DECLARATION+ maxBound = ExtensionRangeOptions'UNVERIFIED+instance Prelude.Enum ExtensionRangeOptions'VerificationState where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum VerificationState: "+ (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum ExtensionRangeOptions'DECLARATION = 0+ fromEnum ExtensionRangeOptions'UNVERIFIED = 1+ succ ExtensionRangeOptions'UNVERIFIED+ = Prelude.error+ "ExtensionRangeOptions'VerificationState.succ: bad argument ExtensionRangeOptions'UNVERIFIED. This value would be out of bounds."+ succ ExtensionRangeOptions'DECLARATION+ = ExtensionRangeOptions'UNVERIFIED+ pred ExtensionRangeOptions'DECLARATION+ = Prelude.error+ "ExtensionRangeOptions'VerificationState.pred: bad argument ExtensionRangeOptions'DECLARATION. This value would be out of bounds."+ pred ExtensionRangeOptions'UNVERIFIED+ = ExtensionRangeOptions'DECLARATION+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault ExtensionRangeOptions'VerificationState where+ fieldDefault = ExtensionRangeOptions'DECLARATION+instance Control.DeepSeq.NFData ExtensionRangeOptions'VerificationState where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.fieldPresence' @:: Lens' FeatureSet FeatureSet'FieldPresence@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'fieldPresence' @:: Lens' FeatureSet (Prelude.Maybe FeatureSet'FieldPresence)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' FeatureSet FeatureSet'EnumType@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'enumType' @:: Lens' FeatureSet (Prelude.Maybe FeatureSet'EnumType)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.repeatedFieldEncoding' @:: Lens' FeatureSet FeatureSet'RepeatedFieldEncoding@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'repeatedFieldEncoding' @:: Lens' FeatureSet (Prelude.Maybe FeatureSet'RepeatedFieldEncoding)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.utf8Validation' @:: Lens' FeatureSet FeatureSet'Utf8Validation@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'utf8Validation' @:: Lens' FeatureSet (Prelude.Maybe FeatureSet'Utf8Validation)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.messageEncoding' @:: Lens' FeatureSet FeatureSet'MessageEncoding@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'messageEncoding' @:: Lens' FeatureSet (Prelude.Maybe FeatureSet'MessageEncoding)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.jsonFormat' @:: Lens' FeatureSet FeatureSet'JsonFormat@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jsonFormat' @:: Lens' FeatureSet (Prelude.Maybe FeatureSet'JsonFormat)@ -}+data FeatureSet+ = FeatureSet'_constructor {_FeatureSet'fieldPresence :: !(Prelude.Maybe FeatureSet'FieldPresence),+ _FeatureSet'enumType :: !(Prelude.Maybe FeatureSet'EnumType),+ _FeatureSet'repeatedFieldEncoding :: !(Prelude.Maybe FeatureSet'RepeatedFieldEncoding),+ _FeatureSet'utf8Validation :: !(Prelude.Maybe FeatureSet'Utf8Validation),+ _FeatureSet'messageEncoding :: !(Prelude.Maybe FeatureSet'MessageEncoding),+ _FeatureSet'jsonFormat :: !(Prelude.Maybe FeatureSet'JsonFormat),+ _FeatureSet'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FeatureSet where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FeatureSet "fieldPresence" FeatureSet'FieldPresence where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'fieldPresence+ (\ x__ y__ -> x__ {_FeatureSet'fieldPresence = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FeatureSet "maybe'fieldPresence" (Prelude.Maybe FeatureSet'FieldPresence) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'fieldPresence+ (\ x__ y__ -> x__ {_FeatureSet'fieldPresence = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FeatureSet "enumType" FeatureSet'EnumType where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'enumType+ (\ x__ y__ -> x__ {_FeatureSet'enumType = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FeatureSet "maybe'enumType" (Prelude.Maybe FeatureSet'EnumType) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'enumType+ (\ x__ y__ -> x__ {_FeatureSet'enumType = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FeatureSet "repeatedFieldEncoding" FeatureSet'RepeatedFieldEncoding where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'repeatedFieldEncoding+ (\ x__ y__ -> x__ {_FeatureSet'repeatedFieldEncoding = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FeatureSet "maybe'repeatedFieldEncoding" (Prelude.Maybe FeatureSet'RepeatedFieldEncoding) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'repeatedFieldEncoding+ (\ x__ y__ -> x__ {_FeatureSet'repeatedFieldEncoding = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FeatureSet "utf8Validation" FeatureSet'Utf8Validation where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'utf8Validation+ (\ x__ y__ -> x__ {_FeatureSet'utf8Validation = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FeatureSet "maybe'utf8Validation" (Prelude.Maybe FeatureSet'Utf8Validation) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'utf8Validation+ (\ x__ y__ -> x__ {_FeatureSet'utf8Validation = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FeatureSet "messageEncoding" FeatureSet'MessageEncoding where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'messageEncoding+ (\ x__ y__ -> x__ {_FeatureSet'messageEncoding = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FeatureSet "maybe'messageEncoding" (Prelude.Maybe FeatureSet'MessageEncoding) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'messageEncoding+ (\ x__ y__ -> x__ {_FeatureSet'messageEncoding = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FeatureSet "jsonFormat" FeatureSet'JsonFormat where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'jsonFormat+ (\ x__ y__ -> x__ {_FeatureSet'jsonFormat = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FeatureSet "maybe'jsonFormat" (Prelude.Maybe FeatureSet'JsonFormat) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSet'jsonFormat+ (\ x__ y__ -> x__ {_FeatureSet'jsonFormat = y__}))+ Prelude.id+instance Data.ProtoLens.Message FeatureSet where+ messageName _ = Data.Text.pack "google.protobuf.FeatureSet"+ packedMessageDescriptor _+ = "\n\+ \\n\+ \FeatureSet\DC2\145\SOH\n\+ \\SOfield_presence\CAN\SOH \SOH(\SO2).google.protobuf.FeatureSet.FieldPresenceR\rfieldPresenceB?\136\SOH\SOH\152\SOH\EOT\152\SOH\SOH\162\SOH\r\DC2\bEXPLICIT\CAN\132\a\162\SOH\r\DC2\bIMPLICIT\CAN\231\a\162\SOH\r\DC2\bEXPLICIT\CAN\232\a\178\SOH\ETX\b\232\a\DC2l\n\+ \\tenum_type\CAN\STX \SOH(\SO2$.google.protobuf.FeatureSet.EnumTypeR\benumTypeB)\136\SOH\SOH\152\SOH\ACK\152\SOH\SOH\162\SOH\v\DC2\ACKCLOSED\CAN\132\a\162\SOH\t\DC2\EOTOPEN\CAN\231\a\178\SOH\ETX\b\232\a\DC2\152\SOH\n\+ \\ETBrepeated_field_encoding\CAN\ETX \SOH(\SO21.google.protobuf.FeatureSet.RepeatedFieldEncodingR\NAKrepeatedFieldEncodingB-\136\SOH\SOH\152\SOH\EOT\152\SOH\SOH\162\SOH\r\DC2\bEXPANDED\CAN\132\a\162\SOH\v\DC2\ACKPACKED\CAN\231\a\178\SOH\ETX\b\232\a\DC2~\n\+ \\SIutf8_validation\CAN\EOT \SOH(\SO2*.google.protobuf.FeatureSet.Utf8ValidationR\SOutf8ValidationB)\136\SOH\SOH\152\SOH\EOT\152\SOH\SOH\162\SOH\t\DC2\EOTNONE\CAN\132\a\162\SOH\v\DC2\ACKVERIFY\CAN\231\a\178\SOH\ETX\b\232\a\DC2~\n\+ \\DLEmessage_encoding\CAN\ENQ \SOH(\SO2+.google.protobuf.FeatureSet.MessageEncodingR\SImessageEncodingB&\136\SOH\SOH\152\SOH\EOT\152\SOH\SOH\162\SOH\DC4\DC2\SILENGTH_PREFIXED\CAN\132\a\178\SOH\ETX\b\232\a\DC2\130\SOH\n\+ \\vjson_format\CAN\ACK \SOH(\SO2&.google.protobuf.FeatureSet.JsonFormatR\n\+ \jsonFormatB9\136\SOH\SOH\152\SOH\ETX\152\SOH\ACK\152\SOH\SOH\162\SOH\ETB\DC2\DC2LEGACY_BEST_EFFORT\CAN\132\a\162\SOH\n\+ \\DC2\ENQALLOW\CAN\231\a\178\SOH\ETX\b\232\a\"\\\n\+ \\rFieldPresence\DC2\SUB\n\+ \\SYNFIELD_PRESENCE_UNKNOWN\DLE\NUL\DC2\f\n\+ \\bEXPLICIT\DLE\SOH\DC2\f\n\+ \\bIMPLICIT\DLE\STX\DC2\DC3\n\+ \\SILEGACY_REQUIRED\DLE\ETX\"7\n\+ \\bEnumType\DC2\NAK\n\+ \\DC1ENUM_TYPE_UNKNOWN\DLE\NUL\DC2\b\n\+ \\EOTOPEN\DLE\SOH\DC2\n\+ \\n\+ \\ACKCLOSED\DLE\STX\"V\n\+ \\NAKRepeatedFieldEncoding\DC2#\n\+ \\USREPEATED_FIELD_ENCODING_UNKNOWN\DLE\NUL\DC2\n\+ \\n\+ \\ACKPACKED\DLE\SOH\DC2\f\n\+ \\bEXPANDED\DLE\STX\"I\n\+ \\SOUtf8Validation\DC2\ESC\n\+ \\ETBUTF8_VALIDATION_UNKNOWN\DLE\NUL\DC2\n\+ \\n\+ \\ACKVERIFY\DLE\STX\DC2\b\n\+ \\EOTNONE\DLE\ETX\"\EOT\b\SOH\DLE\SOH\"S\n\+ \\SIMessageEncoding\DC2\FS\n\+ \\CANMESSAGE_ENCODING_UNKNOWN\DLE\NUL\DC2\DC3\n\+ \\SILENGTH_PREFIXED\DLE\SOH\DC2\r\n\+ \\tDELIMITED\DLE\STX\"H\n\+ \\n\+ \JsonFormat\DC2\ETB\n\+ \\DC3JSON_FORMAT_UNKNOWN\DLE\NUL\DC2\t\n\+ \\ENQALLOW\DLE\SOH\DC2\SYN\n\+ \\DC2LEGACY_BEST_EFFORT\DLE\STX*\ACK\b\232\a\DLE\139N*\ACK\b\139N\DLE\144N*\ACK\b\144N\DLE\145NJ\ACK\b\231\a\DLE\232\a"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ fieldPresence__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "field_presence"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet'FieldPresence)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'fieldPresence")) ::+ Data.ProtoLens.FieldDescriptor FeatureSet+ enumType__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "enum_type"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet'EnumType)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'enumType")) ::+ Data.ProtoLens.FieldDescriptor FeatureSet+ repeatedFieldEncoding__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "repeated_field_encoding"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet'RepeatedFieldEncoding)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'repeatedFieldEncoding")) ::+ Data.ProtoLens.FieldDescriptor FeatureSet+ utf8Validation__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "utf8_validation"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet'Utf8Validation)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'utf8Validation")) ::+ Data.ProtoLens.FieldDescriptor FeatureSet+ messageEncoding__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "message_encoding"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet'MessageEncoding)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'messageEncoding")) ::+ Data.ProtoLens.FieldDescriptor FeatureSet+ jsonFormat__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "json_format"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet'JsonFormat)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'jsonFormat")) ::+ Data.ProtoLens.FieldDescriptor FeatureSet+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, fieldPresence__field_descriptor),+ (Data.ProtoLens.Tag 2, enumType__field_descriptor),+ (Data.ProtoLens.Tag 3, repeatedFieldEncoding__field_descriptor),+ (Data.ProtoLens.Tag 4, utf8Validation__field_descriptor),+ (Data.ProtoLens.Tag 5, messageEncoding__field_descriptor),+ (Data.ProtoLens.Tag 6, jsonFormat__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FeatureSet'_unknownFields+ (\ x__ y__ -> x__ {_FeatureSet'_unknownFields = y__})+ defMessage+ = FeatureSet'_constructor+ {_FeatureSet'fieldPresence = Prelude.Nothing,+ _FeatureSet'enumType = Prelude.Nothing,+ _FeatureSet'repeatedFieldEncoding = Prelude.Nothing,+ _FeatureSet'utf8Validation = Prelude.Nothing,+ _FeatureSet'messageEncoding = Prelude.Nothing,+ _FeatureSet'jsonFormat = Prelude.Nothing,+ _FeatureSet'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FeatureSet -> Data.ProtoLens.Encoding.Bytes.Parser FeatureSet+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "field_presence"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"fieldPresence") y x)+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "enum_type"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"enumType") y x)+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "repeated_field_encoding"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"repeatedFieldEncoding") y x)+ 32+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "utf8_validation"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"utf8Validation") y x)+ 40+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "message_encoding"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"messageEncoding") y x)+ 48+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "json_format"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"jsonFormat") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "FeatureSet"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'fieldPresence") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'enumType") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'repeatedFieldEncoding") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'utf8Validation") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'messageEncoding") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'jsonFormat") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 48)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))+instance Control.DeepSeq.NFData FeatureSet where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FeatureSet'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_FeatureSet'fieldPresence x__)+ (Control.DeepSeq.deepseq+ (_FeatureSet'enumType x__)+ (Control.DeepSeq.deepseq+ (_FeatureSet'repeatedFieldEncoding x__)+ (Control.DeepSeq.deepseq+ (_FeatureSet'utf8Validation x__)+ (Control.DeepSeq.deepseq+ (_FeatureSet'messageEncoding x__)+ (Control.DeepSeq.deepseq (_FeatureSet'jsonFormat x__) ()))))))+data FeatureSet'EnumType+ = FeatureSet'ENUM_TYPE_UNKNOWN |+ FeatureSet'OPEN |+ FeatureSet'CLOSED+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FeatureSet'EnumType where+ maybeToEnum 0 = Prelude.Just FeatureSet'ENUM_TYPE_UNKNOWN+ maybeToEnum 1 = Prelude.Just FeatureSet'OPEN+ maybeToEnum 2 = Prelude.Just FeatureSet'CLOSED+ maybeToEnum _ = Prelude.Nothing+ showEnum FeatureSet'ENUM_TYPE_UNKNOWN = "ENUM_TYPE_UNKNOWN"+ showEnum FeatureSet'OPEN = "OPEN"+ showEnum FeatureSet'CLOSED = "CLOSED"+ readEnum k+ | (Prelude.==) k "ENUM_TYPE_UNKNOWN"+ = Prelude.Just FeatureSet'ENUM_TYPE_UNKNOWN+ | (Prelude.==) k "OPEN" = Prelude.Just FeatureSet'OPEN+ | (Prelude.==) k "CLOSED" = Prelude.Just FeatureSet'CLOSED+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FeatureSet'EnumType where+ minBound = FeatureSet'ENUM_TYPE_UNKNOWN+ maxBound = FeatureSet'CLOSED+instance Prelude.Enum FeatureSet'EnumType where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum EnumType: " (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FeatureSet'ENUM_TYPE_UNKNOWN = 0+ fromEnum FeatureSet'OPEN = 1+ fromEnum FeatureSet'CLOSED = 2+ succ FeatureSet'CLOSED+ = Prelude.error+ "FeatureSet'EnumType.succ: bad argument FeatureSet'CLOSED. This value would be out of bounds."+ succ FeatureSet'ENUM_TYPE_UNKNOWN = FeatureSet'OPEN+ succ FeatureSet'OPEN = FeatureSet'CLOSED+ pred FeatureSet'ENUM_TYPE_UNKNOWN+ = Prelude.error+ "FeatureSet'EnumType.pred: bad argument FeatureSet'ENUM_TYPE_UNKNOWN. This value would be out of bounds."+ pred FeatureSet'OPEN = FeatureSet'ENUM_TYPE_UNKNOWN+ pred FeatureSet'CLOSED = FeatureSet'OPEN+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FeatureSet'EnumType where+ fieldDefault = FeatureSet'ENUM_TYPE_UNKNOWN+instance Control.DeepSeq.NFData FeatureSet'EnumType where+ rnf x__ = Prelude.seq x__ ()+data FeatureSet'FieldPresence+ = FeatureSet'FIELD_PRESENCE_UNKNOWN |+ FeatureSet'EXPLICIT |+ FeatureSet'IMPLICIT |+ FeatureSet'LEGACY_REQUIRED+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FeatureSet'FieldPresence where+ maybeToEnum 0 = Prelude.Just FeatureSet'FIELD_PRESENCE_UNKNOWN+ maybeToEnum 1 = Prelude.Just FeatureSet'EXPLICIT+ maybeToEnum 2 = Prelude.Just FeatureSet'IMPLICIT+ maybeToEnum 3 = Prelude.Just FeatureSet'LEGACY_REQUIRED+ maybeToEnum _ = Prelude.Nothing+ showEnum FeatureSet'FIELD_PRESENCE_UNKNOWN+ = "FIELD_PRESENCE_UNKNOWN"+ showEnum FeatureSet'EXPLICIT = "EXPLICIT"+ showEnum FeatureSet'IMPLICIT = "IMPLICIT"+ showEnum FeatureSet'LEGACY_REQUIRED = "LEGACY_REQUIRED"+ readEnum k+ | (Prelude.==) k "FIELD_PRESENCE_UNKNOWN"+ = Prelude.Just FeatureSet'FIELD_PRESENCE_UNKNOWN+ | (Prelude.==) k "EXPLICIT" = Prelude.Just FeatureSet'EXPLICIT+ | (Prelude.==) k "IMPLICIT" = Prelude.Just FeatureSet'IMPLICIT+ | (Prelude.==) k "LEGACY_REQUIRED"+ = Prelude.Just FeatureSet'LEGACY_REQUIRED+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FeatureSet'FieldPresence where+ minBound = FeatureSet'FIELD_PRESENCE_UNKNOWN+ maxBound = FeatureSet'LEGACY_REQUIRED+instance Prelude.Enum FeatureSet'FieldPresence where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum FieldPresence: "+ (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FeatureSet'FIELD_PRESENCE_UNKNOWN = 0+ fromEnum FeatureSet'EXPLICIT = 1+ fromEnum FeatureSet'IMPLICIT = 2+ fromEnum FeatureSet'LEGACY_REQUIRED = 3+ succ FeatureSet'LEGACY_REQUIRED+ = Prelude.error+ "FeatureSet'FieldPresence.succ: bad argument FeatureSet'LEGACY_REQUIRED. This value would be out of bounds."+ succ FeatureSet'FIELD_PRESENCE_UNKNOWN = FeatureSet'EXPLICIT+ succ FeatureSet'EXPLICIT = FeatureSet'IMPLICIT+ succ FeatureSet'IMPLICIT = FeatureSet'LEGACY_REQUIRED+ pred FeatureSet'FIELD_PRESENCE_UNKNOWN+ = Prelude.error+ "FeatureSet'FieldPresence.pred: bad argument FeatureSet'FIELD_PRESENCE_UNKNOWN. This value would be out of bounds."+ pred FeatureSet'EXPLICIT = FeatureSet'FIELD_PRESENCE_UNKNOWN+ pred FeatureSet'IMPLICIT = FeatureSet'EXPLICIT+ pred FeatureSet'LEGACY_REQUIRED = FeatureSet'IMPLICIT+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FeatureSet'FieldPresence where+ fieldDefault = FeatureSet'FIELD_PRESENCE_UNKNOWN+instance Control.DeepSeq.NFData FeatureSet'FieldPresence where+ rnf x__ = Prelude.seq x__ ()+data FeatureSet'JsonFormat+ = FeatureSet'JSON_FORMAT_UNKNOWN |+ FeatureSet'ALLOW |+ FeatureSet'LEGACY_BEST_EFFORT+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FeatureSet'JsonFormat where+ maybeToEnum 0 = Prelude.Just FeatureSet'JSON_FORMAT_UNKNOWN+ maybeToEnum 1 = Prelude.Just FeatureSet'ALLOW+ maybeToEnum 2 = Prelude.Just FeatureSet'LEGACY_BEST_EFFORT+ maybeToEnum _ = Prelude.Nothing+ showEnum FeatureSet'JSON_FORMAT_UNKNOWN = "JSON_FORMAT_UNKNOWN"+ showEnum FeatureSet'ALLOW = "ALLOW"+ showEnum FeatureSet'LEGACY_BEST_EFFORT = "LEGACY_BEST_EFFORT"+ readEnum k+ | (Prelude.==) k "JSON_FORMAT_UNKNOWN"+ = Prelude.Just FeatureSet'JSON_FORMAT_UNKNOWN+ | (Prelude.==) k "ALLOW" = Prelude.Just FeatureSet'ALLOW+ | (Prelude.==) k "LEGACY_BEST_EFFORT"+ = Prelude.Just FeatureSet'LEGACY_BEST_EFFORT+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FeatureSet'JsonFormat where+ minBound = FeatureSet'JSON_FORMAT_UNKNOWN+ maxBound = FeatureSet'LEGACY_BEST_EFFORT+instance Prelude.Enum FeatureSet'JsonFormat where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum JsonFormat: " (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FeatureSet'JSON_FORMAT_UNKNOWN = 0+ fromEnum FeatureSet'ALLOW = 1+ fromEnum FeatureSet'LEGACY_BEST_EFFORT = 2+ succ FeatureSet'LEGACY_BEST_EFFORT+ = Prelude.error+ "FeatureSet'JsonFormat.succ: bad argument FeatureSet'LEGACY_BEST_EFFORT. This value would be out of bounds."+ succ FeatureSet'JSON_FORMAT_UNKNOWN = FeatureSet'ALLOW+ succ FeatureSet'ALLOW = FeatureSet'LEGACY_BEST_EFFORT+ pred FeatureSet'JSON_FORMAT_UNKNOWN+ = Prelude.error+ "FeatureSet'JsonFormat.pred: bad argument FeatureSet'JSON_FORMAT_UNKNOWN. This value would be out of bounds."+ pred FeatureSet'ALLOW = FeatureSet'JSON_FORMAT_UNKNOWN+ pred FeatureSet'LEGACY_BEST_EFFORT = FeatureSet'ALLOW+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FeatureSet'JsonFormat where+ fieldDefault = FeatureSet'JSON_FORMAT_UNKNOWN+instance Control.DeepSeq.NFData FeatureSet'JsonFormat where+ rnf x__ = Prelude.seq x__ ()+data FeatureSet'MessageEncoding+ = FeatureSet'MESSAGE_ENCODING_UNKNOWN |+ FeatureSet'LENGTH_PREFIXED |+ FeatureSet'DELIMITED+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FeatureSet'MessageEncoding where+ maybeToEnum 0 = Prelude.Just FeatureSet'MESSAGE_ENCODING_UNKNOWN+ maybeToEnum 1 = Prelude.Just FeatureSet'LENGTH_PREFIXED+ maybeToEnum 2 = Prelude.Just FeatureSet'DELIMITED+ maybeToEnum _ = Prelude.Nothing+ showEnum FeatureSet'MESSAGE_ENCODING_UNKNOWN+ = "MESSAGE_ENCODING_UNKNOWN"+ showEnum FeatureSet'LENGTH_PREFIXED = "LENGTH_PREFIXED"+ showEnum FeatureSet'DELIMITED = "DELIMITED"+ readEnum k+ | (Prelude.==) k "MESSAGE_ENCODING_UNKNOWN"+ = Prelude.Just FeatureSet'MESSAGE_ENCODING_UNKNOWN+ | (Prelude.==) k "LENGTH_PREFIXED"+ = Prelude.Just FeatureSet'LENGTH_PREFIXED+ | (Prelude.==) k "DELIMITED" = Prelude.Just FeatureSet'DELIMITED+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FeatureSet'MessageEncoding where+ minBound = FeatureSet'MESSAGE_ENCODING_UNKNOWN+ maxBound = FeatureSet'DELIMITED+instance Prelude.Enum FeatureSet'MessageEncoding where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum MessageEncoding: "+ (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FeatureSet'MESSAGE_ENCODING_UNKNOWN = 0+ fromEnum FeatureSet'LENGTH_PREFIXED = 1+ fromEnum FeatureSet'DELIMITED = 2+ succ FeatureSet'DELIMITED+ = Prelude.error+ "FeatureSet'MessageEncoding.succ: bad argument FeatureSet'DELIMITED. This value would be out of bounds."+ succ FeatureSet'MESSAGE_ENCODING_UNKNOWN+ = FeatureSet'LENGTH_PREFIXED+ succ FeatureSet'LENGTH_PREFIXED = FeatureSet'DELIMITED+ pred FeatureSet'MESSAGE_ENCODING_UNKNOWN+ = Prelude.error+ "FeatureSet'MessageEncoding.pred: bad argument FeatureSet'MESSAGE_ENCODING_UNKNOWN. This value would be out of bounds."+ pred FeatureSet'LENGTH_PREFIXED+ = FeatureSet'MESSAGE_ENCODING_UNKNOWN+ pred FeatureSet'DELIMITED = FeatureSet'LENGTH_PREFIXED+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FeatureSet'MessageEncoding where+ fieldDefault = FeatureSet'MESSAGE_ENCODING_UNKNOWN+instance Control.DeepSeq.NFData FeatureSet'MessageEncoding where+ rnf x__ = Prelude.seq x__ ()+data FeatureSet'RepeatedFieldEncoding+ = FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN |+ FeatureSet'PACKED |+ FeatureSet'EXPANDED+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FeatureSet'RepeatedFieldEncoding where+ maybeToEnum 0+ = Prelude.Just FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN+ maybeToEnum 1 = Prelude.Just FeatureSet'PACKED+ maybeToEnum 2 = Prelude.Just FeatureSet'EXPANDED+ maybeToEnum _ = Prelude.Nothing+ showEnum FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN+ = "REPEATED_FIELD_ENCODING_UNKNOWN"+ showEnum FeatureSet'PACKED = "PACKED"+ showEnum FeatureSet'EXPANDED = "EXPANDED"+ readEnum k+ | (Prelude.==) k "REPEATED_FIELD_ENCODING_UNKNOWN"+ = Prelude.Just FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN+ | (Prelude.==) k "PACKED" = Prelude.Just FeatureSet'PACKED+ | (Prelude.==) k "EXPANDED" = Prelude.Just FeatureSet'EXPANDED+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FeatureSet'RepeatedFieldEncoding where+ minBound = FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN+ maxBound = FeatureSet'EXPANDED+instance Prelude.Enum FeatureSet'RepeatedFieldEncoding where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum RepeatedFieldEncoding: "+ (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN = 0+ fromEnum FeatureSet'PACKED = 1+ fromEnum FeatureSet'EXPANDED = 2+ succ FeatureSet'EXPANDED+ = Prelude.error+ "FeatureSet'RepeatedFieldEncoding.succ: bad argument FeatureSet'EXPANDED. This value would be out of bounds."+ succ FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN = FeatureSet'PACKED+ succ FeatureSet'PACKED = FeatureSet'EXPANDED+ pred FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN+ = Prelude.error+ "FeatureSet'RepeatedFieldEncoding.pred: bad argument FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN. This value would be out of bounds."+ pred FeatureSet'PACKED = FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN+ pred FeatureSet'EXPANDED = FeatureSet'PACKED+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FeatureSet'RepeatedFieldEncoding where+ fieldDefault = FeatureSet'REPEATED_FIELD_ENCODING_UNKNOWN+instance Control.DeepSeq.NFData FeatureSet'RepeatedFieldEncoding where+ rnf x__ = Prelude.seq x__ ()+data FeatureSet'Utf8Validation+ = FeatureSet'UTF8_VALIDATION_UNKNOWN |+ FeatureSet'VERIFY |+ FeatureSet'NONE+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FeatureSet'Utf8Validation where+ maybeToEnum 0 = Prelude.Just FeatureSet'UTF8_VALIDATION_UNKNOWN+ maybeToEnum 2 = Prelude.Just FeatureSet'VERIFY+ maybeToEnum 3 = Prelude.Just FeatureSet'NONE+ maybeToEnum _ = Prelude.Nothing+ showEnum FeatureSet'UTF8_VALIDATION_UNKNOWN+ = "UTF8_VALIDATION_UNKNOWN"+ showEnum FeatureSet'VERIFY = "VERIFY"+ showEnum FeatureSet'NONE = "NONE"+ readEnum k+ | (Prelude.==) k "UTF8_VALIDATION_UNKNOWN"+ = Prelude.Just FeatureSet'UTF8_VALIDATION_UNKNOWN+ | (Prelude.==) k "VERIFY" = Prelude.Just FeatureSet'VERIFY+ | (Prelude.==) k "NONE" = Prelude.Just FeatureSet'NONE+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FeatureSet'Utf8Validation where+ minBound = FeatureSet'UTF8_VALIDATION_UNKNOWN+ maxBound = FeatureSet'NONE+instance Prelude.Enum FeatureSet'Utf8Validation where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum Utf8Validation: "+ (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FeatureSet'UTF8_VALIDATION_UNKNOWN = 0+ fromEnum FeatureSet'VERIFY = 2+ fromEnum FeatureSet'NONE = 3+ succ FeatureSet'NONE+ = Prelude.error+ "FeatureSet'Utf8Validation.succ: bad argument FeatureSet'NONE. This value would be out of bounds."+ succ FeatureSet'UTF8_VALIDATION_UNKNOWN = FeatureSet'VERIFY+ succ FeatureSet'VERIFY = FeatureSet'NONE+ pred FeatureSet'UTF8_VALIDATION_UNKNOWN+ = Prelude.error+ "FeatureSet'Utf8Validation.pred: bad argument FeatureSet'UTF8_VALIDATION_UNKNOWN. This value would be out of bounds."+ pred FeatureSet'VERIFY = FeatureSet'UTF8_VALIDATION_UNKNOWN+ pred FeatureSet'NONE = FeatureSet'VERIFY+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FeatureSet'Utf8Validation where+ fieldDefault = FeatureSet'UTF8_VALIDATION_UNKNOWN+instance Control.DeepSeq.NFData FeatureSet'Utf8Validation where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.defaults' @:: Lens' FeatureSetDefaults [FeatureSetDefaults'FeatureSetEditionDefault]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'defaults' @:: Lens' FeatureSetDefaults (Data.Vector.Vector FeatureSetDefaults'FeatureSetEditionDefault)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.minimumEdition' @:: Lens' FeatureSetDefaults Edition@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'minimumEdition' @:: Lens' FeatureSetDefaults (Prelude.Maybe Edition)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maximumEdition' @:: Lens' FeatureSetDefaults Edition@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'maximumEdition' @:: Lens' FeatureSetDefaults (Prelude.Maybe Edition)@ -}+data FeatureSetDefaults+ = FeatureSetDefaults'_constructor {_FeatureSetDefaults'defaults :: !(Data.Vector.Vector FeatureSetDefaults'FeatureSetEditionDefault),+ _FeatureSetDefaults'minimumEdition :: !(Prelude.Maybe Edition),+ _FeatureSetDefaults'maximumEdition :: !(Prelude.Maybe Edition),+ _FeatureSetDefaults'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FeatureSetDefaults where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FeatureSetDefaults "defaults" [FeatureSetDefaults'FeatureSetEditionDefault] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'defaults+ (\ x__ y__ -> x__ {_FeatureSetDefaults'defaults = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FeatureSetDefaults "vec'defaults" (Data.Vector.Vector FeatureSetDefaults'FeatureSetEditionDefault) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'defaults+ (\ x__ y__ -> x__ {_FeatureSetDefaults'defaults = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FeatureSetDefaults "minimumEdition" Edition where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'minimumEdition+ (\ x__ y__ -> x__ {_FeatureSetDefaults'minimumEdition = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FeatureSetDefaults "maybe'minimumEdition" (Prelude.Maybe Edition) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'minimumEdition+ (\ x__ y__ -> x__ {_FeatureSetDefaults'minimumEdition = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FeatureSetDefaults "maximumEdition" Edition where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'maximumEdition+ (\ x__ y__ -> x__ {_FeatureSetDefaults'maximumEdition = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FeatureSetDefaults "maybe'maximumEdition" (Prelude.Maybe Edition) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'maximumEdition+ (\ x__ y__ -> x__ {_FeatureSetDefaults'maximumEdition = y__}))+ Prelude.id+instance Data.ProtoLens.Message FeatureSetDefaults where+ messageName _ = Data.Text.pack "google.protobuf.FeatureSetDefaults"+ packedMessageDescriptor _+ = "\n\+ \\DC2FeatureSetDefaults\DC2X\n\+ \\bdefaults\CAN\SOH \ETX(\v2<.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefaultR\bdefaults\DC2A\n\+ \\SIminimum_edition\CAN\EOT \SOH(\SO2\CAN.google.protobuf.EditionR\SOminimumEdition\DC2A\n\+ \\SImaximum_edition\CAN\ENQ \SOH(\SO2\CAN.google.protobuf.EditionR\SOmaximumEdition\SUB\248\SOH\n\+ \\CANFeatureSetEditionDefault\DC22\n\+ \\aedition\CAN\ETX \SOH(\SO2\CAN.google.protobuf.EditionR\aedition\DC2N\n\+ \\DC4overridable_features\CAN\EOT \SOH(\v2\ESC.google.protobuf.FeatureSetR\DC3overridableFeatures\DC2B\n\+ \\SOfixed_features\CAN\ENQ \SOH(\v2\ESC.google.protobuf.FeatureSetR\rfixedFeaturesJ\EOT\b\SOH\DLE\STXJ\EOT\b\STX\DLE\ETXR\bfeatures"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ defaults__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "defaults"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSetDefaults'FeatureSetEditionDefault)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"defaults")) ::+ Data.ProtoLens.FieldDescriptor FeatureSetDefaults+ minimumEdition__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "minimum_edition"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor Edition)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'minimumEdition")) ::+ Data.ProtoLens.FieldDescriptor FeatureSetDefaults+ maximumEdition__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "maximum_edition"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor Edition)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'maximumEdition")) ::+ Data.ProtoLens.FieldDescriptor FeatureSetDefaults+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, defaults__field_descriptor),+ (Data.ProtoLens.Tag 4, minimumEdition__field_descriptor),+ (Data.ProtoLens.Tag 5, maximumEdition__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'_unknownFields+ (\ x__ y__ -> x__ {_FeatureSetDefaults'_unknownFields = y__})+ defMessage+ = FeatureSetDefaults'_constructor+ {_FeatureSetDefaults'defaults = Data.Vector.Generic.empty,+ _FeatureSetDefaults'minimumEdition = Prelude.Nothing,+ _FeatureSetDefaults'maximumEdition = Prelude.Nothing,+ _FeatureSetDefaults'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FeatureSetDefaults+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld FeatureSetDefaults'FeatureSetEditionDefault+ -> Data.ProtoLens.Encoding.Bytes.Parser FeatureSetDefaults+ loop x mutable'defaults+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'defaults <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'defaults)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'defaults") frozen'defaults x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "defaults"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'defaults y)+ loop x v+ 32+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "minimum_edition"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"minimumEdition") y x)+ mutable'defaults+ 40+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "maximum_edition"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"maximumEdition") y x)+ mutable'defaults+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'defaults+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'defaults <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'defaults)+ "FeatureSetDefaults"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'defaults") _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'minimumEdition") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'maximumEdition") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData FeatureSetDefaults where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FeatureSetDefaults'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_FeatureSetDefaults'defaults x__)+ (Control.DeepSeq.deepseq+ (_FeatureSetDefaults'minimumEdition x__)+ (Control.DeepSeq.deepseq+ (_FeatureSetDefaults'maximumEdition x__) ())))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.edition' @:: Lens' FeatureSetDefaults'FeatureSetEditionDefault Edition@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'edition' @:: Lens' FeatureSetDefaults'FeatureSetEditionDefault (Prelude.Maybe Edition)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.overridableFeatures' @:: Lens' FeatureSetDefaults'FeatureSetEditionDefault FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'overridableFeatures' @:: Lens' FeatureSetDefaults'FeatureSetEditionDefault (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.fixedFeatures' @:: Lens' FeatureSetDefaults'FeatureSetEditionDefault FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'fixedFeatures' @:: Lens' FeatureSetDefaults'FeatureSetEditionDefault (Prelude.Maybe FeatureSet)@ -}+data FeatureSetDefaults'FeatureSetEditionDefault+ = FeatureSetDefaults'FeatureSetEditionDefault'_constructor {_FeatureSetDefaults'FeatureSetEditionDefault'edition :: !(Prelude.Maybe Edition),+ _FeatureSetDefaults'FeatureSetEditionDefault'overridableFeatures :: !(Prelude.Maybe FeatureSet),+ _FeatureSetDefaults'FeatureSetEditionDefault'fixedFeatures :: !(Prelude.Maybe FeatureSet),+ _FeatureSetDefaults'FeatureSetEditionDefault'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FeatureSetDefaults'FeatureSetEditionDefault where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FeatureSetDefaults'FeatureSetEditionDefault "edition" Edition where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'FeatureSetEditionDefault'edition+ (\ x__ y__+ -> x__+ {_FeatureSetDefaults'FeatureSetEditionDefault'edition = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FeatureSetDefaults'FeatureSetEditionDefault "maybe'edition" (Prelude.Maybe Edition) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'FeatureSetEditionDefault'edition+ (\ x__ y__+ -> x__+ {_FeatureSetDefaults'FeatureSetEditionDefault'edition = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FeatureSetDefaults'FeatureSetEditionDefault "overridableFeatures" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'FeatureSetEditionDefault'overridableFeatures+ (\ x__ y__+ -> x__+ {_FeatureSetDefaults'FeatureSetEditionDefault'overridableFeatures = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField FeatureSetDefaults'FeatureSetEditionDefault "maybe'overridableFeatures" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'FeatureSetEditionDefault'overridableFeatures+ (\ x__ y__+ -> x__+ {_FeatureSetDefaults'FeatureSetEditionDefault'overridableFeatures = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FeatureSetDefaults'FeatureSetEditionDefault "fixedFeatures" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'FeatureSetEditionDefault'fixedFeatures+ (\ x__ y__+ -> x__+ {_FeatureSetDefaults'FeatureSetEditionDefault'fixedFeatures = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField FeatureSetDefaults'FeatureSetEditionDefault "maybe'fixedFeatures" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'FeatureSetEditionDefault'fixedFeatures+ (\ x__ y__+ -> x__+ {_FeatureSetDefaults'FeatureSetEditionDefault'fixedFeatures = y__}))+ Prelude.id+instance Data.ProtoLens.Message FeatureSetDefaults'FeatureSetEditionDefault where+ messageName _+ = Data.Text.pack+ "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"+ packedMessageDescriptor _+ = "\n\+ \\CANFeatureSetEditionDefault\DC22\n\+ \\aedition\CAN\ETX \SOH(\SO2\CAN.google.protobuf.EditionR\aedition\DC2N\n\+ \\DC4overridable_features\CAN\EOT \SOH(\v2\ESC.google.protobuf.FeatureSetR\DC3overridableFeatures\DC2B\n\+ \\SOfixed_features\CAN\ENQ \SOH(\v2\ESC.google.protobuf.FeatureSetR\rfixedFeaturesJ\EOT\b\SOH\DLE\STXJ\EOT\b\STX\DLE\ETXR\bfeatures"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ edition__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "edition"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor Edition)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'edition")) ::+ Data.ProtoLens.FieldDescriptor FeatureSetDefaults'FeatureSetEditionDefault+ overridableFeatures__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "overridable_features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'overridableFeatures")) ::+ Data.ProtoLens.FieldDescriptor FeatureSetDefaults'FeatureSetEditionDefault+ fixedFeatures__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "fixed_features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'fixedFeatures")) ::+ Data.ProtoLens.FieldDescriptor FeatureSetDefaults'FeatureSetEditionDefault+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 3, edition__field_descriptor),+ (Data.ProtoLens.Tag 4, overridableFeatures__field_descriptor),+ (Data.ProtoLens.Tag 5, fixedFeatures__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FeatureSetDefaults'FeatureSetEditionDefault'_unknownFields+ (\ x__ y__+ -> x__+ {_FeatureSetDefaults'FeatureSetEditionDefault'_unknownFields = y__})+ defMessage+ = FeatureSetDefaults'FeatureSetEditionDefault'_constructor+ {_FeatureSetDefaults'FeatureSetEditionDefault'edition = Prelude.Nothing,+ _FeatureSetDefaults'FeatureSetEditionDefault'overridableFeatures = Prelude.Nothing,+ _FeatureSetDefaults'FeatureSetEditionDefault'fixedFeatures = Prelude.Nothing,+ _FeatureSetDefaults'FeatureSetEditionDefault'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FeatureSetDefaults'FeatureSetEditionDefault+ -> Data.ProtoLens.Encoding.Bytes.Parser FeatureSetDefaults'FeatureSetEditionDefault+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "edition"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"edition") y x)+ 34+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "overridable_features"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"overridableFeatures") y x)+ 42+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "fixed_features"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"fixedFeatures") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "FeatureSetEditionDefault"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'edition") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'overridableFeatures") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'fixedFeatures") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 42)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData FeatureSetDefaults'FeatureSetEditionDefault where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FeatureSetDefaults'FeatureSetEditionDefault'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_FeatureSetDefaults'FeatureSetEditionDefault'edition x__)+ (Control.DeepSeq.deepseq+ (_FeatureSetDefaults'FeatureSetEditionDefault'overridableFeatures+ x__)+ (Control.DeepSeq.deepseq+ (_FeatureSetDefaults'FeatureSetEditionDefault'fixedFeatures x__)+ ())))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FieldDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' FieldDescriptorProto Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.label' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Label@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'label' @:: Lens' FieldDescriptorProto (Prelude.Maybe FieldDescriptorProto'Label)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.type'' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Type@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'type'' @:: Lens' FieldDescriptorProto (Prelude.Maybe FieldDescriptorProto'Type)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.typeName' @:: Lens' FieldDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'typeName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.extendee' @:: Lens' FieldDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'extendee' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.defaultValue' @:: Lens' FieldDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'defaultValue' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.oneofIndex' @:: Lens' FieldDescriptorProto Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'oneofIndex' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.jsonName' @:: Lens' FieldDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jsonName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FieldDescriptorProto FieldOptions@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FieldDescriptorProto (Prelude.Maybe FieldOptions)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.proto3Optional' @:: Lens' FieldDescriptorProto Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'proto3Optional' @:: Lens' FieldDescriptorProto (Prelude.Maybe Prelude.Bool)@ -}+data FieldDescriptorProto+ = FieldDescriptorProto'_constructor {_FieldDescriptorProto'name :: !(Prelude.Maybe Data.Text.Text),+ _FieldDescriptorProto'number :: !(Prelude.Maybe Data.Int.Int32),+ _FieldDescriptorProto'label :: !(Prelude.Maybe FieldDescriptorProto'Label),+ _FieldDescriptorProto'type' :: !(Prelude.Maybe FieldDescriptorProto'Type),+ _FieldDescriptorProto'typeName :: !(Prelude.Maybe Data.Text.Text),+ _FieldDescriptorProto'extendee :: !(Prelude.Maybe Data.Text.Text),+ _FieldDescriptorProto'defaultValue :: !(Prelude.Maybe Data.Text.Text),+ _FieldDescriptorProto'oneofIndex :: !(Prelude.Maybe Data.Int.Int32),+ _FieldDescriptorProto'jsonName :: !(Prelude.Maybe Data.Text.Text),+ _FieldDescriptorProto'options :: !(Prelude.Maybe FieldOptions),+ _FieldDescriptorProto'proto3Optional :: !(Prelude.Maybe Prelude.Bool),+ _FieldDescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FieldDescriptorProto where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "name" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'name+ (\ x__ y__ -> x__ {_FieldDescriptorProto'name = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'name" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'name+ (\ x__ y__ -> x__ {_FieldDescriptorProto'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "number" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'number+ (\ x__ y__ -> x__ {_FieldDescriptorProto'number = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'number" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'number+ (\ x__ y__ -> x__ {_FieldDescriptorProto'number = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "label" FieldDescriptorProto'Label where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'label+ (\ x__ y__ -> x__ {_FieldDescriptorProto'label = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'label" (Prelude.Maybe FieldDescriptorProto'Label) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'label+ (\ x__ y__ -> x__ {_FieldDescriptorProto'label = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "type'" FieldDescriptorProto'Type where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'type'+ (\ x__ y__ -> x__ {_FieldDescriptorProto'type' = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'type'" (Prelude.Maybe FieldDescriptorProto'Type) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'type'+ (\ x__ y__ -> x__ {_FieldDescriptorProto'type' = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "typeName" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'typeName+ (\ x__ y__ -> x__ {_FieldDescriptorProto'typeName = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'typeName" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'typeName+ (\ x__ y__ -> x__ {_FieldDescriptorProto'typeName = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "extendee" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'extendee+ (\ x__ y__ -> x__ {_FieldDescriptorProto'extendee = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'extendee" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'extendee+ (\ x__ y__ -> x__ {_FieldDescriptorProto'extendee = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "defaultValue" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'defaultValue+ (\ x__ y__ -> x__ {_FieldDescriptorProto'defaultValue = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'defaultValue" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'defaultValue+ (\ x__ y__ -> x__ {_FieldDescriptorProto'defaultValue = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "oneofIndex" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'oneofIndex+ (\ x__ y__ -> x__ {_FieldDescriptorProto'oneofIndex = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'oneofIndex" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'oneofIndex+ (\ x__ y__ -> x__ {_FieldDescriptorProto'oneofIndex = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "jsonName" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'jsonName+ (\ x__ y__ -> x__ {_FieldDescriptorProto'jsonName = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'jsonName" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'jsonName+ (\ x__ y__ -> x__ {_FieldDescriptorProto'jsonName = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "options" FieldOptions where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'options+ (\ x__ y__ -> x__ {_FieldDescriptorProto'options = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'options" (Prelude.Maybe FieldOptions) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'options+ (\ x__ y__ -> x__ {_FieldDescriptorProto'options = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "proto3Optional" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'proto3Optional+ (\ x__ y__ -> x__ {_FieldDescriptorProto'proto3Optional = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "maybe'proto3Optional" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'proto3Optional+ (\ x__ y__ -> x__ {_FieldDescriptorProto'proto3Optional = y__}))+ Prelude.id+instance Data.ProtoLens.Message FieldDescriptorProto where+ messageName _+ = Data.Text.pack "google.protobuf.FieldDescriptorProto"+ packedMessageDescriptor _+ = "\n\+ \\DC4FieldDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\SYN\n\+ \\ACKnumber\CAN\ETX \SOH(\ENQR\ACKnumber\DC2A\n\+ \\ENQlabel\CAN\EOT \SOH(\SO2+.google.protobuf.FieldDescriptorProto.LabelR\ENQlabel\DC2>\n\+ \\EOTtype\CAN\ENQ \SOH(\SO2*.google.protobuf.FieldDescriptorProto.TypeR\EOTtype\DC2\ESC\n\+ \\ttype_name\CAN\ACK \SOH(\tR\btypeName\DC2\SUB\n\+ \\bextendee\CAN\STX \SOH(\tR\bextendee\DC2#\n\+ \\rdefault_value\CAN\a \SOH(\tR\fdefaultValue\DC2\US\n\+ \\voneof_index\CAN\t \SOH(\ENQR\n\+ \oneofIndex\DC2\ESC\n\+ \\tjson_name\CAN\n\+ \ \SOH(\tR\bjsonName\DC27\n\+ \\aoptions\CAN\b \SOH(\v2\GS.google.protobuf.FieldOptionsR\aoptions\DC2'\n\+ \\SIproto3_optional\CAN\DC1 \SOH(\bR\SOproto3Optional\"\182\STX\n\+ \\EOTType\DC2\SI\n\+ \\vTYPE_DOUBLE\DLE\SOH\DC2\SO\n\+ \\n\+ \TYPE_FLOAT\DLE\STX\DC2\SO\n\+ \\n\+ \TYPE_INT64\DLE\ETX\DC2\SI\n\+ \\vTYPE_UINT64\DLE\EOT\DC2\SO\n\+ \\n\+ \TYPE_INT32\DLE\ENQ\DC2\DLE\n\+ \\fTYPE_FIXED64\DLE\ACK\DC2\DLE\n\+ \\fTYPE_FIXED32\DLE\a\DC2\r\n\+ \\tTYPE_BOOL\DLE\b\DC2\SI\n\+ \\vTYPE_STRING\DLE\t\DC2\SO\n\+ \\n\+ \TYPE_GROUP\DLE\n\+ \\DC2\DLE\n\+ \\fTYPE_MESSAGE\DLE\v\DC2\SO\n\+ \\n\+ \TYPE_BYTES\DLE\f\DC2\SI\n\+ \\vTYPE_UINT32\DLE\r\DC2\r\n\+ \\tTYPE_ENUM\DLE\SO\DC2\DC1\n\+ \\rTYPE_SFIXED32\DLE\SI\DC2\DC1\n\+ \\rTYPE_SFIXED64\DLE\DLE\DC2\SI\n\+ \\vTYPE_SINT32\DLE\DC1\DC2\SI\n\+ \\vTYPE_SINT64\DLE\DC2\"C\n\+ \\ENQLabel\DC2\DC2\n\+ \\SOLABEL_OPTIONAL\DLE\SOH\DC2\DC2\n\+ \\SOLABEL_REPEATED\DLE\ETX\DC2\DC2\n\+ \\SOLABEL_REQUIRED\DLE\STX"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'name")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ number__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "number"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'number")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ label__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "label"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Label)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'label")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ type'__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "type"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Type)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'type'")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ typeName__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "type_name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'typeName")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ extendee__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "extendee"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'extendee")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ defaultValue__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "default_value"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'defaultValue")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ oneofIndex__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "oneof_index"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'oneofIndex")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ jsonName__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "json_name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'jsonName")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ options__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "options"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FieldOptions)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'options")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ proto3Optional__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "proto3_optional"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'proto3Optional")) ::+ Data.ProtoLens.FieldDescriptor FieldDescriptorProto+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, name__field_descriptor),+ (Data.ProtoLens.Tag 3, number__field_descriptor),+ (Data.ProtoLens.Tag 4, label__field_descriptor),+ (Data.ProtoLens.Tag 5, type'__field_descriptor),+ (Data.ProtoLens.Tag 6, typeName__field_descriptor),+ (Data.ProtoLens.Tag 2, extendee__field_descriptor),+ (Data.ProtoLens.Tag 7, defaultValue__field_descriptor),+ (Data.ProtoLens.Tag 9, oneofIndex__field_descriptor),+ (Data.ProtoLens.Tag 10, jsonName__field_descriptor),+ (Data.ProtoLens.Tag 8, options__field_descriptor),+ (Data.ProtoLens.Tag 17, proto3Optional__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FieldDescriptorProto'_unknownFields+ (\ x__ y__ -> x__ {_FieldDescriptorProto'_unknownFields = y__})+ defMessage+ = FieldDescriptorProto'_constructor+ {_FieldDescriptorProto'name = Prelude.Nothing,+ _FieldDescriptorProto'number = Prelude.Nothing,+ _FieldDescriptorProto'label = Prelude.Nothing,+ _FieldDescriptorProto'type' = Prelude.Nothing,+ _FieldDescriptorProto'typeName = Prelude.Nothing,+ _FieldDescriptorProto'extendee = Prelude.Nothing,+ _FieldDescriptorProto'defaultValue = Prelude.Nothing,+ _FieldDescriptorProto'oneofIndex = Prelude.Nothing,+ _FieldDescriptorProto'jsonName = Prelude.Nothing,+ _FieldDescriptorProto'options = Prelude.Nothing,+ _FieldDescriptorProto'proto3Optional = Prelude.Nothing,+ _FieldDescriptorProto'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FieldDescriptorProto+ -> Data.ProtoLens.Encoding.Bytes.Parser FieldDescriptorProto+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "number"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"number") y x)+ 32+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "label"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"label") y x)+ 40+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "type"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"type'") y x)+ 50+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "type_name"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"typeName") y x)+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "extendee"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"extendee") y x)+ 58+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "default_value"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"defaultValue") y x)+ 72+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "oneof_index"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"oneofIndex") y x)+ 82+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "json_name"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"jsonName") y x)+ 66+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "options"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"options") y x)+ 136+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "proto3_optional"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"proto3Optional") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "FieldDescriptorProto"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'number") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'label") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'type'") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'typeName") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 50)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'extendee") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'defaultValue") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 58)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'oneofIndex") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 72)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'jsonName") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 82)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'options") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 66)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'proto3Optional")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 136)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view+ Data.ProtoLens.unknownFields _x))))))))))))+instance Control.DeepSeq.NFData FieldDescriptorProto where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FieldDescriptorProto'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'name x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'number x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'label x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'type' x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'typeName x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'extendee x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'defaultValue x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'oneofIndex x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'jsonName x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'options x__)+ (Control.DeepSeq.deepseq+ (_FieldDescriptorProto'proto3Optional x__)+ ())))))))))))+data FieldDescriptorProto'Label+ = FieldDescriptorProto'LABEL_OPTIONAL |+ FieldDescriptorProto'LABEL_REQUIRED |+ FieldDescriptorProto'LABEL_REPEATED+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Label where+ maybeToEnum 1 = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL+ maybeToEnum 2 = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED+ maybeToEnum 3 = Prelude.Just FieldDescriptorProto'LABEL_REPEATED+ maybeToEnum _ = Prelude.Nothing+ showEnum FieldDescriptorProto'LABEL_OPTIONAL = "LABEL_OPTIONAL"+ showEnum FieldDescriptorProto'LABEL_REPEATED = "LABEL_REPEATED"+ showEnum FieldDescriptorProto'LABEL_REQUIRED = "LABEL_REQUIRED"+ readEnum k+ | (Prelude.==) k "LABEL_OPTIONAL"+ = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL+ | (Prelude.==) k "LABEL_REPEATED"+ = Prelude.Just FieldDescriptorProto'LABEL_REPEATED+ | (Prelude.==) k "LABEL_REQUIRED"+ = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FieldDescriptorProto'Label where+ minBound = FieldDescriptorProto'LABEL_OPTIONAL+ maxBound = FieldDescriptorProto'LABEL_REPEATED+instance Prelude.Enum FieldDescriptorProto'Label where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum Label: " (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FieldDescriptorProto'LABEL_OPTIONAL = 1+ fromEnum FieldDescriptorProto'LABEL_REQUIRED = 2+ fromEnum FieldDescriptorProto'LABEL_REPEATED = 3+ succ FieldDescriptorProto'LABEL_REPEATED+ = Prelude.error+ "FieldDescriptorProto'Label.succ: bad argument FieldDescriptorProto'LABEL_REPEATED. This value would be out of bounds."+ succ FieldDescriptorProto'LABEL_OPTIONAL+ = FieldDescriptorProto'LABEL_REQUIRED+ succ FieldDescriptorProto'LABEL_REQUIRED+ = FieldDescriptorProto'LABEL_REPEATED+ pred FieldDescriptorProto'LABEL_OPTIONAL+ = Prelude.error+ "FieldDescriptorProto'Label.pred: bad argument FieldDescriptorProto'LABEL_OPTIONAL. This value would be out of bounds."+ pred FieldDescriptorProto'LABEL_REQUIRED+ = FieldDescriptorProto'LABEL_OPTIONAL+ pred FieldDescriptorProto'LABEL_REPEATED+ = FieldDescriptorProto'LABEL_REQUIRED+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Label where+ fieldDefault = FieldDescriptorProto'LABEL_OPTIONAL+instance Control.DeepSeq.NFData FieldDescriptorProto'Label where+ rnf x__ = Prelude.seq x__ ()+data FieldDescriptorProto'Type+ = FieldDescriptorProto'TYPE_DOUBLE |+ FieldDescriptorProto'TYPE_FLOAT |+ FieldDescriptorProto'TYPE_INT64 |+ FieldDescriptorProto'TYPE_UINT64 |+ FieldDescriptorProto'TYPE_INT32 |+ FieldDescriptorProto'TYPE_FIXED64 |+ FieldDescriptorProto'TYPE_FIXED32 |+ FieldDescriptorProto'TYPE_BOOL |+ FieldDescriptorProto'TYPE_STRING |+ FieldDescriptorProto'TYPE_GROUP |+ FieldDescriptorProto'TYPE_MESSAGE |+ FieldDescriptorProto'TYPE_BYTES |+ FieldDescriptorProto'TYPE_UINT32 |+ FieldDescriptorProto'TYPE_ENUM |+ FieldDescriptorProto'TYPE_SFIXED32 |+ FieldDescriptorProto'TYPE_SFIXED64 |+ FieldDescriptorProto'TYPE_SINT32 |+ FieldDescriptorProto'TYPE_SINT64+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Type where+ maybeToEnum 1 = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE+ maybeToEnum 2 = Prelude.Just FieldDescriptorProto'TYPE_FLOAT+ maybeToEnum 3 = Prelude.Just FieldDescriptorProto'TYPE_INT64+ maybeToEnum 4 = Prelude.Just FieldDescriptorProto'TYPE_UINT64+ maybeToEnum 5 = Prelude.Just FieldDescriptorProto'TYPE_INT32+ maybeToEnum 6 = Prelude.Just FieldDescriptorProto'TYPE_FIXED64+ maybeToEnum 7 = Prelude.Just FieldDescriptorProto'TYPE_FIXED32+ maybeToEnum 8 = Prelude.Just FieldDescriptorProto'TYPE_BOOL+ maybeToEnum 9 = Prelude.Just FieldDescriptorProto'TYPE_STRING+ maybeToEnum 10 = Prelude.Just FieldDescriptorProto'TYPE_GROUP+ maybeToEnum 11 = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE+ maybeToEnum 12 = Prelude.Just FieldDescriptorProto'TYPE_BYTES+ maybeToEnum 13 = Prelude.Just FieldDescriptorProto'TYPE_UINT32+ maybeToEnum 14 = Prelude.Just FieldDescriptorProto'TYPE_ENUM+ maybeToEnum 15 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32+ maybeToEnum 16 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64+ maybeToEnum 17 = Prelude.Just FieldDescriptorProto'TYPE_SINT32+ maybeToEnum 18 = Prelude.Just FieldDescriptorProto'TYPE_SINT64+ maybeToEnum _ = Prelude.Nothing+ showEnum FieldDescriptorProto'TYPE_DOUBLE = "TYPE_DOUBLE"+ showEnum FieldDescriptorProto'TYPE_FLOAT = "TYPE_FLOAT"+ showEnum FieldDescriptorProto'TYPE_INT64 = "TYPE_INT64"+ showEnum FieldDescriptorProto'TYPE_UINT64 = "TYPE_UINT64"+ showEnum FieldDescriptorProto'TYPE_INT32 = "TYPE_INT32"+ showEnum FieldDescriptorProto'TYPE_FIXED64 = "TYPE_FIXED64"+ showEnum FieldDescriptorProto'TYPE_FIXED32 = "TYPE_FIXED32"+ showEnum FieldDescriptorProto'TYPE_BOOL = "TYPE_BOOL"+ showEnum FieldDescriptorProto'TYPE_STRING = "TYPE_STRING"+ showEnum FieldDescriptorProto'TYPE_GROUP = "TYPE_GROUP"+ showEnum FieldDescriptorProto'TYPE_MESSAGE = "TYPE_MESSAGE"+ showEnum FieldDescriptorProto'TYPE_BYTES = "TYPE_BYTES"+ showEnum FieldDescriptorProto'TYPE_UINT32 = "TYPE_UINT32"+ showEnum FieldDescriptorProto'TYPE_ENUM = "TYPE_ENUM"+ showEnum FieldDescriptorProto'TYPE_SFIXED32 = "TYPE_SFIXED32"+ showEnum FieldDescriptorProto'TYPE_SFIXED64 = "TYPE_SFIXED64"+ showEnum FieldDescriptorProto'TYPE_SINT32 = "TYPE_SINT32"+ showEnum FieldDescriptorProto'TYPE_SINT64 = "TYPE_SINT64"+ readEnum k+ | (Prelude.==) k "TYPE_DOUBLE"+ = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE+ | (Prelude.==) k "TYPE_FLOAT"+ = Prelude.Just FieldDescriptorProto'TYPE_FLOAT+ | (Prelude.==) k "TYPE_INT64"+ = Prelude.Just FieldDescriptorProto'TYPE_INT64+ | (Prelude.==) k "TYPE_UINT64"+ = Prelude.Just FieldDescriptorProto'TYPE_UINT64+ | (Prelude.==) k "TYPE_INT32"+ = Prelude.Just FieldDescriptorProto'TYPE_INT32+ | (Prelude.==) k "TYPE_FIXED64"+ = Prelude.Just FieldDescriptorProto'TYPE_FIXED64+ | (Prelude.==) k "TYPE_FIXED32"+ = Prelude.Just FieldDescriptorProto'TYPE_FIXED32+ | (Prelude.==) k "TYPE_BOOL"+ = Prelude.Just FieldDescriptorProto'TYPE_BOOL+ | (Prelude.==) k "TYPE_STRING"+ = Prelude.Just FieldDescriptorProto'TYPE_STRING+ | (Prelude.==) k "TYPE_GROUP"+ = Prelude.Just FieldDescriptorProto'TYPE_GROUP+ | (Prelude.==) k "TYPE_MESSAGE"+ = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE+ | (Prelude.==) k "TYPE_BYTES"+ = Prelude.Just FieldDescriptorProto'TYPE_BYTES+ | (Prelude.==) k "TYPE_UINT32"+ = Prelude.Just FieldDescriptorProto'TYPE_UINT32+ | (Prelude.==) k "TYPE_ENUM"+ = Prelude.Just FieldDescriptorProto'TYPE_ENUM+ | (Prelude.==) k "TYPE_SFIXED32"+ = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32+ | (Prelude.==) k "TYPE_SFIXED64"+ = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64+ | (Prelude.==) k "TYPE_SINT32"+ = Prelude.Just FieldDescriptorProto'TYPE_SINT32+ | (Prelude.==) k "TYPE_SINT64"+ = Prelude.Just FieldDescriptorProto'TYPE_SINT64+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FieldDescriptorProto'Type where+ minBound = FieldDescriptorProto'TYPE_DOUBLE+ maxBound = FieldDescriptorProto'TYPE_SINT64+instance Prelude.Enum FieldDescriptorProto'Type where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum Type: " (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FieldDescriptorProto'TYPE_DOUBLE = 1+ fromEnum FieldDescriptorProto'TYPE_FLOAT = 2+ fromEnum FieldDescriptorProto'TYPE_INT64 = 3+ fromEnum FieldDescriptorProto'TYPE_UINT64 = 4+ fromEnum FieldDescriptorProto'TYPE_INT32 = 5+ fromEnum FieldDescriptorProto'TYPE_FIXED64 = 6+ fromEnum FieldDescriptorProto'TYPE_FIXED32 = 7+ fromEnum FieldDescriptorProto'TYPE_BOOL = 8+ fromEnum FieldDescriptorProto'TYPE_STRING = 9+ fromEnum FieldDescriptorProto'TYPE_GROUP = 10+ fromEnum FieldDescriptorProto'TYPE_MESSAGE = 11+ fromEnum FieldDescriptorProto'TYPE_BYTES = 12+ fromEnum FieldDescriptorProto'TYPE_UINT32 = 13+ fromEnum FieldDescriptorProto'TYPE_ENUM = 14+ fromEnum FieldDescriptorProto'TYPE_SFIXED32 = 15+ fromEnum FieldDescriptorProto'TYPE_SFIXED64 = 16+ fromEnum FieldDescriptorProto'TYPE_SINT32 = 17+ fromEnum FieldDescriptorProto'TYPE_SINT64 = 18+ succ FieldDescriptorProto'TYPE_SINT64+ = Prelude.error+ "FieldDescriptorProto'Type.succ: bad argument FieldDescriptorProto'TYPE_SINT64. This value would be out of bounds."+ succ FieldDescriptorProto'TYPE_DOUBLE+ = FieldDescriptorProto'TYPE_FLOAT+ succ FieldDescriptorProto'TYPE_FLOAT+ = FieldDescriptorProto'TYPE_INT64+ succ FieldDescriptorProto'TYPE_INT64+ = FieldDescriptorProto'TYPE_UINT64+ succ FieldDescriptorProto'TYPE_UINT64+ = FieldDescriptorProto'TYPE_INT32+ succ FieldDescriptorProto'TYPE_INT32+ = FieldDescriptorProto'TYPE_FIXED64+ succ FieldDescriptorProto'TYPE_FIXED64+ = FieldDescriptorProto'TYPE_FIXED32+ succ FieldDescriptorProto'TYPE_FIXED32+ = FieldDescriptorProto'TYPE_BOOL+ succ FieldDescriptorProto'TYPE_BOOL+ = FieldDescriptorProto'TYPE_STRING+ succ FieldDescriptorProto'TYPE_STRING+ = FieldDescriptorProto'TYPE_GROUP+ succ FieldDescriptorProto'TYPE_GROUP+ = FieldDescriptorProto'TYPE_MESSAGE+ succ FieldDescriptorProto'TYPE_MESSAGE+ = FieldDescriptorProto'TYPE_BYTES+ succ FieldDescriptorProto'TYPE_BYTES+ = FieldDescriptorProto'TYPE_UINT32+ succ FieldDescriptorProto'TYPE_UINT32+ = FieldDescriptorProto'TYPE_ENUM+ succ FieldDescriptorProto'TYPE_ENUM+ = FieldDescriptorProto'TYPE_SFIXED32+ succ FieldDescriptorProto'TYPE_SFIXED32+ = FieldDescriptorProto'TYPE_SFIXED64+ succ FieldDescriptorProto'TYPE_SFIXED64+ = FieldDescriptorProto'TYPE_SINT32+ succ FieldDescriptorProto'TYPE_SINT32+ = FieldDescriptorProto'TYPE_SINT64+ pred FieldDescriptorProto'TYPE_DOUBLE+ = Prelude.error+ "FieldDescriptorProto'Type.pred: bad argument FieldDescriptorProto'TYPE_DOUBLE. This value would be out of bounds."+ pred FieldDescriptorProto'TYPE_FLOAT+ = FieldDescriptorProto'TYPE_DOUBLE+ pred FieldDescriptorProto'TYPE_INT64+ = FieldDescriptorProto'TYPE_FLOAT+ pred FieldDescriptorProto'TYPE_UINT64+ = FieldDescriptorProto'TYPE_INT64+ pred FieldDescriptorProto'TYPE_INT32+ = FieldDescriptorProto'TYPE_UINT64+ pred FieldDescriptorProto'TYPE_FIXED64+ = FieldDescriptorProto'TYPE_INT32+ pred FieldDescriptorProto'TYPE_FIXED32+ = FieldDescriptorProto'TYPE_FIXED64+ pred FieldDescriptorProto'TYPE_BOOL+ = FieldDescriptorProto'TYPE_FIXED32+ pred FieldDescriptorProto'TYPE_STRING+ = FieldDescriptorProto'TYPE_BOOL+ pred FieldDescriptorProto'TYPE_GROUP+ = FieldDescriptorProto'TYPE_STRING+ pred FieldDescriptorProto'TYPE_MESSAGE+ = FieldDescriptorProto'TYPE_GROUP+ pred FieldDescriptorProto'TYPE_BYTES+ = FieldDescriptorProto'TYPE_MESSAGE+ pred FieldDescriptorProto'TYPE_UINT32+ = FieldDescriptorProto'TYPE_BYTES+ pred FieldDescriptorProto'TYPE_ENUM+ = FieldDescriptorProto'TYPE_UINT32+ pred FieldDescriptorProto'TYPE_SFIXED32+ = FieldDescriptorProto'TYPE_ENUM+ pred FieldDescriptorProto'TYPE_SFIXED64+ = FieldDescriptorProto'TYPE_SFIXED32+ pred FieldDescriptorProto'TYPE_SINT32+ = FieldDescriptorProto'TYPE_SFIXED64+ pred FieldDescriptorProto'TYPE_SINT64+ = FieldDescriptorProto'TYPE_SINT32+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Type where+ fieldDefault = FieldDescriptorProto'TYPE_DOUBLE+instance Control.DeepSeq.NFData FieldDescriptorProto'Type where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.ctype' @:: Lens' FieldOptions FieldOptions'CType@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ctype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'CType)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.packed' @:: Lens' FieldOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'packed' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.jstype' @:: Lens' FieldOptions FieldOptions'JSType@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jstype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'JSType)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.lazy' @:: Lens' FieldOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'lazy' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.unverifiedLazy' @:: Lens' FieldOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'unverifiedLazy' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FieldOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.weak' @:: Lens' FieldOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'weak' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.debugRedact' @:: Lens' FieldOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'debugRedact' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.retention' @:: Lens' FieldOptions FieldOptions'OptionRetention@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'retention' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'OptionRetention)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.targets' @:: Lens' FieldOptions [FieldOptions'OptionTargetType]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'targets' @:: Lens' FieldOptions (Data.Vector.Vector FieldOptions'OptionTargetType)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.editionDefaults' @:: Lens' FieldOptions [FieldOptions'EditionDefault]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'editionDefaults' @:: Lens' FieldOptions (Data.Vector.Vector FieldOptions'EditionDefault)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.features' @:: Lens' FieldOptions FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'features' @:: Lens' FieldOptions (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.featureSupport' @:: Lens' FieldOptions FieldOptions'FeatureSupport@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'featureSupport' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'FeatureSupport)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FieldOptions [UninterpretedOption]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' FieldOptions (Data.Vector.Vector UninterpretedOption)@ -}+data FieldOptions+ = FieldOptions'_constructor {_FieldOptions'ctype :: !(Prelude.Maybe FieldOptions'CType),+ _FieldOptions'packed :: !(Prelude.Maybe Prelude.Bool),+ _FieldOptions'jstype :: !(Prelude.Maybe FieldOptions'JSType),+ _FieldOptions'lazy :: !(Prelude.Maybe Prelude.Bool),+ _FieldOptions'unverifiedLazy :: !(Prelude.Maybe Prelude.Bool),+ _FieldOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+ _FieldOptions'weak :: !(Prelude.Maybe Prelude.Bool),+ _FieldOptions'debugRedact :: !(Prelude.Maybe Prelude.Bool),+ _FieldOptions'retention :: !(Prelude.Maybe FieldOptions'OptionRetention),+ _FieldOptions'targets :: !(Data.Vector.Vector FieldOptions'OptionTargetType),+ _FieldOptions'editionDefaults :: !(Data.Vector.Vector FieldOptions'EditionDefault),+ _FieldOptions'features :: !(Prelude.Maybe FeatureSet),+ _FieldOptions'featureSupport :: !(Prelude.Maybe FieldOptions'FeatureSupport),+ _FieldOptions'uninterpretedOption :: !(Data.Vector.Vector UninterpretedOption),+ _FieldOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FieldOptions where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FieldOptions "ctype" FieldOptions'CType where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'ctype (\ x__ y__ -> x__ {_FieldOptions'ctype = y__}))+ (Data.ProtoLens.maybeLens FieldOptions'STRING)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'ctype" (Prelude.Maybe FieldOptions'CType) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'ctype (\ x__ y__ -> x__ {_FieldOptions'ctype = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "packed" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'packed+ (\ x__ y__ -> x__ {_FieldOptions'packed = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'packed" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'packed+ (\ x__ y__ -> x__ {_FieldOptions'packed = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "jstype" FieldOptions'JSType where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'jstype+ (\ x__ y__ -> x__ {_FieldOptions'jstype = y__}))+ (Data.ProtoLens.maybeLens FieldOptions'JS_NORMAL)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'jstype" (Prelude.Maybe FieldOptions'JSType) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'jstype+ (\ x__ y__ -> x__ {_FieldOptions'jstype = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "lazy" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'lazy (\ x__ y__ -> x__ {_FieldOptions'lazy = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'lazy" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'lazy (\ x__ y__ -> x__ {_FieldOptions'lazy = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "unverifiedLazy" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'unverifiedLazy+ (\ x__ y__ -> x__ {_FieldOptions'unverifiedLazy = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'unverifiedLazy" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'unverifiedLazy+ (\ x__ y__ -> x__ {_FieldOptions'unverifiedLazy = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "deprecated" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'deprecated+ (\ x__ y__ -> x__ {_FieldOptions'deprecated = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'deprecated" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'deprecated+ (\ x__ y__ -> x__ {_FieldOptions'deprecated = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "weak" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'weak (\ x__ y__ -> x__ {_FieldOptions'weak = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'weak" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'weak (\ x__ y__ -> x__ {_FieldOptions'weak = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "debugRedact" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'debugRedact+ (\ x__ y__ -> x__ {_FieldOptions'debugRedact = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'debugRedact" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'debugRedact+ (\ x__ y__ -> x__ {_FieldOptions'debugRedact = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "retention" FieldOptions'OptionRetention where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'retention+ (\ x__ y__ -> x__ {_FieldOptions'retention = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'retention" (Prelude.Maybe FieldOptions'OptionRetention) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'retention+ (\ x__ y__ -> x__ {_FieldOptions'retention = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "targets" [FieldOptions'OptionTargetType] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'targets+ (\ x__ y__ -> x__ {_FieldOptions'targets = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FieldOptions "vec'targets" (Data.Vector.Vector FieldOptions'OptionTargetType) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'targets+ (\ x__ y__ -> x__ {_FieldOptions'targets = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "editionDefaults" [FieldOptions'EditionDefault] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'editionDefaults+ (\ x__ y__ -> x__ {_FieldOptions'editionDefaults = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FieldOptions "vec'editionDefaults" (Data.Vector.Vector FieldOptions'EditionDefault) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'editionDefaults+ (\ x__ y__ -> x__ {_FieldOptions'editionDefaults = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "features" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'features+ (\ x__ y__ -> x__ {_FieldOptions'features = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'features" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'features+ (\ x__ y__ -> x__ {_FieldOptions'features = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "featureSupport" FieldOptions'FeatureSupport where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'featureSupport+ (\ x__ y__ -> x__ {_FieldOptions'featureSupport = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'featureSupport" (Prelude.Maybe FieldOptions'FeatureSupport) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'featureSupport+ (\ x__ y__ -> x__ {_FieldOptions'featureSupport = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions "uninterpretedOption" [UninterpretedOption] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_FieldOptions'uninterpretedOption = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FieldOptions "vec'uninterpretedOption" (Data.Vector.Vector UninterpretedOption) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_FieldOptions'uninterpretedOption = y__}))+ Prelude.id+instance Data.ProtoLens.Message FieldOptions where+ messageName _ = Data.Text.pack "google.protobuf.FieldOptions"+ packedMessageDescriptor _+ = "\n\+ \\fFieldOptions\DC2A\n\+ \\ENQctype\CAN\SOH \SOH(\SO2#.google.protobuf.FieldOptions.CType:\ACKSTRINGR\ENQctype\DC2\SYN\n\+ \\ACKpacked\CAN\STX \SOH(\bR\ACKpacked\DC2G\n\+ \\ACKjstype\CAN\ACK \SOH(\SO2$.google.protobuf.FieldOptions.JSType:\tJS_NORMALR\ACKjstype\DC2\EM\n\+ \\EOTlazy\CAN\ENQ \SOH(\b:\ENQfalseR\EOTlazy\DC2.\n\+ \\SIunverified_lazy\CAN\SI \SOH(\b:\ENQfalseR\SOunverifiedLazy\DC2%\n\+ \\n\+ \deprecated\CAN\ETX \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2\EM\n\+ \\EOTweak\CAN\n\+ \ \SOH(\b:\ENQfalseR\EOTweak\DC2(\n\+ \\fdebug_redact\CAN\DLE \SOH(\b:\ENQfalseR\vdebugRedact\DC2K\n\+ \\tretention\CAN\DC1 \SOH(\SO2-.google.protobuf.FieldOptions.OptionRetentionR\tretention\DC2H\n\+ \\atargets\CAN\DC3 \ETX(\SO2..google.protobuf.FieldOptions.OptionTargetTypeR\atargets\DC2W\n\+ \\DLEedition_defaults\CAN\DC4 \ETX(\v2,.google.protobuf.FieldOptions.EditionDefaultR\SIeditionDefaults\DC27\n\+ \\bfeatures\CAN\NAK \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2U\n\+ \\SIfeature_support\CAN\SYN \SOH(\v2,.google.protobuf.FieldOptions.FeatureSupportR\SOfeatureSupport\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption\SUBZ\n\+ \\SOEditionDefault\DC22\n\+ \\aedition\CAN\ETX \SOH(\SO2\CAN.google.protobuf.EditionR\aedition\DC2\DC4\n\+ \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue\SUB\150\STX\n\+ \\SOFeatureSupport\DC2G\n\+ \\DC2edition_introduced\CAN\SOH \SOH(\SO2\CAN.google.protobuf.EditionR\DC1editionIntroduced\DC2G\n\+ \\DC2edition_deprecated\CAN\STX \SOH(\SO2\CAN.google.protobuf.EditionR\DC1editionDeprecated\DC2/\n\+ \\DC3deprecation_warning\CAN\ETX \SOH(\tR\DC2deprecationWarning\DC2A\n\+ \\SIedition_removed\CAN\EOT \SOH(\SO2\CAN.google.protobuf.EditionR\SOeditionRemoved\"/\n\+ \\ENQCType\DC2\n\+ \\n\+ \\ACKSTRING\DLE\NUL\DC2\b\n\+ \\EOTCORD\DLE\SOH\DC2\DLE\n\+ \\fSTRING_PIECE\DLE\STX\"5\n\+ \\ACKJSType\DC2\r\n\+ \\tJS_NORMAL\DLE\NUL\DC2\r\n\+ \\tJS_STRING\DLE\SOH\DC2\r\n\+ \\tJS_NUMBER\DLE\STX\"U\n\+ \\SIOptionRetention\DC2\NAK\n\+ \\DC1RETENTION_UNKNOWN\DLE\NUL\DC2\NAK\n\+ \\DC1RETENTION_RUNTIME\DLE\SOH\DC2\DC4\n\+ \\DLERETENTION_SOURCE\DLE\STX\"\140\STX\n\+ \\DLEOptionTargetType\DC2\ETB\n\+ \\DC3TARGET_TYPE_UNKNOWN\DLE\NUL\DC2\DC4\n\+ \\DLETARGET_TYPE_FILE\DLE\SOH\DC2\US\n\+ \\ESCTARGET_TYPE_EXTENSION_RANGE\DLE\STX\DC2\ETB\n\+ \\DC3TARGET_TYPE_MESSAGE\DLE\ETX\DC2\NAK\n\+ \\DC1TARGET_TYPE_FIELD\DLE\EOT\DC2\NAK\n\+ \\DC1TARGET_TYPE_ONEOF\DLE\ENQ\DC2\DC4\n\+ \\DLETARGET_TYPE_ENUM\DLE\ACK\DC2\SUB\n\+ \\SYNTARGET_TYPE_ENUM_ENTRY\DLE\a\DC2\ETB\n\+ \\DC3TARGET_TYPE_SERVICE\DLE\b\DC2\SYN\n\+ \\DC2TARGET_TYPE_METHOD\DLE\t*\t\b\232\a\DLE\128\128\128\128\STXJ\EOT\b\EOT\DLE\ENQJ\EOT\b\DC2\DLE\DC3"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ ctype__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "ctype"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FieldOptions'CType)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'ctype")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ packed__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "packed"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'packed")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ jstype__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "jstype"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FieldOptions'JSType)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'jstype")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ lazy__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "lazy"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'lazy")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ unverifiedLazy__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "unverified_lazy"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'unverifiedLazy")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ deprecated__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecated"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'deprecated")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ weak__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "weak"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'weak")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ debugRedact__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "debug_redact"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'debugRedact")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ retention__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "retention"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FieldOptions'OptionRetention)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'retention")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ targets__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "targets"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FieldOptions'OptionTargetType)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"targets")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ editionDefaults__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "edition_defaults"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FieldOptions'EditionDefault)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"editionDefaults")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ features__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'features")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ featureSupport__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "feature_support"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FieldOptions'FeatureSupport)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'featureSupport")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ uninterpretedOption__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "uninterpreted_option"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"uninterpretedOption")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, ctype__field_descriptor),+ (Data.ProtoLens.Tag 2, packed__field_descriptor),+ (Data.ProtoLens.Tag 6, jstype__field_descriptor),+ (Data.ProtoLens.Tag 5, lazy__field_descriptor),+ (Data.ProtoLens.Tag 15, unverifiedLazy__field_descriptor),+ (Data.ProtoLens.Tag 3, deprecated__field_descriptor),+ (Data.ProtoLens.Tag 10, weak__field_descriptor),+ (Data.ProtoLens.Tag 16, debugRedact__field_descriptor),+ (Data.ProtoLens.Tag 17, retention__field_descriptor),+ (Data.ProtoLens.Tag 19, targets__field_descriptor),+ (Data.ProtoLens.Tag 20, editionDefaults__field_descriptor),+ (Data.ProtoLens.Tag 21, features__field_descriptor),+ (Data.ProtoLens.Tag 22, featureSupport__field_descriptor),+ (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FieldOptions'_unknownFields+ (\ x__ y__ -> x__ {_FieldOptions'_unknownFields = y__})+ defMessage+ = FieldOptions'_constructor+ {_FieldOptions'ctype = Prelude.Nothing,+ _FieldOptions'packed = Prelude.Nothing,+ _FieldOptions'jstype = Prelude.Nothing,+ _FieldOptions'lazy = Prelude.Nothing,+ _FieldOptions'unverifiedLazy = Prelude.Nothing,+ _FieldOptions'deprecated = Prelude.Nothing,+ _FieldOptions'weak = Prelude.Nothing,+ _FieldOptions'debugRedact = Prelude.Nothing,+ _FieldOptions'retention = Prelude.Nothing,+ _FieldOptions'targets = Data.Vector.Generic.empty,+ _FieldOptions'editionDefaults = Data.Vector.Generic.empty,+ _FieldOptions'features = Prelude.Nothing,+ _FieldOptions'featureSupport = Prelude.Nothing,+ _FieldOptions'uninterpretedOption = Data.Vector.Generic.empty,+ _FieldOptions'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FieldOptions+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld FieldOptions'EditionDefault+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld FieldOptions'OptionTargetType+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption+ -> Data.ProtoLens.Encoding.Bytes.Parser FieldOptions+ loop+ x+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'editionDefaults <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'editionDefaults)+ frozen'targets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'targets)+ frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'uninterpretedOption)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'editionDefaults")+ frozen'editionDefaults+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'targets")+ frozen'targets+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption")+ frozen'uninterpretedOption+ x))))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "ctype"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"ctype") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "packed"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"packed") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 48+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "jstype"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"jstype") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 40+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "lazy"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"lazy") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 120+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "unverified_lazy"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"unverifiedLazy") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "deprecated"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"deprecated") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 80+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "weak"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"weak") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 128+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "debug_redact"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"debugRedact") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 136+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "retention"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"retention") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 152+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "targets"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'targets y)+ loop x mutable'editionDefaults v mutable'uninterpretedOption+ 154+ -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ ((let+ ploop qs+ = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd+ if packedEnd then+ Prelude.return qs+ else+ do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "targets"+ qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ qs q)+ ploop qs'+ in ploop)+ mutable'targets)+ loop x mutable'editionDefaults y mutable'uninterpretedOption+ 162+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "edition_defaults"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'editionDefaults y)+ loop x v mutable'targets mutable'uninterpretedOption+ 170+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "features"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"features") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 178+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "feature_support"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"featureSupport") y x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ 7994+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "uninterpreted_option"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'uninterpretedOption y)+ loop x mutable'editionDefaults mutable'targets v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'editionDefaults <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'targets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop+ Data.ProtoLens.defMessage+ mutable'editionDefaults+ mutable'targets+ mutable'uninterpretedOption)+ "FieldOptions"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'ctype") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'packed") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'jstype") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 48)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'lazy") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'unverifiedLazy") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 120)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'deprecated") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'weak") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 80)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'debugRedact") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 128)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'retention") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 136)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 152)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'targets") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 162)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'editionDefaults")+ _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'features")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 170)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'featureSupport")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 178)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 7994)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"vec'uninterpretedOption")+ _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view+ Data.ProtoLens.unknownFields+ _x)))))))))))))))+instance Control.DeepSeq.NFData FieldOptions where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FieldOptions'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'ctype x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'packed x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'jstype x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'lazy x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'unverifiedLazy x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'deprecated x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'weak x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'debugRedact x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'retention x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'targets x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'editionDefaults x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'features x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'featureSupport x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'uninterpretedOption x__)+ ()))))))))))))))+data FieldOptions'CType+ = FieldOptions'STRING |+ FieldOptions'CORD |+ FieldOptions'STRING_PIECE+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FieldOptions'CType where+ maybeToEnum 0 = Prelude.Just FieldOptions'STRING+ maybeToEnum 1 = Prelude.Just FieldOptions'CORD+ maybeToEnum 2 = Prelude.Just FieldOptions'STRING_PIECE+ maybeToEnum _ = Prelude.Nothing+ showEnum FieldOptions'STRING = "STRING"+ showEnum FieldOptions'CORD = "CORD"+ showEnum FieldOptions'STRING_PIECE = "STRING_PIECE"+ readEnum k+ | (Prelude.==) k "STRING" = Prelude.Just FieldOptions'STRING+ | (Prelude.==) k "CORD" = Prelude.Just FieldOptions'CORD+ | (Prelude.==) k "STRING_PIECE"+ = Prelude.Just FieldOptions'STRING_PIECE+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FieldOptions'CType where+ minBound = FieldOptions'STRING+ maxBound = FieldOptions'STRING_PIECE+instance Prelude.Enum FieldOptions'CType where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum CType: " (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FieldOptions'STRING = 0+ fromEnum FieldOptions'CORD = 1+ fromEnum FieldOptions'STRING_PIECE = 2+ succ FieldOptions'STRING_PIECE+ = Prelude.error+ "FieldOptions'CType.succ: bad argument FieldOptions'STRING_PIECE. This value would be out of bounds."+ succ FieldOptions'STRING = FieldOptions'CORD+ succ FieldOptions'CORD = FieldOptions'STRING_PIECE+ pred FieldOptions'STRING+ = Prelude.error+ "FieldOptions'CType.pred: bad argument FieldOptions'STRING. This value would be out of bounds."+ pred FieldOptions'CORD = FieldOptions'STRING+ pred FieldOptions'STRING_PIECE = FieldOptions'CORD+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FieldOptions'CType where+ fieldDefault = FieldOptions'STRING+instance Control.DeepSeq.NFData FieldOptions'CType where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.edition' @:: Lens' FieldOptions'EditionDefault Edition@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'edition' @:: Lens' FieldOptions'EditionDefault (Prelude.Maybe Edition)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.value' @:: Lens' FieldOptions'EditionDefault Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'value' @:: Lens' FieldOptions'EditionDefault (Prelude.Maybe Data.Text.Text)@ -}+data FieldOptions'EditionDefault+ = FieldOptions'EditionDefault'_constructor {_FieldOptions'EditionDefault'edition :: !(Prelude.Maybe Edition),+ _FieldOptions'EditionDefault'value :: !(Prelude.Maybe Data.Text.Text),+ _FieldOptions'EditionDefault'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FieldOptions'EditionDefault where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FieldOptions'EditionDefault "edition" Edition where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'EditionDefault'edition+ (\ x__ y__ -> x__ {_FieldOptions'EditionDefault'edition = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldOptions'EditionDefault "maybe'edition" (Prelude.Maybe Edition) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'EditionDefault'edition+ (\ x__ y__ -> x__ {_FieldOptions'EditionDefault'edition = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions'EditionDefault "value" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'EditionDefault'value+ (\ x__ y__ -> x__ {_FieldOptions'EditionDefault'value = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldOptions'EditionDefault "maybe'value" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'EditionDefault'value+ (\ x__ y__ -> x__ {_FieldOptions'EditionDefault'value = y__}))+ Prelude.id+instance Data.ProtoLens.Message FieldOptions'EditionDefault where+ messageName _+ = Data.Text.pack "google.protobuf.FieldOptions.EditionDefault"+ packedMessageDescriptor _+ = "\n\+ \\SOEditionDefault\DC22\n\+ \\aedition\CAN\ETX \SOH(\SO2\CAN.google.protobuf.EditionR\aedition\DC2\DC4\n\+ \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ edition__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "edition"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor Edition)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'edition")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions'EditionDefault+ value__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "value"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'value")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions'EditionDefault+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 3, edition__field_descriptor),+ (Data.ProtoLens.Tag 2, value__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FieldOptions'EditionDefault'_unknownFields+ (\ x__ y__+ -> x__ {_FieldOptions'EditionDefault'_unknownFields = y__})+ defMessage+ = FieldOptions'EditionDefault'_constructor+ {_FieldOptions'EditionDefault'edition = Prelude.Nothing,+ _FieldOptions'EditionDefault'value = Prelude.Nothing,+ _FieldOptions'EditionDefault'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FieldOptions'EditionDefault+ -> Data.ProtoLens.Encoding.Bytes.Parser FieldOptions'EditionDefault+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "edition"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"edition") y x)+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "value"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "EditionDefault"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'edition") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))+instance Control.DeepSeq.NFData FieldOptions'EditionDefault where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FieldOptions'EditionDefault'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'EditionDefault'edition x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'EditionDefault'value x__) ()))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.editionIntroduced' @:: Lens' FieldOptions'FeatureSupport Edition@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'editionIntroduced' @:: Lens' FieldOptions'FeatureSupport (Prelude.Maybe Edition)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.editionDeprecated' @:: Lens' FieldOptions'FeatureSupport Edition@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'editionDeprecated' @:: Lens' FieldOptions'FeatureSupport (Prelude.Maybe Edition)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.deprecationWarning' @:: Lens' FieldOptions'FeatureSupport Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecationWarning' @:: Lens' FieldOptions'FeatureSupport (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.editionRemoved' @:: Lens' FieldOptions'FeatureSupport Edition@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'editionRemoved' @:: Lens' FieldOptions'FeatureSupport (Prelude.Maybe Edition)@ -}+data FieldOptions'FeatureSupport+ = FieldOptions'FeatureSupport'_constructor {_FieldOptions'FeatureSupport'editionIntroduced :: !(Prelude.Maybe Edition),+ _FieldOptions'FeatureSupport'editionDeprecated :: !(Prelude.Maybe Edition),+ _FieldOptions'FeatureSupport'deprecationWarning :: !(Prelude.Maybe Data.Text.Text),+ _FieldOptions'FeatureSupport'editionRemoved :: !(Prelude.Maybe Edition),+ _FieldOptions'FeatureSupport'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FieldOptions'FeatureSupport where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FieldOptions'FeatureSupport "editionIntroduced" Edition where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'FeatureSupport'editionIntroduced+ (\ x__ y__+ -> x__ {_FieldOptions'FeatureSupport'editionIntroduced = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldOptions'FeatureSupport "maybe'editionIntroduced" (Prelude.Maybe Edition) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'FeatureSupport'editionIntroduced+ (\ x__ y__+ -> x__ {_FieldOptions'FeatureSupport'editionIntroduced = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions'FeatureSupport "editionDeprecated" Edition where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'FeatureSupport'editionDeprecated+ (\ x__ y__+ -> x__ {_FieldOptions'FeatureSupport'editionDeprecated = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldOptions'FeatureSupport "maybe'editionDeprecated" (Prelude.Maybe Edition) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'FeatureSupport'editionDeprecated+ (\ x__ y__+ -> x__ {_FieldOptions'FeatureSupport'editionDeprecated = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions'FeatureSupport "deprecationWarning" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'FeatureSupport'deprecationWarning+ (\ x__ y__+ -> x__ {_FieldOptions'FeatureSupport'deprecationWarning = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldOptions'FeatureSupport "maybe'deprecationWarning" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'FeatureSupport'deprecationWarning+ (\ x__ y__+ -> x__ {_FieldOptions'FeatureSupport'deprecationWarning = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FieldOptions'FeatureSupport "editionRemoved" Edition where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'FeatureSupport'editionRemoved+ (\ x__ y__+ -> x__ {_FieldOptions'FeatureSupport'editionRemoved = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FieldOptions'FeatureSupport "maybe'editionRemoved" (Prelude.Maybe Edition) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FieldOptions'FeatureSupport'editionRemoved+ (\ x__ y__+ -> x__ {_FieldOptions'FeatureSupport'editionRemoved = y__}))+ Prelude.id+instance Data.ProtoLens.Message FieldOptions'FeatureSupport where+ messageName _+ = Data.Text.pack "google.protobuf.FieldOptions.FeatureSupport"+ packedMessageDescriptor _+ = "\n\+ \\SOFeatureSupport\DC2G\n\+ \\DC2edition_introduced\CAN\SOH \SOH(\SO2\CAN.google.protobuf.EditionR\DC1editionIntroduced\DC2G\n\+ \\DC2edition_deprecated\CAN\STX \SOH(\SO2\CAN.google.protobuf.EditionR\DC1editionDeprecated\DC2/\n\+ \\DC3deprecation_warning\CAN\ETX \SOH(\tR\DC2deprecationWarning\DC2A\n\+ \\SIedition_removed\CAN\EOT \SOH(\SO2\CAN.google.protobuf.EditionR\SOeditionRemoved"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ editionIntroduced__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "edition_introduced"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor Edition)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'editionIntroduced")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions'FeatureSupport+ editionDeprecated__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "edition_deprecated"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor Edition)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'editionDeprecated")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions'FeatureSupport+ deprecationWarning__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecation_warning"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'deprecationWarning")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions'FeatureSupport+ editionRemoved__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "edition_removed"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor Edition)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'editionRemoved")) ::+ Data.ProtoLens.FieldDescriptor FieldOptions'FeatureSupport+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, editionIntroduced__field_descriptor),+ (Data.ProtoLens.Tag 2, editionDeprecated__field_descriptor),+ (Data.ProtoLens.Tag 3, deprecationWarning__field_descriptor),+ (Data.ProtoLens.Tag 4, editionRemoved__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FieldOptions'FeatureSupport'_unknownFields+ (\ x__ y__+ -> x__ {_FieldOptions'FeatureSupport'_unknownFields = y__})+ defMessage+ = FieldOptions'FeatureSupport'_constructor+ {_FieldOptions'FeatureSupport'editionIntroduced = Prelude.Nothing,+ _FieldOptions'FeatureSupport'editionDeprecated = Prelude.Nothing,+ _FieldOptions'FeatureSupport'deprecationWarning = Prelude.Nothing,+ _FieldOptions'FeatureSupport'editionRemoved = Prelude.Nothing,+ _FieldOptions'FeatureSupport'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FieldOptions'FeatureSupport+ -> Data.ProtoLens.Encoding.Bytes.Parser FieldOptions'FeatureSupport+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "edition_introduced"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"editionIntroduced") y x)+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "edition_deprecated"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"editionDeprecated") y x)+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "deprecation_warning"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"deprecationWarning") y x)+ 32+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "edition_removed"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"editionRemoved") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "FeatureSupport"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'editionIntroduced") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'editionDeprecated") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'deprecationWarning") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'editionRemoved") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))+instance Control.DeepSeq.NFData FieldOptions'FeatureSupport where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FieldOptions'FeatureSupport'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'FeatureSupport'editionIntroduced x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'FeatureSupport'editionDeprecated x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'FeatureSupport'deprecationWarning x__)+ (Control.DeepSeq.deepseq+ (_FieldOptions'FeatureSupport'editionRemoved x__) ()))))+data FieldOptions'JSType+ = FieldOptions'JS_NORMAL |+ FieldOptions'JS_STRING |+ FieldOptions'JS_NUMBER+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FieldOptions'JSType where+ maybeToEnum 0 = Prelude.Just FieldOptions'JS_NORMAL+ maybeToEnum 1 = Prelude.Just FieldOptions'JS_STRING+ maybeToEnum 2 = Prelude.Just FieldOptions'JS_NUMBER+ maybeToEnum _ = Prelude.Nothing+ showEnum FieldOptions'JS_NORMAL = "JS_NORMAL"+ showEnum FieldOptions'JS_STRING = "JS_STRING"+ showEnum FieldOptions'JS_NUMBER = "JS_NUMBER"+ readEnum k+ | (Prelude.==) k "JS_NORMAL" = Prelude.Just FieldOptions'JS_NORMAL+ | (Prelude.==) k "JS_STRING" = Prelude.Just FieldOptions'JS_STRING+ | (Prelude.==) k "JS_NUMBER" = Prelude.Just FieldOptions'JS_NUMBER+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FieldOptions'JSType where+ minBound = FieldOptions'JS_NORMAL+ maxBound = FieldOptions'JS_NUMBER+instance Prelude.Enum FieldOptions'JSType where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum JSType: " (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FieldOptions'JS_NORMAL = 0+ fromEnum FieldOptions'JS_STRING = 1+ fromEnum FieldOptions'JS_NUMBER = 2+ succ FieldOptions'JS_NUMBER+ = Prelude.error+ "FieldOptions'JSType.succ: bad argument FieldOptions'JS_NUMBER. This value would be out of bounds."+ succ FieldOptions'JS_NORMAL = FieldOptions'JS_STRING+ succ FieldOptions'JS_STRING = FieldOptions'JS_NUMBER+ pred FieldOptions'JS_NORMAL+ = Prelude.error+ "FieldOptions'JSType.pred: bad argument FieldOptions'JS_NORMAL. This value would be out of bounds."+ pred FieldOptions'JS_STRING = FieldOptions'JS_NORMAL+ pred FieldOptions'JS_NUMBER = FieldOptions'JS_STRING+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FieldOptions'JSType where+ fieldDefault = FieldOptions'JS_NORMAL+instance Control.DeepSeq.NFData FieldOptions'JSType where+ rnf x__ = Prelude.seq x__ ()+data FieldOptions'OptionRetention+ = FieldOptions'RETENTION_UNKNOWN |+ FieldOptions'RETENTION_RUNTIME |+ FieldOptions'RETENTION_SOURCE+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FieldOptions'OptionRetention where+ maybeToEnum 0 = Prelude.Just FieldOptions'RETENTION_UNKNOWN+ maybeToEnum 1 = Prelude.Just FieldOptions'RETENTION_RUNTIME+ maybeToEnum 2 = Prelude.Just FieldOptions'RETENTION_SOURCE+ maybeToEnum _ = Prelude.Nothing+ showEnum FieldOptions'RETENTION_UNKNOWN = "RETENTION_UNKNOWN"+ showEnum FieldOptions'RETENTION_RUNTIME = "RETENTION_RUNTIME"+ showEnum FieldOptions'RETENTION_SOURCE = "RETENTION_SOURCE"+ readEnum k+ | (Prelude.==) k "RETENTION_UNKNOWN"+ = Prelude.Just FieldOptions'RETENTION_UNKNOWN+ | (Prelude.==) k "RETENTION_RUNTIME"+ = Prelude.Just FieldOptions'RETENTION_RUNTIME+ | (Prelude.==) k "RETENTION_SOURCE"+ = Prelude.Just FieldOptions'RETENTION_SOURCE+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FieldOptions'OptionRetention where+ minBound = FieldOptions'RETENTION_UNKNOWN+ maxBound = FieldOptions'RETENTION_SOURCE+instance Prelude.Enum FieldOptions'OptionRetention where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum OptionRetention: "+ (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FieldOptions'RETENTION_UNKNOWN = 0+ fromEnum FieldOptions'RETENTION_RUNTIME = 1+ fromEnum FieldOptions'RETENTION_SOURCE = 2+ succ FieldOptions'RETENTION_SOURCE+ = Prelude.error+ "FieldOptions'OptionRetention.succ: bad argument FieldOptions'RETENTION_SOURCE. This value would be out of bounds."+ succ FieldOptions'RETENTION_UNKNOWN+ = FieldOptions'RETENTION_RUNTIME+ succ FieldOptions'RETENTION_RUNTIME = FieldOptions'RETENTION_SOURCE+ pred FieldOptions'RETENTION_UNKNOWN+ = Prelude.error+ "FieldOptions'OptionRetention.pred: bad argument FieldOptions'RETENTION_UNKNOWN. This value would be out of bounds."+ pred FieldOptions'RETENTION_RUNTIME+ = FieldOptions'RETENTION_UNKNOWN+ pred FieldOptions'RETENTION_SOURCE = FieldOptions'RETENTION_RUNTIME+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FieldOptions'OptionRetention where+ fieldDefault = FieldOptions'RETENTION_UNKNOWN+instance Control.DeepSeq.NFData FieldOptions'OptionRetention where+ rnf x__ = Prelude.seq x__ ()+data FieldOptions'OptionTargetType+ = FieldOptions'TARGET_TYPE_UNKNOWN |+ FieldOptions'TARGET_TYPE_FILE |+ FieldOptions'TARGET_TYPE_EXTENSION_RANGE |+ FieldOptions'TARGET_TYPE_MESSAGE |+ FieldOptions'TARGET_TYPE_FIELD |+ FieldOptions'TARGET_TYPE_ONEOF |+ FieldOptions'TARGET_TYPE_ENUM |+ FieldOptions'TARGET_TYPE_ENUM_ENTRY |+ FieldOptions'TARGET_TYPE_SERVICE |+ FieldOptions'TARGET_TYPE_METHOD+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FieldOptions'OptionTargetType where+ maybeToEnum 0 = Prelude.Just FieldOptions'TARGET_TYPE_UNKNOWN+ maybeToEnum 1 = Prelude.Just FieldOptions'TARGET_TYPE_FILE+ maybeToEnum 2+ = Prelude.Just FieldOptions'TARGET_TYPE_EXTENSION_RANGE+ maybeToEnum 3 = Prelude.Just FieldOptions'TARGET_TYPE_MESSAGE+ maybeToEnum 4 = Prelude.Just FieldOptions'TARGET_TYPE_FIELD+ maybeToEnum 5 = Prelude.Just FieldOptions'TARGET_TYPE_ONEOF+ maybeToEnum 6 = Prelude.Just FieldOptions'TARGET_TYPE_ENUM+ maybeToEnum 7 = Prelude.Just FieldOptions'TARGET_TYPE_ENUM_ENTRY+ maybeToEnum 8 = Prelude.Just FieldOptions'TARGET_TYPE_SERVICE+ maybeToEnum 9 = Prelude.Just FieldOptions'TARGET_TYPE_METHOD+ maybeToEnum _ = Prelude.Nothing+ showEnum FieldOptions'TARGET_TYPE_UNKNOWN = "TARGET_TYPE_UNKNOWN"+ showEnum FieldOptions'TARGET_TYPE_FILE = "TARGET_TYPE_FILE"+ showEnum FieldOptions'TARGET_TYPE_EXTENSION_RANGE+ = "TARGET_TYPE_EXTENSION_RANGE"+ showEnum FieldOptions'TARGET_TYPE_MESSAGE = "TARGET_TYPE_MESSAGE"+ showEnum FieldOptions'TARGET_TYPE_FIELD = "TARGET_TYPE_FIELD"+ showEnum FieldOptions'TARGET_TYPE_ONEOF = "TARGET_TYPE_ONEOF"+ showEnum FieldOptions'TARGET_TYPE_ENUM = "TARGET_TYPE_ENUM"+ showEnum FieldOptions'TARGET_TYPE_ENUM_ENTRY+ = "TARGET_TYPE_ENUM_ENTRY"+ showEnum FieldOptions'TARGET_TYPE_SERVICE = "TARGET_TYPE_SERVICE"+ showEnum FieldOptions'TARGET_TYPE_METHOD = "TARGET_TYPE_METHOD"+ readEnum k+ | (Prelude.==) k "TARGET_TYPE_UNKNOWN"+ = Prelude.Just FieldOptions'TARGET_TYPE_UNKNOWN+ | (Prelude.==) k "TARGET_TYPE_FILE"+ = Prelude.Just FieldOptions'TARGET_TYPE_FILE+ | (Prelude.==) k "TARGET_TYPE_EXTENSION_RANGE"+ = Prelude.Just FieldOptions'TARGET_TYPE_EXTENSION_RANGE+ | (Prelude.==) k "TARGET_TYPE_MESSAGE"+ = Prelude.Just FieldOptions'TARGET_TYPE_MESSAGE+ | (Prelude.==) k "TARGET_TYPE_FIELD"+ = Prelude.Just FieldOptions'TARGET_TYPE_FIELD+ | (Prelude.==) k "TARGET_TYPE_ONEOF"+ = Prelude.Just FieldOptions'TARGET_TYPE_ONEOF+ | (Prelude.==) k "TARGET_TYPE_ENUM"+ = Prelude.Just FieldOptions'TARGET_TYPE_ENUM+ | (Prelude.==) k "TARGET_TYPE_ENUM_ENTRY"+ = Prelude.Just FieldOptions'TARGET_TYPE_ENUM_ENTRY+ | (Prelude.==) k "TARGET_TYPE_SERVICE"+ = Prelude.Just FieldOptions'TARGET_TYPE_SERVICE+ | (Prelude.==) k "TARGET_TYPE_METHOD"+ = Prelude.Just FieldOptions'TARGET_TYPE_METHOD+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FieldOptions'OptionTargetType where+ minBound = FieldOptions'TARGET_TYPE_UNKNOWN+ maxBound = FieldOptions'TARGET_TYPE_METHOD+instance Prelude.Enum FieldOptions'OptionTargetType where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum OptionTargetType: "+ (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FieldOptions'TARGET_TYPE_UNKNOWN = 0+ fromEnum FieldOptions'TARGET_TYPE_FILE = 1+ fromEnum FieldOptions'TARGET_TYPE_EXTENSION_RANGE = 2+ fromEnum FieldOptions'TARGET_TYPE_MESSAGE = 3+ fromEnum FieldOptions'TARGET_TYPE_FIELD = 4+ fromEnum FieldOptions'TARGET_TYPE_ONEOF = 5+ fromEnum FieldOptions'TARGET_TYPE_ENUM = 6+ fromEnum FieldOptions'TARGET_TYPE_ENUM_ENTRY = 7+ fromEnum FieldOptions'TARGET_TYPE_SERVICE = 8+ fromEnum FieldOptions'TARGET_TYPE_METHOD = 9+ succ FieldOptions'TARGET_TYPE_METHOD+ = Prelude.error+ "FieldOptions'OptionTargetType.succ: bad argument FieldOptions'TARGET_TYPE_METHOD. This value would be out of bounds."+ succ FieldOptions'TARGET_TYPE_UNKNOWN+ = FieldOptions'TARGET_TYPE_FILE+ succ FieldOptions'TARGET_TYPE_FILE+ = FieldOptions'TARGET_TYPE_EXTENSION_RANGE+ succ FieldOptions'TARGET_TYPE_EXTENSION_RANGE+ = FieldOptions'TARGET_TYPE_MESSAGE+ succ FieldOptions'TARGET_TYPE_MESSAGE+ = FieldOptions'TARGET_TYPE_FIELD+ succ FieldOptions'TARGET_TYPE_FIELD+ = FieldOptions'TARGET_TYPE_ONEOF+ succ FieldOptions'TARGET_TYPE_ONEOF = FieldOptions'TARGET_TYPE_ENUM+ succ FieldOptions'TARGET_TYPE_ENUM+ = FieldOptions'TARGET_TYPE_ENUM_ENTRY+ succ FieldOptions'TARGET_TYPE_ENUM_ENTRY+ = FieldOptions'TARGET_TYPE_SERVICE+ succ FieldOptions'TARGET_TYPE_SERVICE+ = FieldOptions'TARGET_TYPE_METHOD+ pred FieldOptions'TARGET_TYPE_UNKNOWN+ = Prelude.error+ "FieldOptions'OptionTargetType.pred: bad argument FieldOptions'TARGET_TYPE_UNKNOWN. This value would be out of bounds."+ pred FieldOptions'TARGET_TYPE_FILE+ = FieldOptions'TARGET_TYPE_UNKNOWN+ pred FieldOptions'TARGET_TYPE_EXTENSION_RANGE+ = FieldOptions'TARGET_TYPE_FILE+ pred FieldOptions'TARGET_TYPE_MESSAGE+ = FieldOptions'TARGET_TYPE_EXTENSION_RANGE+ pred FieldOptions'TARGET_TYPE_FIELD+ = FieldOptions'TARGET_TYPE_MESSAGE+ pred FieldOptions'TARGET_TYPE_ONEOF+ = FieldOptions'TARGET_TYPE_FIELD+ pred FieldOptions'TARGET_TYPE_ENUM = FieldOptions'TARGET_TYPE_ONEOF+ pred FieldOptions'TARGET_TYPE_ENUM_ENTRY+ = FieldOptions'TARGET_TYPE_ENUM+ pred FieldOptions'TARGET_TYPE_SERVICE+ = FieldOptions'TARGET_TYPE_ENUM_ENTRY+ pred FieldOptions'TARGET_TYPE_METHOD+ = FieldOptions'TARGET_TYPE_SERVICE+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FieldOptions'OptionTargetType where+ fieldDefault = FieldOptions'TARGET_TYPE_UNKNOWN+instance Control.DeepSeq.NFData FieldOptions'OptionTargetType where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FileDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.package' @:: Lens' FileDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'package' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.dependency' @:: Lens' FileDescriptorProto [Data.Text.Text]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'dependency' @:: Lens' FileDescriptorProto (Data.Vector.Vector Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.publicDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'publicDependency' @:: Lens' FileDescriptorProto (Data.Vector.Unboxed.Vector Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.weakDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'weakDependency' @:: Lens' FileDescriptorProto (Data.Vector.Unboxed.Vector Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.messageType' @:: Lens' FileDescriptorProto [DescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'messageType' @:: Lens' FileDescriptorProto (Data.Vector.Vector DescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' FileDescriptorProto [EnumDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'enumType' @:: Lens' FileDescriptorProto (Data.Vector.Vector EnumDescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.service' @:: Lens' FileDescriptorProto [ServiceDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'service' @:: Lens' FileDescriptorProto (Data.Vector.Vector ServiceDescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' FileDescriptorProto [FieldDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'extension' @:: Lens' FileDescriptorProto (Data.Vector.Vector FieldDescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FileDescriptorProto FileOptions@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FileDescriptorProto (Prelude.Maybe FileOptions)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.sourceCodeInfo' @:: Lens' FileDescriptorProto SourceCodeInfo@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceCodeInfo' @:: Lens' FileDescriptorProto (Prelude.Maybe SourceCodeInfo)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.syntax' @:: Lens' FileDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'syntax' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.edition' @:: Lens' FileDescriptorProto Edition@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'edition' @:: Lens' FileDescriptorProto (Prelude.Maybe Edition)@ -}+data FileDescriptorProto+ = FileDescriptorProto'_constructor {_FileDescriptorProto'name :: !(Prelude.Maybe Data.Text.Text),+ _FileDescriptorProto'package :: !(Prelude.Maybe Data.Text.Text),+ _FileDescriptorProto'dependency :: !(Data.Vector.Vector Data.Text.Text),+ _FileDescriptorProto'publicDependency :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),+ _FileDescriptorProto'weakDependency :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),+ _FileDescriptorProto'messageType :: !(Data.Vector.Vector DescriptorProto),+ _FileDescriptorProto'enumType :: !(Data.Vector.Vector EnumDescriptorProto),+ _FileDescriptorProto'service :: !(Data.Vector.Vector ServiceDescriptorProto),+ _FileDescriptorProto'extension :: !(Data.Vector.Vector FieldDescriptorProto),+ _FileDescriptorProto'options :: !(Prelude.Maybe FileOptions),+ _FileDescriptorProto'sourceCodeInfo :: !(Prelude.Maybe SourceCodeInfo),+ _FileDescriptorProto'syntax :: !(Prelude.Maybe Data.Text.Text),+ _FileDescriptorProto'edition :: !(Prelude.Maybe Edition),+ _FileDescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FileDescriptorProto where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FileDescriptorProto "name" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'name+ (\ x__ y__ -> x__ {_FileDescriptorProto'name = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileDescriptorProto "maybe'name" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'name+ (\ x__ y__ -> x__ {_FileDescriptorProto'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "package" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'package+ (\ x__ y__ -> x__ {_FileDescriptorProto'package = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileDescriptorProto "maybe'package" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'package+ (\ x__ y__ -> x__ {_FileDescriptorProto'package = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "dependency" [Data.Text.Text] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'dependency+ (\ x__ y__ -> x__ {_FileDescriptorProto'dependency = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FileDescriptorProto "vec'dependency" (Data.Vector.Vector Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'dependency+ (\ x__ y__ -> x__ {_FileDescriptorProto'dependency = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "publicDependency" [Data.Int.Int32] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'publicDependency+ (\ x__ y__ -> x__ {_FileDescriptorProto'publicDependency = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FileDescriptorProto "vec'publicDependency" (Data.Vector.Unboxed.Vector Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'publicDependency+ (\ x__ y__ -> x__ {_FileDescriptorProto'publicDependency = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "weakDependency" [Data.Int.Int32] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'weakDependency+ (\ x__ y__ -> x__ {_FileDescriptorProto'weakDependency = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FileDescriptorProto "vec'weakDependency" (Data.Vector.Unboxed.Vector Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'weakDependency+ (\ x__ y__ -> x__ {_FileDescriptorProto'weakDependency = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "messageType" [DescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'messageType+ (\ x__ y__ -> x__ {_FileDescriptorProto'messageType = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FileDescriptorProto "vec'messageType" (Data.Vector.Vector DescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'messageType+ (\ x__ y__ -> x__ {_FileDescriptorProto'messageType = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "enumType" [EnumDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'enumType+ (\ x__ y__ -> x__ {_FileDescriptorProto'enumType = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FileDescriptorProto "vec'enumType" (Data.Vector.Vector EnumDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'enumType+ (\ x__ y__ -> x__ {_FileDescriptorProto'enumType = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "service" [ServiceDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'service+ (\ x__ y__ -> x__ {_FileDescriptorProto'service = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FileDescriptorProto "vec'service" (Data.Vector.Vector ServiceDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'service+ (\ x__ y__ -> x__ {_FileDescriptorProto'service = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "extension" [FieldDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'extension+ (\ x__ y__ -> x__ {_FileDescriptorProto'extension = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FileDescriptorProto "vec'extension" (Data.Vector.Vector FieldDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'extension+ (\ x__ y__ -> x__ {_FileDescriptorProto'extension = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "options" FileOptions where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'options+ (\ x__ y__ -> x__ {_FileDescriptorProto'options = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField FileDescriptorProto "maybe'options" (Prelude.Maybe FileOptions) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'options+ (\ x__ y__ -> x__ {_FileDescriptorProto'options = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "sourceCodeInfo" SourceCodeInfo where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'sourceCodeInfo+ (\ x__ y__ -> x__ {_FileDescriptorProto'sourceCodeInfo = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField FileDescriptorProto "maybe'sourceCodeInfo" (Prelude.Maybe SourceCodeInfo) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'sourceCodeInfo+ (\ x__ y__ -> x__ {_FileDescriptorProto'sourceCodeInfo = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "syntax" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'syntax+ (\ x__ y__ -> x__ {_FileDescriptorProto'syntax = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileDescriptorProto "maybe'syntax" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'syntax+ (\ x__ y__ -> x__ {_FileDescriptorProto'syntax = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileDescriptorProto "edition" Edition where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'edition+ (\ x__ y__ -> x__ {_FileDescriptorProto'edition = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileDescriptorProto "maybe'edition" (Prelude.Maybe Edition) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorProto'edition+ (\ x__ y__ -> x__ {_FileDescriptorProto'edition = y__}))+ Prelude.id+instance Data.ProtoLens.Message FileDescriptorProto where+ messageName _+ = Data.Text.pack "google.protobuf.FileDescriptorProto"+ packedMessageDescriptor _+ = "\n\+ \\DC3FileDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\CAN\n\+ \\apackage\CAN\STX \SOH(\tR\apackage\DC2\RS\n\+ \\n\+ \dependency\CAN\ETX \ETX(\tR\n\+ \dependency\DC2+\n\+ \\DC1public_dependency\CAN\n\+ \ \ETX(\ENQR\DLEpublicDependency\DC2'\n\+ \\SIweak_dependency\CAN\v \ETX(\ENQR\SOweakDependency\DC2C\n\+ \\fmessage_type\CAN\EOT \ETX(\v2 .google.protobuf.DescriptorProtoR\vmessageType\DC2A\n\+ \\tenum_type\CAN\ENQ \ETX(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\DC2A\n\+ \\aservice\CAN\ACK \ETX(\v2'.google.protobuf.ServiceDescriptorProtoR\aservice\DC2C\n\+ \\textension\CAN\a \ETX(\v2%.google.protobuf.FieldDescriptorProtoR\textension\DC26\n\+ \\aoptions\CAN\b \SOH(\v2\FS.google.protobuf.FileOptionsR\aoptions\DC2I\n\+ \\DLEsource_code_info\CAN\t \SOH(\v2\US.google.protobuf.SourceCodeInfoR\SOsourceCodeInfo\DC2\SYN\n\+ \\ACKsyntax\CAN\f \SOH(\tR\ACKsyntax\DC22\n\+ \\aedition\CAN\SO \SOH(\SO2\CAN.google.protobuf.EditionR\aedition"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'name")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ package__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "package"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'package")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ dependency__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "dependency"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"dependency")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ publicDependency__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "public_dependency"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"publicDependency")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ weakDependency__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "weak_dependency"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"weakDependency")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ messageType__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "message_type"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor DescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"messageType")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ enumType__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "enum_type"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"enumType")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ service__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "service"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor ServiceDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"service")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ extension__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "extension"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"extension")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ options__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "options"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FileOptions)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'options")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ sourceCodeInfo__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "source_code_info"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'sourceCodeInfo")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ syntax__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "syntax"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'syntax")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ edition__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "edition"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor Edition)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'edition")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorProto+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, name__field_descriptor),+ (Data.ProtoLens.Tag 2, package__field_descriptor),+ (Data.ProtoLens.Tag 3, dependency__field_descriptor),+ (Data.ProtoLens.Tag 10, publicDependency__field_descriptor),+ (Data.ProtoLens.Tag 11, weakDependency__field_descriptor),+ (Data.ProtoLens.Tag 4, messageType__field_descriptor),+ (Data.ProtoLens.Tag 5, enumType__field_descriptor),+ (Data.ProtoLens.Tag 6, service__field_descriptor),+ (Data.ProtoLens.Tag 7, extension__field_descriptor),+ (Data.ProtoLens.Tag 8, options__field_descriptor),+ (Data.ProtoLens.Tag 9, sourceCodeInfo__field_descriptor),+ (Data.ProtoLens.Tag 12, syntax__field_descriptor),+ (Data.ProtoLens.Tag 14, edition__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FileDescriptorProto'_unknownFields+ (\ x__ y__ -> x__ {_FileDescriptorProto'_unknownFields = y__})+ defMessage+ = FileDescriptorProto'_constructor+ {_FileDescriptorProto'name = Prelude.Nothing,+ _FileDescriptorProto'package = Prelude.Nothing,+ _FileDescriptorProto'dependency = Data.Vector.Generic.empty,+ _FileDescriptorProto'publicDependency = Data.Vector.Generic.empty,+ _FileDescriptorProto'weakDependency = Data.Vector.Generic.empty,+ _FileDescriptorProto'messageType = Data.Vector.Generic.empty,+ _FileDescriptorProto'enumType = Data.Vector.Generic.empty,+ _FileDescriptorProto'service = Data.Vector.Generic.empty,+ _FileDescriptorProto'extension = Data.Vector.Generic.empty,+ _FileDescriptorProto'options = Prelude.Nothing,+ _FileDescriptorProto'sourceCodeInfo = Prelude.Nothing,+ _FileDescriptorProto'syntax = Prelude.Nothing,+ _FileDescriptorProto'edition = Prelude.Nothing,+ _FileDescriptorProto'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FileDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EnumDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld FieldDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld DescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ServiceDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32+ -> Data.ProtoLens.Encoding.Bytes.Parser FileDescriptorProto+ loop+ x+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'dependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'dependency)+ frozen'enumType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'enumType)+ frozen'extension <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'extension)+ frozen'messageType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'messageType)+ frozen'publicDependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'publicDependency)+ frozen'service <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'service)+ frozen'weakDependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'weakDependency)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'dependency")+ frozen'dependency+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'enumType")+ frozen'enumType+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'extension")+ frozen'extension+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'messageType")+ frozen'messageType+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'publicDependency")+ frozen'publicDependency+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'service")+ frozen'service+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'weakDependency")+ frozen'weakDependency+ x))))))))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "package"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"package") y x)+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ 26+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "dependency"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'dependency y)+ loop+ x+ v+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ 80+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "public_dependency"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'publicDependency y)+ loop+ x+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ v+ mutable'service+ mutable'weakDependency+ 82+ -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ ((let+ ploop qs+ = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd+ if packedEnd then+ Prelude.return qs+ else+ do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "public_dependency"+ qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ qs q)+ ploop qs'+ in ploop)+ mutable'publicDependency)+ loop+ x+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ y+ mutable'service+ mutable'weakDependency+ 88+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "weak_dependency"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'weakDependency y)+ loop+ x+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ v+ 90+ -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ ((let+ ploop qs+ = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd+ if packedEnd then+ Prelude.return qs+ else+ do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "weak_dependency"+ qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ qs q)+ ploop qs'+ in ploop)+ mutable'weakDependency)+ loop+ x+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ y+ 34+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "message_type"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'messageType y)+ loop+ x+ mutable'dependency+ mutable'enumType+ mutable'extension+ v+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ 42+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "enum_type"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'enumType y)+ loop+ x+ mutable'dependency+ v+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ 50+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "service"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'service y)+ loop+ x+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ v+ mutable'weakDependency+ 58+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "extension"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'extension y)+ loop+ x+ mutable'dependency+ mutable'enumType+ v+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ 66+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "options"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"options") y x)+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ 74+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "source_code_info"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"sourceCodeInfo") y x)+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ 98+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "syntax"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"syntax") y x)+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ 112+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "edition"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"edition") y x)+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'dependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'enumType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'extension <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'messageType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'publicDependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'service <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'weakDependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop+ Data.ProtoLens.defMessage+ mutable'dependency+ mutable'enumType+ mutable'extension+ mutable'messageType+ mutable'publicDependency+ mutable'service+ mutable'weakDependency)+ "FileDescriptorProto"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'package") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'dependency") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 80)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'publicDependency") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 88)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'weakDependency") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'messageType") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 42)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'enumType") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 50)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'service") _x))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 58)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'extension") _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'options") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 66)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'sourceCodeInfo")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 74)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'syntax") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 98)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'edition")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 112)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view+ Data.ProtoLens.unknownFields _x))))))))))))))+instance Control.DeepSeq.NFData FileDescriptorProto where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FileDescriptorProto'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'name x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'package x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'dependency x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'publicDependency x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'weakDependency x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'messageType x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'enumType x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'service x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'extension x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'options x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'sourceCodeInfo x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'syntax x__)+ (Control.DeepSeq.deepseq+ (_FileDescriptorProto'edition x__)+ ())))))))))))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.file' @:: Lens' FileDescriptorSet [FileDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'file' @:: Lens' FileDescriptorSet (Data.Vector.Vector FileDescriptorProto)@ -}+data FileDescriptorSet+ = FileDescriptorSet'_constructor {_FileDescriptorSet'file :: !(Data.Vector.Vector FileDescriptorProto),+ _FileDescriptorSet'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FileDescriptorSet where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FileDescriptorSet "file" [FileDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorSet'file+ (\ x__ y__ -> x__ {_FileDescriptorSet'file = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FileDescriptorSet "vec'file" (Data.Vector.Vector FileDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileDescriptorSet'file+ (\ x__ y__ -> x__ {_FileDescriptorSet'file = y__}))+ Prelude.id+instance Data.ProtoLens.Message FileDescriptorSet where+ messageName _ = Data.Text.pack "google.protobuf.FileDescriptorSet"+ packedMessageDescriptor _+ = "\n\+ \\DC1FileDescriptorSet\DC28\n\+ \\EOTfile\CAN\SOH \ETX(\v2$.google.protobuf.FileDescriptorProtoR\EOTfile"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ file__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "file"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FileDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"file")) ::+ Data.ProtoLens.FieldDescriptor FileDescriptorSet+ in+ Data.Map.fromList [(Data.ProtoLens.Tag 1, file__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FileDescriptorSet'_unknownFields+ (\ x__ y__ -> x__ {_FileDescriptorSet'_unknownFields = y__})+ defMessage+ = FileDescriptorSet'_constructor+ {_FileDescriptorSet'file = Data.Vector.Generic.empty,+ _FileDescriptorSet'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FileDescriptorSet+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld FileDescriptorProto+ -> Data.ProtoLens.Encoding.Bytes.Parser FileDescriptorSet+ loop x mutable'file+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'file <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'file)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'file") frozen'file x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "file"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'file y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'file+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'file <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'file)+ "FileDescriptorSet"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'file") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))+instance Control.DeepSeq.NFData FileDescriptorSet where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FileDescriptorSet'_unknownFields x__)+ (Control.DeepSeq.deepseq (_FileDescriptorSet'file x__) ())+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.javaPackage' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.javaOuterClassname' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaOuterClassname' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.javaMultipleFiles' @:: Lens' FileOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaMultipleFiles' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenerateEqualsAndHash' @:: Lens' FileOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenerateEqualsAndHash' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.javaStringCheckUtf8' @:: Lens' FileOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaStringCheckUtf8' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.optimizeFor' @:: Lens' FileOptions FileOptions'OptimizeMode@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'optimizeFor' @:: Lens' FileOptions (Prelude.Maybe FileOptions'OptimizeMode)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.goPackage' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'goPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.ccGenericServices' @:: Lens' FileOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenericServices' @:: Lens' FileOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.pyGenericServices' @:: Lens' FileOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'pyGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FileOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.ccEnableArenas' @:: Lens' FileOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccEnableArenas' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.objcClassPrefix' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'objcClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.csharpNamespace' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'csharpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.swiftPrefix' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'swiftPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.phpClassPrefix' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.phpNamespace' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.phpMetadataNamespace' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpMetadataNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.rubyPackage' @:: Lens' FileOptions Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'rubyPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.features' @:: Lens' FileOptions FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'features' @:: Lens' FileOptions (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FileOptions [UninterpretedOption]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' FileOptions (Data.Vector.Vector UninterpretedOption)@ -}+data FileOptions+ = FileOptions'_constructor {_FileOptions'javaPackage :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'javaOuterClassname :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'javaMultipleFiles :: !(Prelude.Maybe Prelude.Bool),+ _FileOptions'javaGenerateEqualsAndHash :: !(Prelude.Maybe Prelude.Bool),+ _FileOptions'javaStringCheckUtf8 :: !(Prelude.Maybe Prelude.Bool),+ _FileOptions'optimizeFor :: !(Prelude.Maybe FileOptions'OptimizeMode),+ _FileOptions'goPackage :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'ccGenericServices :: !(Prelude.Maybe Prelude.Bool),+ _FileOptions'javaGenericServices :: !(Prelude.Maybe Prelude.Bool),+ _FileOptions'pyGenericServices :: !(Prelude.Maybe Prelude.Bool),+ _FileOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+ _FileOptions'ccEnableArenas :: !(Prelude.Maybe Prelude.Bool),+ _FileOptions'objcClassPrefix :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'csharpNamespace :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'swiftPrefix :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'phpClassPrefix :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'phpNamespace :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'phpMetadataNamespace :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'rubyPackage :: !(Prelude.Maybe Data.Text.Text),+ _FileOptions'features :: !(Prelude.Maybe FeatureSet),+ _FileOptions'uninterpretedOption :: !(Data.Vector.Vector UninterpretedOption),+ _FileOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show FileOptions where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField FileOptions "javaPackage" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaPackage+ (\ x__ y__ -> x__ {_FileOptions'javaPackage = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'javaPackage" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaPackage+ (\ x__ y__ -> x__ {_FileOptions'javaPackage = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "javaOuterClassname" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaOuterClassname+ (\ x__ y__ -> x__ {_FileOptions'javaOuterClassname = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'javaOuterClassname" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaOuterClassname+ (\ x__ y__ -> x__ {_FileOptions'javaOuterClassname = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "javaMultipleFiles" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaMultipleFiles+ (\ x__ y__ -> x__ {_FileOptions'javaMultipleFiles = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'javaMultipleFiles" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaMultipleFiles+ (\ x__ y__ -> x__ {_FileOptions'javaMultipleFiles = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "javaGenerateEqualsAndHash" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaGenerateEqualsAndHash+ (\ x__ y__ -> x__ {_FileOptions'javaGenerateEqualsAndHash = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'javaGenerateEqualsAndHash" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaGenerateEqualsAndHash+ (\ x__ y__ -> x__ {_FileOptions'javaGenerateEqualsAndHash = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "javaStringCheckUtf8" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaStringCheckUtf8+ (\ x__ y__ -> x__ {_FileOptions'javaStringCheckUtf8 = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'javaStringCheckUtf8" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaStringCheckUtf8+ (\ x__ y__ -> x__ {_FileOptions'javaStringCheckUtf8 = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "optimizeFor" FileOptions'OptimizeMode where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'optimizeFor+ (\ x__ y__ -> x__ {_FileOptions'optimizeFor = y__}))+ (Data.ProtoLens.maybeLens FileOptions'SPEED)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'optimizeFor" (Prelude.Maybe FileOptions'OptimizeMode) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'optimizeFor+ (\ x__ y__ -> x__ {_FileOptions'optimizeFor = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "goPackage" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'goPackage+ (\ x__ y__ -> x__ {_FileOptions'goPackage = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'goPackage" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'goPackage+ (\ x__ y__ -> x__ {_FileOptions'goPackage = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "ccGenericServices" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'ccGenericServices+ (\ x__ y__ -> x__ {_FileOptions'ccGenericServices = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'ccGenericServices" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'ccGenericServices+ (\ x__ y__ -> x__ {_FileOptions'ccGenericServices = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "javaGenericServices" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaGenericServices+ (\ x__ y__ -> x__ {_FileOptions'javaGenericServices = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'javaGenericServices" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'javaGenericServices+ (\ x__ y__ -> x__ {_FileOptions'javaGenericServices = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "pyGenericServices" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'pyGenericServices+ (\ x__ y__ -> x__ {_FileOptions'pyGenericServices = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'pyGenericServices" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'pyGenericServices+ (\ x__ y__ -> x__ {_FileOptions'pyGenericServices = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "deprecated" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'deprecated+ (\ x__ y__ -> x__ {_FileOptions'deprecated = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'deprecated" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'deprecated+ (\ x__ y__ -> x__ {_FileOptions'deprecated = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "ccEnableArenas" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'ccEnableArenas+ (\ x__ y__ -> x__ {_FileOptions'ccEnableArenas = y__}))+ (Data.ProtoLens.maybeLens Prelude.True)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'ccEnableArenas" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'ccEnableArenas+ (\ x__ y__ -> x__ {_FileOptions'ccEnableArenas = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "objcClassPrefix" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'objcClassPrefix+ (\ x__ y__ -> x__ {_FileOptions'objcClassPrefix = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'objcClassPrefix" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'objcClassPrefix+ (\ x__ y__ -> x__ {_FileOptions'objcClassPrefix = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "csharpNamespace" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'csharpNamespace+ (\ x__ y__ -> x__ {_FileOptions'csharpNamespace = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'csharpNamespace" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'csharpNamespace+ (\ x__ y__ -> x__ {_FileOptions'csharpNamespace = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "swiftPrefix" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'swiftPrefix+ (\ x__ y__ -> x__ {_FileOptions'swiftPrefix = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'swiftPrefix" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'swiftPrefix+ (\ x__ y__ -> x__ {_FileOptions'swiftPrefix = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "phpClassPrefix" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'phpClassPrefix+ (\ x__ y__ -> x__ {_FileOptions'phpClassPrefix = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'phpClassPrefix" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'phpClassPrefix+ (\ x__ y__ -> x__ {_FileOptions'phpClassPrefix = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "phpNamespace" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'phpNamespace+ (\ x__ y__ -> x__ {_FileOptions'phpNamespace = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'phpNamespace" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'phpNamespace+ (\ x__ y__ -> x__ {_FileOptions'phpNamespace = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "phpMetadataNamespace" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'phpMetadataNamespace+ (\ x__ y__ -> x__ {_FileOptions'phpMetadataNamespace = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'phpMetadataNamespace" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'phpMetadataNamespace+ (\ x__ y__ -> x__ {_FileOptions'phpMetadataNamespace = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "rubyPackage" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'rubyPackage+ (\ x__ y__ -> x__ {_FileOptions'rubyPackage = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'rubyPackage" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'rubyPackage+ (\ x__ y__ -> x__ {_FileOptions'rubyPackage = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "features" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'features+ (\ x__ y__ -> x__ {_FileOptions'features = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField FileOptions "maybe'features" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'features+ (\ x__ y__ -> x__ {_FileOptions'features = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField FileOptions "uninterpretedOption" [UninterpretedOption] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_FileOptions'uninterpretedOption = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField FileOptions "vec'uninterpretedOption" (Data.Vector.Vector UninterpretedOption) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _FileOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_FileOptions'uninterpretedOption = y__}))+ Prelude.id+instance Data.ProtoLens.Message FileOptions where+ messageName _ = Data.Text.pack "google.protobuf.FileOptions"+ packedMessageDescriptor _+ = "\n\+ \\vFileOptions\DC2!\n\+ \\fjava_package\CAN\SOH \SOH(\tR\vjavaPackage\DC20\n\+ \\DC4java_outer_classname\CAN\b \SOH(\tR\DC2javaOuterClassname\DC25\n\+ \\DC3java_multiple_files\CAN\n\+ \ \SOH(\b:\ENQfalseR\DC1javaMultipleFiles\DC2D\n\+ \\GSjava_generate_equals_and_hash\CAN\DC4 \SOH(\bR\EMjavaGenerateEqualsAndHashB\STX\CAN\SOH\DC2:\n\+ \\SYNjava_string_check_utf8\CAN\ESC \SOH(\b:\ENQfalseR\DC3javaStringCheckUtf8\DC2S\n\+ \\foptimize_for\CAN\t \SOH(\SO2).google.protobuf.FileOptions.OptimizeMode:\ENQSPEEDR\voptimizeFor\DC2\GS\n\+ \\n\+ \go_package\CAN\v \SOH(\tR\tgoPackage\DC25\n\+ \\DC3cc_generic_services\CAN\DLE \SOH(\b:\ENQfalseR\DC1ccGenericServices\DC29\n\+ \\NAKjava_generic_services\CAN\DC1 \SOH(\b:\ENQfalseR\DC3javaGenericServices\DC25\n\+ \\DC3py_generic_services\CAN\DC2 \SOH(\b:\ENQfalseR\DC1pyGenericServices\DC2%\n\+ \\n\+ \deprecated\CAN\ETB \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2.\n\+ \\DLEcc_enable_arenas\CAN\US \SOH(\b:\EOTtrueR\SOccEnableArenas\DC2*\n\+ \\DC1objc_class_prefix\CAN$ \SOH(\tR\SIobjcClassPrefix\DC2)\n\+ \\DLEcsharp_namespace\CAN% \SOH(\tR\SIcsharpNamespace\DC2!\n\+ \\fswift_prefix\CAN' \SOH(\tR\vswiftPrefix\DC2(\n\+ \\DLEphp_class_prefix\CAN( \SOH(\tR\SOphpClassPrefix\DC2#\n\+ \\rphp_namespace\CAN) \SOH(\tR\fphpNamespace\DC24\n\+ \\SYNphp_metadata_namespace\CAN, \SOH(\tR\DC4phpMetadataNamespace\DC2!\n\+ \\fruby_package\CAN- \SOH(\tR\vrubyPackage\DC27\n\+ \\bfeatures\CAN2 \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption\":\n\+ \\fOptimizeMode\DC2\t\n\+ \\ENQSPEED\DLE\SOH\DC2\r\n\+ \\tCODE_SIZE\DLE\STX\DC2\DLE\n\+ \\fLITE_RUNTIME\DLE\ETX*\t\b\232\a\DLE\128\128\128\128\STXJ\EOT\b*\DLE+J\EOT\b&\DLE'R\DC4php_generic_services"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ javaPackage__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "java_package"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'javaPackage")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ javaOuterClassname__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "java_outer_classname"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'javaOuterClassname")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ javaMultipleFiles__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "java_multiple_files"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'javaMultipleFiles")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ javaGenerateEqualsAndHash__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "java_generate_equals_and_hash"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'javaGenerateEqualsAndHash")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ javaStringCheckUtf8__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "java_string_check_utf8"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'javaStringCheckUtf8")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ optimizeFor__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "optimize_for"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor FileOptions'OptimizeMode)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'optimizeFor")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ goPackage__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "go_package"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'goPackage")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ ccGenericServices__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "cc_generic_services"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'ccGenericServices")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ javaGenericServices__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "java_generic_services"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'javaGenericServices")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ pyGenericServices__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "py_generic_services"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'pyGenericServices")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ deprecated__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecated"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'deprecated")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ ccEnableArenas__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "cc_enable_arenas"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'ccEnableArenas")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ objcClassPrefix__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "objc_class_prefix"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'objcClassPrefix")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ csharpNamespace__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "csharp_namespace"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'csharpNamespace")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ swiftPrefix__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "swift_prefix"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'swiftPrefix")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ phpClassPrefix__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "php_class_prefix"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'phpClassPrefix")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ phpNamespace__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "php_namespace"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'phpNamespace")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ phpMetadataNamespace__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "php_metadata_namespace"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'phpMetadataNamespace")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ rubyPackage__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "ruby_package"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'rubyPackage")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ features__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'features")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ uninterpretedOption__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "uninterpreted_option"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"uninterpretedOption")) ::+ Data.ProtoLens.FieldDescriptor FileOptions+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, javaPackage__field_descriptor),+ (Data.ProtoLens.Tag 8, javaOuterClassname__field_descriptor),+ (Data.ProtoLens.Tag 10, javaMultipleFiles__field_descriptor),+ (Data.ProtoLens.Tag 20, + javaGenerateEqualsAndHash__field_descriptor),+ (Data.ProtoLens.Tag 27, javaStringCheckUtf8__field_descriptor),+ (Data.ProtoLens.Tag 9, optimizeFor__field_descriptor),+ (Data.ProtoLens.Tag 11, goPackage__field_descriptor),+ (Data.ProtoLens.Tag 16, ccGenericServices__field_descriptor),+ (Data.ProtoLens.Tag 17, javaGenericServices__field_descriptor),+ (Data.ProtoLens.Tag 18, pyGenericServices__field_descriptor),+ (Data.ProtoLens.Tag 23, deprecated__field_descriptor),+ (Data.ProtoLens.Tag 31, ccEnableArenas__field_descriptor),+ (Data.ProtoLens.Tag 36, objcClassPrefix__field_descriptor),+ (Data.ProtoLens.Tag 37, csharpNamespace__field_descriptor),+ (Data.ProtoLens.Tag 39, swiftPrefix__field_descriptor),+ (Data.ProtoLens.Tag 40, phpClassPrefix__field_descriptor),+ (Data.ProtoLens.Tag 41, phpNamespace__field_descriptor),+ (Data.ProtoLens.Tag 44, phpMetadataNamespace__field_descriptor),+ (Data.ProtoLens.Tag 45, rubyPackage__field_descriptor),+ (Data.ProtoLens.Tag 50, features__field_descriptor),+ (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _FileOptions'_unknownFields+ (\ x__ y__ -> x__ {_FileOptions'_unknownFields = y__})+ defMessage+ = FileOptions'_constructor+ {_FileOptions'javaPackage = Prelude.Nothing,+ _FileOptions'javaOuterClassname = Prelude.Nothing,+ _FileOptions'javaMultipleFiles = Prelude.Nothing,+ _FileOptions'javaGenerateEqualsAndHash = Prelude.Nothing,+ _FileOptions'javaStringCheckUtf8 = Prelude.Nothing,+ _FileOptions'optimizeFor = Prelude.Nothing,+ _FileOptions'goPackage = Prelude.Nothing,+ _FileOptions'ccGenericServices = Prelude.Nothing,+ _FileOptions'javaGenericServices = Prelude.Nothing,+ _FileOptions'pyGenericServices = Prelude.Nothing,+ _FileOptions'deprecated = Prelude.Nothing,+ _FileOptions'ccEnableArenas = Prelude.Nothing,+ _FileOptions'objcClassPrefix = Prelude.Nothing,+ _FileOptions'csharpNamespace = Prelude.Nothing,+ _FileOptions'swiftPrefix = Prelude.Nothing,+ _FileOptions'phpClassPrefix = Prelude.Nothing,+ _FileOptions'phpNamespace = Prelude.Nothing,+ _FileOptions'phpMetadataNamespace = Prelude.Nothing,+ _FileOptions'rubyPackage = Prelude.Nothing,+ _FileOptions'features = Prelude.Nothing,+ _FileOptions'uninterpretedOption = Data.Vector.Generic.empty,+ _FileOptions'_unknownFields = []}+ parseMessage+ = let+ loop ::+ FileOptions+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption+ -> Data.ProtoLens.Encoding.Bytes.Parser FileOptions+ loop x mutable'uninterpretedOption+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'uninterpretedOption)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption")+ frozen'uninterpretedOption+ x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "java_package"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"javaPackage") y x)+ mutable'uninterpretedOption+ 66+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "java_outer_classname"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"javaOuterClassname") y x)+ mutable'uninterpretedOption+ 80+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "java_multiple_files"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"javaMultipleFiles") y x)+ mutable'uninterpretedOption+ 160+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "java_generate_equals_and_hash"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"javaGenerateEqualsAndHash") y x)+ mutable'uninterpretedOption+ 216+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "java_string_check_utf8"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"javaStringCheckUtf8") y x)+ mutable'uninterpretedOption+ 72+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "optimize_for"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"optimizeFor") y x)+ mutable'uninterpretedOption+ 90+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "go_package"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"goPackage") y x)+ mutable'uninterpretedOption+ 128+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "cc_generic_services"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"ccGenericServices") y x)+ mutable'uninterpretedOption+ 136+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "java_generic_services"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"javaGenericServices") y x)+ mutable'uninterpretedOption+ 144+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "py_generic_services"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"pyGenericServices") y x)+ mutable'uninterpretedOption+ 184+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "deprecated"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"deprecated") y x)+ mutable'uninterpretedOption+ 248+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "cc_enable_arenas"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"ccEnableArenas") y x)+ mutable'uninterpretedOption+ 290+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "objc_class_prefix"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"objcClassPrefix") y x)+ mutable'uninterpretedOption+ 298+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "csharp_namespace"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"csharpNamespace") y x)+ mutable'uninterpretedOption+ 314+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "swift_prefix"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"swiftPrefix") y x)+ mutable'uninterpretedOption+ 322+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "php_class_prefix"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"phpClassPrefix") y x)+ mutable'uninterpretedOption+ 330+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "php_namespace"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"phpNamespace") y x)+ mutable'uninterpretedOption+ 354+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "php_metadata_namespace"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"phpMetadataNamespace") y x)+ mutable'uninterpretedOption+ 362+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "ruby_package"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"rubyPackage") y x)+ mutable'uninterpretedOption+ 402+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "features"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"features") y x)+ mutable'uninterpretedOption+ 7994+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "uninterpreted_option"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'uninterpretedOption y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'uninterpretedOption+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'uninterpretedOption)+ "FileOptions"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'javaPackage") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'javaOuterClassname") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 66)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'javaMultipleFiles") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 80)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'javaGenerateEqualsAndHash") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 160)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'javaStringCheckUtf8") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 216)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'optimizeFor") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 72)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'goPackage") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 90)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'ccGenericServices") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 128)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'javaGenericServices")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 136)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'pyGenericServices")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 144)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'deprecated")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 184)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'ccEnableArenas")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 248)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'objcClassPrefix")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 290)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'csharpNamespace")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 298)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'swiftPrefix")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 314)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'phpClassPrefix")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 322)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'phpNamespace")+ _x+ of+ Prelude.Nothing+ -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 330)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'phpMetadataNamespace")+ _x+ of+ Prelude.Nothing+ -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 354)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'rubyPackage")+ _x+ of+ Prelude.Nothing+ -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 362)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'features")+ _x+ of+ Prelude.Nothing+ -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 402)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ 7994)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length+ bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes+ bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"vec'uninterpretedOption")+ _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view+ Data.ProtoLens.unknownFields+ _x))))))))))))))))))))))+instance Control.DeepSeq.NFData FileOptions where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_FileOptions'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'javaPackage x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'javaOuterClassname x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'javaMultipleFiles x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'javaGenerateEqualsAndHash x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'javaStringCheckUtf8 x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'optimizeFor x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'goPackage x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'ccGenericServices x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'javaGenericServices x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'pyGenericServices x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'deprecated x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'ccEnableArenas x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'objcClassPrefix x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'csharpNamespace x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'swiftPrefix x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'phpClassPrefix x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'phpNamespace x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'phpMetadataNamespace+ x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'rubyPackage x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'features x__)+ (Control.DeepSeq.deepseq+ (_FileOptions'uninterpretedOption+ x__)+ ())))))))))))))))))))))+data FileOptions'OptimizeMode+ = FileOptions'SPEED |+ FileOptions'CODE_SIZE |+ FileOptions'LITE_RUNTIME+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum FileOptions'OptimizeMode where+ maybeToEnum 1 = Prelude.Just FileOptions'SPEED+ maybeToEnum 2 = Prelude.Just FileOptions'CODE_SIZE+ maybeToEnum 3 = Prelude.Just FileOptions'LITE_RUNTIME+ maybeToEnum _ = Prelude.Nothing+ showEnum FileOptions'SPEED = "SPEED"+ showEnum FileOptions'CODE_SIZE = "CODE_SIZE"+ showEnum FileOptions'LITE_RUNTIME = "LITE_RUNTIME"+ readEnum k+ | (Prelude.==) k "SPEED" = Prelude.Just FileOptions'SPEED+ | (Prelude.==) k "CODE_SIZE" = Prelude.Just FileOptions'CODE_SIZE+ | (Prelude.==) k "LITE_RUNTIME"+ = Prelude.Just FileOptions'LITE_RUNTIME+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded FileOptions'OptimizeMode where+ minBound = FileOptions'SPEED+ maxBound = FileOptions'LITE_RUNTIME+instance Prelude.Enum FileOptions'OptimizeMode where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum OptimizeMode: "+ (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum FileOptions'SPEED = 1+ fromEnum FileOptions'CODE_SIZE = 2+ fromEnum FileOptions'LITE_RUNTIME = 3+ succ FileOptions'LITE_RUNTIME+ = Prelude.error+ "FileOptions'OptimizeMode.succ: bad argument FileOptions'LITE_RUNTIME. This value would be out of bounds."+ succ FileOptions'SPEED = FileOptions'CODE_SIZE+ succ FileOptions'CODE_SIZE = FileOptions'LITE_RUNTIME+ pred FileOptions'SPEED+ = Prelude.error+ "FileOptions'OptimizeMode.pred: bad argument FileOptions'SPEED. This value would be out of bounds."+ pred FileOptions'CODE_SIZE = FileOptions'SPEED+ pred FileOptions'LITE_RUNTIME = FileOptions'CODE_SIZE+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault FileOptions'OptimizeMode where+ fieldDefault = FileOptions'SPEED+instance Control.DeepSeq.NFData FileOptions'OptimizeMode where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.annotation' @:: Lens' GeneratedCodeInfo [GeneratedCodeInfo'Annotation]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'annotation' @:: Lens' GeneratedCodeInfo (Data.Vector.Vector GeneratedCodeInfo'Annotation)@ -}+data GeneratedCodeInfo+ = GeneratedCodeInfo'_constructor {_GeneratedCodeInfo'annotation :: !(Data.Vector.Vector GeneratedCodeInfo'Annotation),+ _GeneratedCodeInfo'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show GeneratedCodeInfo where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo "annotation" [GeneratedCodeInfo'Annotation] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'annotation+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'annotation = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo "vec'annotation" (Data.Vector.Vector GeneratedCodeInfo'Annotation) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'annotation+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'annotation = y__}))+ Prelude.id+instance Data.ProtoLens.Message GeneratedCodeInfo where+ messageName _ = Data.Text.pack "google.protobuf.GeneratedCodeInfo"+ packedMessageDescriptor _+ = "\n\+ \\DC1GeneratedCodeInfo\DC2M\n\+ \\n\+ \annotation\CAN\SOH \ETX(\v2-.google.protobuf.GeneratedCodeInfo.AnnotationR\n\+ \annotation\SUB\235\SOH\n\+ \\n\+ \Annotation\DC2\SYN\n\+ \\EOTpath\CAN\SOH \ETX(\ENQR\EOTpathB\STX\DLE\SOH\DC2\US\n\+ \\vsource_file\CAN\STX \SOH(\tR\n\+ \sourceFile\DC2\DC4\n\+ \\ENQbegin\CAN\ETX \SOH(\ENQR\ENQbegin\DC2\DLE\n\+ \\ETXend\CAN\EOT \SOH(\ENQR\ETXend\DC2R\n\+ \\bsemantic\CAN\ENQ \SOH(\SO26.google.protobuf.GeneratedCodeInfo.Annotation.SemanticR\bsemantic\"(\n\+ \\bSemantic\DC2\b\n\+ \\EOTNONE\DLE\NUL\DC2\a\n\+ \\ETXSET\DLE\SOH\DC2\t\n\+ \\ENQALIAS\DLE\STX"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ annotation__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "annotation"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor GeneratedCodeInfo'Annotation)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"annotation")) ::+ Data.ProtoLens.FieldDescriptor GeneratedCodeInfo+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, annotation__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'_unknownFields+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'_unknownFields = y__})+ defMessage+ = GeneratedCodeInfo'_constructor+ {_GeneratedCodeInfo'annotation = Data.Vector.Generic.empty,+ _GeneratedCodeInfo'_unknownFields = []}+ parseMessage+ = let+ loop ::+ GeneratedCodeInfo+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld GeneratedCodeInfo'Annotation+ -> Data.ProtoLens.Encoding.Bytes.Parser GeneratedCodeInfo+ loop x mutable'annotation+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'annotation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'annotation)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'annotation")+ frozen'annotation+ x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "annotation"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'annotation y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'annotation+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'annotation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'annotation)+ "GeneratedCodeInfo"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'annotation") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))+instance Control.DeepSeq.NFData GeneratedCodeInfo where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_GeneratedCodeInfo'_unknownFields x__)+ (Control.DeepSeq.deepseq (_GeneratedCodeInfo'annotation x__) ())+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' GeneratedCodeInfo'Annotation [Data.Int.Int32]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'path' @:: Lens' GeneratedCodeInfo'Annotation (Data.Vector.Unboxed.Vector Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.sourceFile' @:: Lens' GeneratedCodeInfo'Annotation Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceFile' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.begin' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'begin' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.semantic' @:: Lens' GeneratedCodeInfo'Annotation GeneratedCodeInfo'Annotation'Semantic@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'semantic' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe GeneratedCodeInfo'Annotation'Semantic)@ -}+data GeneratedCodeInfo'Annotation+ = GeneratedCodeInfo'Annotation'_constructor {_GeneratedCodeInfo'Annotation'path :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),+ _GeneratedCodeInfo'Annotation'sourceFile :: !(Prelude.Maybe Data.Text.Text),+ _GeneratedCodeInfo'Annotation'begin :: !(Prelude.Maybe Data.Int.Int32),+ _GeneratedCodeInfo'Annotation'end :: !(Prelude.Maybe Data.Int.Int32),+ _GeneratedCodeInfo'Annotation'semantic :: !(Prelude.Maybe GeneratedCodeInfo'Annotation'Semantic),+ _GeneratedCodeInfo'Annotation'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show GeneratedCodeInfo'Annotation where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "path" [Data.Int.Int32] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'path+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'Annotation'path = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "vec'path" (Data.Vector.Unboxed.Vector Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'path+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'Annotation'path = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "sourceFile" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'sourceFile+ (\ x__ y__+ -> x__ {_GeneratedCodeInfo'Annotation'sourceFile = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "maybe'sourceFile" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'sourceFile+ (\ x__ y__+ -> x__ {_GeneratedCodeInfo'Annotation'sourceFile = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "begin" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'begin+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'Annotation'begin = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "maybe'begin" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'begin+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'Annotation'begin = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "end" Data.Int.Int32 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'end+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'Annotation'end = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "maybe'end" (Prelude.Maybe Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'end+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'Annotation'end = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "semantic" GeneratedCodeInfo'Annotation'Semantic where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'semantic+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'Annotation'semantic = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation "maybe'semantic" (Prelude.Maybe GeneratedCodeInfo'Annotation'Semantic) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'semantic+ (\ x__ y__ -> x__ {_GeneratedCodeInfo'Annotation'semantic = y__}))+ Prelude.id+instance Data.ProtoLens.Message GeneratedCodeInfo'Annotation where+ messageName _+ = Data.Text.pack "google.protobuf.GeneratedCodeInfo.Annotation"+ packedMessageDescriptor _+ = "\n\+ \\n\+ \Annotation\DC2\SYN\n\+ \\EOTpath\CAN\SOH \ETX(\ENQR\EOTpathB\STX\DLE\SOH\DC2\US\n\+ \\vsource_file\CAN\STX \SOH(\tR\n\+ \sourceFile\DC2\DC4\n\+ \\ENQbegin\CAN\ETX \SOH(\ENQR\ENQbegin\DC2\DLE\n\+ \\ETXend\CAN\EOT \SOH(\ENQR\ETXend\DC2R\n\+ \\bsemantic\CAN\ENQ \SOH(\SO26.google.protobuf.GeneratedCodeInfo.Annotation.SemanticR\bsemantic\"(\n\+ \\bSemantic\DC2\b\n\+ \\EOTNONE\DLE\NUL\DC2\a\n\+ \\ETXSET\DLE\SOH\DC2\t\n\+ \\ENQALIAS\DLE\STX"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ path__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "path"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Packed (Data.ProtoLens.Field.field @"path")) ::+ Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation+ sourceFile__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "source_file"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'sourceFile")) ::+ Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation+ begin__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "begin"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'begin")) ::+ Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation+ end__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "end"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'end")) ::+ Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation+ semantic__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "semantic"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor GeneratedCodeInfo'Annotation'Semantic)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'semantic")) ::+ Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, path__field_descriptor),+ (Data.ProtoLens.Tag 2, sourceFile__field_descriptor),+ (Data.ProtoLens.Tag 3, begin__field_descriptor),+ (Data.ProtoLens.Tag 4, end__field_descriptor),+ (Data.ProtoLens.Tag 5, semantic__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _GeneratedCodeInfo'Annotation'_unknownFields+ (\ x__ y__+ -> x__ {_GeneratedCodeInfo'Annotation'_unknownFields = y__})+ defMessage+ = GeneratedCodeInfo'Annotation'_constructor+ {_GeneratedCodeInfo'Annotation'path = Data.Vector.Generic.empty,+ _GeneratedCodeInfo'Annotation'sourceFile = Prelude.Nothing,+ _GeneratedCodeInfo'Annotation'begin = Prelude.Nothing,+ _GeneratedCodeInfo'Annotation'end = Prelude.Nothing,+ _GeneratedCodeInfo'Annotation'semantic = Prelude.Nothing,+ _GeneratedCodeInfo'Annotation'_unknownFields = []}+ parseMessage+ = let+ loop ::+ GeneratedCodeInfo'Annotation+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32+ -> Data.ProtoLens.Encoding.Bytes.Parser GeneratedCodeInfo'Annotation+ loop x mutable'path+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'path <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'path)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'path") frozen'path x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "path"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'path y)+ loop x v+ 10+ -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ ((let+ ploop qs+ = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd+ if packedEnd then+ Prelude.return qs+ else+ do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "path"+ qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ qs q)+ ploop qs'+ in ploop)+ mutable'path)+ loop x y+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "source_file"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"sourceFile") y x)+ mutable'path+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "begin"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"begin") y x)+ mutable'path+ 32+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "end"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y x)+ mutable'path+ 40+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "semantic"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"semantic") y x)+ mutable'path+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'path+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'path <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'path)+ "Annotation"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (let+ p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'path") _x+ in+ if Data.Vector.Generic.null p then+ Data.Monoid.mempty+ else+ (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ (Data.ProtoLens.Encoding.Bytes.runBuilder+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ p))))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'sourceFile") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'begin") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'semantic") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData GeneratedCodeInfo'Annotation where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_GeneratedCodeInfo'Annotation'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_GeneratedCodeInfo'Annotation'path x__)+ (Control.DeepSeq.deepseq+ (_GeneratedCodeInfo'Annotation'sourceFile x__)+ (Control.DeepSeq.deepseq+ (_GeneratedCodeInfo'Annotation'begin x__)+ (Control.DeepSeq.deepseq+ (_GeneratedCodeInfo'Annotation'end x__)+ (Control.DeepSeq.deepseq+ (_GeneratedCodeInfo'Annotation'semantic x__) ())))))+data GeneratedCodeInfo'Annotation'Semantic+ = GeneratedCodeInfo'Annotation'NONE |+ GeneratedCodeInfo'Annotation'SET |+ GeneratedCodeInfo'Annotation'ALIAS+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum GeneratedCodeInfo'Annotation'Semantic where+ maybeToEnum 0 = Prelude.Just GeneratedCodeInfo'Annotation'NONE+ maybeToEnum 1 = Prelude.Just GeneratedCodeInfo'Annotation'SET+ maybeToEnum 2 = Prelude.Just GeneratedCodeInfo'Annotation'ALIAS+ maybeToEnum _ = Prelude.Nothing+ showEnum GeneratedCodeInfo'Annotation'NONE = "NONE"+ showEnum GeneratedCodeInfo'Annotation'SET = "SET"+ showEnum GeneratedCodeInfo'Annotation'ALIAS = "ALIAS"+ readEnum k+ | (Prelude.==) k "NONE"+ = Prelude.Just GeneratedCodeInfo'Annotation'NONE+ | (Prelude.==) k "SET"+ = Prelude.Just GeneratedCodeInfo'Annotation'SET+ | (Prelude.==) k "ALIAS"+ = Prelude.Just GeneratedCodeInfo'Annotation'ALIAS+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded GeneratedCodeInfo'Annotation'Semantic where+ minBound = GeneratedCodeInfo'Annotation'NONE+ maxBound = GeneratedCodeInfo'Annotation'ALIAS+instance Prelude.Enum GeneratedCodeInfo'Annotation'Semantic where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum Semantic: " (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum GeneratedCodeInfo'Annotation'NONE = 0+ fromEnum GeneratedCodeInfo'Annotation'SET = 1+ fromEnum GeneratedCodeInfo'Annotation'ALIAS = 2+ succ GeneratedCodeInfo'Annotation'ALIAS+ = Prelude.error+ "GeneratedCodeInfo'Annotation'Semantic.succ: bad argument GeneratedCodeInfo'Annotation'ALIAS. This value would be out of bounds."+ succ GeneratedCodeInfo'Annotation'NONE+ = GeneratedCodeInfo'Annotation'SET+ succ GeneratedCodeInfo'Annotation'SET+ = GeneratedCodeInfo'Annotation'ALIAS+ pred GeneratedCodeInfo'Annotation'NONE+ = Prelude.error+ "GeneratedCodeInfo'Annotation'Semantic.pred: bad argument GeneratedCodeInfo'Annotation'NONE. This value would be out of bounds."+ pred GeneratedCodeInfo'Annotation'SET+ = GeneratedCodeInfo'Annotation'NONE+ pred GeneratedCodeInfo'Annotation'ALIAS+ = GeneratedCodeInfo'Annotation'SET+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault GeneratedCodeInfo'Annotation'Semantic where+ fieldDefault = GeneratedCodeInfo'Annotation'NONE+instance Control.DeepSeq.NFData GeneratedCodeInfo'Annotation'Semantic where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.messageSetWireFormat' @:: Lens' MessageOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'messageSetWireFormat' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.noStandardDescriptorAccessor' @:: Lens' MessageOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'noStandardDescriptorAccessor' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MessageOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.mapEntry' @:: Lens' MessageOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'mapEntry' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.deprecatedLegacyJsonFieldConflicts' @:: Lens' MessageOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecatedLegacyJsonFieldConflicts' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.features' @:: Lens' MessageOptions FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'features' @:: Lens' MessageOptions (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MessageOptions [UninterpretedOption]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' MessageOptions (Data.Vector.Vector UninterpretedOption)@ -}+data MessageOptions+ = MessageOptions'_constructor {_MessageOptions'messageSetWireFormat :: !(Prelude.Maybe Prelude.Bool),+ _MessageOptions'noStandardDescriptorAccessor :: !(Prelude.Maybe Prelude.Bool),+ _MessageOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+ _MessageOptions'mapEntry :: !(Prelude.Maybe Prelude.Bool),+ _MessageOptions'deprecatedLegacyJsonFieldConflicts :: !(Prelude.Maybe Prelude.Bool),+ _MessageOptions'features :: !(Prelude.Maybe FeatureSet),+ _MessageOptions'uninterpretedOption :: !(Data.Vector.Vector UninterpretedOption),+ _MessageOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show MessageOptions where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField MessageOptions "messageSetWireFormat" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'messageSetWireFormat+ (\ x__ y__ -> x__ {_MessageOptions'messageSetWireFormat = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField MessageOptions "maybe'messageSetWireFormat" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'messageSetWireFormat+ (\ x__ y__ -> x__ {_MessageOptions'messageSetWireFormat = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MessageOptions "noStandardDescriptorAccessor" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'noStandardDescriptorAccessor+ (\ x__ y__+ -> x__ {_MessageOptions'noStandardDescriptorAccessor = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField MessageOptions "maybe'noStandardDescriptorAccessor" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'noStandardDescriptorAccessor+ (\ x__ y__+ -> x__ {_MessageOptions'noStandardDescriptorAccessor = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MessageOptions "deprecated" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'deprecated+ (\ x__ y__ -> x__ {_MessageOptions'deprecated = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField MessageOptions "maybe'deprecated" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'deprecated+ (\ x__ y__ -> x__ {_MessageOptions'deprecated = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MessageOptions "mapEntry" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'mapEntry+ (\ x__ y__ -> x__ {_MessageOptions'mapEntry = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField MessageOptions "maybe'mapEntry" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'mapEntry+ (\ x__ y__ -> x__ {_MessageOptions'mapEntry = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MessageOptions "deprecatedLegacyJsonFieldConflicts" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'deprecatedLegacyJsonFieldConflicts+ (\ x__ y__+ -> x__ {_MessageOptions'deprecatedLegacyJsonFieldConflicts = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField MessageOptions "maybe'deprecatedLegacyJsonFieldConflicts" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'deprecatedLegacyJsonFieldConflicts+ (\ x__ y__+ -> x__ {_MessageOptions'deprecatedLegacyJsonFieldConflicts = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MessageOptions "features" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'features+ (\ x__ y__ -> x__ {_MessageOptions'features = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField MessageOptions "maybe'features" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'features+ (\ x__ y__ -> x__ {_MessageOptions'features = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MessageOptions "uninterpretedOption" [UninterpretedOption] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_MessageOptions'uninterpretedOption = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField MessageOptions "vec'uninterpretedOption" (Data.Vector.Vector UninterpretedOption) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MessageOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_MessageOptions'uninterpretedOption = y__}))+ Prelude.id+instance Data.ProtoLens.Message MessageOptions where+ messageName _ = Data.Text.pack "google.protobuf.MessageOptions"+ packedMessageDescriptor _+ = "\n\+ \\SOMessageOptions\DC2<\n\+ \\ETBmessage_set_wire_format\CAN\SOH \SOH(\b:\ENQfalseR\DC4messageSetWireFormat\DC2L\n\+ \\USno_standard_descriptor_accessor\CAN\STX \SOH(\b:\ENQfalseR\FSnoStandardDescriptorAccessor\DC2%\n\+ \\n\+ \deprecated\CAN\ETX \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2\ESC\n\+ \\tmap_entry\CAN\a \SOH(\bR\bmapEntry\DC2V\n\+ \&deprecated_legacy_json_field_conflicts\CAN\v \SOH(\bR\"deprecatedLegacyJsonFieldConflictsB\STX\CAN\SOH\DC27\n\+ \\bfeatures\CAN\f \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STXJ\EOT\b\EOT\DLE\ENQJ\EOT\b\ENQ\DLE\ACKJ\EOT\b\ACK\DLE\aJ\EOT\b\b\DLE\tJ\EOT\b\t\DLE\n"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ messageSetWireFormat__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "message_set_wire_format"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'messageSetWireFormat")) ::+ Data.ProtoLens.FieldDescriptor MessageOptions+ noStandardDescriptorAccessor__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "no_standard_descriptor_accessor"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field+ @"maybe'noStandardDescriptorAccessor")) ::+ Data.ProtoLens.FieldDescriptor MessageOptions+ deprecated__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecated"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'deprecated")) ::+ Data.ProtoLens.FieldDescriptor MessageOptions+ mapEntry__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "map_entry"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'mapEntry")) ::+ Data.ProtoLens.FieldDescriptor MessageOptions+ deprecatedLegacyJsonFieldConflicts__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecated_legacy_json_field_conflicts"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field+ @"maybe'deprecatedLegacyJsonFieldConflicts")) ::+ Data.ProtoLens.FieldDescriptor MessageOptions+ features__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'features")) ::+ Data.ProtoLens.FieldDescriptor MessageOptions+ uninterpretedOption__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "uninterpreted_option"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"uninterpretedOption")) ::+ Data.ProtoLens.FieldDescriptor MessageOptions+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, messageSetWireFormat__field_descriptor),+ (Data.ProtoLens.Tag 2, + noStandardDescriptorAccessor__field_descriptor),+ (Data.ProtoLens.Tag 3, deprecated__field_descriptor),+ (Data.ProtoLens.Tag 7, mapEntry__field_descriptor),+ (Data.ProtoLens.Tag 11, + deprecatedLegacyJsonFieldConflicts__field_descriptor),+ (Data.ProtoLens.Tag 12, features__field_descriptor),+ (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _MessageOptions'_unknownFields+ (\ x__ y__ -> x__ {_MessageOptions'_unknownFields = y__})+ defMessage+ = MessageOptions'_constructor+ {_MessageOptions'messageSetWireFormat = Prelude.Nothing,+ _MessageOptions'noStandardDescriptorAccessor = Prelude.Nothing,+ _MessageOptions'deprecated = Prelude.Nothing,+ _MessageOptions'mapEntry = Prelude.Nothing,+ _MessageOptions'deprecatedLegacyJsonFieldConflicts = Prelude.Nothing,+ _MessageOptions'features = Prelude.Nothing,+ _MessageOptions'uninterpretedOption = Data.Vector.Generic.empty,+ _MessageOptions'_unknownFields = []}+ parseMessage+ = let+ loop ::+ MessageOptions+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption+ -> Data.ProtoLens.Encoding.Bytes.Parser MessageOptions+ loop x mutable'uninterpretedOption+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'uninterpretedOption)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption")+ frozen'uninterpretedOption+ x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "message_set_wire_format"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"messageSetWireFormat") y x)+ mutable'uninterpretedOption+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "no_standard_descriptor_accessor"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"noStandardDescriptorAccessor")+ y+ x)+ mutable'uninterpretedOption+ 24+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "deprecated"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"deprecated") y x)+ mutable'uninterpretedOption+ 56+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "map_entry"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"mapEntry") y x)+ mutable'uninterpretedOption+ 88+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "deprecated_legacy_json_field_conflicts"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field+ @"deprecatedLegacyJsonFieldConflicts")+ y+ x)+ mutable'uninterpretedOption+ 98+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "features"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"features") y x)+ mutable'uninterpretedOption+ 7994+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "uninterpreted_option"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'uninterpretedOption y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'uninterpretedOption+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'uninterpretedOption)+ "MessageOptions"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'messageSetWireFormat") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'noStandardDescriptorAccessor")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'deprecated") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'mapEntry") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 56)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field+ @"maybe'deprecatedLegacyJsonFieldConflicts")+ _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 88)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'features") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 98)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 7994)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))+instance Control.DeepSeq.NFData MessageOptions where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_MessageOptions'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_MessageOptions'messageSetWireFormat x__)+ (Control.DeepSeq.deepseq+ (_MessageOptions'noStandardDescriptorAccessor x__)+ (Control.DeepSeq.deepseq+ (_MessageOptions'deprecated x__)+ (Control.DeepSeq.deepseq+ (_MessageOptions'mapEntry x__)+ (Control.DeepSeq.deepseq+ (_MessageOptions'deprecatedLegacyJsonFieldConflicts x__)+ (Control.DeepSeq.deepseq+ (_MessageOptions'features x__)+ (Control.DeepSeq.deepseq+ (_MessageOptions'uninterpretedOption x__) ())))))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' MethodDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.inputType' @:: Lens' MethodDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'inputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.outputType' @:: Lens' MethodDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'outputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' MethodDescriptorProto MethodOptions@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' MethodDescriptorProto (Prelude.Maybe MethodOptions)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.clientStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'clientStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.serverStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'serverStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@ -}+data MethodDescriptorProto+ = MethodDescriptorProto'_constructor {_MethodDescriptorProto'name :: !(Prelude.Maybe Data.Text.Text),+ _MethodDescriptorProto'inputType :: !(Prelude.Maybe Data.Text.Text),+ _MethodDescriptorProto'outputType :: !(Prelude.Maybe Data.Text.Text),+ _MethodDescriptorProto'options :: !(Prelude.Maybe MethodOptions),+ _MethodDescriptorProto'clientStreaming :: !(Prelude.Maybe Prelude.Bool),+ _MethodDescriptorProto'serverStreaming :: !(Prelude.Maybe Prelude.Bool),+ _MethodDescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show MethodDescriptorProto where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "name" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'name+ (\ x__ y__ -> x__ {_MethodDescriptorProto'name = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "maybe'name" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'name+ (\ x__ y__ -> x__ {_MethodDescriptorProto'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "inputType" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'inputType+ (\ x__ y__ -> x__ {_MethodDescriptorProto'inputType = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "maybe'inputType" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'inputType+ (\ x__ y__ -> x__ {_MethodDescriptorProto'inputType = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "outputType" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'outputType+ (\ x__ y__ -> x__ {_MethodDescriptorProto'outputType = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "maybe'outputType" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'outputType+ (\ x__ y__ -> x__ {_MethodDescriptorProto'outputType = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "options" MethodOptions where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'options+ (\ x__ y__ -> x__ {_MethodDescriptorProto'options = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "maybe'options" (Prelude.Maybe MethodOptions) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'options+ (\ x__ y__ -> x__ {_MethodDescriptorProto'options = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "clientStreaming" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'clientStreaming+ (\ x__ y__ -> x__ {_MethodDescriptorProto'clientStreaming = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "maybe'clientStreaming" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'clientStreaming+ (\ x__ y__ -> x__ {_MethodDescriptorProto'clientStreaming = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "serverStreaming" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'serverStreaming+ (\ x__ y__ -> x__ {_MethodDescriptorProto'serverStreaming = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "maybe'serverStreaming" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'serverStreaming+ (\ x__ y__ -> x__ {_MethodDescriptorProto'serverStreaming = y__}))+ Prelude.id+instance Data.ProtoLens.Message MethodDescriptorProto where+ messageName _+ = Data.Text.pack "google.protobuf.MethodDescriptorProto"+ packedMessageDescriptor _+ = "\n\+ \\NAKMethodDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\GS\n\+ \\n\+ \input_type\CAN\STX \SOH(\tR\tinputType\DC2\US\n\+ \\voutput_type\CAN\ETX \SOH(\tR\n\+ \outputType\DC28\n\+ \\aoptions\CAN\EOT \SOH(\v2\RS.google.protobuf.MethodOptionsR\aoptions\DC20\n\+ \\DLEclient_streaming\CAN\ENQ \SOH(\b:\ENQfalseR\SIclientStreaming\DC20\n\+ \\DLEserver_streaming\CAN\ACK \SOH(\b:\ENQfalseR\SIserverStreaming"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'name")) ::+ Data.ProtoLens.FieldDescriptor MethodDescriptorProto+ inputType__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "input_type"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'inputType")) ::+ Data.ProtoLens.FieldDescriptor MethodDescriptorProto+ outputType__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "output_type"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'outputType")) ::+ Data.ProtoLens.FieldDescriptor MethodDescriptorProto+ options__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "options"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor MethodOptions)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'options")) ::+ Data.ProtoLens.FieldDescriptor MethodDescriptorProto+ clientStreaming__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "client_streaming"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'clientStreaming")) ::+ Data.ProtoLens.FieldDescriptor MethodDescriptorProto+ serverStreaming__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "server_streaming"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'serverStreaming")) ::+ Data.ProtoLens.FieldDescriptor MethodDescriptorProto+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, name__field_descriptor),+ (Data.ProtoLens.Tag 2, inputType__field_descriptor),+ (Data.ProtoLens.Tag 3, outputType__field_descriptor),+ (Data.ProtoLens.Tag 4, options__field_descriptor),+ (Data.ProtoLens.Tag 5, clientStreaming__field_descriptor),+ (Data.ProtoLens.Tag 6, serverStreaming__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _MethodDescriptorProto'_unknownFields+ (\ x__ y__ -> x__ {_MethodDescriptorProto'_unknownFields = y__})+ defMessage+ = MethodDescriptorProto'_constructor+ {_MethodDescriptorProto'name = Prelude.Nothing,+ _MethodDescriptorProto'inputType = Prelude.Nothing,+ _MethodDescriptorProto'outputType = Prelude.Nothing,+ _MethodDescriptorProto'options = Prelude.Nothing,+ _MethodDescriptorProto'clientStreaming = Prelude.Nothing,+ _MethodDescriptorProto'serverStreaming = Prelude.Nothing,+ _MethodDescriptorProto'_unknownFields = []}+ parseMessage+ = let+ loop ::+ MethodDescriptorProto+ -> Data.ProtoLens.Encoding.Bytes.Parser MethodDescriptorProto+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "input_type"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"inputType") y x)+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "output_type"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"outputType") y x)+ 34+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "options"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"options") y x)+ 40+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "client_streaming"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"clientStreaming") y x)+ 48+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "server_streaming"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"serverStreaming") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "MethodDescriptorProto"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'inputType") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'outputType") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'clientStreaming") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'serverStreaming") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 48)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))+instance Control.DeepSeq.NFData MethodDescriptorProto where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_MethodDescriptorProto'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_MethodDescriptorProto'name x__)+ (Control.DeepSeq.deepseq+ (_MethodDescriptorProto'inputType x__)+ (Control.DeepSeq.deepseq+ (_MethodDescriptorProto'outputType x__)+ (Control.DeepSeq.deepseq+ (_MethodDescriptorProto'options x__)+ (Control.DeepSeq.deepseq+ (_MethodDescriptorProto'clientStreaming x__)+ (Control.DeepSeq.deepseq+ (_MethodDescriptorProto'serverStreaming x__) ()))))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MethodOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MethodOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.idempotencyLevel' @:: Lens' MethodOptions MethodOptions'IdempotencyLevel@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'idempotencyLevel' @:: Lens' MethodOptions (Prelude.Maybe MethodOptions'IdempotencyLevel)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.features' @:: Lens' MethodOptions FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'features' @:: Lens' MethodOptions (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MethodOptions [UninterpretedOption]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' MethodOptions (Data.Vector.Vector UninterpretedOption)@ -}+data MethodOptions+ = MethodOptions'_constructor {_MethodOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+ _MethodOptions'idempotencyLevel :: !(Prelude.Maybe MethodOptions'IdempotencyLevel),+ _MethodOptions'features :: !(Prelude.Maybe FeatureSet),+ _MethodOptions'uninterpretedOption :: !(Data.Vector.Vector UninterpretedOption),+ _MethodOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show MethodOptions where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField MethodOptions "deprecated" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodOptions'deprecated+ (\ x__ y__ -> x__ {_MethodOptions'deprecated = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField MethodOptions "maybe'deprecated" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodOptions'deprecated+ (\ x__ y__ -> x__ {_MethodOptions'deprecated = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MethodOptions "idempotencyLevel" MethodOptions'IdempotencyLevel where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodOptions'idempotencyLevel+ (\ x__ y__ -> x__ {_MethodOptions'idempotencyLevel = y__}))+ (Data.ProtoLens.maybeLens MethodOptions'IDEMPOTENCY_UNKNOWN)+instance Data.ProtoLens.Field.HasField MethodOptions "maybe'idempotencyLevel" (Prelude.Maybe MethodOptions'IdempotencyLevel) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodOptions'idempotencyLevel+ (\ x__ y__ -> x__ {_MethodOptions'idempotencyLevel = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MethodOptions "features" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodOptions'features+ (\ x__ y__ -> x__ {_MethodOptions'features = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField MethodOptions "maybe'features" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodOptions'features+ (\ x__ y__ -> x__ {_MethodOptions'features = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField MethodOptions "uninterpretedOption" [UninterpretedOption] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_MethodOptions'uninterpretedOption = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField MethodOptions "vec'uninterpretedOption" (Data.Vector.Vector UninterpretedOption) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _MethodOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_MethodOptions'uninterpretedOption = y__}))+ Prelude.id+instance Data.ProtoLens.Message MethodOptions where+ messageName _ = Data.Text.pack "google.protobuf.MethodOptions"+ packedMessageDescriptor _+ = "\n\+ \\rMethodOptions\DC2%\n\+ \\n\+ \deprecated\CAN! \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2q\n\+ \\DC1idempotency_level\CAN\" \SOH(\SO2/.google.protobuf.MethodOptions.IdempotencyLevel:\DC3IDEMPOTENCY_UNKNOWNR\DLEidempotencyLevel\DC27\n\+ \\bfeatures\CAN# \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption\"P\n\+ \\DLEIdempotencyLevel\DC2\ETB\n\+ \\DC3IDEMPOTENCY_UNKNOWN\DLE\NUL\DC2\DC3\n\+ \\SINO_SIDE_EFFECTS\DLE\SOH\DC2\SO\n\+ \\n\+ \IDEMPOTENT\DLE\STX*\t\b\232\a\DLE\128\128\128\128\STX"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ deprecated__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecated"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'deprecated")) ::+ Data.ProtoLens.FieldDescriptor MethodOptions+ idempotencyLevel__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "idempotency_level"+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+ Data.ProtoLens.FieldTypeDescriptor MethodOptions'IdempotencyLevel)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'idempotencyLevel")) ::+ Data.ProtoLens.FieldDescriptor MethodOptions+ features__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'features")) ::+ Data.ProtoLens.FieldDescriptor MethodOptions+ uninterpretedOption__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "uninterpreted_option"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"uninterpretedOption")) ::+ Data.ProtoLens.FieldDescriptor MethodOptions+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),+ (Data.ProtoLens.Tag 34, idempotencyLevel__field_descriptor),+ (Data.ProtoLens.Tag 35, features__field_descriptor),+ (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _MethodOptions'_unknownFields+ (\ x__ y__ -> x__ {_MethodOptions'_unknownFields = y__})+ defMessage+ = MethodOptions'_constructor+ {_MethodOptions'deprecated = Prelude.Nothing,+ _MethodOptions'idempotencyLevel = Prelude.Nothing,+ _MethodOptions'features = Prelude.Nothing,+ _MethodOptions'uninterpretedOption = Data.Vector.Generic.empty,+ _MethodOptions'_unknownFields = []}+ parseMessage+ = let+ loop ::+ MethodOptions+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption+ -> Data.ProtoLens.Encoding.Bytes.Parser MethodOptions+ loop x mutable'uninterpretedOption+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'uninterpretedOption)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption")+ frozen'uninterpretedOption+ x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 264+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "deprecated"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"deprecated") y x)+ mutable'uninterpretedOption+ 272+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.toEnum+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt))+ "idempotency_level"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"idempotencyLevel") y x)+ mutable'uninterpretedOption+ 282+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "features"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"features") y x)+ mutable'uninterpretedOption+ 7994+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "uninterpreted_option"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'uninterpretedOption y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'uninterpretedOption+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'uninterpretedOption)+ "MethodOptions"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'deprecated") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 264)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'idempotencyLevel") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 272)+ ((Prelude..)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ Prelude.fromEnum+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'features") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 282)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 7994)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))+instance Control.DeepSeq.NFData MethodOptions where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_MethodOptions'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_MethodOptions'deprecated x__)+ (Control.DeepSeq.deepseq+ (_MethodOptions'idempotencyLevel x__)+ (Control.DeepSeq.deepseq+ (_MethodOptions'features x__)+ (Control.DeepSeq.deepseq+ (_MethodOptions'uninterpretedOption x__) ()))))+data MethodOptions'IdempotencyLevel+ = MethodOptions'IDEMPOTENCY_UNKNOWN |+ MethodOptions'NO_SIDE_EFFECTS |+ MethodOptions'IDEMPOTENT+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum MethodOptions'IdempotencyLevel where+ maybeToEnum 0 = Prelude.Just MethodOptions'IDEMPOTENCY_UNKNOWN+ maybeToEnum 1 = Prelude.Just MethodOptions'NO_SIDE_EFFECTS+ maybeToEnum 2 = Prelude.Just MethodOptions'IDEMPOTENT+ maybeToEnum _ = Prelude.Nothing+ showEnum MethodOptions'IDEMPOTENCY_UNKNOWN = "IDEMPOTENCY_UNKNOWN"+ showEnum MethodOptions'NO_SIDE_EFFECTS = "NO_SIDE_EFFECTS"+ showEnum MethodOptions'IDEMPOTENT = "IDEMPOTENT"+ readEnum k+ | (Prelude.==) k "IDEMPOTENCY_UNKNOWN"+ = Prelude.Just MethodOptions'IDEMPOTENCY_UNKNOWN+ | (Prelude.==) k "NO_SIDE_EFFECTS"+ = Prelude.Just MethodOptions'NO_SIDE_EFFECTS+ | (Prelude.==) k "IDEMPOTENT"+ = Prelude.Just MethodOptions'IDEMPOTENT+ | Prelude.otherwise+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded MethodOptions'IdempotencyLevel where+ minBound = MethodOptions'IDEMPOTENCY_UNKNOWN+ maxBound = MethodOptions'IDEMPOTENT+instance Prelude.Enum MethodOptions'IdempotencyLevel where+ toEnum k__+ = Prelude.maybe+ (Prelude.error+ ((Prelude.++)+ "toEnum: unknown value for enum IdempotencyLevel: "+ (Prelude.show k__)))+ Prelude.id+ (Data.ProtoLens.maybeToEnum k__)+ fromEnum MethodOptions'IDEMPOTENCY_UNKNOWN = 0+ fromEnum MethodOptions'NO_SIDE_EFFECTS = 1+ fromEnum MethodOptions'IDEMPOTENT = 2+ succ MethodOptions'IDEMPOTENT+ = Prelude.error+ "MethodOptions'IdempotencyLevel.succ: bad argument MethodOptions'IDEMPOTENT. This value would be out of bounds."+ succ MethodOptions'IDEMPOTENCY_UNKNOWN+ = MethodOptions'NO_SIDE_EFFECTS+ succ MethodOptions'NO_SIDE_EFFECTS = MethodOptions'IDEMPOTENT+ pred MethodOptions'IDEMPOTENCY_UNKNOWN+ = Prelude.error+ "MethodOptions'IdempotencyLevel.pred: bad argument MethodOptions'IDEMPOTENCY_UNKNOWN. This value would be out of bounds."+ pred MethodOptions'NO_SIDE_EFFECTS+ = MethodOptions'IDEMPOTENCY_UNKNOWN+ pred MethodOptions'IDEMPOTENT = MethodOptions'NO_SIDE_EFFECTS+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault MethodOptions'IdempotencyLevel where+ fieldDefault = MethodOptions'IDEMPOTENCY_UNKNOWN+instance Control.DeepSeq.NFData MethodOptions'IdempotencyLevel where+ rnf x__ = Prelude.seq x__ ()+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' OneofDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' OneofDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' OneofDescriptorProto OneofOptions@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' OneofDescriptorProto (Prelude.Maybe OneofOptions)@ -}+data OneofDescriptorProto+ = OneofDescriptorProto'_constructor {_OneofDescriptorProto'name :: !(Prelude.Maybe Data.Text.Text),+ _OneofDescriptorProto'options :: !(Prelude.Maybe OneofOptions),+ _OneofDescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show OneofDescriptorProto where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField OneofDescriptorProto "name" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _OneofDescriptorProto'name+ (\ x__ y__ -> x__ {_OneofDescriptorProto'name = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField OneofDescriptorProto "maybe'name" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _OneofDescriptorProto'name+ (\ x__ y__ -> x__ {_OneofDescriptorProto'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField OneofDescriptorProto "options" OneofOptions where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _OneofDescriptorProto'options+ (\ x__ y__ -> x__ {_OneofDescriptorProto'options = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField OneofDescriptorProto "maybe'options" (Prelude.Maybe OneofOptions) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _OneofDescriptorProto'options+ (\ x__ y__ -> x__ {_OneofDescriptorProto'options = y__}))+ Prelude.id+instance Data.ProtoLens.Message OneofDescriptorProto where+ messageName _+ = Data.Text.pack "google.protobuf.OneofDescriptorProto"+ packedMessageDescriptor _+ = "\n\+ \\DC4OneofDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC27\n\+ \\aoptions\CAN\STX \SOH(\v2\GS.google.protobuf.OneofOptionsR\aoptions"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'name")) ::+ Data.ProtoLens.FieldDescriptor OneofDescriptorProto+ options__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "options"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor OneofOptions)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'options")) ::+ Data.ProtoLens.FieldDescriptor OneofDescriptorProto+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, name__field_descriptor),+ (Data.ProtoLens.Tag 2, options__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _OneofDescriptorProto'_unknownFields+ (\ x__ y__ -> x__ {_OneofDescriptorProto'_unknownFields = y__})+ defMessage+ = OneofDescriptorProto'_constructor+ {_OneofDescriptorProto'name = Prelude.Nothing,+ _OneofDescriptorProto'options = Prelude.Nothing,+ _OneofDescriptorProto'_unknownFields = []}+ parseMessage+ = let+ loop ::+ OneofDescriptorProto+ -> Data.ProtoLens.Encoding.Bytes.Parser OneofDescriptorProto+ loop x+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+ 18+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "options"+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"options") y x)+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage) "OneofDescriptorProto"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))+instance Control.DeepSeq.NFData OneofDescriptorProto where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_OneofDescriptorProto'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_OneofDescriptorProto'name x__)+ (Control.DeepSeq.deepseq (_OneofDescriptorProto'options x__) ()))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.features' @:: Lens' OneofOptions FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'features' @:: Lens' OneofOptions (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' OneofOptions [UninterpretedOption]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' OneofOptions (Data.Vector.Vector UninterpretedOption)@ -}+data OneofOptions+ = OneofOptions'_constructor {_OneofOptions'features :: !(Prelude.Maybe FeatureSet),+ _OneofOptions'uninterpretedOption :: !(Data.Vector.Vector UninterpretedOption),+ _OneofOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show OneofOptions where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField OneofOptions "features" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _OneofOptions'features+ (\ x__ y__ -> x__ {_OneofOptions'features = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField OneofOptions "maybe'features" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _OneofOptions'features+ (\ x__ y__ -> x__ {_OneofOptions'features = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField OneofOptions "uninterpretedOption" [UninterpretedOption] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _OneofOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_OneofOptions'uninterpretedOption = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField OneofOptions "vec'uninterpretedOption" (Data.Vector.Vector UninterpretedOption) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _OneofOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_OneofOptions'uninterpretedOption = y__}))+ Prelude.id+instance Data.ProtoLens.Message OneofOptions where+ messageName _ = Data.Text.pack "google.protobuf.OneofOptions"+ packedMessageDescriptor _+ = "\n\+ \\fOneofOptions\DC27\n\+ \\bfeatures\CAN\SOH \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STX"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ features__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'features")) ::+ Data.ProtoLens.FieldDescriptor OneofOptions+ uninterpretedOption__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "uninterpreted_option"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"uninterpretedOption")) ::+ Data.ProtoLens.FieldDescriptor OneofOptions+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, features__field_descriptor),+ (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _OneofOptions'_unknownFields+ (\ x__ y__ -> x__ {_OneofOptions'_unknownFields = y__})+ defMessage+ = OneofOptions'_constructor+ {_OneofOptions'features = Prelude.Nothing,+ _OneofOptions'uninterpretedOption = Data.Vector.Generic.empty,+ _OneofOptions'_unknownFields = []}+ parseMessage+ = let+ loop ::+ OneofOptions+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption+ -> Data.ProtoLens.Encoding.Bytes.Parser OneofOptions+ loop x mutable'uninterpretedOption+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'uninterpretedOption)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption")+ frozen'uninterpretedOption+ x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "features"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"features") y x)+ mutable'uninterpretedOption+ 7994+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "uninterpreted_option"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'uninterpretedOption y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'uninterpretedOption+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'uninterpretedOption)+ "OneofOptions"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'features") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 7994)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))+instance Control.DeepSeq.NFData OneofOptions where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_OneofOptions'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_OneofOptions'features x__)+ (Control.DeepSeq.deepseq+ (_OneofOptions'uninterpretedOption x__) ()))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' ServiceDescriptorProto Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' ServiceDescriptorProto (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.method' @:: Lens' ServiceDescriptorProto [MethodDescriptorProto]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'method' @:: Lens' ServiceDescriptorProto (Data.Vector.Vector MethodDescriptorProto)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' ServiceDescriptorProto ServiceOptions@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' ServiceDescriptorProto (Prelude.Maybe ServiceOptions)@ -}+data ServiceDescriptorProto+ = ServiceDescriptorProto'_constructor {_ServiceDescriptorProto'name :: !(Prelude.Maybe Data.Text.Text),+ _ServiceDescriptorProto'method :: !(Data.Vector.Vector MethodDescriptorProto),+ _ServiceDescriptorProto'options :: !(Prelude.Maybe ServiceOptions),+ _ServiceDescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show ServiceDescriptorProto where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto "name" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceDescriptorProto'name+ (\ x__ y__ -> x__ {_ServiceDescriptorProto'name = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto "maybe'name" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceDescriptorProto'name+ (\ x__ y__ -> x__ {_ServiceDescriptorProto'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto "method" [MethodDescriptorProto] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceDescriptorProto'method+ (\ x__ y__ -> x__ {_ServiceDescriptorProto'method = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto "vec'method" (Data.Vector.Vector MethodDescriptorProto) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceDescriptorProto'method+ (\ x__ y__ -> x__ {_ServiceDescriptorProto'method = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto "options" ServiceOptions where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceDescriptorProto'options+ (\ x__ y__ -> x__ {_ServiceDescriptorProto'options = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto "maybe'options" (Prelude.Maybe ServiceOptions) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceDescriptorProto'options+ (\ x__ y__ -> x__ {_ServiceDescriptorProto'options = y__}))+ Prelude.id+instance Data.ProtoLens.Message ServiceDescriptorProto where+ messageName _+ = Data.Text.pack "google.protobuf.ServiceDescriptorProto"+ packedMessageDescriptor _+ = "\n\+ \\SYNServiceDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2>\n\+ \\ACKmethod\CAN\STX \ETX(\v2&.google.protobuf.MethodDescriptorProtoR\ACKmethod\DC29\n\+ \\aoptions\CAN\ETX \SOH(\v2\US.google.protobuf.ServiceOptionsR\aoptions"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'name")) ::+ Data.ProtoLens.FieldDescriptor ServiceDescriptorProto+ method__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "method"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor MethodDescriptorProto)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"method")) ::+ Data.ProtoLens.FieldDescriptor ServiceDescriptorProto+ options__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "options"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor ServiceOptions)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'options")) ::+ Data.ProtoLens.FieldDescriptor ServiceDescriptorProto+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, name__field_descriptor),+ (Data.ProtoLens.Tag 2, method__field_descriptor),+ (Data.ProtoLens.Tag 3, options__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _ServiceDescriptorProto'_unknownFields+ (\ x__ y__ -> x__ {_ServiceDescriptorProto'_unknownFields = y__})+ defMessage+ = ServiceDescriptorProto'_constructor+ {_ServiceDescriptorProto'name = Prelude.Nothing,+ _ServiceDescriptorProto'method = Data.Vector.Generic.empty,+ _ServiceDescriptorProto'options = Prelude.Nothing,+ _ServiceDescriptorProto'_unknownFields = []}+ parseMessage+ = let+ loop ::+ ServiceDescriptorProto+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld MethodDescriptorProto+ -> Data.ProtoLens.Encoding.Bytes.Parser ServiceDescriptorProto+ loop x mutable'method+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'method <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'method)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'method") frozen'method x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+ mutable'method+ 18+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "method"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'method y)+ loop x v+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "options"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"options") y x)+ mutable'method+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'method+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'method <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'method)+ "ServiceDescriptorProto"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'method") _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData ServiceDescriptorProto where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_ServiceDescriptorProto'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_ServiceDescriptorProto'name x__)+ (Control.DeepSeq.deepseq+ (_ServiceDescriptorProto'method x__)+ (Control.DeepSeq.deepseq+ (_ServiceDescriptorProto'options x__) ())))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.features' @:: Lens' ServiceOptions FeatureSet@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'features' @:: Lens' ServiceOptions (Prelude.Maybe FeatureSet)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' ServiceOptions Prelude.Bool@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' ServiceOptions (Prelude.Maybe Prelude.Bool)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ServiceOptions [UninterpretedOption]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' ServiceOptions (Data.Vector.Vector UninterpretedOption)@ -}+data ServiceOptions+ = ServiceOptions'_constructor {_ServiceOptions'features :: !(Prelude.Maybe FeatureSet),+ _ServiceOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+ _ServiceOptions'uninterpretedOption :: !(Data.Vector.Vector UninterpretedOption),+ _ServiceOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show ServiceOptions where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField ServiceOptions "features" FeatureSet where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceOptions'features+ (\ x__ y__ -> x__ {_ServiceOptions'features = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField ServiceOptions "maybe'features" (Prelude.Maybe FeatureSet) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceOptions'features+ (\ x__ y__ -> x__ {_ServiceOptions'features = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ServiceOptions "deprecated" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceOptions'deprecated+ (\ x__ y__ -> x__ {_ServiceOptions'deprecated = y__}))+ (Data.ProtoLens.maybeLens Prelude.False)+instance Data.ProtoLens.Field.HasField ServiceOptions "maybe'deprecated" (Prelude.Maybe Prelude.Bool) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceOptions'deprecated+ (\ x__ y__ -> x__ {_ServiceOptions'deprecated = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField ServiceOptions "uninterpretedOption" [UninterpretedOption] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_ServiceOptions'uninterpretedOption = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField ServiceOptions "vec'uninterpretedOption" (Data.Vector.Vector UninterpretedOption) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _ServiceOptions'uninterpretedOption+ (\ x__ y__ -> x__ {_ServiceOptions'uninterpretedOption = y__}))+ Prelude.id+instance Data.ProtoLens.Message ServiceOptions where+ messageName _ = Data.Text.pack "google.protobuf.ServiceOptions"+ packedMessageDescriptor _+ = "\n\+ \\SOServiceOptions\DC27\n\+ \\bfeatures\CAN\" \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2%\n\+ \\n\+ \deprecated\CAN! \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STX"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ features__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "features"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor FeatureSet)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'features")) ::+ Data.ProtoLens.FieldDescriptor ServiceOptions+ deprecated__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "deprecated"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'deprecated")) ::+ Data.ProtoLens.FieldDescriptor ServiceOptions+ uninterpretedOption__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "uninterpreted_option"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"uninterpretedOption")) ::+ Data.ProtoLens.FieldDescriptor ServiceOptions+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 34, features__field_descriptor),+ (Data.ProtoLens.Tag 33, deprecated__field_descriptor),+ (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _ServiceOptions'_unknownFields+ (\ x__ y__ -> x__ {_ServiceOptions'_unknownFields = y__})+ defMessage+ = ServiceOptions'_constructor+ {_ServiceOptions'features = Prelude.Nothing,+ _ServiceOptions'deprecated = Prelude.Nothing,+ _ServiceOptions'uninterpretedOption = Data.Vector.Generic.empty,+ _ServiceOptions'_unknownFields = []}+ parseMessage+ = let+ loop ::+ ServiceOptions+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption+ -> Data.ProtoLens.Encoding.Bytes.Parser ServiceOptions+ loop x mutable'uninterpretedOption+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'uninterpretedOption)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption")+ frozen'uninterpretedOption+ x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 274+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+ "features"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"features") y x)+ mutable'uninterpretedOption+ 264+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "deprecated"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"deprecated") y x)+ mutable'uninterpretedOption+ 7994+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "uninterpreted_option"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'uninterpretedOption y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'uninterpretedOption+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'uninterpretedOption)+ "ServiceOptions"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (case+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'features") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 274)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'deprecated") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 264)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 7994)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'uninterpretedOption") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData ServiceOptions where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_ServiceOptions'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_ServiceOptions'features x__)+ (Control.DeepSeq.deepseq+ (_ServiceOptions'deprecated x__)+ (Control.DeepSeq.deepseq+ (_ServiceOptions'uninterpretedOption x__) ())))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.location' @:: Lens' SourceCodeInfo [SourceCodeInfo'Location]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'location' @:: Lens' SourceCodeInfo (Data.Vector.Vector SourceCodeInfo'Location)@ -}+data SourceCodeInfo+ = SourceCodeInfo'_constructor {_SourceCodeInfo'location :: !(Data.Vector.Vector SourceCodeInfo'Location),+ _SourceCodeInfo'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show SourceCodeInfo where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField SourceCodeInfo "location" [SourceCodeInfo'Location] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'location+ (\ x__ y__ -> x__ {_SourceCodeInfo'location = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField SourceCodeInfo "vec'location" (Data.Vector.Vector SourceCodeInfo'Location) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'location+ (\ x__ y__ -> x__ {_SourceCodeInfo'location = y__}))+ Prelude.id+instance Data.ProtoLens.Message SourceCodeInfo where+ messageName _ = Data.Text.pack "google.protobuf.SourceCodeInfo"+ packedMessageDescriptor _+ = "\n\+ \\SOSourceCodeInfo\DC2D\n\+ \\blocation\CAN\SOH \ETX(\v2(.google.protobuf.SourceCodeInfo.LocationR\blocation\SUB\206\SOH\n\+ \\bLocation\DC2\SYN\n\+ \\EOTpath\CAN\SOH \ETX(\ENQR\EOTpathB\STX\DLE\SOH\DC2\SYN\n\+ \\EOTspan\CAN\STX \ETX(\ENQR\EOTspanB\STX\DLE\SOH\DC2)\n\+ \\DLEleading_comments\CAN\ETX \SOH(\tR\SIleadingComments\DC2+\n\+ \\DC1trailing_comments\CAN\EOT \SOH(\tR\DLEtrailingComments\DC2:\n\+ \\EMleading_detached_comments\CAN\ACK \ETX(\tR\ETBleadingDetachedComments"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ location__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "location"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo'Location)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"location")) ::+ Data.ProtoLens.FieldDescriptor SourceCodeInfo+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, location__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _SourceCodeInfo'_unknownFields+ (\ x__ y__ -> x__ {_SourceCodeInfo'_unknownFields = y__})+ defMessage+ = SourceCodeInfo'_constructor+ {_SourceCodeInfo'location = Data.Vector.Generic.empty,+ _SourceCodeInfo'_unknownFields = []}+ parseMessage+ = let+ loop ::+ SourceCodeInfo+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld SourceCodeInfo'Location+ -> Data.ProtoLens.Encoding.Bytes.Parser SourceCodeInfo+ loop x mutable'location+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'location <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'location)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'location") frozen'location x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "location"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'location y)+ loop x v+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'location+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'location <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'location)+ "SourceCodeInfo"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'location") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))+instance Control.DeepSeq.NFData SourceCodeInfo where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_SourceCodeInfo'_unknownFields x__)+ (Control.DeepSeq.deepseq (_SourceCodeInfo'location x__) ())+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'path' @:: Lens' SourceCodeInfo'Location (Data.Vector.Unboxed.Vector Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.span' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'span' @:: Lens' SourceCodeInfo'Location (Data.Vector.Unboxed.Vector Data.Int.Int32)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.leadingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'leadingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.trailingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'trailingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.leadingDetachedComments' @:: Lens' SourceCodeInfo'Location [Data.Text.Text]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'leadingDetachedComments' @:: Lens' SourceCodeInfo'Location (Data.Vector.Vector Data.Text.Text)@ -}+data SourceCodeInfo'Location+ = SourceCodeInfo'Location'_constructor {_SourceCodeInfo'Location'path :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),+ _SourceCodeInfo'Location'span :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),+ _SourceCodeInfo'Location'leadingComments :: !(Prelude.Maybe Data.Text.Text),+ _SourceCodeInfo'Location'trailingComments :: !(Prelude.Maybe Data.Text.Text),+ _SourceCodeInfo'Location'leadingDetachedComments :: !(Data.Vector.Vector Data.Text.Text),+ _SourceCodeInfo'Location'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show SourceCodeInfo'Location where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "path" [Data.Int.Int32] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'path+ (\ x__ y__ -> x__ {_SourceCodeInfo'Location'path = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "vec'path" (Data.Vector.Unboxed.Vector Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'path+ (\ x__ y__ -> x__ {_SourceCodeInfo'Location'path = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "span" [Data.Int.Int32] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'span+ (\ x__ y__ -> x__ {_SourceCodeInfo'Location'span = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "vec'span" (Data.Vector.Unboxed.Vector Data.Int.Int32) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'span+ (\ x__ y__ -> x__ {_SourceCodeInfo'Location'span = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "leadingComments" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'leadingComments+ (\ x__ y__+ -> x__ {_SourceCodeInfo'Location'leadingComments = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "maybe'leadingComments" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'leadingComments+ (\ x__ y__+ -> x__ {_SourceCodeInfo'Location'leadingComments = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "trailingComments" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'trailingComments+ (\ x__ y__+ -> x__ {_SourceCodeInfo'Location'trailingComments = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "maybe'trailingComments" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'trailingComments+ (\ x__ y__+ -> x__ {_SourceCodeInfo'Location'trailingComments = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "leadingDetachedComments" [Data.Text.Text] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'leadingDetachedComments+ (\ x__ y__+ -> x__ {_SourceCodeInfo'Location'leadingDetachedComments = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location "vec'leadingDetachedComments" (Data.Vector.Vector Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'leadingDetachedComments+ (\ x__ y__+ -> x__ {_SourceCodeInfo'Location'leadingDetachedComments = y__}))+ Prelude.id+instance Data.ProtoLens.Message SourceCodeInfo'Location where+ messageName _+ = Data.Text.pack "google.protobuf.SourceCodeInfo.Location"+ packedMessageDescriptor _+ = "\n\+ \\bLocation\DC2\SYN\n\+ \\EOTpath\CAN\SOH \ETX(\ENQR\EOTpathB\STX\DLE\SOH\DC2\SYN\n\+ \\EOTspan\CAN\STX \ETX(\ENQR\EOTspanB\STX\DLE\SOH\DC2)\n\+ \\DLEleading_comments\CAN\ETX \SOH(\tR\SIleadingComments\DC2+\n\+ \\DC1trailing_comments\CAN\EOT \SOH(\tR\DLEtrailingComments\DC2:\n\+ \\EMleading_detached_comments\CAN\ACK \ETX(\tR\ETBleadingDetachedComments"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ path__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "path"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Packed (Data.ProtoLens.Field.field @"path")) ::+ Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+ span__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "span"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Packed (Data.ProtoLens.Field.field @"span")) ::+ Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+ leadingComments__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "leading_comments"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'leadingComments")) ::+ Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+ trailingComments__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "trailing_comments"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'trailingComments")) ::+ Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+ leadingDetachedComments__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "leading_detached_comments"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked+ (Data.ProtoLens.Field.field @"leadingDetachedComments")) ::+ Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, path__field_descriptor),+ (Data.ProtoLens.Tag 2, span__field_descriptor),+ (Data.ProtoLens.Tag 3, leadingComments__field_descriptor),+ (Data.ProtoLens.Tag 4, trailingComments__field_descriptor),+ (Data.ProtoLens.Tag 6, leadingDetachedComments__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _SourceCodeInfo'Location'_unknownFields+ (\ x__ y__ -> x__ {_SourceCodeInfo'Location'_unknownFields = y__})+ defMessage+ = SourceCodeInfo'Location'_constructor+ {_SourceCodeInfo'Location'path = Data.Vector.Generic.empty,+ _SourceCodeInfo'Location'span = Data.Vector.Generic.empty,+ _SourceCodeInfo'Location'leadingComments = Prelude.Nothing,+ _SourceCodeInfo'Location'trailingComments = Prelude.Nothing,+ _SourceCodeInfo'Location'leadingDetachedComments = Data.Vector.Generic.empty,+ _SourceCodeInfo'Location'_unknownFields = []}+ parseMessage+ = let+ loop ::+ SourceCodeInfo'Location+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32+ -> Data.ProtoLens.Encoding.Bytes.Parser SourceCodeInfo'Location+ loop x mutable'leadingDetachedComments mutable'path mutable'span+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'leadingDetachedComments <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze+ mutable'leadingDetachedComments)+ frozen'path <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'path)+ frozen'span <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'span)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'leadingDetachedComments")+ frozen'leadingDetachedComments+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'path")+ frozen'path+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'span") frozen'span x))))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 8 -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "path"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'path y)+ loop x mutable'leadingDetachedComments v mutable'span+ 10+ -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ ((let+ ploop qs+ = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd+ if packedEnd then+ Prelude.return qs+ else+ do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "path"+ qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ qs q)+ ploop qs'+ in ploop)+ mutable'path)+ loop x mutable'leadingDetachedComments y mutable'span+ 16+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "span"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'span y)+ loop x mutable'leadingDetachedComments mutable'path v+ 18+ -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ ((let+ ploop qs+ = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd+ if packedEnd then+ Prelude.return qs+ else+ do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "span"+ qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ qs q)+ ploop qs'+ in ploop)+ mutable'span)+ loop x mutable'leadingDetachedComments mutable'path y+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "leading_comments"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"leadingComments") y x)+ mutable'leadingDetachedComments+ mutable'path+ mutable'span+ 34+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "trailing_comments"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"trailingComments") y x)+ mutable'leadingDetachedComments+ mutable'path+ mutable'span+ 50+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "leading_detached_comments"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append+ mutable'leadingDetachedComments y)+ loop x v mutable'path mutable'span+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'leadingDetachedComments+ mutable'path+ mutable'span+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'leadingDetachedComments <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'path <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ mutable'span <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop+ Data.ProtoLens.defMessage+ mutable'leadingDetachedComments+ mutable'path+ mutable'span)+ "Location"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (let+ p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'path") _x+ in+ if Data.Vector.Generic.null p then+ Data.Monoid.mempty+ else+ (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ (Data.ProtoLens.Encoding.Bytes.runBuilder+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ p))))+ ((Data.Monoid.<>)+ (let+ p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'span") _x+ in+ if Data.Vector.Generic.null p then+ Data.Monoid.mempty+ else+ (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ (Data.ProtoLens.Encoding.Bytes.runBuilder+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+ p))))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'leadingComments") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'trailingComments") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 50)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"vec'leadingDetachedComments") _x))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData SourceCodeInfo'Location where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_SourceCodeInfo'Location'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_SourceCodeInfo'Location'path x__)+ (Control.DeepSeq.deepseq+ (_SourceCodeInfo'Location'span x__)+ (Control.DeepSeq.deepseq+ (_SourceCodeInfo'Location'leadingComments x__)+ (Control.DeepSeq.deepseq+ (_SourceCodeInfo'Location'trailingComments x__)+ (Control.DeepSeq.deepseq+ (_SourceCodeInfo'Location'leadingDetachedComments x__) ())))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' UninterpretedOption [UninterpretedOption'NamePart]@+ * 'Proto.Google.Protobuf.Descriptor_Fields.vec'name' @:: Lens' UninterpretedOption (Data.Vector.Vector UninterpretedOption'NamePart)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.identifierValue' @:: Lens' UninterpretedOption Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'identifierValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.positiveIntValue' @:: Lens' UninterpretedOption Data.Word.Word64@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'positiveIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Word.Word64)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.negativeIntValue' @:: Lens' UninterpretedOption Data.Int.Int64@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'negativeIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Int.Int64)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.doubleValue' @:: Lens' UninterpretedOption Prelude.Double@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'doubleValue' @:: Lens' UninterpretedOption (Prelude.Maybe Prelude.Double)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.stringValue' @:: Lens' UninterpretedOption Data.ByteString.ByteString@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'stringValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.ByteString.ByteString)@+ * 'Proto.Google.Protobuf.Descriptor_Fields.aggregateValue' @:: Lens' UninterpretedOption Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'aggregateValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@ -}+data UninterpretedOption+ = UninterpretedOption'_constructor {_UninterpretedOption'name :: !(Data.Vector.Vector UninterpretedOption'NamePart),+ _UninterpretedOption'identifierValue :: !(Prelude.Maybe Data.Text.Text),+ _UninterpretedOption'positiveIntValue :: !(Prelude.Maybe Data.Word.Word64),+ _UninterpretedOption'negativeIntValue :: !(Prelude.Maybe Data.Int.Int64),+ _UninterpretedOption'doubleValue :: !(Prelude.Maybe Prelude.Double),+ _UninterpretedOption'stringValue :: !(Prelude.Maybe Data.ByteString.ByteString),+ _UninterpretedOption'aggregateValue :: !(Prelude.Maybe Data.Text.Text),+ _UninterpretedOption'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show UninterpretedOption where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField UninterpretedOption "name" [UninterpretedOption'NamePart] where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'name+ (\ x__ y__ -> x__ {_UninterpretedOption'name = y__}))+ (Lens.Family2.Unchecked.lens+ Data.Vector.Generic.toList+ (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField UninterpretedOption "vec'name" (Data.Vector.Vector UninterpretedOption'NamePart) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'name+ (\ x__ y__ -> x__ {_UninterpretedOption'name = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField UninterpretedOption "identifierValue" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'identifierValue+ (\ x__ y__ -> x__ {_UninterpretedOption'identifierValue = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField UninterpretedOption "maybe'identifierValue" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'identifierValue+ (\ x__ y__ -> x__ {_UninterpretedOption'identifierValue = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField UninterpretedOption "positiveIntValue" Data.Word.Word64 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'positiveIntValue+ (\ x__ y__ -> x__ {_UninterpretedOption'positiveIntValue = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField UninterpretedOption "maybe'positiveIntValue" (Prelude.Maybe Data.Word.Word64) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'positiveIntValue+ (\ x__ y__ -> x__ {_UninterpretedOption'positiveIntValue = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField UninterpretedOption "negativeIntValue" Data.Int.Int64 where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'negativeIntValue+ (\ x__ y__ -> x__ {_UninterpretedOption'negativeIntValue = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField UninterpretedOption "maybe'negativeIntValue" (Prelude.Maybe Data.Int.Int64) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'negativeIntValue+ (\ x__ y__ -> x__ {_UninterpretedOption'negativeIntValue = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField UninterpretedOption "doubleValue" Prelude.Double where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'doubleValue+ (\ x__ y__ -> x__ {_UninterpretedOption'doubleValue = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField UninterpretedOption "maybe'doubleValue" (Prelude.Maybe Prelude.Double) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'doubleValue+ (\ x__ y__ -> x__ {_UninterpretedOption'doubleValue = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField UninterpretedOption "stringValue" Data.ByteString.ByteString where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'stringValue+ (\ x__ y__ -> x__ {_UninterpretedOption'stringValue = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField UninterpretedOption "maybe'stringValue" (Prelude.Maybe Data.ByteString.ByteString) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'stringValue+ (\ x__ y__ -> x__ {_UninterpretedOption'stringValue = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField UninterpretedOption "aggregateValue" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'aggregateValue+ (\ x__ y__ -> x__ {_UninterpretedOption'aggregateValue = y__}))+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Data.ProtoLens.Field.HasField UninterpretedOption "maybe'aggregateValue" (Prelude.Maybe Data.Text.Text) where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'aggregateValue+ (\ x__ y__ -> x__ {_UninterpretedOption'aggregateValue = y__}))+ Prelude.id+instance Data.ProtoLens.Message UninterpretedOption where+ messageName _+ = Data.Text.pack "google.protobuf.UninterpretedOption"+ packedMessageDescriptor _+ = "\n\+ \\DC3UninterpretedOption\DC2A\n\+ \\EOTname\CAN\STX \ETX(\v2-.google.protobuf.UninterpretedOption.NamePartR\EOTname\DC2)\n\+ \\DLEidentifier_value\CAN\ETX \SOH(\tR\SIidentifierValue\DC2,\n\+ \\DC2positive_int_value\CAN\EOT \SOH(\EOTR\DLEpositiveIntValue\DC2,\n\+ \\DC2negative_int_value\CAN\ENQ \SOH(\ETXR\DLEnegativeIntValue\DC2!\n\+ \\fdouble_value\CAN\ACK \SOH(\SOHR\vdoubleValue\DC2!\n\+ \\fstring_value\CAN\a \SOH(\fR\vstringValue\DC2'\n\+ \\SIaggregate_value\CAN\b \SOH(\tR\SOaggregateValue\SUBJ\n\+ \\bNamePart\DC2\ESC\n\+ \\tname_part\CAN\SOH \STX(\tR\bnamePart\DC2!\n\+ \\fis_extension\CAN\STX \STX(\bR\visExtension"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ name__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name"+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+ Data.ProtoLens.FieldTypeDescriptor UninterpretedOption'NamePart)+ (Data.ProtoLens.RepeatedField+ Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"name")) ::+ Data.ProtoLens.FieldDescriptor UninterpretedOption+ identifierValue__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "identifier_value"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'identifierValue")) ::+ Data.ProtoLens.FieldDescriptor UninterpretedOption+ positiveIntValue__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "positive_int_value"+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'positiveIntValue")) ::+ Data.ProtoLens.FieldDescriptor UninterpretedOption+ negativeIntValue__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "negative_int_value"+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'negativeIntValue")) ::+ Data.ProtoLens.FieldDescriptor UninterpretedOption+ doubleValue__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "double_value"+ (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Double)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'doubleValue")) ::+ Data.ProtoLens.FieldDescriptor UninterpretedOption+ stringValue__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "string_value"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::+ Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'stringValue")) ::+ Data.ProtoLens.FieldDescriptor UninterpretedOption+ aggregateValue__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "aggregate_value"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.OptionalField+ (Data.ProtoLens.Field.field @"maybe'aggregateValue")) ::+ Data.ProtoLens.FieldDescriptor UninterpretedOption+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 2, name__field_descriptor),+ (Data.ProtoLens.Tag 3, identifierValue__field_descriptor),+ (Data.ProtoLens.Tag 4, positiveIntValue__field_descriptor),+ (Data.ProtoLens.Tag 5, negativeIntValue__field_descriptor),+ (Data.ProtoLens.Tag 6, doubleValue__field_descriptor),+ (Data.ProtoLens.Tag 7, stringValue__field_descriptor),+ (Data.ProtoLens.Tag 8, aggregateValue__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _UninterpretedOption'_unknownFields+ (\ x__ y__ -> x__ {_UninterpretedOption'_unknownFields = y__})+ defMessage+ = UninterpretedOption'_constructor+ {_UninterpretedOption'name = Data.Vector.Generic.empty,+ _UninterpretedOption'identifierValue = Prelude.Nothing,+ _UninterpretedOption'positiveIntValue = Prelude.Nothing,+ _UninterpretedOption'negativeIntValue = Prelude.Nothing,+ _UninterpretedOption'doubleValue = Prelude.Nothing,+ _UninterpretedOption'stringValue = Prelude.Nothing,+ _UninterpretedOption'aggregateValue = Prelude.Nothing,+ _UninterpretedOption'_unknownFields = []}+ parseMessage+ = let+ loop ::+ UninterpretedOption+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld UninterpretedOption'NamePart+ -> Data.ProtoLens.Encoding.Bytes.Parser UninterpretedOption+ loop x mutable'name+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do frozen'name <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'name)+ (let missing = []+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields+ (\ !t -> Prelude.reverse t)+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"vec'name") frozen'name x))+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 18+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.isolate+ (Prelude.fromIntegral len)+ Data.ProtoLens.parseMessage)+ "name"+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ (Data.ProtoLens.Encoding.Growing.append mutable'name y)+ loop x v+ 26+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "identifier_value"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"identifierValue") y x)+ mutable'name+ 32+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ Data.ProtoLens.Encoding.Bytes.getVarInt "positive_int_value"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"positiveIntValue") y x)+ mutable'name+ 40+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Prelude.fromIntegral+ Data.ProtoLens.Encoding.Bytes.getVarInt)+ "negative_int_value"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"negativeIntValue") y x)+ mutable'name+ 49+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ Data.ProtoLens.Encoding.Bytes.wordToDouble+ Data.ProtoLens.Encoding.Bytes.getFixed64)+ "double_value"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"doubleValue") y x)+ mutable'name+ 58+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getBytes+ (Prelude.fromIntegral len))+ "string_value"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"stringValue") y x)+ mutable'name+ 66+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "aggregate_value"+ loop+ (Lens.Family2.set+ (Data.ProtoLens.Field.field @"aggregateValue") y x)+ mutable'name+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ mutable'name+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do mutable'name <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+ Data.ProtoLens.Encoding.Growing.new+ loop Data.ProtoLens.defMessage mutable'name)+ "UninterpretedOption"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+ (\ _v+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.ProtoLens.encodeMessage+ _v))+ (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'name") _x))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'identifierValue") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'positiveIntValue") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)+ (Data.ProtoLens.Encoding.Bytes.putVarInt _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'negativeIntValue") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'doubleValue") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 49)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putFixed64+ Data.ProtoLens.Encoding.Bytes.doubleToWord+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'stringValue") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 58)+ ((\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ _v))+ ((Data.Monoid.<>)+ (case+ Lens.Family2.view+ (Data.ProtoLens.Field.field @"maybe'aggregateValue") _x+ of+ Prelude.Nothing -> Data.Monoid.mempty+ (Prelude.Just _v)+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 66)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral+ (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ _v))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))+instance Control.DeepSeq.NFData UninterpretedOption where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_UninterpretedOption'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_UninterpretedOption'name x__)+ (Control.DeepSeq.deepseq+ (_UninterpretedOption'identifierValue x__)+ (Control.DeepSeq.deepseq+ (_UninterpretedOption'positiveIntValue x__)+ (Control.DeepSeq.deepseq+ (_UninterpretedOption'negativeIntValue x__)+ (Control.DeepSeq.deepseq+ (_UninterpretedOption'doubleValue x__)+ (Control.DeepSeq.deepseq+ (_UninterpretedOption'stringValue x__)+ (Control.DeepSeq.deepseq+ (_UninterpretedOption'aggregateValue x__) ())))))))+{- | Fields :+ + * 'Proto.Google.Protobuf.Descriptor_Fields.namePart' @:: Lens' UninterpretedOption'NamePart Data.Text.Text@+ * 'Proto.Google.Protobuf.Descriptor_Fields.isExtension' @:: Lens' UninterpretedOption'NamePart Prelude.Bool@ -}+data UninterpretedOption'NamePart+ = UninterpretedOption'NamePart'_constructor {_UninterpretedOption'NamePart'namePart :: !Data.Text.Text,+ _UninterpretedOption'NamePart'isExtension :: !Prelude.Bool,+ _UninterpretedOption'NamePart'_unknownFields :: !Data.ProtoLens.FieldSet}+ deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show UninterpretedOption'NamePart where+ showsPrec _ __x __s+ = Prelude.showChar+ '{'+ (Prelude.showString+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField UninterpretedOption'NamePart "namePart" Data.Text.Text where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'NamePart'namePart+ (\ x__ y__ -> x__ {_UninterpretedOption'NamePart'namePart = y__}))+ Prelude.id+instance Data.ProtoLens.Field.HasField UninterpretedOption'NamePart "isExtension" Prelude.Bool where+ fieldOf _+ = (Prelude..)+ (Lens.Family2.Unchecked.lens+ _UninterpretedOption'NamePart'isExtension+ (\ x__ y__+ -> x__ {_UninterpretedOption'NamePart'isExtension = y__}))+ Prelude.id+instance Data.ProtoLens.Message UninterpretedOption'NamePart where+ messageName _+ = Data.Text.pack "google.protobuf.UninterpretedOption.NamePart"+ packedMessageDescriptor _+ = "\n\+ \\bNamePart\DC2\ESC\n\+ \\tname_part\CAN\SOH \STX(\tR\bnamePart\DC2!\n\+ \\fis_extension\CAN\STX \STX(\bR\visExtension"+ packedFileDescriptor _ = packedFileDescriptor+ fieldsByTag+ = let+ namePart__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "name_part"+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+ (Data.ProtoLens.PlainField+ Data.ProtoLens.Required+ (Data.ProtoLens.Field.field @"namePart")) ::+ Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart+ isExtension__field_descriptor+ = Data.ProtoLens.FieldDescriptor+ "is_extension"+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+ (Data.ProtoLens.PlainField+ Data.ProtoLens.Required+ (Data.ProtoLens.Field.field @"isExtension")) ::+ Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart+ in+ Data.Map.fromList+ [(Data.ProtoLens.Tag 1, namePart__field_descriptor),+ (Data.ProtoLens.Tag 2, isExtension__field_descriptor)]+ unknownFields+ = Lens.Family2.Unchecked.lens+ _UninterpretedOption'NamePart'_unknownFields+ (\ x__ y__+ -> x__ {_UninterpretedOption'NamePart'_unknownFields = y__})+ defMessage+ = UninterpretedOption'NamePart'_constructor+ {_UninterpretedOption'NamePart'namePart = Data.ProtoLens.fieldDefault,+ _UninterpretedOption'NamePart'isExtension = Data.ProtoLens.fieldDefault,+ _UninterpretedOption'NamePart'_unknownFields = []}+ parseMessage+ = let+ loop ::+ UninterpretedOption'NamePart+ -> Prelude.Bool+ -> Prelude.Bool+ -> Data.ProtoLens.Encoding.Bytes.Parser UninterpretedOption'NamePart+ loop x required'isExtension required'namePart+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+ if end then+ do (let+ missing+ = (if required'isExtension then (:) "is_extension" else Prelude.id)+ ((if required'namePart then (:) "name_part" else Prelude.id) [])+ in+ if Prelude.null missing then+ Prelude.return ()+ else+ Prelude.fail+ ((Prelude.++)+ "Missing required fields: "+ (Prelude.show (missing :: [Prelude.String]))))+ Prelude.return+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+ else+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+ case tag of+ 10+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+ Data.ProtoLens.Encoding.Bytes.getText+ (Prelude.fromIntegral len))+ "name_part"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"namePart") y x)+ required'isExtension+ Prelude.False+ 16+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+ (Prelude.fmap+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+ "is_extension"+ loop+ (Lens.Family2.set (Data.ProtoLens.Field.field @"isExtension") y x)+ Prelude.False+ required'namePart+ wire+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+ wire+ loop+ (Lens.Family2.over+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+ required'isExtension+ required'namePart+ in+ (Data.ProtoLens.Encoding.Bytes.<?>)+ (do loop Data.ProtoLens.defMessage Prelude.True Prelude.True)+ "NamePart"+ buildMessage+ = \ _x+ -> (Data.Monoid.<>)+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+ ((Prelude..)+ (\ bs+ -> (Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt+ (Prelude.fromIntegral (Data.ByteString.length bs)))+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))+ Data.Text.Encoding.encodeUtf8+ (Lens.Family2.view (Data.ProtoLens.Field.field @"namePart") _x)))+ ((Data.Monoid.<>)+ ((Data.Monoid.<>)+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+ ((Prelude..)+ Data.ProtoLens.Encoding.Bytes.putVarInt+ (\ b -> if b then 1 else 0)+ (Lens.Family2.view+ (Data.ProtoLens.Field.field @"isExtension") _x)))+ (Data.ProtoLens.Encoding.Wire.buildFieldSet+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))+instance Control.DeepSeq.NFData UninterpretedOption'NamePart where+ rnf+ = \ x__+ -> Control.DeepSeq.deepseq+ (_UninterpretedOption'NamePart'_unknownFields x__)+ (Control.DeepSeq.deepseq+ (_UninterpretedOption'NamePart'namePart x__)+ (Control.DeepSeq.deepseq+ (_UninterpretedOption'NamePart'isExtension x__) ()))+packedFileDescriptor :: Data.ByteString.ByteString+packedFileDescriptor+ = "\n\+ \ google/protobuf/descriptor.proto\DC2\SIgoogle.protobuf\"M\n\+ \\DC1FileDescriptorSet\DC28\n\+ \\EOTfile\CAN\SOH \ETX(\v2$.google.protobuf.FileDescriptorProtoR\EOTfile\"\152\ENQ\n\+ \\DC3FileDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\CAN\n\+ \\apackage\CAN\STX \SOH(\tR\apackage\DC2\RS\n\+ \\n\+ \dependency\CAN\ETX \ETX(\tR\n\+ \dependency\DC2+\n\+ \\DC1public_dependency\CAN\n\+ \ \ETX(\ENQR\DLEpublicDependency\DC2'\n\+ \\SIweak_dependency\CAN\v \ETX(\ENQR\SOweakDependency\DC2C\n\+ \\fmessage_type\CAN\EOT \ETX(\v2 .google.protobuf.DescriptorProtoR\vmessageType\DC2A\n\+ \\tenum_type\CAN\ENQ \ETX(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\DC2A\n\+ \\aservice\CAN\ACK \ETX(\v2'.google.protobuf.ServiceDescriptorProtoR\aservice\DC2C\n\+ \\textension\CAN\a \ETX(\v2%.google.protobuf.FieldDescriptorProtoR\textension\DC26\n\+ \\aoptions\CAN\b \SOH(\v2\FS.google.protobuf.FileOptionsR\aoptions\DC2I\n\+ \\DLEsource_code_info\CAN\t \SOH(\v2\US.google.protobuf.SourceCodeInfoR\SOsourceCodeInfo\DC2\SYN\n\+ \\ACKsyntax\CAN\f \SOH(\tR\ACKsyntax\DC22\n\+ \\aedition\CAN\SO \SOH(\SO2\CAN.google.protobuf.EditionR\aedition\"\185\ACK\n\+ \\SIDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2;\n\+ \\ENQfield\CAN\STX \ETX(\v2%.google.protobuf.FieldDescriptorProtoR\ENQfield\DC2C\n\+ \\textension\CAN\ACK \ETX(\v2%.google.protobuf.FieldDescriptorProtoR\textension\DC2A\n\+ \\vnested_type\CAN\ETX \ETX(\v2 .google.protobuf.DescriptorProtoR\n\+ \nestedType\DC2A\n\+ \\tenum_type\CAN\EOT \ETX(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\DC2X\n\+ \\SIextension_range\CAN\ENQ \ETX(\v2/.google.protobuf.DescriptorProto.ExtensionRangeR\SOextensionRange\DC2D\n\+ \\n\+ \oneof_decl\CAN\b \ETX(\v2%.google.protobuf.OneofDescriptorProtoR\toneofDecl\DC29\n\+ \\aoptions\CAN\a \SOH(\v2\US.google.protobuf.MessageOptionsR\aoptions\DC2U\n\+ \\SOreserved_range\CAN\t \ETX(\v2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\DC2#\n\+ \\rreserved_name\CAN\n\+ \ \ETX(\tR\freservedName\SUBz\n\+ \\SOExtensionRange\DC2\DC4\n\+ \\ENQstart\CAN\SOH \SOH(\ENQR\ENQstart\DC2\DLE\n\+ \\ETXend\CAN\STX \SOH(\ENQR\ETXend\DC2@\n\+ \\aoptions\CAN\ETX \SOH(\v2&.google.protobuf.ExtensionRangeOptionsR\aoptions\SUB7\n\+ \\rReservedRange\DC2\DC4\n\+ \\ENQstart\CAN\SOH \SOH(\ENQR\ENQstart\DC2\DLE\n\+ \\ETXend\CAN\STX \SOH(\ENQR\ETXend\"\204\EOT\n\+ \\NAKExtensionRangeOptions\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption\DC2Y\n\+ \\vdeclaration\CAN\STX \ETX(\v22.google.protobuf.ExtensionRangeOptions.DeclarationR\vdeclarationB\ETX\136\SOH\STX\DC27\n\+ \\bfeatures\CAN2 \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2m\n\+ \\fverification\CAN\ETX \SOH(\SO28.google.protobuf.ExtensionRangeOptions.VerificationState:\n\+ \UNVERIFIEDR\fverificationB\ETX\136\SOH\STX\SUB\148\SOH\n\+ \\vDeclaration\DC2\SYN\n\+ \\ACKnumber\CAN\SOH \SOH(\ENQR\ACKnumber\DC2\ESC\n\+ \\tfull_name\CAN\STX \SOH(\tR\bfullName\DC2\DC2\n\+ \\EOTtype\CAN\ETX \SOH(\tR\EOTtype\DC2\SUB\n\+ \\breserved\CAN\ENQ \SOH(\bR\breserved\DC2\SUB\n\+ \\brepeated\CAN\ACK \SOH(\bR\brepeatedJ\EOT\b\EOT\DLE\ENQ\"4\n\+ \\DC1VerificationState\DC2\SI\n\+ \\vDECLARATION\DLE\NUL\DC2\SO\n\+ \\n\+ \UNVERIFIED\DLE\SOH*\t\b\232\a\DLE\128\128\128\128\STX\"\193\ACK\n\+ \\DC4FieldDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\SYN\n\+ \\ACKnumber\CAN\ETX \SOH(\ENQR\ACKnumber\DC2A\n\+ \\ENQlabel\CAN\EOT \SOH(\SO2+.google.protobuf.FieldDescriptorProto.LabelR\ENQlabel\DC2>\n\+ \\EOTtype\CAN\ENQ \SOH(\SO2*.google.protobuf.FieldDescriptorProto.TypeR\EOTtype\DC2\ESC\n\+ \\ttype_name\CAN\ACK \SOH(\tR\btypeName\DC2\SUB\n\+ \\bextendee\CAN\STX \SOH(\tR\bextendee\DC2#\n\+ \\rdefault_value\CAN\a \SOH(\tR\fdefaultValue\DC2\US\n\+ \\voneof_index\CAN\t \SOH(\ENQR\n\+ \oneofIndex\DC2\ESC\n\+ \\tjson_name\CAN\n\+ \ \SOH(\tR\bjsonName\DC27\n\+ \\aoptions\CAN\b \SOH(\v2\GS.google.protobuf.FieldOptionsR\aoptions\DC2'\n\+ \\SIproto3_optional\CAN\DC1 \SOH(\bR\SOproto3Optional\"\182\STX\n\+ \\EOTType\DC2\SI\n\+ \\vTYPE_DOUBLE\DLE\SOH\DC2\SO\n\+ \\n\+ \TYPE_FLOAT\DLE\STX\DC2\SO\n\+ \\n\+ \TYPE_INT64\DLE\ETX\DC2\SI\n\+ \\vTYPE_UINT64\DLE\EOT\DC2\SO\n\+ \\n\+ \TYPE_INT32\DLE\ENQ\DC2\DLE\n\+ \\fTYPE_FIXED64\DLE\ACK\DC2\DLE\n\+ \\fTYPE_FIXED32\DLE\a\DC2\r\n\+ \\tTYPE_BOOL\DLE\b\DC2\SI\n\+ \\vTYPE_STRING\DLE\t\DC2\SO\n\+ \\n\+ \TYPE_GROUP\DLE\n\+ \\DC2\DLE\n\+ \\fTYPE_MESSAGE\DLE\v\DC2\SO\n\+ \\n\+ \TYPE_BYTES\DLE\f\DC2\SI\n\+ \\vTYPE_UINT32\DLE\r\DC2\r\n\+ \\tTYPE_ENUM\DLE\SO\DC2\DC1\n\+ \\rTYPE_SFIXED32\DLE\SI\DC2\DC1\n\+ \\rTYPE_SFIXED64\DLE\DLE\DC2\SI\n\+ \\vTYPE_SINT32\DLE\DC1\DC2\SI\n\+ \\vTYPE_SINT64\DLE\DC2\"C\n\+ \\ENQLabel\DC2\DC2\n\+ \\SOLABEL_OPTIONAL\DLE\SOH\DC2\DC2\n\+ \\SOLABEL_REPEATED\DLE\ETX\DC2\DC2\n\+ \\SOLABEL_REQUIRED\DLE\STX\"c\n\+ \\DC4OneofDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC27\n\+ \\aoptions\CAN\STX \SOH(\v2\GS.google.protobuf.OneofOptionsR\aoptions\"\227\STX\n\+ \\DC3EnumDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2?\n\+ \\ENQvalue\CAN\STX \ETX(\v2).google.protobuf.EnumValueDescriptorProtoR\ENQvalue\DC26\n\+ \\aoptions\CAN\ETX \SOH(\v2\FS.google.protobuf.EnumOptionsR\aoptions\DC2]\n\+ \\SOreserved_range\CAN\EOT \ETX(\v26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\DC2#\n\+ \\rreserved_name\CAN\ENQ \ETX(\tR\freservedName\SUB;\n\+ \\DC1EnumReservedRange\DC2\DC4\n\+ \\ENQstart\CAN\SOH \SOH(\ENQR\ENQstart\DC2\DLE\n\+ \\ETXend\CAN\STX \SOH(\ENQR\ETXend\"\131\SOH\n\+ \\CANEnumValueDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\SYN\n\+ \\ACKnumber\CAN\STX \SOH(\ENQR\ACKnumber\DC2;\n\+ \\aoptions\CAN\ETX \SOH(\v2!.google.protobuf.EnumValueOptionsR\aoptions\"\167\SOH\n\+ \\SYNServiceDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2>\n\+ \\ACKmethod\CAN\STX \ETX(\v2&.google.protobuf.MethodDescriptorProtoR\ACKmethod\DC29\n\+ \\aoptions\CAN\ETX \SOH(\v2\US.google.protobuf.ServiceOptionsR\aoptions\"\137\STX\n\+ \\NAKMethodDescriptorProto\DC2\DC2\n\+ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\GS\n\+ \\n\+ \input_type\CAN\STX \SOH(\tR\tinputType\DC2\US\n\+ \\voutput_type\CAN\ETX \SOH(\tR\n\+ \outputType\DC28\n\+ \\aoptions\CAN\EOT \SOH(\v2\RS.google.protobuf.MethodOptionsR\aoptions\DC20\n\+ \\DLEclient_streaming\CAN\ENQ \SOH(\b:\ENQfalseR\SIclientStreaming\DC20\n\+ \\DLEserver_streaming\CAN\ACK \SOH(\b:\ENQfalseR\SIserverStreaming\"\173\t\n\+ \\vFileOptions\DC2!\n\+ \\fjava_package\CAN\SOH \SOH(\tR\vjavaPackage\DC20\n\+ \\DC4java_outer_classname\CAN\b \SOH(\tR\DC2javaOuterClassname\DC25\n\+ \\DC3java_multiple_files\CAN\n\+ \ \SOH(\b:\ENQfalseR\DC1javaMultipleFiles\DC2D\n\+ \\GSjava_generate_equals_and_hash\CAN\DC4 \SOH(\bR\EMjavaGenerateEqualsAndHashB\STX\CAN\SOH\DC2:\n\+ \\SYNjava_string_check_utf8\CAN\ESC \SOH(\b:\ENQfalseR\DC3javaStringCheckUtf8\DC2S\n\+ \\foptimize_for\CAN\t \SOH(\SO2).google.protobuf.FileOptions.OptimizeMode:\ENQSPEEDR\voptimizeFor\DC2\GS\n\+ \\n\+ \go_package\CAN\v \SOH(\tR\tgoPackage\DC25\n\+ \\DC3cc_generic_services\CAN\DLE \SOH(\b:\ENQfalseR\DC1ccGenericServices\DC29\n\+ \\NAKjava_generic_services\CAN\DC1 \SOH(\b:\ENQfalseR\DC3javaGenericServices\DC25\n\+ \\DC3py_generic_services\CAN\DC2 \SOH(\b:\ENQfalseR\DC1pyGenericServices\DC2%\n\+ \\n\+ \deprecated\CAN\ETB \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2.\n\+ \\DLEcc_enable_arenas\CAN\US \SOH(\b:\EOTtrueR\SOccEnableArenas\DC2*\n\+ \\DC1objc_class_prefix\CAN$ \SOH(\tR\SIobjcClassPrefix\DC2)\n\+ \\DLEcsharp_namespace\CAN% \SOH(\tR\SIcsharpNamespace\DC2!\n\+ \\fswift_prefix\CAN' \SOH(\tR\vswiftPrefix\DC2(\n\+ \\DLEphp_class_prefix\CAN( \SOH(\tR\SOphpClassPrefix\DC2#\n\+ \\rphp_namespace\CAN) \SOH(\tR\fphpNamespace\DC24\n\+ \\SYNphp_metadata_namespace\CAN, \SOH(\tR\DC4phpMetadataNamespace\DC2!\n\+ \\fruby_package\CAN- \SOH(\tR\vrubyPackage\DC27\n\+ \\bfeatures\CAN2 \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption\":\n\+ \\fOptimizeMode\DC2\t\n\+ \\ENQSPEED\DLE\SOH\DC2\r\n\+ \\tCODE_SIZE\DLE\STX\DC2\DLE\n\+ \\fLITE_RUNTIME\DLE\ETX*\t\b\232\a\DLE\128\128\128\128\STXJ\EOT\b*\DLE+J\EOT\b&\DLE'R\DC4php_generic_services\"\244\ETX\n\+ \\SOMessageOptions\DC2<\n\+ \\ETBmessage_set_wire_format\CAN\SOH \SOH(\b:\ENQfalseR\DC4messageSetWireFormat\DC2L\n\+ \\USno_standard_descriptor_accessor\CAN\STX \SOH(\b:\ENQfalseR\FSnoStandardDescriptorAccessor\DC2%\n\+ \\n\+ \deprecated\CAN\ETX \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2\ESC\n\+ \\tmap_entry\CAN\a \SOH(\bR\bmapEntry\DC2V\n\+ \&deprecated_legacy_json_field_conflicts\CAN\v \SOH(\bR\"deprecatedLegacyJsonFieldConflictsB\STX\CAN\SOH\DC27\n\+ \\bfeatures\CAN\f \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STXJ\EOT\b\EOT\DLE\ENQJ\EOT\b\ENQ\DLE\ACKJ\EOT\b\ACK\DLE\aJ\EOT\b\b\DLE\tJ\EOT\b\t\DLE\n\+ \\"\157\r\n\+ \\fFieldOptions\DC2A\n\+ \\ENQctype\CAN\SOH \SOH(\SO2#.google.protobuf.FieldOptions.CType:\ACKSTRINGR\ENQctype\DC2\SYN\n\+ \\ACKpacked\CAN\STX \SOH(\bR\ACKpacked\DC2G\n\+ \\ACKjstype\CAN\ACK \SOH(\SO2$.google.protobuf.FieldOptions.JSType:\tJS_NORMALR\ACKjstype\DC2\EM\n\+ \\EOTlazy\CAN\ENQ \SOH(\b:\ENQfalseR\EOTlazy\DC2.\n\+ \\SIunverified_lazy\CAN\SI \SOH(\b:\ENQfalseR\SOunverifiedLazy\DC2%\n\+ \\n\+ \deprecated\CAN\ETX \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2\EM\n\+ \\EOTweak\CAN\n\+ \ \SOH(\b:\ENQfalseR\EOTweak\DC2(\n\+ \\fdebug_redact\CAN\DLE \SOH(\b:\ENQfalseR\vdebugRedact\DC2K\n\+ \\tretention\CAN\DC1 \SOH(\SO2-.google.protobuf.FieldOptions.OptionRetentionR\tretention\DC2H\n\+ \\atargets\CAN\DC3 \ETX(\SO2..google.protobuf.FieldOptions.OptionTargetTypeR\atargets\DC2W\n\+ \\DLEedition_defaults\CAN\DC4 \ETX(\v2,.google.protobuf.FieldOptions.EditionDefaultR\SIeditionDefaults\DC27\n\+ \\bfeatures\CAN\NAK \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2U\n\+ \\SIfeature_support\CAN\SYN \SOH(\v2,.google.protobuf.FieldOptions.FeatureSupportR\SOfeatureSupport\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption\SUBZ\n\+ \\SOEditionDefault\DC22\n\+ \\aedition\CAN\ETX \SOH(\SO2\CAN.google.protobuf.EditionR\aedition\DC2\DC4\n\+ \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue\SUB\150\STX\n\+ \\SOFeatureSupport\DC2G\n\+ \\DC2edition_introduced\CAN\SOH \SOH(\SO2\CAN.google.protobuf.EditionR\DC1editionIntroduced\DC2G\n\+ \\DC2edition_deprecated\CAN\STX \SOH(\SO2\CAN.google.protobuf.EditionR\DC1editionDeprecated\DC2/\n\+ \\DC3deprecation_warning\CAN\ETX \SOH(\tR\DC2deprecationWarning\DC2A\n\+ \\SIedition_removed\CAN\EOT \SOH(\SO2\CAN.google.protobuf.EditionR\SOeditionRemoved\"/\n\+ \\ENQCType\DC2\n\+ \\n\+ \\ACKSTRING\DLE\NUL\DC2\b\n\+ \\EOTCORD\DLE\SOH\DC2\DLE\n\+ \\fSTRING_PIECE\DLE\STX\"5\n\+ \\ACKJSType\DC2\r\n\+ \\tJS_NORMAL\DLE\NUL\DC2\r\n\+ \\tJS_STRING\DLE\SOH\DC2\r\n\+ \\tJS_NUMBER\DLE\STX\"U\n\+ \\SIOptionRetention\DC2\NAK\n\+ \\DC1RETENTION_UNKNOWN\DLE\NUL\DC2\NAK\n\+ \\DC1RETENTION_RUNTIME\DLE\SOH\DC2\DC4\n\+ \\DLERETENTION_SOURCE\DLE\STX\"\140\STX\n\+ \\DLEOptionTargetType\DC2\ETB\n\+ \\DC3TARGET_TYPE_UNKNOWN\DLE\NUL\DC2\DC4\n\+ \\DLETARGET_TYPE_FILE\DLE\SOH\DC2\US\n\+ \\ESCTARGET_TYPE_EXTENSION_RANGE\DLE\STX\DC2\ETB\n\+ \\DC3TARGET_TYPE_MESSAGE\DLE\ETX\DC2\NAK\n\+ \\DC1TARGET_TYPE_FIELD\DLE\EOT\DC2\NAK\n\+ \\DC1TARGET_TYPE_ONEOF\DLE\ENQ\DC2\DC4\n\+ \\DLETARGET_TYPE_ENUM\DLE\ACK\DC2\SUB\n\+ \\SYNTARGET_TYPE_ENUM_ENTRY\DLE\a\DC2\ETB\n\+ \\DC3TARGET_TYPE_SERVICE\DLE\b\DC2\SYN\n\+ \\DC2TARGET_TYPE_METHOD\DLE\t*\t\b\232\a\DLE\128\128\128\128\STXJ\EOT\b\EOT\DLE\ENQJ\EOT\b\DC2\DLE\DC3\"\172\SOH\n\+ \\fOneofOptions\DC27\n\+ \\bfeatures\CAN\SOH \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STX\"\209\STX\n\+ \\vEnumOptions\DC2\US\n\+ \\vallow_alias\CAN\STX \SOH(\bR\n\+ \allowAlias\DC2%\n\+ \\n\+ \deprecated\CAN\ETX \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2V\n\+ \&deprecated_legacy_json_field_conflicts\CAN\ACK \SOH(\bR\"deprecatedLegacyJsonFieldConflictsB\STX\CAN\SOH\DC27\n\+ \\bfeatures\CAN\a \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STXJ\EOT\b\ENQ\DLE\ACK\"\216\STX\n\+ \\DLEEnumValueOptions\DC2%\n\+ \\n\+ \deprecated\CAN\SOH \SOH(\b:\ENQfalseR\n\+ \deprecated\DC27\n\+ \\bfeatures\CAN\STX \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2(\n\+ \\fdebug_redact\CAN\ETX \SOH(\b:\ENQfalseR\vdebugRedact\DC2U\n\+ \\SIfeature_support\CAN\EOT \SOH(\v2,.google.protobuf.FieldOptions.FeatureSupportR\SOfeatureSupport\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STX\"\213\SOH\n\+ \\SOServiceOptions\DC27\n\+ \\bfeatures\CAN\" \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2%\n\+ \\n\+ \deprecated\CAN! \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption*\t\b\232\a\DLE\128\128\128\128\STX\"\153\ETX\n\+ \\rMethodOptions\DC2%\n\+ \\n\+ \deprecated\CAN! \SOH(\b:\ENQfalseR\n\+ \deprecated\DC2q\n\+ \\DC1idempotency_level\CAN\" \SOH(\SO2/.google.protobuf.MethodOptions.IdempotencyLevel:\DC3IDEMPOTENCY_UNKNOWNR\DLEidempotencyLevel\DC27\n\+ \\bfeatures\CAN# \SOH(\v2\ESC.google.protobuf.FeatureSetR\bfeatures\DC2X\n\+ \\DC4uninterpreted_option\CAN\231\a \ETX(\v2$.google.protobuf.UninterpretedOptionR\DC3uninterpretedOption\"P\n\+ \\DLEIdempotencyLevel\DC2\ETB\n\+ \\DC3IDEMPOTENCY_UNKNOWN\DLE\NUL\DC2\DC3\n\+ \\SINO_SIDE_EFFECTS\DLE\SOH\DC2\SO\n\+ \\n\+ \IDEMPOTENT\DLE\STX*\t\b\232\a\DLE\128\128\128\128\STX\"\154\ETX\n\+ \\DC3UninterpretedOption\DC2A\n\+ \\EOTname\CAN\STX \ETX(\v2-.google.protobuf.UninterpretedOption.NamePartR\EOTname\DC2)\n\+ \\DLEidentifier_value\CAN\ETX \SOH(\tR\SIidentifierValue\DC2,\n\+ \\DC2positive_int_value\CAN\EOT \SOH(\EOTR\DLEpositiveIntValue\DC2,\n\+ \\DC2negative_int_value\CAN\ENQ \SOH(\ETXR\DLEnegativeIntValue\DC2!\n\+ \\fdouble_value\CAN\ACK \SOH(\SOHR\vdoubleValue\DC2!\n\+ \\fstring_value\CAN\a \SOH(\fR\vstringValue\DC2'\n\+ \\SIaggregate_value\CAN\b \SOH(\tR\SOaggregateValue\SUBJ\n\+ \\bNamePart\DC2\ESC\n\+ \\tname_part\CAN\SOH \STX(\tR\bnamePart\DC2!\n\+ \\fis_extension\CAN\STX \STX(\bR\visExtension\"\167\n\+ \\n\+ \\n\+ \FeatureSet\DC2\145\SOH\n\+ \\SOfield_presence\CAN\SOH \SOH(\SO2).google.protobuf.FeatureSet.FieldPresenceR\rfieldPresenceB?\136\SOH\SOH\152\SOH\EOT\152\SOH\SOH\162\SOH\r\DC2\bEXPLICIT\CAN\132\a\162\SOH\r\DC2\bIMPLICIT\CAN\231\a\162\SOH\r\DC2\bEXPLICIT\CAN\232\a\178\SOH\ETX\b\232\a\DC2l\n\+ \\tenum_type\CAN\STX \SOH(\SO2$.google.protobuf.FeatureSet.EnumTypeR\benumTypeB)\136\SOH\SOH\152\SOH\ACK\152\SOH\SOH\162\SOH\v\DC2\ACKCLOSED\CAN\132\a\162\SOH\t\DC2\EOTOPEN\CAN\231\a\178\SOH\ETX\b\232\a\DC2\152\SOH\n\+ \\ETBrepeated_field_encoding\CAN\ETX \SOH(\SO21.google.protobuf.FeatureSet.RepeatedFieldEncodingR\NAKrepeatedFieldEncodingB-\136\SOH\SOH\152\SOH\EOT\152\SOH\SOH\162\SOH\r\DC2\bEXPANDED\CAN\132\a\162\SOH\v\DC2\ACKPACKED\CAN\231\a\178\SOH\ETX\b\232\a\DC2~\n\+ \\SIutf8_validation\CAN\EOT \SOH(\SO2*.google.protobuf.FeatureSet.Utf8ValidationR\SOutf8ValidationB)\136\SOH\SOH\152\SOH\EOT\152\SOH\SOH\162\SOH\t\DC2\EOTNONE\CAN\132\a\162\SOH\v\DC2\ACKVERIFY\CAN\231\a\178\SOH\ETX\b\232\a\DC2~\n\+ \\DLEmessage_encoding\CAN\ENQ \SOH(\SO2+.google.protobuf.FeatureSet.MessageEncodingR\SImessageEncodingB&\136\SOH\SOH\152\SOH\EOT\152\SOH\SOH\162\SOH\DC4\DC2\SILENGTH_PREFIXED\CAN\132\a\178\SOH\ETX\b\232\a\DC2\130\SOH\n\+ \\vjson_format\CAN\ACK \SOH(\SO2&.google.protobuf.FeatureSet.JsonFormatR\n\+ \jsonFormatB9\136\SOH\SOH\152\SOH\ETX\152\SOH\ACK\152\SOH\SOH\162\SOH\ETB\DC2\DC2LEGACY_BEST_EFFORT\CAN\132\a\162\SOH\n\+ \\DC2\ENQALLOW\CAN\231\a\178\SOH\ETX\b\232\a\"\\\n\+ \\rFieldPresence\DC2\SUB\n\+ \\SYNFIELD_PRESENCE_UNKNOWN\DLE\NUL\DC2\f\n\+ \\bEXPLICIT\DLE\SOH\DC2\f\n\+ \\bIMPLICIT\DLE\STX\DC2\DC3\n\+ \\SILEGACY_REQUIRED\DLE\ETX\"7\n\+ \\bEnumType\DC2\NAK\n\+ \\DC1ENUM_TYPE_UNKNOWN\DLE\NUL\DC2\b\n\+ \\EOTOPEN\DLE\SOH\DC2\n\+ \\n\+ \\ACKCLOSED\DLE\STX\"V\n\+ \\NAKRepeatedFieldEncoding\DC2#\n\+ \\USREPEATED_FIELD_ENCODING_UNKNOWN\DLE\NUL\DC2\n\+ \\n\+ \\ACKPACKED\DLE\SOH\DC2\f\n\+ \\bEXPANDED\DLE\STX\"I\n\+ \\SOUtf8Validation\DC2\ESC\n\+ \\ETBUTF8_VALIDATION_UNKNOWN\DLE\NUL\DC2\n\+ \\n\+ \\ACKVERIFY\DLE\STX\DC2\b\n\+ \\EOTNONE\DLE\ETX\"\EOT\b\SOH\DLE\SOH\"S\n\+ \\SIMessageEncoding\DC2\FS\n\+ \\CANMESSAGE_ENCODING_UNKNOWN\DLE\NUL\DC2\DC3\n\+ \\SILENGTH_PREFIXED\DLE\SOH\DC2\r\n\+ \\tDELIMITED\DLE\STX\"H\n\+ \\n\+ \JsonFormat\DC2\ETB\n\+ \\DC3JSON_FORMAT_UNKNOWN\DLE\NUL\DC2\t\n\+ \\ENQALLOW\DLE\SOH\DC2\SYN\n\+ \\DC2LEGACY_BEST_EFFORT\DLE\STX*\ACK\b\232\a\DLE\139N*\ACK\b\139N\DLE\144N*\ACK\b\144N\DLE\145NJ\ACK\b\231\a\DLE\232\a\"\239\ETX\n\+ \\DC2FeatureSetDefaults\DC2X\n\+ \\bdefaults\CAN\SOH \ETX(\v2<.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefaultR\bdefaults\DC2A\n\+ \\SIminimum_edition\CAN\EOT \SOH(\SO2\CAN.google.protobuf.EditionR\SOminimumEdition\DC2A\n\+ \\SImaximum_edition\CAN\ENQ \SOH(\SO2\CAN.google.protobuf.EditionR\SOmaximumEdition\SUB\248\SOH\n\+ \\CANFeatureSetEditionDefault\DC22\n\+ \\aedition\CAN\ETX \SOH(\SO2\CAN.google.protobuf.EditionR\aedition\DC2N\n\+ \\DC4overridable_features\CAN\EOT \SOH(\v2\ESC.google.protobuf.FeatureSetR\DC3overridableFeatures\DC2B\n\+ \\SOfixed_features\CAN\ENQ \SOH(\v2\ESC.google.protobuf.FeatureSetR\rfixedFeaturesJ\EOT\b\SOH\DLE\STXJ\EOT\b\STX\DLE\ETXR\bfeatures\"\167\STX\n\+ \\SOSourceCodeInfo\DC2D\n\+ \\blocation\CAN\SOH \ETX(\v2(.google.protobuf.SourceCodeInfo.LocationR\blocation\SUB\206\SOH\n\+ \\bLocation\DC2\SYN\n\+ \\EOTpath\CAN\SOH \ETX(\ENQR\EOTpathB\STX\DLE\SOH\DC2\SYN\n\+ \\EOTspan\CAN\STX \ETX(\ENQR\EOTspanB\STX\DLE\SOH\DC2)\n\+ \\DLEleading_comments\CAN\ETX \SOH(\tR\SIleadingComments\DC2+\n\+ \\DC1trailing_comments\CAN\EOT \SOH(\tR\DLEtrailingComments\DC2:\n\+ \\EMleading_detached_comments\CAN\ACK \ETX(\tR\ETBleadingDetachedComments\"\208\STX\n\+ \\DC1GeneratedCodeInfo\DC2M\n\+ \\n\+ \annotation\CAN\SOH \ETX(\v2-.google.protobuf.GeneratedCodeInfo.AnnotationR\n\+ \annotation\SUB\235\SOH\n\+ \\n\+ \Annotation\DC2\SYN\n\+ \\EOTpath\CAN\SOH \ETX(\ENQR\EOTpathB\STX\DLE\SOH\DC2\US\n\+ \\vsource_file\CAN\STX \SOH(\tR\n\+ \sourceFile\DC2\DC4\n\+ \\ENQbegin\CAN\ETX \SOH(\ENQR\ENQbegin\DC2\DLE\n\+ \\ETXend\CAN\EOT \SOH(\ENQR\ETXend\DC2R\n\+ \\bsemantic\CAN\ENQ \SOH(\SO26.google.protobuf.GeneratedCodeInfo.Annotation.SemanticR\bsemantic\"(\n\+ \\bSemantic\DC2\b\n\+ \\EOTNONE\DLE\NUL\DC2\a\n\+ \\ETXSET\DLE\SOH\DC2\t\n\+ \\ENQALIAS\DLE\STX*\167\STX\n\+ \\aEdition\DC2\DC3\n\+ \\SIEDITION_UNKNOWN\DLE\NUL\DC2\DC3\n\+ \\SOEDITION_LEGACY\DLE\132\a\DC2\DC3\n\+ \\SOEDITION_PROTO2\DLE\230\a\DC2\DC3\n\+ \\SOEDITION_PROTO3\DLE\231\a\DC2\DC1\n\+ \\fEDITION_2023\DLE\232\a\DC2\DC1\n\+ \\fEDITION_2024\DLE\233\a\DC2\ETB\n\+ \\DC3EDITION_1_TEST_ONLY\DLE\SOH\DC2\ETB\n\+ \\DC3EDITION_2_TEST_ONLY\DLE\STX\DC2\GS\n\+ \\ETBEDITION_99997_TEST_ONLY\DLE\157\141\ACK\DC2\GS\n\+ \\ETBEDITION_99998_TEST_ONLY\DLE\158\141\ACK\DC2\GS\n\+ \\ETBEDITION_99999_TEST_ONLY\DLE\159\141\ACK\DC2\DC3\n\+ \\vEDITION_MAX\DLE\255\255\255\255\aB~\n\+ \\DC3com.google.protobufB\DLEDescriptorProtosH\SOHZ-google.golang.org/protobuf/types/descriptorpb\248\SOH\SOH\162\STX\ETXGPB\170\STX\SUBGoogle.Protobuf.ReflectionJ\139\195\ETX\n\+ \\a\DC2\ENQ&\NUL\143\n\+ \\SOH\n\+ \\170\SI\n\+ \\SOH\f\DC2\ETX&\NUL\DC22\193\f Protocol Buffers - Google's data interchange format\n\+ \ Copyright 2008 Google Inc. All rights reserved.\n\+ \ https://developers.google.com/protocol-buffers/\n\+ \\n\+ \ Redistribution and use in source and binary forms, with or without\n\+ \ modification, are permitted provided that the following conditions are\n\+ \ met:\n\+ \\n\+ \ * Redistributions of source code must retain the above copyright\n\+ \ notice, this list of conditions and the following disclaimer.\n\+ \ * Redistributions in binary form must reproduce the above\n\+ \ copyright notice, this list of conditions and the following disclaimer\n\+ \ in the documentation and/or other materials provided with the\n\+ \ distribution.\n\+ \ * Neither the name of Google Inc. nor the names of its\n\+ \ contributors may be used to endorse or promote products derived from\n\+ \ this software without specific prior written permission.\n\+ \\n\+ \ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\+ \ \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\+ \ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n\+ \ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n\+ \ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n\+ \ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n\+ \ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n\+ \ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n\+ \ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\+ \ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n\+ \ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\+ \2\219\STX Author: kenton@google.com (Kenton Varda)\n\+ \ Based on original Protocol Buffers design by\n\+ \ Sanjay Ghemawat, Jeff Dean, and others.\n\+ \\n\+ \ The messages in this file describe the definitions found in .proto files.\n\+ \ A valid .proto file can be translated directly to a FileDescriptorProto\n\+ \ without any other information (e.g. without reading its imports).\n\+ \\n\+ \\b\n\+ \\SOH\STX\DC2\ETX(\NUL\CAN\n\+ \\b\n\+ \\SOH\b\DC2\ETX*\NULD\n\+ \\t\n\+ \\STX\b\v\DC2\ETX*\NULD\n\+ \\b\n\+ \\SOH\b\DC2\ETX+\NUL,\n\+ \\t\n\+ \\STX\b\SOH\DC2\ETX+\NUL,\n\+ \\b\n\+ \\SOH\b\DC2\ETX,\NUL1\n\+ \\t\n\+ \\STX\b\b\DC2\ETX,\NUL1\n\+ \\b\n\+ \\SOH\b\DC2\ETX-\NUL7\n\+ \\t\n\+ \\STX\b%\DC2\ETX-\NUL7\n\+ \\b\n\+ \\SOH\b\DC2\ETX.\NUL!\n\+ \\t\n\+ \\STX\b$\DC2\ETX.\NUL!\n\+ \\b\n\+ \\SOH\b\DC2\ETX/\NUL\US\n\+ \\t\n\+ \\STX\b\US\DC2\ETX/\NUL\US\n\+ \\b\n\+ \\SOH\b\DC2\ETX3\NUL\FS\n\+ \\DEL\n\+ \\STX\b\t\DC2\ETX3\NUL\FS\SUBt descriptor.proto must be optimized for speed because reflection-based\n\+ \ algorithms don't work during bootstrapping.\n\+ \\n\+ \j\n\+ \\STX\EOT\NUL\DC2\EOT7\NUL9\SOH\SUB^ The protocol compiler can output a FileDescriptorSet containing the .proto\n\+ \ files it parses.\n\+ \\n\+ \\n\+ \\n\+ \\ETX\EOT\NUL\SOH\DC2\ETX7\b\EM\n\+ \\v\n\+ \\EOT\EOT\NUL\STX\NUL\DC2\ETX8\STX(\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX8\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX8\v\RS\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX8\US#\n\+ \\f\n\+ \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX8&'\n\+ \-\n\+ \\STX\ENQ\NUL\DC2\EOT<\NUL]\SOH\SUB! The full set of known editions.\n\+ \\n\+ \\n\+ \\n\+ \\ETX\ENQ\NUL\SOH\DC2\ETX<\ENQ\f\n\+ \:\n\+ \\EOT\ENQ\NUL\STX\NUL\DC2\ETX>\STX\SYN\SUB- A placeholder for an unknown edition value.\n\+ \\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETX>\STX\DC1\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETX>\DC4\NAK\n\+ \\153\SOH\n\+ \\EOT\ENQ\NUL\STX\SOH\DC2\ETXB\STX\ETB\SUB\139\SOH A placeholder edition for specifying default behaviors *before* a feature\n\+ \ was first introduced. This is effectively an \"infinite past\".\n\+ \\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\SOH\SOH\DC2\ETXB\STX\DLE\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\SOH\STX\DC2\ETXB\DC3\SYN\n\+ \\130\STX\n\+ \\EOT\ENQ\NUL\STX\STX\DC2\ETXH\STX\ETB\SUB\244\SOH Legacy syntax \"editions\". These pre-date editions, but behave much like\n\+ \ distinct editions. These can't be used to specify the edition of proto\n\+ \ files, but feature definitions must supply proto2/proto3 defaults for\n\+ \ backwards compatibility.\n\+ \\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\STX\SOH\DC2\ETXH\STX\DLE\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\STX\STX\DC2\ETXH\DC3\SYN\n\+ \\v\n\+ \\EOT\ENQ\NUL\STX\ETX\DC2\ETXI\STX\ETB\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\ETX\SOH\DC2\ETXI\STX\DLE\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\ETX\STX\DC2\ETXI\DC3\SYN\n\+ \\175\SOH\n\+ \\EOT\ENQ\NUL\STX\EOT\DC2\ETXN\STX\SYN\SUB\161\SOH Editions that have been released. The specific values are arbitrary and\n\+ \ should not be depended on, but they will always be time-ordered for easy\n\+ \ comparison.\n\+ \\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\EOT\SOH\DC2\ETXN\STX\SO\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\EOT\STX\DC2\ETXN\DC1\NAK\n\+ \\v\n\+ \\EOT\ENQ\NUL\STX\ENQ\DC2\ETXO\STX\SYN\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\ENQ\SOH\DC2\ETXO\STX\SO\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\ENQ\STX\DC2\ETXO\DC1\NAK\n\+ \}\n\+ \\EOT\ENQ\NUL\STX\ACK\DC2\ETXS\STX\SUB\SUBp Placeholder editions for testing feature resolution. These should not be\n\+ \ used or relyed on outside of tests.\n\+ \\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\ACK\SOH\DC2\ETXS\STX\NAK\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\ACK\STX\DC2\ETXS\CAN\EM\n\+ \\v\n\+ \\EOT\ENQ\NUL\STX\a\DC2\ETXT\STX\SUB\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\a\SOH\DC2\ETXT\STX\NAK\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\a\STX\DC2\ETXT\CAN\EM\n\+ \\v\n\+ \\EOT\ENQ\NUL\STX\b\DC2\ETXU\STX\"\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\b\SOH\DC2\ETXU\STX\EM\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\b\STX\DC2\ETXU\FS!\n\+ \\v\n\+ \\EOT\ENQ\NUL\STX\t\DC2\ETXV\STX\"\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\t\SOH\DC2\ETXV\STX\EM\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\t\STX\DC2\ETXV\FS!\n\+ \\v\n\+ \\EOT\ENQ\NUL\STX\n\+ \\DC2\ETXW\STX\"\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\n\+ \\SOH\DC2\ETXW\STX\EM\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\n\+ \\STX\DC2\ETXW\FS!\n\+ \\184\SOH\n\+ \\EOT\ENQ\NUL\STX\v\DC2\ETX\\\STX\ESC\SUB\170\SOH Placeholder for specifying unbounded edition support. This should only\n\+ \ ever be used by plugins that can expect to never require any changes to\n\+ \ support a new edition.\n\+ \\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\v\SOH\DC2\ETX\\\STX\r\n\+ \\f\n\+ \\ENQ\ENQ\NUL\STX\v\STX\DC2\ETX\\\DLE\SUB\n\+ \0\n\+ \\STX\EOT\SOH\DC2\ENQ`\NUL\130\SOH\SOH\SUB# Describes a complete .proto file.\n\+ \\n\+ \\n\+ \\n\+ \\ETX\EOT\SOH\SOH\DC2\ETX`\b\ESC\n\+ \9\n\+ \\EOT\EOT\SOH\STX\NUL\DC2\ETXa\STX\ESC\", file name, relative to root of source tree\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\NUL\EOT\DC2\ETXa\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\NUL\ENQ\DC2\ETXa\v\DC1\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETXa\DC2\SYN\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETXa\EM\SUB\n\+ \*\n\+ \\EOT\EOT\SOH\STX\SOH\DC2\ETXb\STX\RS\"\GS e.g. \"foo\", \"foo.bar\", etc.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\SOH\EOT\DC2\ETXb\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\SOH\ENQ\DC2\ETXb\v\DC1\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETXb\DC2\EM\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETXb\FS\GS\n\+ \4\n\+ \\EOT\EOT\SOH\STX\STX\DC2\ETXe\STX!\SUB' Names of files imported by this file.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\STX\EOT\DC2\ETXe\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETXe\v\DC1\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETXe\DC2\FS\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETXe\US \n\+ \Q\n\+ \\EOT\EOT\SOH\STX\ETX\DC2\ETXg\STX(\SUBD Indexes of the public imported files in the dependency list above.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ETX\EOT\DC2\ETXg\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ETX\ENQ\DC2\ETXg\v\DLE\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETXg\DC1\"\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETXg%'\n\+ \z\n\+ \\EOT\EOT\SOH\STX\EOT\DC2\ETXj\STX&\SUBm Indexes of the weak imported files in the dependency list.\n\+ \ For Google-internal migration only. Do not use.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\EOT\EOT\DC2\ETXj\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\EOT\ENQ\DC2\ETXj\v\DLE\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\EOT\SOH\DC2\ETXj\DC1 \n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\EOT\ETX\DC2\ETXj#%\n\+ \6\n\+ \\EOT\EOT\SOH\STX\ENQ\DC2\ETXm\STX,\SUB) All top-level definitions in this file.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ENQ\EOT\DC2\ETXm\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ENQ\ACK\DC2\ETXm\v\SUB\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ENQ\SOH\DC2\ETXm\ESC'\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ENQ\ETX\DC2\ETXm*+\n\+ \\v\n\+ \\EOT\EOT\SOH\STX\ACK\DC2\ETXn\STX-\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ACK\EOT\DC2\ETXn\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ACK\ACK\DC2\ETXn\v\RS\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ACK\SOH\DC2\ETXn\US(\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\ACK\ETX\DC2\ETXn+,\n\+ \\v\n\+ \\EOT\EOT\SOH\STX\a\DC2\ETXo\STX.\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\a\EOT\DC2\ETXo\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\a\ACK\DC2\ETXo\v!\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\a\SOH\DC2\ETXo\")\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\a\ETX\DC2\ETXo,-\n\+ \\v\n\+ \\EOT\EOT\SOH\STX\b\DC2\ETXp\STX.\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\b\EOT\DC2\ETXp\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\b\ACK\DC2\ETXp\v\US\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\b\SOH\DC2\ETXp )\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\b\ETX\DC2\ETXp,-\n\+ \\v\n\+ \\EOT\EOT\SOH\STX\t\DC2\ETXr\STX#\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\t\EOT\DC2\ETXr\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\t\ACK\DC2\ETXr\v\SYN\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\t\SOH\DC2\ETXr\ETB\RS\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\t\ETX\DC2\ETXr!\"\n\+ \\244\SOH\n\+ \\EOT\EOT\SOH\STX\n\+ \\DC2\ETXx\STX/\SUB\230\SOH This field contains optional information about the original source code.\n\+ \ You may safely remove this entire field without harming runtime\n\+ \ functionality of the descriptors -- the information is needed only by\n\+ \ development tools.\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\n\+ \\EOT\DC2\ETXx\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\n\+ \\ACK\DC2\ETXx\v\EM\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\n\+ \\SOH\DC2\ETXx\SUB*\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\n\+ \\ETX\DC2\ETXx-.\n\+ \\165\SOH\n\+ \\EOT\EOT\SOH\STX\v\DC2\ETX~\STX\RS\SUB\151\SOH The syntax of the proto file.\n\+ \ The supported values are \"proto2\", \"proto3\", and \"editions\".\n\+ \\n\+ \ If `edition` is present, this value must be \"editions\".\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\v\EOT\DC2\ETX~\STX\n\+ \\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\v\ENQ\DC2\ETX~\v\DC1\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\v\SOH\DC2\ETX~\DC2\CAN\n\+ \\f\n\+ \\ENQ\EOT\SOH\STX\v\ETX\DC2\ETX~\ESC\GS\n\+ \.\n\+ \\EOT\EOT\SOH\STX\f\DC2\EOT\129\SOH\STX \SUB The edition of the proto file.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SOH\STX\f\EOT\DC2\EOT\129\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SOH\STX\f\ACK\DC2\EOT\129\SOH\v\DC2\n\+ \\r\n\+ \\ENQ\EOT\SOH\STX\f\SOH\DC2\EOT\129\SOH\DC3\SUB\n\+ \\r\n\+ \\ENQ\EOT\SOH\STX\f\ETX\DC2\EOT\129\SOH\GS\US\n\+ \)\n\+ \\STX\EOT\STX\DC2\ACK\133\SOH\NUL\165\SOH\SOH\SUB\ESC Describes a message type.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\STX\SOH\DC2\EOT\133\SOH\b\ETB\n\+ \\f\n\+ \\EOT\EOT\STX\STX\NUL\DC2\EOT\134\SOH\STX\ESC\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\NUL\EOT\DC2\EOT\134\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\EOT\134\SOH\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\NUL\SOH\DC2\EOT\134\SOH\DC2\SYN\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\NUL\ETX\DC2\EOT\134\SOH\EM\SUB\n\+ \\f\n\+ \\EOT\EOT\STX\STX\SOH\DC2\EOT\136\SOH\STX*\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\SOH\EOT\DC2\EOT\136\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\SOH\ACK\DC2\EOT\136\SOH\v\US\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\SOH\SOH\DC2\EOT\136\SOH %\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\SOH\ETX\DC2\EOT\136\SOH()\n\+ \\f\n\+ \\EOT\EOT\STX\STX\STX\DC2\EOT\137\SOH\STX.\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\STX\EOT\DC2\EOT\137\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\STX\ACK\DC2\EOT\137\SOH\v\US\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\STX\SOH\DC2\EOT\137\SOH )\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\STX\ETX\DC2\EOT\137\SOH,-\n\+ \\f\n\+ \\EOT\EOT\STX\STX\ETX\DC2\EOT\139\SOH\STX+\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ETX\EOT\DC2\EOT\139\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ETX\ACK\DC2\EOT\139\SOH\v\SUB\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ETX\SOH\DC2\EOT\139\SOH\ESC&\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ETX\ETX\DC2\EOT\139\SOH)*\n\+ \\f\n\+ \\EOT\EOT\STX\STX\EOT\DC2\EOT\140\SOH\STX-\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\EOT\EOT\DC2\EOT\140\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\EOT\ACK\DC2\EOT\140\SOH\v\RS\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\EOT\SOH\DC2\EOT\140\SOH\US(\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\EOT\ETX\DC2\EOT\140\SOH+,\n\+ \\SO\n\+ \\EOT\EOT\STX\ETX\NUL\DC2\ACK\142\SOH\STX\147\SOH\ETX\n\+ \\r\n\+ \\ENQ\EOT\STX\ETX\NUL\SOH\DC2\EOT\142\SOH\n\+ \\CAN\n\+ \\FS\n\+ \\ACK\EOT\STX\ETX\NUL\STX\NUL\DC2\EOT\143\SOH\EOT\GS\"\f Inclusive.\n\+ \\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\NUL\EOT\DC2\EOT\143\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\NUL\ENQ\DC2\EOT\143\SOH\r\DC2\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\NUL\SOH\DC2\EOT\143\SOH\DC3\CAN\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\NUL\ETX\DC2\EOT\143\SOH\ESC\FS\n\+ \\FS\n\+ \\ACK\EOT\STX\ETX\NUL\STX\SOH\DC2\EOT\144\SOH\EOT\ESC\"\f Exclusive.\n\+ \\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\SOH\EOT\DC2\EOT\144\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\SOH\ENQ\DC2\EOT\144\SOH\r\DC2\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\SOH\SOH\DC2\EOT\144\SOH\DC3\SYN\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\SOH\ETX\DC2\EOT\144\SOH\EM\SUB\n\+ \\SO\n\+ \\ACK\EOT\STX\ETX\NUL\STX\STX\DC2\EOT\146\SOH\EOT/\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\STX\EOT\DC2\EOT\146\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\STX\ACK\DC2\EOT\146\SOH\r\"\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\STX\SOH\DC2\EOT\146\SOH#*\n\+ \\SI\n\+ \\a\EOT\STX\ETX\NUL\STX\STX\ETX\DC2\EOT\146\SOH-.\n\+ \\f\n\+ \\EOT\EOT\STX\STX\ENQ\DC2\EOT\148\SOH\STX.\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ENQ\EOT\DC2\EOT\148\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ENQ\ACK\DC2\EOT\148\SOH\v\EM\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ENQ\SOH\DC2\EOT\148\SOH\SUB)\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ENQ\ETX\DC2\EOT\148\SOH,-\n\+ \\f\n\+ \\EOT\EOT\STX\STX\ACK\DC2\EOT\150\SOH\STX/\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ACK\EOT\DC2\EOT\150\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ACK\ACK\DC2\EOT\150\SOH\v\US\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ACK\SOH\DC2\EOT\150\SOH *\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\ACK\ETX\DC2\EOT\150\SOH-.\n\+ \\f\n\+ \\EOT\EOT\STX\STX\a\DC2\EOT\152\SOH\STX&\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\a\EOT\DC2\EOT\152\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\a\ACK\DC2\EOT\152\SOH\v\EM\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\a\SOH\DC2\EOT\152\SOH\SUB!\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\a\ETX\DC2\EOT\152\SOH$%\n\+ \\172\SOH\n\+ \\EOT\EOT\STX\ETX\SOH\DC2\ACK\157\SOH\STX\160\SOH\ETX\SUB\155\SOH Range of reserved tag numbers. Reserved tag numbers may not be used by\n\+ \ fields or extension ranges in the same message. Reserved ranges may\n\+ \ not overlap.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\ETX\SOH\SOH\DC2\EOT\157\SOH\n\+ \\ETB\n\+ \\FS\n\+ \\ACK\EOT\STX\ETX\SOH\STX\NUL\DC2\EOT\158\SOH\EOT\GS\"\f Inclusive.\n\+ \\n\+ \\SI\n\+ \\a\EOT\STX\ETX\SOH\STX\NUL\EOT\DC2\EOT\158\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\STX\ETX\SOH\STX\NUL\ENQ\DC2\EOT\158\SOH\r\DC2\n\+ \\SI\n\+ \\a\EOT\STX\ETX\SOH\STX\NUL\SOH\DC2\EOT\158\SOH\DC3\CAN\n\+ \\SI\n\+ \\a\EOT\STX\ETX\SOH\STX\NUL\ETX\DC2\EOT\158\SOH\ESC\FS\n\+ \\FS\n\+ \\ACK\EOT\STX\ETX\SOH\STX\SOH\DC2\EOT\159\SOH\EOT\ESC\"\f Exclusive.\n\+ \\n\+ \\SI\n\+ \\a\EOT\STX\ETX\SOH\STX\SOH\EOT\DC2\EOT\159\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\STX\ETX\SOH\STX\SOH\ENQ\DC2\EOT\159\SOH\r\DC2\n\+ \\SI\n\+ \\a\EOT\STX\ETX\SOH\STX\SOH\SOH\DC2\EOT\159\SOH\DC3\SYN\n\+ \\SI\n\+ \\a\EOT\STX\ETX\SOH\STX\SOH\ETX\DC2\EOT\159\SOH\EM\SUB\n\+ \\f\n\+ \\EOT\EOT\STX\STX\b\DC2\EOT\161\SOH\STX,\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\b\EOT\DC2\EOT\161\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\b\ACK\DC2\EOT\161\SOH\v\CAN\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\b\SOH\DC2\EOT\161\SOH\EM'\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\b\ETX\DC2\EOT\161\SOH*+\n\+ \\131\SOH\n\+ \\EOT\EOT\STX\STX\t\DC2\EOT\164\SOH\STX%\SUBu Reserved field names, which may not be used by fields in the same message.\n\+ \ A given name may only be reserved once.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\t\EOT\DC2\EOT\164\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\t\ENQ\DC2\EOT\164\SOH\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\t\SOH\DC2\EOT\164\SOH\DC2\US\n\+ \\r\n\+ \\ENQ\EOT\STX\STX\t\ETX\DC2\EOT\164\SOH\"$\n\+ \\f\n\+ \\STX\EOT\ETX\DC2\ACK\167\SOH\NUL\219\SOH\SOH\n\+ \\v\n\+ \\ETX\EOT\ETX\SOH\DC2\EOT\167\SOH\b\GS\n\+ \O\n\+ \\EOT\EOT\ETX\STX\NUL\DC2\EOT\169\SOH\STX:\SUBA The parser stores options it doesn't recognize here. See above.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\NUL\EOT\DC2\EOT\169\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\NUL\ACK\DC2\EOT\169\SOH\v\RS\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\EOT\169\SOH\US3\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\EOT\169\SOH69\n\+ \\SO\n\+ \\EOT\EOT\ETX\ETX\NUL\DC2\ACK\171\SOH\STX\194\SOH\ETX\n\+ \\r\n\+ \\ENQ\EOT\ETX\ETX\NUL\SOH\DC2\EOT\171\SOH\n\+ \\NAK\n\+ \K\n\+ \\ACK\EOT\ETX\ETX\NUL\STX\NUL\DC2\EOT\173\SOH\EOT\RS\SUB; The extension number declared within the extension range.\n\+ \\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\NUL\EOT\DC2\EOT\173\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\NUL\ENQ\DC2\EOT\173\SOH\r\DC2\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\NUL\SOH\DC2\EOT\173\SOH\DC3\EM\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\NUL\ETX\DC2\EOT\173\SOH\FS\GS\n\+ \z\n\+ \\ACK\EOT\ETX\ETX\NUL\STX\SOH\DC2\EOT\177\SOH\EOT\"\SUBj The fully-qualified name of the extension field. There must be a leading\n\+ \ dot in front of the full name.\n\+ \\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\SOH\EOT\DC2\EOT\177\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\SOH\ENQ\DC2\EOT\177\SOH\r\DC3\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\SOH\SOH\DC2\EOT\177\SOH\DC4\GS\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\SOH\ETX\DC2\EOT\177\SOH !\n\+ \\161\SOH\n\+ \\ACK\EOT\ETX\ETX\NUL\STX\STX\DC2\EOT\182\SOH\EOT\GS\SUB\144\SOH The fully-qualified type name of the extension field. Unlike\n\+ \ Metadata.type, Declaration.type must have a leading dot for messages\n\+ \ and enums.\n\+ \\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\STX\EOT\DC2\EOT\182\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\STX\ENQ\DC2\EOT\182\SOH\r\DC3\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\STX\SOH\DC2\EOT\182\SOH\DC4\CAN\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\STX\ETX\DC2\EOT\182\SOH\ESC\FS\n\+ \\206\SOH\n\+ \\ACK\EOT\ETX\ETX\NUL\STX\ETX\DC2\EOT\187\SOH\EOT\US\SUB\189\SOH If true, indicates that the number is reserved in the extension range,\n\+ \ and any extension field with the number will fail to compile. Set this\n\+ \ when a declared extension field is deleted.\n\+ \\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\ETX\EOT\DC2\EOT\187\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\ETX\ENQ\DC2\EOT\187\SOH\r\DC1\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\ETX\SOH\DC2\EOT\187\SOH\DC2\SUB\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\ETX\ETX\DC2\EOT\187\SOH\GS\RS\n\+ \\138\SOH\n\+ \\ACK\EOT\ETX\ETX\NUL\STX\EOT\DC2\EOT\191\SOH\EOT\US\SUBz If true, indicates that the extension must be defined as repeated.\n\+ \ Otherwise the extension must be defined as optional.\n\+ \\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\EOT\EOT\DC2\EOT\191\SOH\EOT\f\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\EOT\ENQ\DC2\EOT\191\SOH\r\DC1\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\EOT\SOH\DC2\EOT\191\SOH\DC2\SUB\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\STX\EOT\ETX\DC2\EOT\191\SOH\GS\RS\n\+ \$\n\+ \\ENQ\EOT\ETX\ETX\NUL\t\DC2\EOT\193\SOH\EOT\SI\"\NAK removed is_repeated\n\+ \\n\+ \\SO\n\+ \\ACK\EOT\ETX\ETX\NUL\t\NUL\DC2\EOT\193\SOH\r\SO\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\t\NUL\SOH\DC2\EOT\193\SOH\r\SO\n\+ \\SI\n\+ \\a\EOT\ETX\ETX\NUL\t\NUL\STX\DC2\EOT\193\SOH\r\SO\n\+ \\177\SOH\n\+ \\EOT\EOT\ETX\STX\SOH\DC2\EOT\199\SOH\STXF\SUB\162\SOH For external users: DO NOT USE. We are in the process of open sourcing\n\+ \ extension declaration and executing internal cleanups before it can be\n\+ \ used externally.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\SOH\EOT\DC2\EOT\199\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\SOH\ACK\DC2\EOT\199\SOH\v\SYN\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\EOT\199\SOH\ETB\"\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\EOT\199\SOH%&\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\SOH\b\DC2\EOT\199\SOH'E\n\+ \\SO\n\+ \\ACK\EOT\ETX\STX\SOH\b\DC1\DC2\EOT\199\SOH(D\n\+ \=\n\+ \\EOT\EOT\ETX\STX\STX\DC2\EOT\202\SOH\STX$\SUB/ Any features defined in the specific edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\STX\EOT\DC2\EOT\202\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\STX\ACK\DC2\EOT\202\SOH\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\STX\SOH\DC2\EOT\202\SOH\SYN\RS\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\STX\ETX\DC2\EOT\202\SOH!#\n\+ \@\n\+ \\EOT\EOT\ETX\EOT\NUL\DC2\ACK\205\SOH\STX\209\SOH\ETX\SUB0 The verification state of the extension range.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ETX\EOT\NUL\SOH\DC2\EOT\205\SOH\a\CAN\n\+ \C\n\+ \\ACK\EOT\ETX\EOT\NUL\STX\NUL\DC2\EOT\207\SOH\EOT\DC4\SUB3 All the extensions of the range must be declared.\n\+ \\n\+ \\SI\n\+ \\a\EOT\ETX\EOT\NUL\STX\NUL\SOH\DC2\EOT\207\SOH\EOT\SI\n\+ \\SI\n\+ \\a\EOT\ETX\EOT\NUL\STX\NUL\STX\DC2\EOT\207\SOH\DC2\DC3\n\+ \\SO\n\+ \\ACK\EOT\ETX\EOT\NUL\STX\SOH\DC2\EOT\208\SOH\EOT\DC3\n\+ \\SI\n\+ \\a\EOT\ETX\EOT\NUL\STX\SOH\SOH\DC2\EOT\208\SOH\EOT\SO\n\+ \\SI\n\+ \\a\EOT\ETX\EOT\NUL\STX\SOH\STX\DC2\EOT\208\SOH\DC1\DC2\n\+ \\142\SOH\n\+ \\EOT\EOT\ETX\STX\ETX\DC2\ACK\214\SOH\STX\215\SOH;\SUB~ The verification state of the range.\n\+ \ TODO: flip the default to DECLARATION once all empty ranges\n\+ \ are marked as UNVERIFIED.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\ETX\EOT\DC2\EOT\214\SOH\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\ETX\ACK\DC2\EOT\214\SOH\v\FS\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\EOT\214\SOH\GS)\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\EOT\214\SOH,-\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\ETX\b\DC2\EOT\215\SOH\ACK:\n\+ \\r\n\+ \\ENQ\EOT\ETX\STX\ETX\a\DC2\EOT\215\SOH\DC1\ESC\n\+ \\SO\n\+ \\ACK\EOT\ETX\STX\ETX\b\DC1\DC2\EOT\215\SOH\GS9\n\+ \Z\n\+ \\ETX\EOT\ETX\ENQ\DC2\EOT\218\SOH\STX\EM\SUBM Clients can define custom options in extensions of this message. See above.\n\+ \\n\+ \\f\n\+ \\EOT\EOT\ETX\ENQ\NUL\DC2\EOT\218\SOH\r\CAN\n\+ \\r\n\+ \\ENQ\EOT\ETX\ENQ\NUL\SOH\DC2\EOT\218\SOH\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\ETX\ENQ\NUL\STX\DC2\EOT\218\SOH\NAK\CAN\n\+ \3\n\+ \\STX\EOT\EOT\DC2\ACK\222\SOH\NUL\198\STX\SOH\SUB% Describes a field within a message.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\EOT\SOH\DC2\EOT\222\SOH\b\FS\n\+ \\SO\n\+ \\EOT\EOT\EOT\EOT\NUL\DC2\ACK\223\SOH\STX\255\SOH\ETX\n\+ \\r\n\+ \\ENQ\EOT\EOT\EOT\NUL\SOH\DC2\EOT\223\SOH\a\v\n\+ \S\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\NUL\DC2\EOT\226\SOH\EOT\DC4\SUBC 0 is reserved for errors.\n\+ \ Order is weird for historical reasons.\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\NUL\SOH\DC2\EOT\226\SOH\EOT\SI\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\NUL\STX\DC2\EOT\226\SOH\DC2\DC3\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\SOH\DC2\EOT\227\SOH\EOT\DC3\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\SOH\SOH\DC2\EOT\227\SOH\EOT\SO\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\SOH\STX\DC2\EOT\227\SOH\DC1\DC2\n\+ \w\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\STX\DC2\EOT\230\SOH\EOT\DC3\SUBg Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n\+ \ negative values are likely.\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\STX\SOH\DC2\EOT\230\SOH\EOT\SO\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\STX\STX\DC2\EOT\230\SOH\DC1\DC2\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\ETX\DC2\EOT\231\SOH\EOT\DC4\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\ETX\SOH\DC2\EOT\231\SOH\EOT\SI\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\ETX\STX\DC2\EOT\231\SOH\DC2\DC3\n\+ \w\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\EOT\DC2\EOT\234\SOH\EOT\DC3\SUBg Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n\+ \ negative values are likely.\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\EOT\SOH\DC2\EOT\234\SOH\EOT\SO\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\EOT\STX\DC2\EOT\234\SOH\DC1\DC2\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\ENQ\DC2\EOT\235\SOH\EOT\NAK\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\ENQ\SOH\DC2\EOT\235\SOH\EOT\DLE\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\ENQ\STX\DC2\EOT\235\SOH\DC3\DC4\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\ACK\DC2\EOT\236\SOH\EOT\NAK\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\ACK\SOH\DC2\EOT\236\SOH\EOT\DLE\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\ACK\STX\DC2\EOT\236\SOH\DC3\DC4\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\a\DC2\EOT\237\SOH\EOT\DC2\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\a\SOH\DC2\EOT\237\SOH\EOT\r\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\a\STX\DC2\EOT\237\SOH\DLE\DC1\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\b\DC2\EOT\238\SOH\EOT\DC4\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\b\SOH\DC2\EOT\238\SOH\EOT\SI\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\b\STX\DC2\EOT\238\SOH\DC2\DC3\n\+ \\198\STX\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\t\DC2\EOT\244\SOH\EOT\DC4\SUB\181\STX Tag-delimited aggregate.\n\+ \ Group type is deprecated and not supported after google.protobuf. However, Proto3\n\+ \ implementations should still be able to parse the group wire format and\n\+ \ treat group fields as unknown fields. In Editions, the group wire format\n\+ \ can be enabled via the `message_encoding` feature.\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\t\SOH\DC2\EOT\244\SOH\EOT\SO\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\t\STX\DC2\EOT\244\SOH\DC1\DC3\n\+ \-\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\n\+ \\DC2\EOT\245\SOH\EOT\SYN\"\GS Length-delimited aggregate.\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\n\+ \\SOH\DC2\EOT\245\SOH\EOT\DLE\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\n\+ \\STX\DC2\EOT\245\SOH\DC3\NAK\n\+ \#\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\v\DC2\EOT\248\SOH\EOT\DC4\SUB\DC3 New in version 2.\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\v\SOH\DC2\EOT\248\SOH\EOT\SO\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\v\STX\DC2\EOT\248\SOH\DC1\DC3\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\f\DC2\EOT\249\SOH\EOT\NAK\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\f\SOH\DC2\EOT\249\SOH\EOT\SI\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\f\STX\DC2\EOT\249\SOH\DC2\DC4\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\r\DC2\EOT\250\SOH\EOT\DC3\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\r\SOH\DC2\EOT\250\SOH\EOT\r\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\r\STX\DC2\EOT\250\SOH\DLE\DC2\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\SO\DC2\EOT\251\SOH\EOT\ETB\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\SO\SOH\DC2\EOT\251\SOH\EOT\DC1\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\SO\STX\DC2\EOT\251\SOH\DC4\SYN\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\SI\DC2\EOT\252\SOH\EOT\ETB\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\SI\SOH\DC2\EOT\252\SOH\EOT\DC1\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\SI\STX\DC2\EOT\252\SOH\DC4\SYN\n\+ \'\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\DLE\DC2\EOT\253\SOH\EOT\NAK\"\ETB Uses ZigZag encoding.\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\DLE\SOH\DC2\EOT\253\SOH\EOT\SI\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\DLE\STX\DC2\EOT\253\SOH\DC2\DC4\n\+ \'\n\+ \\ACK\EOT\EOT\EOT\NUL\STX\DC1\DC2\EOT\254\SOH\EOT\NAK\"\ETB Uses ZigZag encoding.\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\DC1\SOH\DC2\EOT\254\SOH\EOT\SI\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\NUL\STX\DC1\STX\DC2\EOT\254\SOH\DC2\DC4\n\+ \\SO\n\+ \\EOT\EOT\EOT\EOT\SOH\DC2\ACK\129\STX\STX\137\STX\ETX\n\+ \\r\n\+ \\ENQ\EOT\EOT\EOT\SOH\SOH\DC2\EOT\129\STX\a\f\n\+ \*\n\+ \\ACK\EOT\EOT\EOT\SOH\STX\NUL\DC2\EOT\131\STX\EOT\ETB\SUB\SUB 0 is reserved for errors\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\SOH\STX\NUL\SOH\DC2\EOT\131\STX\EOT\DC2\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\SOH\STX\NUL\STX\DC2\EOT\131\STX\NAK\SYN\n\+ \\SO\n\+ \\ACK\EOT\EOT\EOT\SOH\STX\SOH\DC2\EOT\132\STX\EOT\ETB\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\SOH\STX\SOH\SOH\DC2\EOT\132\STX\EOT\DC2\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\SOH\STX\SOH\STX\DC2\EOT\132\STX\NAK\SYN\n\+ \\204\SOH\n\+ \\ACK\EOT\EOT\EOT\SOH\STX\STX\DC2\EOT\136\STX\EOT\ETB\SUB\187\SOH The required label is only allowed in google.protobuf. In proto3 and Editions\n\+ \ it's explicitly prohibited. In Editions, the `field_presence` feature\n\+ \ can be used to get this behavior.\n\+ \\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\SOH\STX\STX\SOH\DC2\EOT\136\STX\EOT\DC2\n\+ \\SI\n\+ \\a\EOT\EOT\EOT\SOH\STX\STX\STX\DC2\EOT\136\STX\NAK\SYN\n\+ \\f\n\+ \\EOT\EOT\EOT\STX\NUL\DC2\EOT\139\STX\STX\ESC\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\NUL\EOT\DC2\EOT\139\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\EOT\139\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\139\STX\DC2\SYN\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\139\STX\EM\SUB\n\+ \\f\n\+ \\EOT\EOT\EOT\STX\SOH\DC2\EOT\140\STX\STX\FS\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\SOH\EOT\DC2\EOT\140\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\SOH\ENQ\DC2\EOT\140\STX\v\DLE\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\140\STX\DC1\ETB\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\140\STX\SUB\ESC\n\+ \\f\n\+ \\EOT\EOT\EOT\STX\STX\DC2\EOT\141\STX\STX\ESC\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\STX\EOT\DC2\EOT\141\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\STX\ACK\DC2\EOT\141\STX\v\DLE\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\STX\SOH\DC2\EOT\141\STX\DC1\SYN\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\STX\ETX\DC2\EOT\141\STX\EM\SUB\n\+ \\156\SOH\n\+ \\EOT\EOT\EOT\STX\ETX\DC2\EOT\145\STX\STX\EM\SUB\141\SOH If type_name is set, this need not be set. If both this and type_name\n\+ \ are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ETX\EOT\DC2\EOT\145\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ETX\ACK\DC2\EOT\145\STX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ETX\SOH\DC2\EOT\145\STX\DLE\DC4\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ETX\ETX\DC2\EOT\145\STX\ETB\CAN\n\+ \\183\STX\n\+ \\EOT\EOT\EOT\STX\EOT\DC2\EOT\152\STX\STX \SUB\168\STX For message and enum types, this is the name of the type. If the name\n\+ \ starts with a '.', it is fully-qualified. Otherwise, C++-like scoping\n\+ \ rules are used to find the type (i.e. first the nested types within this\n\+ \ message are searched, then within the parent, on up to the root\n\+ \ namespace).\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\EOT\EOT\DC2\EOT\152\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\EOT\ENQ\DC2\EOT\152\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\EOT\SOH\DC2\EOT\152\STX\DC2\ESC\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\EOT\ETX\DC2\EOT\152\STX\RS\US\n\+ \~\n\+ \\EOT\EOT\EOT\STX\ENQ\DC2\EOT\156\STX\STX\US\SUBp For extensions, this is the name of the type being extended. It is\n\+ \ resolved in the same manner as type_name.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ENQ\EOT\DC2\EOT\156\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ENQ\ENQ\DC2\EOT\156\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ENQ\SOH\DC2\EOT\156\STX\DC2\SUB\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ENQ\ETX\DC2\EOT\156\STX\GS\RS\n\+ \\145\STX\n\+ \\EOT\EOT\EOT\STX\ACK\DC2\EOT\162\STX\STX$\SUB\130\STX For numeric types, contains the original text representation of the value.\n\+ \ For booleans, \"true\" or \"false\".\n\+ \ For strings, contains the default text contents (not escaped in any way).\n\+ \ For bytes, contains the C escaped value. All bytes >= 128 are escaped.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ACK\EOT\DC2\EOT\162\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ACK\ENQ\DC2\EOT\162\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ACK\SOH\DC2\EOT\162\STX\DC2\US\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\ACK\ETX\DC2\EOT\162\STX\"#\n\+ \\132\SOH\n\+ \\EOT\EOT\EOT\STX\a\DC2\EOT\166\STX\STX!\SUBv If set, gives the index of a oneof in the containing type's oneof_decl\n\+ \ list. This field is a member of that oneof.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\a\EOT\DC2\EOT\166\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\a\ENQ\DC2\EOT\166\STX\v\DLE\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\a\SOH\DC2\EOT\166\STX\DC1\FS\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\a\ETX\DC2\EOT\166\STX\US \n\+ \\250\SOH\n\+ \\EOT\EOT\EOT\STX\b\DC2\EOT\172\STX\STX!\SUB\235\SOH JSON name of this field. The value is set by protocol compiler. If the\n\+ \ user has set a \"json_name\" option on this field, that option's value\n\+ \ will be used. Otherwise, it's deduced from the field's name by converting\n\+ \ it to camelCase.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\b\EOT\DC2\EOT\172\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\b\ENQ\DC2\EOT\172\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\b\SOH\DC2\EOT\172\STX\DC2\ESC\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\b\ETX\DC2\EOT\172\STX\RS \n\+ \\f\n\+ \\EOT\EOT\EOT\STX\t\DC2\EOT\174\STX\STX$\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\t\EOT\DC2\EOT\174\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\t\ACK\DC2\EOT\174\STX\v\ETB\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\t\SOH\DC2\EOT\174\STX\CAN\US\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\t\ETX\DC2\EOT\174\STX\"#\n\+ \\176\t\n\+ \\EOT\EOT\EOT\STX\n\+ \\DC2\EOT\197\STX\STX%\SUB\161\t If true, this is a proto3 \"optional\". When a proto3 field is optional, it\n\+ \ tracks presence regardless of field type.\n\+ \\n\+ \ When proto3_optional is true, this field must belong to a oneof to signal\n\+ \ to old proto3 clients that presence is tracked for this field. This oneof\n\+ \ is known as a \"synthetic\" oneof, and this field must be its sole member\n\+ \ (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs\n\+ \ exist in the descriptor only, and do not generate any API. Synthetic oneofs\n\+ \ must be ordered after all \"real\" oneofs.\n\+ \\n\+ \ For message fields, proto3_optional doesn't create any semantic change,\n\+ \ since non-repeated message fields always track presence. However it still\n\+ \ indicates the semantic detail of whether the user wrote \"optional\" or not.\n\+ \ This can be useful for round-tripping the .proto file. For consistency we\n\+ \ give message fields a synthetic oneof also, even though it is not required\n\+ \ to track presence. This is especially important because the parser can't\n\+ \ tell if a field is a message or an enum, so it must always create a\n\+ \ synthetic oneof.\n\+ \\n\+ \ Proto2 optional fields do not set this flag, because they already indicate\n\+ \ optional with `LABEL_OPTIONAL`.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\n\+ \\EOT\DC2\EOT\197\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\n\+ \\ENQ\DC2\EOT\197\STX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\n\+ \\SOH\DC2\EOT\197\STX\DLE\US\n\+ \\r\n\+ \\ENQ\EOT\EOT\STX\n\+ \\ETX\DC2\EOT\197\STX\"$\n\+ \\"\n\+ \\STX\EOT\ENQ\DC2\ACK\201\STX\NUL\204\STX\SOH\SUB\DC4 Describes a oneof.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\ENQ\SOH\DC2\EOT\201\STX\b\FS\n\+ \\f\n\+ \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\202\STX\STX\ESC\n\+ \\r\n\+ \\ENQ\EOT\ENQ\STX\NUL\EOT\DC2\EOT\202\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\EOT\202\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\202\STX\DC2\SYN\n\+ \\r\n\+ \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\202\STX\EM\SUB\n\+ \\f\n\+ \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\203\STX\STX$\n\+ \\r\n\+ \\ENQ\EOT\ENQ\STX\SOH\EOT\DC2\EOT\203\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ENQ\STX\SOH\ACK\DC2\EOT\203\STX\v\ETB\n\+ \\r\n\+ \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\203\STX\CAN\US\n\+ \\r\n\+ \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\203\STX\"#\n\+ \'\n\+ \\STX\EOT\ACK\DC2\ACK\207\STX\NUL\233\STX\SOH\SUB\EM Describes an enum type.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\ACK\SOH\DC2\EOT\207\STX\b\ESC\n\+ \\f\n\+ \\EOT\EOT\ACK\STX\NUL\DC2\EOT\208\STX\STX\ESC\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\NUL\EOT\DC2\EOT\208\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\EOT\208\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\208\STX\DC2\SYN\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\208\STX\EM\SUB\n\+ \\f\n\+ \\EOT\EOT\ACK\STX\SOH\DC2\EOT\210\STX\STX.\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\SOH\EOT\DC2\EOT\210\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\SOH\ACK\DC2\EOT\210\STX\v#\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\210\STX$)\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\210\STX,-\n\+ \\f\n\+ \\EOT\EOT\ACK\STX\STX\DC2\EOT\212\STX\STX#\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\STX\EOT\DC2\EOT\212\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\STX\ACK\DC2\EOT\212\STX\v\SYN\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\STX\SOH\DC2\EOT\212\STX\ETB\RS\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\STX\ETX\DC2\EOT\212\STX!\"\n\+ \\175\STX\n\+ \\EOT\EOT\ACK\ETX\NUL\DC2\ACK\220\STX\STX\223\STX\ETX\SUB\158\STX Range of reserved numeric values. Reserved values may not be used by\n\+ \ entries in the same enum. Reserved ranges may not overlap.\n\+ \\n\+ \ Note that this is distinct from DescriptorProto.ReservedRange in that it\n\+ \ is inclusive such that it can appropriately represent the entire int32\n\+ \ domain.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ACK\ETX\NUL\SOH\DC2\EOT\220\STX\n\+ \\ESC\n\+ \\FS\n\+ \\ACK\EOT\ACK\ETX\NUL\STX\NUL\DC2\EOT\221\STX\EOT\GS\"\f Inclusive.\n\+ \\n\+ \\SI\n\+ \\a\EOT\ACK\ETX\NUL\STX\NUL\EOT\DC2\EOT\221\STX\EOT\f\n\+ \\SI\n\+ \\a\EOT\ACK\ETX\NUL\STX\NUL\ENQ\DC2\EOT\221\STX\r\DC2\n\+ \\SI\n\+ \\a\EOT\ACK\ETX\NUL\STX\NUL\SOH\DC2\EOT\221\STX\DC3\CAN\n\+ \\SI\n\+ \\a\EOT\ACK\ETX\NUL\STX\NUL\ETX\DC2\EOT\221\STX\ESC\FS\n\+ \\FS\n\+ \\ACK\EOT\ACK\ETX\NUL\STX\SOH\DC2\EOT\222\STX\EOT\ESC\"\f Inclusive.\n\+ \\n\+ \\SI\n\+ \\a\EOT\ACK\ETX\NUL\STX\SOH\EOT\DC2\EOT\222\STX\EOT\f\n\+ \\SI\n\+ \\a\EOT\ACK\ETX\NUL\STX\SOH\ENQ\DC2\EOT\222\STX\r\DC2\n\+ \\SI\n\+ \\a\EOT\ACK\ETX\NUL\STX\SOH\SOH\DC2\EOT\222\STX\DC3\SYN\n\+ \\SI\n\+ \\a\EOT\ACK\ETX\NUL\STX\SOH\ETX\DC2\EOT\222\STX\EM\SUB\n\+ \\170\SOH\n\+ \\EOT\EOT\ACK\STX\ETX\DC2\EOT\228\STX\STX0\SUB\155\SOH Range of reserved numeric values. Reserved numeric values may not be used\n\+ \ by enum values in the same enum declaration. Reserved ranges may not\n\+ \ overlap.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\ETX\EOT\DC2\EOT\228\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\ETX\ACK\DC2\EOT\228\STX\v\FS\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\ETX\SOH\DC2\EOT\228\STX\GS+\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\ETX\ETX\DC2\EOT\228\STX./\n\+ \l\n\+ \\EOT\EOT\ACK\STX\EOT\DC2\EOT\232\STX\STX$\SUB^ Reserved enum value names, which may not be reused. A given name may only\n\+ \ be reserved once.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\EOT\EOT\DC2\EOT\232\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\EOT\ENQ\DC2\EOT\232\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\EOT\SOH\DC2\EOT\232\STX\DC2\US\n\+ \\r\n\+ \\ENQ\EOT\ACK\STX\EOT\ETX\DC2\EOT\232\STX\"#\n\+ \1\n\+ \\STX\EOT\a\DC2\ACK\236\STX\NUL\241\STX\SOH\SUB# Describes a value within an enum.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\a\SOH\DC2\EOT\236\STX\b \n\+ \\f\n\+ \\EOT\EOT\a\STX\NUL\DC2\EOT\237\STX\STX\ESC\n\+ \\r\n\+ \\ENQ\EOT\a\STX\NUL\EOT\DC2\EOT\237\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\a\STX\NUL\ENQ\DC2\EOT\237\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\237\STX\DC2\SYN\n\+ \\r\n\+ \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\237\STX\EM\SUB\n\+ \\f\n\+ \\EOT\EOT\a\STX\SOH\DC2\EOT\238\STX\STX\FS\n\+ \\r\n\+ \\ENQ\EOT\a\STX\SOH\EOT\DC2\EOT\238\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\a\STX\SOH\ENQ\DC2\EOT\238\STX\v\DLE\n\+ \\r\n\+ \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\238\STX\DC1\ETB\n\+ \\r\n\+ \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\238\STX\SUB\ESC\n\+ \\f\n\+ \\EOT\EOT\a\STX\STX\DC2\EOT\240\STX\STX(\n\+ \\r\n\+ \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\240\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\a\STX\STX\ACK\DC2\EOT\240\STX\v\ESC\n\+ \\r\n\+ \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\240\STX\FS#\n\+ \\r\n\+ \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\240\STX&'\n\+ \$\n\+ \\STX\EOT\b\DC2\ACK\244\STX\NUL\249\STX\SOH\SUB\SYN Describes a service.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\b\SOH\DC2\EOT\244\STX\b\RS\n\+ \\f\n\+ \\EOT\EOT\b\STX\NUL\DC2\EOT\245\STX\STX\ESC\n\+ \\r\n\+ \\ENQ\EOT\b\STX\NUL\EOT\DC2\EOT\245\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\245\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\245\STX\DC2\SYN\n\+ \\r\n\+ \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\245\STX\EM\SUB\n\+ \\f\n\+ \\EOT\EOT\b\STX\SOH\DC2\EOT\246\STX\STX,\n\+ \\r\n\+ \\ENQ\EOT\b\STX\SOH\EOT\DC2\EOT\246\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\b\STX\SOH\ACK\DC2\EOT\246\STX\v \n\+ \\r\n\+ \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\246\STX!'\n\+ \\r\n\+ \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\246\STX*+\n\+ \\f\n\+ \\EOT\EOT\b\STX\STX\DC2\EOT\248\STX\STX&\n\+ \\r\n\+ \\ENQ\EOT\b\STX\STX\EOT\DC2\EOT\248\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\b\STX\STX\ACK\DC2\EOT\248\STX\v\EM\n\+ \\r\n\+ \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\248\STX\SUB!\n\+ \\r\n\+ \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\248\STX$%\n\+ \0\n\+ \\STX\EOT\t\DC2\ACK\252\STX\NUL\138\ETX\SOH\SUB\" Describes a method of a service.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\t\SOH\DC2\EOT\252\STX\b\GS\n\+ \\f\n\+ \\EOT\EOT\t\STX\NUL\DC2\EOT\253\STX\STX\ESC\n\+ \\r\n\+ \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\253\STX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\253\STX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\253\STX\DC2\SYN\n\+ \\r\n\+ \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\253\STX\EM\SUB\n\+ \\151\SOH\n\+ \\EOT\EOT\t\STX\SOH\DC2\EOT\129\ETX\STX!\SUB\136\SOH Input and output type names. These are resolved in the same way as\n\+ \ FieldDescriptorProto.type_name, but must refer to a message type.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\t\STX\SOH\EOT\DC2\EOT\129\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\129\ETX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\129\ETX\DC2\FS\n\+ \\r\n\+ \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\129\ETX\US \n\+ \\f\n\+ \\EOT\EOT\t\STX\STX\DC2\EOT\130\ETX\STX\"\n\+ \\r\n\+ \\ENQ\EOT\t\STX\STX\EOT\DC2\EOT\130\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\130\ETX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\130\ETX\DC2\GS\n\+ \\r\n\+ \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\130\ETX !\n\+ \\f\n\+ \\EOT\EOT\t\STX\ETX\DC2\EOT\132\ETX\STX%\n\+ \\r\n\+ \\ENQ\EOT\t\STX\ETX\EOT\DC2\EOT\132\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\t\STX\ETX\ACK\DC2\EOT\132\ETX\v\CAN\n\+ \\r\n\+ \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\132\ETX\EM \n\+ \\r\n\+ \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\132\ETX#$\n\+ \E\n\+ \\EOT\EOT\t\STX\EOT\DC2\EOT\135\ETX\STX7\SUB7 Identifies if client streams multiple client messages\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\t\STX\EOT\EOT\DC2\EOT\135\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\t\STX\EOT\ENQ\DC2\EOT\135\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\135\ETX\DLE \n\+ \\r\n\+ \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\135\ETX#$\n\+ \\r\n\+ \\ENQ\EOT\t\STX\EOT\b\DC2\EOT\135\ETX%6\n\+ \\r\n\+ \\ENQ\EOT\t\STX\EOT\a\DC2\EOT\135\ETX05\n\+ \E\n\+ \\EOT\EOT\t\STX\ENQ\DC2\EOT\137\ETX\STX7\SUB7 Identifies if server streams multiple server messages\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\t\STX\ENQ\EOT\DC2\EOT\137\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\t\STX\ENQ\ENQ\DC2\EOT\137\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\137\ETX\DLE \n\+ \\r\n\+ \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\137\ETX#$\n\+ \\r\n\+ \\ENQ\EOT\t\STX\ENQ\b\DC2\EOT\137\ETX%6\n\+ \\r\n\+ \\ENQ\EOT\t\STX\ENQ\a\DC2\EOT\137\ETX05\n\+ \\175\SO\n\+ \\STX\EOT\n\+ \\DC2\ACK\172\ETX\NUL\168\EOT\SOH2N ===================================================================\n\+ \ Options\n\+ \2\208\r Each of the definitions above may have \"options\" attached. These are\n\+ \ just annotations which may cause code to be generated slightly differently\n\+ \ or may contain hints for code that manipulates protocol messages.\n\+ \\n\+ \ Clients may define custom options as extensions of the *Options messages.\n\+ \ These extensions may not yet be known at parsing time, so the parser cannot\n\+ \ store the values in them. Instead it stores them in a field in the *Options\n\+ \ message called uninterpreted_option. This field must have the same name\n\+ \ across all *Options messages. We then use this field to populate the\n\+ \ extensions when we build a descriptor, at which point all protos have been\n\+ \ parsed and so all extensions are known.\n\+ \\n\+ \ Extension numbers for custom options may be chosen as follows:\n\+ \ * For options which will only be used within a single application or\n\+ \ organization, or for experimental options, use field numbers 50000\n\+ \ through 99999. It is up to you to ensure that you do not use the\n\+ \ same number for multiple options.\n\+ \ * For options which will be published and used publicly by multiple\n\+ \ independent entities, e-mail protobuf-global-extension-registry@google.com\n\+ \ to reserve extension numbers. Simply provide your project name (e.g.\n\+ \ Objective-C plugin) and your project website (if available) -- there's no\n\+ \ need to explain how you intend to use them. Usually you only need one\n\+ \ extension number. You can declare multiple options with only one extension\n\+ \ number by putting them in a sub-message. See the Custom Options section of\n\+ \ the docs for examples:\n\+ \ https://developers.google.com/protocol-buffers/docs/proto#options\n\+ \ If this turns out to be popular, a web service will be set up\n\+ \ to automatically assign option numbers.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\n\+ \\SOH\DC2\EOT\172\ETX\b\DC3\n\+ \\244\SOH\n\+ \\EOT\EOT\n\+ \\STX\NUL\DC2\EOT\178\ETX\STX#\SUB\229\SOH Sets the Java package where classes generated from this .proto will be\n\+ \ placed. By default, the proto package is used, but this is often\n\+ \ inappropriate because proto packages do not normally start with backwards\n\+ \ domain names.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\NUL\EOT\DC2\EOT\178\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\NUL\ENQ\DC2\EOT\178\ETX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\NUL\SOH\DC2\EOT\178\ETX\DC2\RS\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\NUL\ETX\DC2\EOT\178\ETX!\"\n\+ \\241\STX\n\+ \\EOT\EOT\n\+ \\STX\SOH\DC2\EOT\185\ETX\STX+\SUB\226\STX Controls the name of the wrapper Java class generated for the .proto file.\n\+ \ That class will always contain the .proto file's getDescriptor() method as\n\+ \ well as any top-level extensions defined in the .proto file.\n\+ \ If java_multiple_files is disabled, then all the other classes from the\n\+ \ .proto file will be nested inside the single wrapper outer class.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SOH\EOT\DC2\EOT\185\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SOH\ENQ\DC2\EOT\185\ETX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SOH\SOH\DC2\EOT\185\ETX\DC2&\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SOH\ETX\DC2\EOT\185\ETX)*\n\+ \\166\ETX\n\+ \\EOT\EOT\n\+ \\STX\STX\DC2\EOT\193\ETX\STX;\SUB\151\ETX If enabled, then the Java code generator will generate a separate .java\n\+ \ file for each top-level message, enum, and service defined in the .proto\n\+ \ file. Thus, these types will *not* be nested inside the wrapper class\n\+ \ named by java_outer_classname. However, the wrapper class will still be\n\+ \ generated to contain the file's getDescriptor() method as well as any\n\+ \ top-level extensions defined in the file.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\STX\EOT\DC2\EOT\193\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\STX\ENQ\DC2\EOT\193\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\STX\SOH\DC2\EOT\193\ETX\DLE#\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\STX\ETX\DC2\EOT\193\ETX&(\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\STX\b\DC2\EOT\193\ETX):\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\STX\a\DC2\EOT\193\ETX49\n\+ \)\n\+ \\EOT\EOT\n\+ \\STX\ETX\DC2\EOT\196\ETX\STXE\SUB\ESC This option does nothing.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ETX\EOT\DC2\EOT\196\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ETX\ENQ\DC2\EOT\196\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ETX\SOH\DC2\EOT\196\ETX\DLE-\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ETX\ETX\DC2\EOT\196\ETX02\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ETX\b\DC2\EOT\196\ETX3D\n\+ \\SO\n\+ \\ACK\EOT\n\+ \\STX\ETX\b\ETX\DC2\EOT\196\ETX4C\n\+ \\207\ETX\n\+ \\EOT\EOT\n\+ \\STX\EOT\DC2\EOT\208\ETX\STX>\SUB\192\ETX A proto2 file can set this to true to opt in to UTF-8 checking for Java,\n\+ \ which will throw an exception if invalid UTF-8 is parsed from the wire or\n\+ \ assigned to a string field.\n\+ \\n\+ \ TODO: clarify exactly what kinds of field types this option\n\+ \ applies to, and update these docs accordingly.\n\+ \\n\+ \ Proto3 files already perform these checks. Setting the option explicitly to\n\+ \ false has no effect: it cannot be used to opt proto3 files out of UTF-8\n\+ \ checks.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\EOT\EOT\DC2\EOT\208\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\EOT\ENQ\DC2\EOT\208\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\EOT\SOH\DC2\EOT\208\ETX\DLE&\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\EOT\ETX\DC2\EOT\208\ETX)+\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\EOT\b\DC2\EOT\208\ETX,=\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\EOT\a\DC2\EOT\208\ETX7<\n\+ \L\n\+ \\EOT\EOT\n\+ \\EOT\NUL\DC2\ACK\211\ETX\STX\216\ETX\ETX\SUB< Generated classes can be optimized for speed or code size.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\EOT\NUL\SOH\DC2\EOT\211\ETX\a\DC3\n\+ \D\n\+ \\ACK\EOT\n\+ \\EOT\NUL\STX\NUL\DC2\EOT\212\ETX\EOT\SO\"4 Generate complete code for parsing, serialization,\n\+ \\n\+ \\SI\n\+ \\a\EOT\n\+ \\EOT\NUL\STX\NUL\SOH\DC2\EOT\212\ETX\EOT\t\n\+ \\SI\n\+ \\a\EOT\n\+ \\EOT\NUL\STX\NUL\STX\DC2\EOT\212\ETX\f\r\n\+ \G\n\+ \\ACK\EOT\n\+ \\EOT\NUL\STX\SOH\DC2\EOT\214\ETX\EOT\DC2\SUB\ACK etc.\n\+ \\"/ Use ReflectionOps to implement these methods.\n\+ \\n\+ \\SI\n\+ \\a\EOT\n\+ \\EOT\NUL\STX\SOH\SOH\DC2\EOT\214\ETX\EOT\r\n\+ \\SI\n\+ \\a\EOT\n\+ \\EOT\NUL\STX\SOH\STX\DC2\EOT\214\ETX\DLE\DC1\n\+ \G\n\+ \\ACK\EOT\n\+ \\EOT\NUL\STX\STX\DC2\EOT\215\ETX\EOT\NAK\"7 Generate code using MessageLite and the lite runtime.\n\+ \\n\+ \\SI\n\+ \\a\EOT\n\+ \\EOT\NUL\STX\STX\SOH\DC2\EOT\215\ETX\EOT\DLE\n\+ \\SI\n\+ \\a\EOT\n\+ \\EOT\NUL\STX\STX\STX\DC2\EOT\215\ETX\DC3\DC4\n\+ \\f\n\+ \\EOT\EOT\n\+ \\STX\ENQ\DC2\EOT\217\ETX\STX;\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ENQ\EOT\DC2\EOT\217\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ENQ\ACK\DC2\EOT\217\ETX\v\ETB\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ENQ\SOH\DC2\EOT\217\ETX\CAN$\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ENQ\ETX\DC2\EOT\217\ETX'(\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ENQ\b\DC2\EOT\217\ETX):\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ENQ\a\DC2\EOT\217\ETX49\n\+ \\226\STX\n\+ \\EOT\EOT\n\+ \\STX\ACK\DC2\EOT\224\ETX\STX\"\SUB\211\STX Sets the Go package where structs generated from this .proto will be\n\+ \ placed. If omitted, the Go package will be derived from the following:\n\+ \ - The basename of the package import path, if provided.\n\+ \ - Otherwise, the package statement in the .proto file, if present.\n\+ \ - Otherwise, the basename of the .proto file, without extension.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ACK\EOT\DC2\EOT\224\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ACK\ENQ\DC2\EOT\224\ETX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ACK\SOH\DC2\EOT\224\ETX\DC2\FS\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\ACK\ETX\DC2\EOT\224\ETX\US!\n\+ \\212\EOT\n\+ \\EOT\EOT\n\+ \\STX\a\DC2\EOT\236\ETX\STX;\SUB\197\EOT Should generic services be generated in each language? \"Generic\" services\n\+ \ are not specific to any particular RPC system. They are generated by the\n\+ \ main code generators in each language (without additional plugins).\n\+ \ Generic services were the only kind of service generation supported by\n\+ \ early versions of google.protobuf.\n\+ \\n\+ \ Generic services are now considered deprecated in favor of using plugins\n\+ \ that generate code specific to your particular RPC system. Therefore,\n\+ \ these default to false. Old code which depends on generic services should\n\+ \ explicitly set them to true.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\a\EOT\DC2\EOT\236\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\a\ENQ\DC2\EOT\236\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\a\SOH\DC2\EOT\236\ETX\DLE#\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\a\ETX\DC2\EOT\236\ETX&(\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\a\b\DC2\EOT\236\ETX):\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\a\a\DC2\EOT\236\ETX49\n\+ \\f\n\+ \\EOT\EOT\n\+ \\STX\b\DC2\EOT\237\ETX\STX=\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\b\EOT\DC2\EOT\237\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\b\ENQ\DC2\EOT\237\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\b\SOH\DC2\EOT\237\ETX\DLE%\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\b\ETX\DC2\EOT\237\ETX(*\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\b\b\DC2\EOT\237\ETX+<\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\b\a\DC2\EOT\237\ETX6;\n\+ \\f\n\+ \\EOT\EOT\n\+ \\STX\t\DC2\EOT\238\ETX\STX;\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\t\EOT\DC2\EOT\238\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\t\ENQ\DC2\EOT\238\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\t\SOH\DC2\EOT\238\ETX\DLE#\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\t\ETX\DC2\EOT\238\ETX&(\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\t\b\DC2\EOT\238\ETX):\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\t\a\DC2\EOT\238\ETX49\n\+ \+\n\+ \\ETX\EOT\n\+ \\t\DC2\EOT\239\ETX\STX\SO\"\RS removed php_generic_services\n\+ \\n\+ \\f\n\+ \\EOT\EOT\n\+ \\t\NUL\DC2\EOT\239\ETX\v\r\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\t\NUL\SOH\DC2\EOT\239\ETX\v\r\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\t\NUL\STX\DC2\EOT\239\ETX\v\r\n\+ \\v\n\+ \\ETX\EOT\n\+ \\n\+ \\DC2\EOT\240\ETX\STX\"\n\+ \\f\n\+ \\EOT\EOT\n\+ \\n\+ \\NUL\DC2\EOT\240\ETX\v!\n\+ \\243\SOH\n\+ \\EOT\EOT\n\+ \\STX\n\+ \\DC2\EOT\246\ETX\STX2\SUB\228\SOH Is this file deprecated?\n\+ \ Depending on the target platform, this can emit Deprecated annotations\n\+ \ for everything in the file, or it will be completely ignored; in the very\n\+ \ least, this is a formalization for deprecating files.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\n\+ \\EOT\DC2\EOT\246\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\n\+ \\ENQ\DC2\EOT\246\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\n\+ \\SOH\DC2\EOT\246\ETX\DLE\SUB\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\n\+ \\ETX\DC2\EOT\246\ETX\GS\US\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\n\+ \\b\DC2\EOT\246\ETX 1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\n\+ \\a\DC2\EOT\246\ETX+0\n\+ \\DEL\n\+ \\EOT\EOT\n\+ \\STX\v\DC2\EOT\250\ETX\STX7\SUBq Enables the use of arenas for the proto messages in this file. This applies\n\+ \ only to generated classes for C++.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\v\EOT\DC2\EOT\250\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\v\ENQ\DC2\EOT\250\ETX\v\SI\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\v\SOH\DC2\EOT\250\ETX\DLE \n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\v\ETX\DC2\EOT\250\ETX#%\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\v\b\DC2\EOT\250\ETX&6\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\v\a\DC2\EOT\250\ETX15\n\+ \\146\SOH\n\+ \\EOT\EOT\n\+ \\STX\f\DC2\EOT\254\ETX\STX)\SUB\131\SOH Sets the objective c class prefix which is prepended to all objective c\n\+ \ generated classes from this .proto. There is no default.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\f\EOT\DC2\EOT\254\ETX\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\f\ENQ\DC2\EOT\254\ETX\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\f\SOH\DC2\EOT\254\ETX\DC2#\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\f\ETX\DC2\EOT\254\ETX&(\n\+ \I\n\+ \\EOT\EOT\n\+ \\STX\r\DC2\EOT\129\EOT\STX(\SUB; Namespace for generated classes; defaults to the package.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\r\EOT\DC2\EOT\129\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\r\ENQ\DC2\EOT\129\EOT\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\r\SOH\DC2\EOT\129\EOT\DC2\"\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\r\ETX\DC2\EOT\129\EOT%'\n\+ \\145\STX\n\+ \\EOT\EOT\n\+ \\STX\SO\DC2\EOT\135\EOT\STX$\SUB\130\STX By default Swift generators will take the proto package and CamelCase it\n\+ \ replacing '.' with underscore and use that to prefix the types/symbols\n\+ \ defined. When this options is provided, they will use this value instead\n\+ \ to prefix the types/symbols defined.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SO\EOT\DC2\EOT\135\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SO\ENQ\DC2\EOT\135\EOT\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SO\SOH\DC2\EOT\135\EOT\DC2\RS\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SO\ETX\DC2\EOT\135\EOT!#\n\+ \~\n\+ \\EOT\EOT\n\+ \\STX\SI\DC2\EOT\139\EOT\STX(\SUBp Sets the php class prefix which is prepended to all php generated classes\n\+ \ from this .proto. Default is empty.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SI\EOT\DC2\EOT\139\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SI\ENQ\DC2\EOT\139\EOT\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SI\SOH\DC2\EOT\139\EOT\DC2\"\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\SI\ETX\DC2\EOT\139\EOT%'\n\+ \\190\SOH\n\+ \\EOT\EOT\n\+ \\STX\DLE\DC2\EOT\144\EOT\STX%\SUB\175\SOH Use this option to change the namespace of php generated classes. Default\n\+ \ is empty. When this option is empty, the package name will be used for\n\+ \ determining the namespace.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DLE\EOT\DC2\EOT\144\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DLE\ENQ\DC2\EOT\144\EOT\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DLE\SOH\DC2\EOT\144\EOT\DC2\US\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DLE\ETX\DC2\EOT\144\EOT\"$\n\+ \\202\SOH\n\+ \\EOT\EOT\n\+ \\STX\DC1\DC2\EOT\149\EOT\STX.\SUB\187\SOH Use this option to change the namespace of php generated metadata classes.\n\+ \ Default is empty. When this option is empty, the proto file name will be\n\+ \ used for determining the namespace.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC1\EOT\DC2\EOT\149\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC1\ENQ\DC2\EOT\149\EOT\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC1\SOH\DC2\EOT\149\EOT\DC2(\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC1\ETX\DC2\EOT\149\EOT+-\n\+ \\194\SOH\n\+ \\EOT\EOT\n\+ \\STX\DC2\DC2\EOT\154\EOT\STX$\SUB\179\SOH Use this option to change the package of ruby generated classes. Default\n\+ \ is empty. When this option is not set, the package name will be used for\n\+ \ determining the ruby package.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC2\EOT\DC2\EOT\154\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC2\ENQ\DC2\EOT\154\EOT\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC2\SOH\DC2\EOT\154\EOT\DC2\RS\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC2\ETX\DC2\EOT\154\EOT!#\n\+ \=\n\+ \\EOT\EOT\n\+ \\STX\DC3\DC2\EOT\157\EOT\STX$\SUB/ Any features defined in the specific edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC3\EOT\DC2\EOT\157\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC3\ACK\DC2\EOT\157\EOT\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC3\SOH\DC2\EOT\157\EOT\SYN\RS\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC3\ETX\DC2\EOT\157\EOT!#\n\+ \|\n\+ \\EOT\EOT\n\+ \\STX\DC4\DC2\EOT\161\EOT\STX:\SUBn The parser stores options it doesn't recognize here.\n\+ \ See the documentation for the \"Options\" section above.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC4\EOT\DC2\EOT\161\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC4\ACK\DC2\EOT\161\EOT\v\RS\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC4\SOH\DC2\EOT\161\EOT\US3\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\STX\DC4\ETX\DC2\EOT\161\EOT69\n\+ \\135\SOH\n\+ \\ETX\EOT\n\+ \\ENQ\DC2\EOT\165\EOT\STX\EM\SUBz Clients can define custom options in extensions of this message.\n\+ \ See the documentation for the \"Options\" section above.\n\+ \\n\+ \\f\n\+ \\EOT\EOT\n\+ \\ENQ\NUL\DC2\EOT\165\EOT\r\CAN\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\ENQ\NUL\SOH\DC2\EOT\165\EOT\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\ENQ\NUL\STX\DC2\EOT\165\EOT\NAK\CAN\n\+ \\v\n\+ \\ETX\EOT\n\+ \\t\DC2\EOT\167\EOT\STX\SO\n\+ \\f\n\+ \\EOT\EOT\n\+ \\t\SOH\DC2\EOT\167\EOT\v\r\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\t\SOH\SOH\DC2\EOT\167\EOT\v\r\n\+ \\r\n\+ \\ENQ\EOT\n\+ \\t\SOH\STX\DC2\EOT\167\EOT\v\r\n\+ \\f\n\+ \\STX\EOT\v\DC2\ACK\170\EOT\NUL\250\EOT\SOH\n\+ \\v\n\+ \\ETX\EOT\v\SOH\DC2\EOT\170\EOT\b\SYN\n\+ \\216\ENQ\n\+ \\EOT\EOT\v\STX\NUL\DC2\EOT\189\EOT\STX>\SUB\201\ENQ Set true to use the old proto1 MessageSet wire format for extensions.\n\+ \ This is provided for backwards-compatibility with the MessageSet wire\n\+ \ format. You should not use this for any other reason: It's less\n\+ \ efficient, has fewer features, and is more complicated.\n\+ \\n\+ \ The message must be defined exactly as follows:\n\+ \ message Foo {\n\+ \ option message_set_wire_format = true;\n\+ \ extensions 4 to max;\n\+ \ }\n\+ \ Note that the message cannot have any defined fields; MessageSets only\n\+ \ have extensions.\n\+ \\n\+ \ All extensions of your type must be singular messages; e.g. they cannot\n\+ \ be int32s, enums, or repeated messages.\n\+ \\n\+ \ Because this is an option, the above two restrictions are not enforced by\n\+ \ the protocol compiler.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\NUL\EOT\DC2\EOT\189\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\NUL\ENQ\DC2\EOT\189\EOT\v\SI\n\+ \\r\n\+ \\ENQ\EOT\v\STX\NUL\SOH\DC2\EOT\189\EOT\DLE'\n\+ \\r\n\+ \\ENQ\EOT\v\STX\NUL\ETX\DC2\EOT\189\EOT*+\n\+ \\r\n\+ \\ENQ\EOT\v\STX\NUL\b\DC2\EOT\189\EOT,=\n\+ \\r\n\+ \\ENQ\EOT\v\STX\NUL\a\DC2\EOT\189\EOT7<\n\+ \\235\SOH\n\+ \\EOT\EOT\v\STX\SOH\DC2\EOT\194\EOT\STXF\SUB\220\SOH Disables the generation of the standard \"descriptor()\" accessor, which can\n\+ \ conflict with a field of the same name. This is meant to make migration\n\+ \ from proto1 easier; new code should avoid fields named \"descriptor\".\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\SOH\EOT\DC2\EOT\194\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\SOH\ENQ\DC2\EOT\194\EOT\v\SI\n\+ \\r\n\+ \\ENQ\EOT\v\STX\SOH\SOH\DC2\EOT\194\EOT\DLE/\n\+ \\r\n\+ \\ENQ\EOT\v\STX\SOH\ETX\DC2\EOT\194\EOT23\n\+ \\r\n\+ \\ENQ\EOT\v\STX\SOH\b\DC2\EOT\194\EOT4E\n\+ \\r\n\+ \\ENQ\EOT\v\STX\SOH\a\DC2\EOT\194\EOT?D\n\+ \\238\SOH\n\+ \\EOT\EOT\v\STX\STX\DC2\EOT\200\EOT\STX1\SUB\223\SOH Is this message deprecated?\n\+ \ Depending on the target platform, this can emit Deprecated annotations\n\+ \ for the message, or it will be completely ignored; in the very least,\n\+ \ this is a formalization for deprecating messages.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\STX\EOT\DC2\EOT\200\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\STX\ENQ\DC2\EOT\200\EOT\v\SI\n\+ \\r\n\+ \\ENQ\EOT\v\STX\STX\SOH\DC2\EOT\200\EOT\DLE\SUB\n\+ \\r\n\+ \\ENQ\EOT\v\STX\STX\ETX\DC2\EOT\200\EOT\GS\RS\n\+ \\r\n\+ \\ENQ\EOT\v\STX\STX\b\DC2\EOT\200\EOT\US0\n\+ \\r\n\+ \\ENQ\EOT\v\STX\STX\a\DC2\EOT\200\EOT*/\n\+ \\v\n\+ \\ETX\EOT\v\t\DC2\EOT\202\EOT\STX\DC3\n\+ \\f\n\+ \\EOT\EOT\v\t\NUL\DC2\EOT\202\EOT\v\f\n\+ \\r\n\+ \\ENQ\EOT\v\t\NUL\SOH\DC2\EOT\202\EOT\v\f\n\+ \\r\n\+ \\ENQ\EOT\v\t\NUL\STX\DC2\EOT\202\EOT\v\f\n\+ \\f\n\+ \\EOT\EOT\v\t\SOH\DC2\EOT\202\EOT\SO\SI\n\+ \\r\n\+ \\ENQ\EOT\v\t\SOH\SOH\DC2\EOT\202\EOT\SO\SI\n\+ \\r\n\+ \\ENQ\EOT\v\t\SOH\STX\DC2\EOT\202\EOT\SO\SI\n\+ \\f\n\+ \\EOT\EOT\v\t\STX\DC2\EOT\202\EOT\DC1\DC2\n\+ \\r\n\+ \\ENQ\EOT\v\t\STX\SOH\DC2\EOT\202\EOT\DC1\DC2\n\+ \\r\n\+ \\ENQ\EOT\v\t\STX\STX\DC2\EOT\202\EOT\DC1\DC2\n\+ \\160\ACK\n\+ \\EOT\EOT\v\STX\ETX\DC2\EOT\225\EOT\STX\RS\SUB\145\ACK Whether the message is an automatically generated map entry type for the\n\+ \ maps field.\n\+ \\n\+ \ For maps fields:\n\+ \ map<KeyType, ValueType> map_field = 1;\n\+ \ The parsed descriptor looks like:\n\+ \ message MapFieldEntry {\n\+ \ option map_entry = true;\n\+ \ optional KeyType key = 1;\n\+ \ optional ValueType value = 2;\n\+ \ }\n\+ \ repeated MapFieldEntry map_field = 1;\n\+ \\n\+ \ Implementations may choose not to generate the map_entry=true message, but\n\+ \ use a native map in the target language to hold the keys and values.\n\+ \ The reflection APIs in such implementations still need to work as\n\+ \ if the field is a repeated message field.\n\+ \\n\+ \ NOTE: Do not set the option in .proto files. Always use the maps syntax\n\+ \ instead. The option should only be implicitly set by the proto compiler\n\+ \ parser.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ETX\EOT\DC2\EOT\225\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ETX\ENQ\DC2\EOT\225\EOT\v\SI\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ETX\SOH\DC2\EOT\225\EOT\DLE\EM\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ETX\ETX\DC2\EOT\225\EOT\FS\GS\n\+ \$\n\+ \\ETX\EOT\v\t\DC2\EOT\227\EOT\STX\r\"\ETB javalite_serializable\n\+ \\n\+ \\f\n\+ \\EOT\EOT\v\t\ETX\DC2\EOT\227\EOT\v\f\n\+ \\r\n\+ \\ENQ\EOT\v\t\ETX\SOH\DC2\EOT\227\EOT\v\f\n\+ \\r\n\+ \\ENQ\EOT\v\t\ETX\STX\DC2\EOT\227\EOT\v\f\n\+ \\US\n\+ \\ETX\EOT\v\t\DC2\EOT\228\EOT\STX\r\"\DC2 javanano_as_lite\n\+ \\n\+ \\f\n\+ \\EOT\EOT\v\t\EOT\DC2\EOT\228\EOT\v\f\n\+ \\r\n\+ \\ENQ\EOT\v\t\EOT\SOH\DC2\EOT\228\EOT\v\f\n\+ \\r\n\+ \\ENQ\EOT\v\t\EOT\STX\DC2\EOT\228\EOT\v\f\n\+ \\221\ETX\n\+ \\EOT\EOT\v\STX\EOT\DC2\EOT\240\EOT\STXP\SUB\206\ETX Enable the legacy handling of JSON field name conflicts. This lowercases\n\+ \ and strips underscored from the fields before comparison in proto3 only.\n\+ \ The new behavior takes `json_name` into account and applies to proto2 as\n\+ \ well.\n\+ \\n\+ \ This should only be used as a temporary measure against broken builds due\n\+ \ to the change in behavior for JSON field name conflicts.\n\+ \\n\+ \ TODO This is legacy behavior we plan to remove once downstream\n\+ \ teams have had time to migrate.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\EOT\EOT\DC2\EOT\240\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\EOT\ENQ\DC2\EOT\240\EOT\v\SI\n\+ \\r\n\+ \\ENQ\EOT\v\STX\EOT\SOH\DC2\EOT\240\EOT\DLE6\n\+ \\r\n\+ \\ENQ\EOT\v\STX\EOT\ETX\DC2\EOT\240\EOT9;\n\+ \\r\n\+ \\ENQ\EOT\v\STX\EOT\b\DC2\EOT\240\EOT<O\n\+ \\SO\n\+ \\ACK\EOT\v\STX\EOT\b\ETX\DC2\EOT\240\EOT=N\n\+ \=\n\+ \\EOT\EOT\v\STX\ENQ\DC2\EOT\243\EOT\STX$\SUB/ Any features defined in the specific edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ENQ\EOT\DC2\EOT\243\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ENQ\ACK\DC2\EOT\243\EOT\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ENQ\SOH\DC2\EOT\243\EOT\SYN\RS\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ENQ\ETX\DC2\EOT\243\EOT!#\n\+ \O\n\+ \\EOT\EOT\v\STX\ACK\DC2\EOT\246\EOT\STX:\SUBA The parser stores options it doesn't recognize here. See above.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ACK\EOT\DC2\EOT\246\EOT\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ACK\ACK\DC2\EOT\246\EOT\v\RS\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ACK\SOH\DC2\EOT\246\EOT\US3\n\+ \\r\n\+ \\ENQ\EOT\v\STX\ACK\ETX\DC2\EOT\246\EOT69\n\+ \Z\n\+ \\ETX\EOT\v\ENQ\DC2\EOT\249\EOT\STX\EM\SUBM Clients can define custom options in extensions of this message. See above.\n\+ \\n\+ \\f\n\+ \\EOT\EOT\v\ENQ\NUL\DC2\EOT\249\EOT\r\CAN\n\+ \\r\n\+ \\ENQ\EOT\v\ENQ\NUL\SOH\DC2\EOT\249\EOT\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\v\ENQ\NUL\STX\DC2\EOT\249\EOT\NAK\CAN\n\+ \\f\n\+ \\STX\EOT\f\DC2\ACK\252\EOT\NUL\162\ACK\SOH\n\+ \\v\n\+ \\ETX\EOT\f\SOH\DC2\EOT\252\EOT\b\DC4\n\+ \\194\ETX\n\+ \\EOT\EOT\f\STX\NUL\DC2\EOT\132\ENQ\STXE\SUB\179\ETX NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.\n\+ \ The ctype option instructs the C++ code generator to use a different\n\+ \ representation of the field than it normally would. See the specific\n\+ \ options below. This option is only implemented to support use of\n\+ \ [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of\n\+ \ type \"bytes\" in the open source release.\n\+ \ TODO: make ctype actually deprecated.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\NUL\EOT\DC2\EOT\132\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\NUL\ACK\DC2\EOT\132\ENQ\v\DLE\n\+ \\r\n\+ \\ENQ\EOT\f\STX\NUL\SOH\DC2\EOT\132\ENQ\DC1\SYN\n\+ \\r\n\+ \\ENQ\EOT\f\STX\NUL\ETX\DC2\EOT\132\ENQ\EM\SUB\n\+ \\r\n\+ \\ENQ\EOT\f\STX\NUL\b\DC2\EOT\132\ENQ\ESCD\n\+ \\r\n\+ \\ENQ\EOT\f\STX\NUL\a\DC2\EOT\132\ENQ=C\n\+ \\SO\n\+ \\EOT\EOT\f\EOT\NUL\DC2\ACK\133\ENQ\STX\146\ENQ\ETX\n\+ \\r\n\+ \\ENQ\EOT\f\EOT\NUL\SOH\DC2\EOT\133\ENQ\a\f\n\+ \\US\n\+ \\ACK\EOT\f\EOT\NUL\STX\NUL\DC2\EOT\135\ENQ\EOT\SI\SUB\SI Default mode.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\EOT\NUL\STX\NUL\SOH\DC2\EOT\135\ENQ\EOT\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\EOT\NUL\STX\NUL\STX\DC2\EOT\135\ENQ\r\SO\n\+ \\150\ETX\n\+ \\ACK\EOT\f\EOT\NUL\STX\SOH\DC2\EOT\143\ENQ\EOT\r\SUB\133\ETX The option [ctype=CORD] may be applied to a non-repeated field of type\n\+ \ \"bytes\". It indicates that in C++, the data should be stored in a Cord\n\+ \ instead of a string. For very large strings, this may reduce memory\n\+ \ fragmentation. It may also allow better performance when parsing from a\n\+ \ Cord, or when parsing with aliasing enabled, as the parsed Cord may then\n\+ \ alias the original buffer.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\EOT\NUL\STX\SOH\SOH\DC2\EOT\143\ENQ\EOT\b\n\+ \\SI\n\+ \\a\EOT\f\EOT\NUL\STX\SOH\STX\DC2\EOT\143\ENQ\v\f\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\NUL\STX\STX\DC2\EOT\145\ENQ\EOT\NAK\n\+ \\SI\n\+ \\a\EOT\f\EOT\NUL\STX\STX\SOH\DC2\EOT\145\ENQ\EOT\DLE\n\+ \\SI\n\+ \\a\EOT\f\EOT\NUL\STX\STX\STX\DC2\EOT\145\ENQ\DC3\DC4\n\+ \\211\ETX\n\+ \\EOT\EOT\f\STX\SOH\DC2\EOT\154\ENQ\STX\ESC\SUB\196\ETX The packed option can be enabled for repeated primitive fields to enable\n\+ \ a more efficient representation on the wire. Rather than repeatedly\n\+ \ writing the tag and type for each element, the entire array is encoded as\n\+ \ a single length-delimited blob. In proto3, only explicit setting it to\n\+ \ false will avoid using packed encoding. This option is prohibited in\n\+ \ Editions, but the `repeated_field_encoding` feature can be used to control\n\+ \ the behavior.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\SOH\EOT\DC2\EOT\154\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\SOH\ENQ\DC2\EOT\154\ENQ\v\SI\n\+ \\r\n\+ \\ENQ\EOT\f\STX\SOH\SOH\DC2\EOT\154\ENQ\DLE\SYN\n\+ \\r\n\+ \\ENQ\EOT\f\STX\SOH\ETX\DC2\EOT\154\ENQ\EM\SUB\n\+ \\154\ENQ\n\+ \\EOT\EOT\f\STX\STX\DC2\EOT\167\ENQ\STX3\SUB\139\ENQ The jstype option determines the JavaScript type used for values of the\n\+ \ field. The option is permitted only for 64 bit integral and fixed types\n\+ \ (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING\n\+ \ is represented as JavaScript string, which avoids loss of precision that\n\+ \ can happen when a large value is converted to a floating point JavaScript.\n\+ \ Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n\+ \ use the JavaScript \"number\" type. The behavior of the default option\n\+ \ JS_NORMAL is implementation dependent.\n\+ \\n\+ \ This option is an enum to permit additional types to be added, e.g.\n\+ \ goog.math.Integer.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\STX\EOT\DC2\EOT\167\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\STX\ACK\DC2\EOT\167\ENQ\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\f\STX\STX\SOH\DC2\EOT\167\ENQ\DC2\CAN\n\+ \\r\n\+ \\ENQ\EOT\f\STX\STX\ETX\DC2\EOT\167\ENQ\ESC\FS\n\+ \\r\n\+ \\ENQ\EOT\f\STX\STX\b\DC2\EOT\167\ENQ\GS2\n\+ \\r\n\+ \\ENQ\EOT\f\STX\STX\a\DC2\EOT\167\ENQ(1\n\+ \\SO\n\+ \\EOT\EOT\f\EOT\SOH\DC2\ACK\168\ENQ\STX\177\ENQ\ETX\n\+ \\r\n\+ \\ENQ\EOT\f\EOT\SOH\SOH\DC2\EOT\168\ENQ\a\r\n\+ \'\n\+ \\ACK\EOT\f\EOT\SOH\STX\NUL\DC2\EOT\170\ENQ\EOT\DC2\SUB\ETB Use the default type.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\EOT\SOH\STX\NUL\SOH\DC2\EOT\170\ENQ\EOT\r\n\+ \\SI\n\+ \\a\EOT\f\EOT\SOH\STX\NUL\STX\DC2\EOT\170\ENQ\DLE\DC1\n\+ \)\n\+ \\ACK\EOT\f\EOT\SOH\STX\SOH\DC2\EOT\173\ENQ\EOT\DC2\SUB\EM Use JavaScript strings.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\EOT\SOH\STX\SOH\SOH\DC2\EOT\173\ENQ\EOT\r\n\+ \\SI\n\+ \\a\EOT\f\EOT\SOH\STX\SOH\STX\DC2\EOT\173\ENQ\DLE\DC1\n\+ \)\n\+ \\ACK\EOT\f\EOT\SOH\STX\STX\DC2\EOT\176\ENQ\EOT\DC2\SUB\EM Use JavaScript numbers.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\EOT\SOH\STX\STX\SOH\DC2\EOT\176\ENQ\EOT\r\n\+ \\SI\n\+ \\a\EOT\f\EOT\SOH\STX\STX\STX\DC2\EOT\176\ENQ\DLE\DC1\n\+ \\153\n\+ \\n\+ \\EOT\EOT\f\STX\ETX\DC2\EOT\201\ENQ\STX+\SUB\138\n\+ \ Should this field be parsed lazily? Lazy applies only to message-type\n\+ \ fields. It means that when the outer message is initially parsed, the\n\+ \ inner message's contents will not be parsed but instead stored in encoded\n\+ \ form. The inner message will actually be parsed when it is first accessed.\n\+ \\n\+ \ This is only a hint. Implementations are free to choose whether to use\n\+ \ eager or lazy parsing regardless of the value of this option. However,\n\+ \ setting this option true suggests that the protocol author believes that\n\+ \ using lazy parsing on this field is worth the additional bookkeeping\n\+ \ overhead typically needed to implement it.\n\+ \\n\+ \ This option does not affect the public interface of any generated code;\n\+ \ all method signatures remain the same. Furthermore, thread-safety of the\n\+ \ interface is not affected by this option; const methods remain safe to\n\+ \ call from multiple threads concurrently, while non-const methods continue\n\+ \ to require exclusive access.\n\+ \\n\+ \ Note that lazy message fields are still eagerly verified to check\n\+ \ ill-formed wireformat or missing required fields. Calling IsInitialized()\n\+ \ on the outer message would fail if the inner message has missing required\n\+ \ fields. Failed verification would result in parsing failure (except when\n\+ \ uninitialized messages are acceptable).\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ETX\EOT\DC2\EOT\201\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ETX\ENQ\DC2\EOT\201\ENQ\v\SI\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ETX\SOH\DC2\EOT\201\ENQ\DLE\DC4\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ETX\ETX\DC2\EOT\201\ENQ\ETB\CAN\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ETX\b\DC2\EOT\201\ENQ\EM*\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ETX\a\DC2\EOT\201\ENQ$)\n\+ \\175\SOH\n\+ \\EOT\EOT\f\STX\EOT\DC2\EOT\206\ENQ\STX7\SUB\160\SOH unverified_lazy does no correctness checks on the byte stream. This should\n\+ \ only be used where lazy with verification is prohibitive for performance\n\+ \ reasons.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\EOT\EOT\DC2\EOT\206\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\EOT\ENQ\DC2\EOT\206\ENQ\v\SI\n\+ \\r\n\+ \\ENQ\EOT\f\STX\EOT\SOH\DC2\EOT\206\ENQ\DLE\US\n\+ \\r\n\+ \\ENQ\EOT\f\STX\EOT\ETX\DC2\EOT\206\ENQ\"$\n\+ \\r\n\+ \\ENQ\EOT\f\STX\EOT\b\DC2\EOT\206\ENQ%6\n\+ \\r\n\+ \\ENQ\EOT\f\STX\EOT\a\DC2\EOT\206\ENQ05\n\+ \\232\SOH\n\+ \\EOT\EOT\f\STX\ENQ\DC2\EOT\212\ENQ\STX1\SUB\217\SOH Is this field deprecated?\n\+ \ Depending on the target platform, this can emit Deprecated annotations\n\+ \ for accessors, or it will be completely ignored; in the very least, this\n\+ \ is a formalization for deprecating fields.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ENQ\EOT\DC2\EOT\212\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ENQ\ENQ\DC2\EOT\212\ENQ\v\SI\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ENQ\SOH\DC2\EOT\212\ENQ\DLE\SUB\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ENQ\ETX\DC2\EOT\212\ENQ\GS\RS\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ENQ\b\DC2\EOT\212\ENQ\US0\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ENQ\a\DC2\EOT\212\ENQ*/\n\+ \?\n\+ \\EOT\EOT\f\STX\ACK\DC2\EOT\215\ENQ\STX,\SUB1 For Google-internal migration only. Do not use.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ACK\EOT\DC2\EOT\215\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ACK\ENQ\DC2\EOT\215\ENQ\v\SI\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ACK\SOH\DC2\EOT\215\ENQ\DLE\DC4\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ACK\ETX\DC2\EOT\215\ENQ\ETB\EM\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ACK\b\DC2\EOT\215\ENQ\SUB+\n\+ \\r\n\+ \\ENQ\EOT\f\STX\ACK\a\DC2\EOT\215\ENQ%*\n\+ \\151\SOH\n\+ \\EOT\EOT\f\STX\a\DC2\EOT\219\ENQ\STX4\SUB\136\SOH Indicate that the field value should not be printed out when using debug\n\+ \ formats, e.g. when the field contains sensitive credentials.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\a\EOT\DC2\EOT\219\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\a\ENQ\DC2\EOT\219\ENQ\v\SI\n\+ \\r\n\+ \\ENQ\EOT\f\STX\a\SOH\DC2\EOT\219\ENQ\DLE\FS\n\+ \\r\n\+ \\ENQ\EOT\f\STX\a\ETX\DC2\EOT\219\ENQ\US!\n\+ \\r\n\+ \\ENQ\EOT\f\STX\a\b\DC2\EOT\219\ENQ\"3\n\+ \\r\n\+ \\ENQ\EOT\f\STX\a\a\DC2\EOT\219\ENQ-2\n\+ \\197\SOH\n\+ \\EOT\EOT\f\EOT\STX\DC2\ACK\224\ENQ\STX\228\ENQ\ETX\SUB\180\SOH If set to RETENTION_SOURCE, the option will be omitted from the binary.\n\+ \ Note: as of January 2023, support for this is in progress and does not yet\n\+ \ have an effect (b/264593489).\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\EOT\STX\SOH\DC2\EOT\224\ENQ\a\SYN\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\STX\STX\NUL\DC2\EOT\225\ENQ\EOT\SUB\n\+ \\SI\n\+ \\a\EOT\f\EOT\STX\STX\NUL\SOH\DC2\EOT\225\ENQ\EOT\NAK\n\+ \\SI\n\+ \\a\EOT\f\EOT\STX\STX\NUL\STX\DC2\EOT\225\ENQ\CAN\EM\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\STX\STX\SOH\DC2\EOT\226\ENQ\EOT\SUB\n\+ \\SI\n\+ \\a\EOT\f\EOT\STX\STX\SOH\SOH\DC2\EOT\226\ENQ\EOT\NAK\n\+ \\SI\n\+ \\a\EOT\f\EOT\STX\STX\SOH\STX\DC2\EOT\226\ENQ\CAN\EM\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\STX\STX\STX\DC2\EOT\227\ENQ\EOT\EM\n\+ \\SI\n\+ \\a\EOT\f\EOT\STX\STX\STX\SOH\DC2\EOT\227\ENQ\EOT\DC4\n\+ \\SI\n\+ \\a\EOT\f\EOT\STX\STX\STX\STX\DC2\EOT\227\ENQ\ETB\CAN\n\+ \\f\n\+ \\EOT\EOT\f\STX\b\DC2\EOT\230\ENQ\STX*\n\+ \\r\n\+ \\ENQ\EOT\f\STX\b\EOT\DC2\EOT\230\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\b\ACK\DC2\EOT\230\ENQ\v\SUB\n\+ \\r\n\+ \\ENQ\EOT\f\STX\b\SOH\DC2\EOT\230\ENQ\ESC$\n\+ \\r\n\+ \\ENQ\EOT\f\STX\b\ETX\DC2\EOT\230\ENQ')\n\+ \\173\STX\n\+ \\EOT\EOT\f\EOT\ETX\DC2\ACK\236\ENQ\STX\247\ENQ\ETX\SUB\156\STX This indicates the types of entities that the field may apply to when used\n\+ \ as an option. If it is unset, then the field may be freely used as an\n\+ \ option on any kind of entity. Note: as of January 2023, support for this is\n\+ \ in progress and does not yet have an effect (b/264593489).\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\EOT\ETX\SOH\DC2\EOT\236\ENQ\a\ETB\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\NUL\DC2\EOT\237\ENQ\EOT\FS\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\NUL\SOH\DC2\EOT\237\ENQ\EOT\ETB\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\NUL\STX\DC2\EOT\237\ENQ\SUB\ESC\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\SOH\DC2\EOT\238\ENQ\EOT\EM\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\SOH\SOH\DC2\EOT\238\ENQ\EOT\DC4\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\SOH\STX\DC2\EOT\238\ENQ\ETB\CAN\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\STX\DC2\EOT\239\ENQ\EOT$\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\STX\SOH\DC2\EOT\239\ENQ\EOT\US\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\STX\STX\DC2\EOT\239\ENQ\"#\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\ETX\DC2\EOT\240\ENQ\EOT\FS\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\ETX\SOH\DC2\EOT\240\ENQ\EOT\ETB\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\ETX\STX\DC2\EOT\240\ENQ\SUB\ESC\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\EOT\DC2\EOT\241\ENQ\EOT\SUB\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\EOT\SOH\DC2\EOT\241\ENQ\EOT\NAK\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\EOT\STX\DC2\EOT\241\ENQ\CAN\EM\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\ENQ\DC2\EOT\242\ENQ\EOT\SUB\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\ENQ\SOH\DC2\EOT\242\ENQ\EOT\NAK\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\ENQ\STX\DC2\EOT\242\ENQ\CAN\EM\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\ACK\DC2\EOT\243\ENQ\EOT\EM\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\ACK\SOH\DC2\EOT\243\ENQ\EOT\DC4\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\ACK\STX\DC2\EOT\243\ENQ\ETB\CAN\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\a\DC2\EOT\244\ENQ\EOT\US\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\a\SOH\DC2\EOT\244\ENQ\EOT\SUB\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\a\STX\DC2\EOT\244\ENQ\GS\RS\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\b\DC2\EOT\245\ENQ\EOT\FS\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\b\SOH\DC2\EOT\245\ENQ\EOT\ETB\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\b\STX\DC2\EOT\245\ENQ\SUB\ESC\n\+ \\SO\n\+ \\ACK\EOT\f\EOT\ETX\STX\t\DC2\EOT\246\ENQ\EOT\ESC\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\t\SOH\DC2\EOT\246\ENQ\EOT\SYN\n\+ \\SI\n\+ \\a\EOT\f\EOT\ETX\STX\t\STX\DC2\EOT\246\ENQ\EM\SUB\n\+ \\f\n\+ \\EOT\EOT\f\STX\t\DC2\EOT\249\ENQ\STX)\n\+ \\r\n\+ \\ENQ\EOT\f\STX\t\EOT\DC2\EOT\249\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\t\ACK\DC2\EOT\249\ENQ\v\ESC\n\+ \\r\n\+ \\ENQ\EOT\f\STX\t\SOH\DC2\EOT\249\ENQ\FS#\n\+ \\r\n\+ \\ENQ\EOT\f\STX\t\ETX\DC2\EOT\249\ENQ&(\n\+ \\SO\n\+ \\EOT\EOT\f\ETX\NUL\DC2\ACK\251\ENQ\STX\254\ENQ\ETX\n\+ \\r\n\+ \\ENQ\EOT\f\ETX\NUL\SOH\DC2\EOT\251\ENQ\n\+ \\CAN\n\+ \\SO\n\+ \\ACK\EOT\f\ETX\NUL\STX\NUL\DC2\EOT\252\ENQ\EOT!\n\+ \\SI\n\+ \\a\EOT\f\ETX\NUL\STX\NUL\EOT\DC2\EOT\252\ENQ\EOT\f\n\+ \\SI\n\+ \\a\EOT\f\ETX\NUL\STX\NUL\ACK\DC2\EOT\252\ENQ\r\DC4\n\+ \\SI\n\+ \\a\EOT\f\ETX\NUL\STX\NUL\SOH\DC2\EOT\252\ENQ\NAK\FS\n\+ \\SI\n\+ \\a\EOT\f\ETX\NUL\STX\NUL\ETX\DC2\EOT\252\ENQ\US \n\+ \\"\n\+ \\ACK\EOT\f\ETX\NUL\STX\SOH\DC2\EOT\253\ENQ\EOT\RS\"\DC2 Textproto value.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\ETX\NUL\STX\SOH\EOT\DC2\EOT\253\ENQ\EOT\f\n\+ \\SI\n\+ \\a\EOT\f\ETX\NUL\STX\SOH\ENQ\DC2\EOT\253\ENQ\r\DC3\n\+ \\SI\n\+ \\a\EOT\f\ETX\NUL\STX\SOH\SOH\DC2\EOT\253\ENQ\DC4\EM\n\+ \\SI\n\+ \\a\EOT\f\ETX\NUL\STX\SOH\ETX\DC2\EOT\253\ENQ\FS\GS\n\+ \\f\n\+ \\EOT\EOT\f\STX\n\+ \\DC2\EOT\255\ENQ\STX0\n\+ \\r\n\+ \\ENQ\EOT\f\STX\n\+ \\EOT\DC2\EOT\255\ENQ\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\n\+ \\ACK\DC2\EOT\255\ENQ\v\EM\n\+ \\r\n\+ \\ENQ\EOT\f\STX\n\+ \\SOH\DC2\EOT\255\ENQ\SUB*\n\+ \\r\n\+ \\ENQ\EOT\f\STX\n\+ \\ETX\DC2\EOT\255\ENQ-/\n\+ \=\n\+ \\EOT\EOT\f\STX\v\DC2\EOT\130\ACK\STX$\SUB/ Any features defined in the specific edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\v\EOT\DC2\EOT\130\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\v\ACK\DC2\EOT\130\ACK\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\f\STX\v\SOH\DC2\EOT\130\ACK\SYN\RS\n\+ \\r\n\+ \\ENQ\EOT\f\STX\v\ETX\DC2\EOT\130\ACK!#\n\+ \D\n\+ \\EOT\EOT\f\ETX\SOH\DC2\ACK\133\ACK\STX\151\ACK\ETX\SUB4 Information about the support window of a feature.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\ETX\SOH\SOH\DC2\EOT\133\ACK\n\+ \\CAN\n\+ \\212\SOH\n\+ \\ACK\EOT\f\ETX\SOH\STX\NUL\DC2\EOT\137\ACK\EOT,\SUB\195\SOH The edition that this feature was first available in. In editions\n\+ \ earlier than this one, the default assigned to EDITION_LEGACY will be\n\+ \ used, and proto files will not be able to override it.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\NUL\EOT\DC2\EOT\137\ACK\EOT\f\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\NUL\ACK\DC2\EOT\137\ACK\r\DC4\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\NUL\SOH\DC2\EOT\137\ACK\NAK'\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\NUL\ETX\DC2\EOT\137\ACK*+\n\+ \w\n\+ \\ACK\EOT\f\ETX\SOH\STX\SOH\DC2\EOT\141\ACK\EOT,\SUBg The edition this feature becomes deprecated in. Using this after this\n\+ \ edition may trigger warnings.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\SOH\EOT\DC2\EOT\141\ACK\EOT\f\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\SOH\ACK\DC2\EOT\141\ACK\r\DC4\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\SOH\SOH\DC2\EOT\141\ACK\NAK'\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\SOH\ETX\DC2\EOT\141\ACK*+\n\+ \v\n\+ \\ACK\EOT\f\ETX\SOH\STX\STX\DC2\EOT\145\ACK\EOT,\SUBf The deprecation warning text if this feature is used after the edition it\n\+ \ was marked deprecated in.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\STX\EOT\DC2\EOT\145\ACK\EOT\f\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\STX\ENQ\DC2\EOT\145\ACK\r\DC3\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\STX\SOH\DC2\EOT\145\ACK\DC4'\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\STX\ETX\DC2\EOT\145\ACK*+\n\+ \\190\SOH\n\+ \\ACK\EOT\f\ETX\SOH\STX\ETX\DC2\EOT\150\ACK\EOT)\SUB\173\SOH The edition this feature is no longer available in. In editions after\n\+ \ this one, the last default assigned will be used, and proto files will\n\+ \ not be able to override it.\n\+ \\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\ETX\EOT\DC2\EOT\150\ACK\EOT\f\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\ETX\ACK\DC2\EOT\150\ACK\r\DC4\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\ETX\SOH\DC2\EOT\150\ACK\NAK$\n\+ \\SI\n\+ \\a\EOT\f\ETX\SOH\STX\ETX\ETX\DC2\EOT\150\ACK'(\n\+ \\f\n\+ \\EOT\EOT\f\STX\f\DC2\EOT\152\ACK\STX/\n\+ \\r\n\+ \\ENQ\EOT\f\STX\f\EOT\DC2\EOT\152\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\f\ACK\DC2\EOT\152\ACK\v\EM\n\+ \\r\n\+ \\ENQ\EOT\f\STX\f\SOH\DC2\EOT\152\ACK\SUB)\n\+ \\r\n\+ \\ENQ\EOT\f\STX\f\ETX\DC2\EOT\152\ACK,.\n\+ \O\n\+ \\EOT\EOT\f\STX\r\DC2\EOT\155\ACK\STX:\SUBA The parser stores options it doesn't recognize here. See above.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\r\EOT\DC2\EOT\155\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\f\STX\r\ACK\DC2\EOT\155\ACK\v\RS\n\+ \\r\n\+ \\ENQ\EOT\f\STX\r\SOH\DC2\EOT\155\ACK\US3\n\+ \\r\n\+ \\ENQ\EOT\f\STX\r\ETX\DC2\EOT\155\ACK69\n\+ \Z\n\+ \\ETX\EOT\f\ENQ\DC2\EOT\158\ACK\STX\EM\SUBM Clients can define custom options in extensions of this message. See above.\n\+ \\n\+ \\f\n\+ \\EOT\EOT\f\ENQ\NUL\DC2\EOT\158\ACK\r\CAN\n\+ \\r\n\+ \\ENQ\EOT\f\ENQ\NUL\SOH\DC2\EOT\158\ACK\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\f\ENQ\NUL\STX\DC2\EOT\158\ACK\NAK\CAN\n\+ \\FS\n\+ \\ETX\EOT\f\t\DC2\EOT\160\ACK\STX\r\"\SI removed jtype\n\+ \\n\+ \\f\n\+ \\EOT\EOT\f\t\NUL\DC2\EOT\160\ACK\v\f\n\+ \\r\n\+ \\ENQ\EOT\f\t\NUL\SOH\DC2\EOT\160\ACK\v\f\n\+ \\r\n\+ \\ENQ\EOT\f\t\NUL\STX\DC2\EOT\160\ACK\v\f\n\+ \9\n\+ \\ETX\EOT\f\t\DC2\EOT\161\ACK\STX\SO\", reserve target, target_obsolete_do_not_use\n\+ \\n\+ \\f\n\+ \\EOT\EOT\f\t\SOH\DC2\EOT\161\ACK\v\r\n\+ \\r\n\+ \\ENQ\EOT\f\t\SOH\SOH\DC2\EOT\161\ACK\v\r\n\+ \\r\n\+ \\ENQ\EOT\f\t\SOH\STX\DC2\EOT\161\ACK\v\r\n\+ \\f\n\+ \\STX\EOT\r\DC2\ACK\164\ACK\NUL\173\ACK\SOH\n\+ \\v\n\+ \\ETX\EOT\r\SOH\DC2\EOT\164\ACK\b\DC4\n\+ \=\n\+ \\EOT\EOT\r\STX\NUL\DC2\EOT\166\ACK\STX#\SUB/ Any features defined in the specific edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\r\STX\NUL\EOT\DC2\EOT\166\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\r\STX\NUL\ACK\DC2\EOT\166\ACK\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\r\STX\NUL\SOH\DC2\EOT\166\ACK\SYN\RS\n\+ \\r\n\+ \\ENQ\EOT\r\STX\NUL\ETX\DC2\EOT\166\ACK!\"\n\+ \O\n\+ \\EOT\EOT\r\STX\SOH\DC2\EOT\169\ACK\STX:\SUBA The parser stores options it doesn't recognize here. See above.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\r\STX\SOH\EOT\DC2\EOT\169\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\r\STX\SOH\ACK\DC2\EOT\169\ACK\v\RS\n\+ \\r\n\+ \\ENQ\EOT\r\STX\SOH\SOH\DC2\EOT\169\ACK\US3\n\+ \\r\n\+ \\ENQ\EOT\r\STX\SOH\ETX\DC2\EOT\169\ACK69\n\+ \Z\n\+ \\ETX\EOT\r\ENQ\DC2\EOT\172\ACK\STX\EM\SUBM Clients can define custom options in extensions of this message. See above.\n\+ \\n\+ \\f\n\+ \\EOT\EOT\r\ENQ\NUL\DC2\EOT\172\ACK\r\CAN\n\+ \\r\n\+ \\ENQ\EOT\r\ENQ\NUL\SOH\DC2\EOT\172\ACK\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\r\ENQ\NUL\STX\DC2\EOT\172\ACK\NAK\CAN\n\+ \\f\n\+ \\STX\EOT\SO\DC2\ACK\175\ACK\NUL\205\ACK\SOH\n\+ \\v\n\+ \\ETX\EOT\SO\SOH\DC2\EOT\175\ACK\b\DC3\n\+ \`\n\+ \\EOT\EOT\SO\STX\NUL\DC2\EOT\179\ACK\STX \SUBR Set this option to true to allow mapping different tag names to the same\n\+ \ value.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\NUL\EOT\DC2\EOT\179\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\NUL\ENQ\DC2\EOT\179\ACK\v\SI\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\NUL\SOH\DC2\EOT\179\ACK\DLE\ESC\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\NUL\ETX\DC2\EOT\179\ACK\RS\US\n\+ \\229\SOH\n\+ \\EOT\EOT\SO\STX\SOH\DC2\EOT\185\ACK\STX1\SUB\214\SOH Is this enum deprecated?\n\+ \ Depending on the target platform, this can emit Deprecated annotations\n\+ \ for the enum, or it will be completely ignored; in the very least, this\n\+ \ is a formalization for deprecating enums.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\SOH\EOT\DC2\EOT\185\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\SOH\ENQ\DC2\EOT\185\ACK\v\SI\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\SOH\SOH\DC2\EOT\185\ACK\DLE\SUB\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\SOH\ETX\DC2\EOT\185\ACK\GS\RS\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\SOH\b\DC2\EOT\185\ACK\US0\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\SOH\a\DC2\EOT\185\ACK*/\n\+ \\US\n\+ \\ETX\EOT\SO\t\DC2\EOT\187\ACK\STX\r\"\DC2 javanano_as_lite\n\+ \\n\+ \\f\n\+ \\EOT\EOT\SO\t\NUL\DC2\EOT\187\ACK\v\f\n\+ \\r\n\+ \\ENQ\EOT\SO\t\NUL\SOH\DC2\EOT\187\ACK\v\f\n\+ \\r\n\+ \\ENQ\EOT\SO\t\NUL\STX\DC2\EOT\187\ACK\v\f\n\+ \\200\STX\n\+ \\EOT\EOT\SO\STX\STX\DC2\EOT\195\ACK\STXO\SUB\185\STX Enable the legacy handling of JSON field name conflicts. This lowercases\n\+ \ and strips underscored from the fields before comparison in proto3 only.\n\+ \ The new behavior takes `json_name` into account and applies to proto2 as\n\+ \ well.\n\+ \ TODO Remove this legacy behavior once downstream teams have\n\+ \ had time to migrate.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\STX\EOT\DC2\EOT\195\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\STX\ENQ\DC2\EOT\195\ACK\v\SI\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\STX\SOH\DC2\EOT\195\ACK\DLE6\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\STX\ETX\DC2\EOT\195\ACK9:\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\STX\b\DC2\EOT\195\ACK;N\n\+ \\SO\n\+ \\ACK\EOT\SO\STX\STX\b\ETX\DC2\EOT\195\ACK<M\n\+ \=\n\+ \\EOT\EOT\SO\STX\ETX\DC2\EOT\198\ACK\STX#\SUB/ Any features defined in the specific edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\ETX\EOT\DC2\EOT\198\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\ETX\ACK\DC2\EOT\198\ACK\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\ETX\SOH\DC2\EOT\198\ACK\SYN\RS\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\ETX\ETX\DC2\EOT\198\ACK!\"\n\+ \O\n\+ \\EOT\EOT\SO\STX\EOT\DC2\EOT\201\ACK\STX:\SUBA The parser stores options it doesn't recognize here. See above.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\EOT\EOT\DC2\EOT\201\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\EOT\ACK\DC2\EOT\201\ACK\v\RS\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\EOT\SOH\DC2\EOT\201\ACK\US3\n\+ \\r\n\+ \\ENQ\EOT\SO\STX\EOT\ETX\DC2\EOT\201\ACK69\n\+ \Z\n\+ \\ETX\EOT\SO\ENQ\DC2\EOT\204\ACK\STX\EM\SUBM Clients can define custom options in extensions of this message. See above.\n\+ \\n\+ \\f\n\+ \\EOT\EOT\SO\ENQ\NUL\DC2\EOT\204\ACK\r\CAN\n\+ \\r\n\+ \\ENQ\EOT\SO\ENQ\NUL\SOH\DC2\EOT\204\ACK\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\SO\ENQ\NUL\STX\DC2\EOT\204\ACK\NAK\CAN\n\+ \\f\n\+ \\STX\EOT\SI\DC2\ACK\207\ACK\NUL\230\ACK\SOH\n\+ \\v\n\+ \\ETX\EOT\SI\SOH\DC2\EOT\207\ACK\b\CAN\n\+ \\247\SOH\n\+ \\EOT\EOT\SI\STX\NUL\DC2\EOT\212\ACK\STX1\SUB\232\SOH Is this enum value deprecated?\n\+ \ Depending on the target platform, this can emit Deprecated annotations\n\+ \ for the enum value, or it will be completely ignored; in the very least,\n\+ \ this is a formalization for deprecating enum values.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\NUL\EOT\DC2\EOT\212\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\NUL\ENQ\DC2\EOT\212\ACK\v\SI\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\NUL\SOH\DC2\EOT\212\ACK\DLE\SUB\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\NUL\ETX\DC2\EOT\212\ACK\GS\RS\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\NUL\b\DC2\EOT\212\ACK\US0\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\NUL\a\DC2\EOT\212\ACK*/\n\+ \=\n\+ \\EOT\EOT\SI\STX\SOH\DC2\EOT\215\ACK\STX#\SUB/ Any features defined in the specific edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\SOH\EOT\DC2\EOT\215\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\SOH\ACK\DC2\EOT\215\ACK\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\SOH\SOH\DC2\EOT\215\ACK\SYN\RS\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\SOH\ETX\DC2\EOT\215\ACK!\"\n\+ \\174\SOH\n\+ \\EOT\EOT\SI\STX\STX\DC2\EOT\220\ACK\STX3\SUB\159\SOH Indicate that fields annotated with this enum value should not be printed\n\+ \ out when using debug formats, e.g. when the field contains sensitive\n\+ \ credentials.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\STX\EOT\DC2\EOT\220\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\STX\ENQ\DC2\EOT\220\ACK\v\SI\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\STX\SOH\DC2\EOT\220\ACK\DLE\FS\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\STX\ETX\DC2\EOT\220\ACK\US \n\+ \\r\n\+ \\ENQ\EOT\SI\STX\STX\b\DC2\EOT\220\ACK!2\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\STX\a\DC2\EOT\220\ACK,1\n\+ \H\n\+ \\EOT\EOT\SI\STX\ETX\DC2\EOT\223\ACK\STX;\SUB: Information about the support window of a feature value.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\ETX\EOT\DC2\EOT\223\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\ETX\ACK\DC2\EOT\223\ACK\v&\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\ETX\SOH\DC2\EOT\223\ACK'6\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\ETX\ETX\DC2\EOT\223\ACK9:\n\+ \O\n\+ \\EOT\EOT\SI\STX\EOT\DC2\EOT\226\ACK\STX:\SUBA The parser stores options it doesn't recognize here. See above.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\EOT\EOT\DC2\EOT\226\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\EOT\ACK\DC2\EOT\226\ACK\v\RS\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\EOT\SOH\DC2\EOT\226\ACK\US3\n\+ \\r\n\+ \\ENQ\EOT\SI\STX\EOT\ETX\DC2\EOT\226\ACK69\n\+ \Z\n\+ \\ETX\EOT\SI\ENQ\DC2\EOT\229\ACK\STX\EM\SUBM Clients can define custom options in extensions of this message. See above.\n\+ \\n\+ \\f\n\+ \\EOT\EOT\SI\ENQ\NUL\DC2\EOT\229\ACK\r\CAN\n\+ \\r\n\+ \\ENQ\EOT\SI\ENQ\NUL\SOH\DC2\EOT\229\ACK\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\SI\ENQ\NUL\STX\DC2\EOT\229\ACK\NAK\CAN\n\+ \\f\n\+ \\STX\EOT\DLE\DC2\ACK\232\ACK\NUL\253\ACK\SOH\n\+ \\v\n\+ \\ETX\EOT\DLE\SOH\DC2\EOT\232\ACK\b\SYN\n\+ \=\n\+ \\EOT\EOT\DLE\STX\NUL\DC2\EOT\235\ACK\STX$\SUB/ Any features defined in the specific edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\NUL\EOT\DC2\EOT\235\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\NUL\ACK\DC2\EOT\235\ACK\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\NUL\SOH\DC2\EOT\235\ACK\SYN\RS\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\NUL\ETX\DC2\EOT\235\ACK!#\n\+ \\217\ETX\n\+ \\EOT\EOT\DLE\STX\SOH\DC2\EOT\246\ACK\STX2\SUB\223\SOH Is this service deprecated?\n\+ \ Depending on the target platform, this can emit Deprecated annotations\n\+ \ for the service, or it will be completely ignored; in the very least,\n\+ \ this is a formalization for deprecating services.\n\+ \2\232\SOH Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n\+ \ framework. We apologize for hoarding these numbers to ourselves, but\n\+ \ we were already using them long before we decided to release Protocol\n\+ \ Buffers.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\SOH\EOT\DC2\EOT\246\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\SOH\ENQ\DC2\EOT\246\ACK\v\SI\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\SOH\SOH\DC2\EOT\246\ACK\DLE\SUB\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\SOH\ETX\DC2\EOT\246\ACK\GS\US\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\SOH\b\DC2\EOT\246\ACK 1\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\SOH\a\DC2\EOT\246\ACK+0\n\+ \O\n\+ \\EOT\EOT\DLE\STX\STX\DC2\EOT\249\ACK\STX:\SUBA The parser stores options it doesn't recognize here. See above.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\STX\EOT\DC2\EOT\249\ACK\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\STX\ACK\DC2\EOT\249\ACK\v\RS\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\STX\SOH\DC2\EOT\249\ACK\US3\n\+ \\r\n\+ \\ENQ\EOT\DLE\STX\STX\ETX\DC2\EOT\249\ACK69\n\+ \Z\n\+ \\ETX\EOT\DLE\ENQ\DC2\EOT\252\ACK\STX\EM\SUBM Clients can define custom options in extensions of this message. See above.\n\+ \\n\+ \\f\n\+ \\EOT\EOT\DLE\ENQ\NUL\DC2\EOT\252\ACK\r\CAN\n\+ \\r\n\+ \\ENQ\EOT\DLE\ENQ\NUL\SOH\DC2\EOT\252\ACK\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\DLE\ENQ\NUL\STX\DC2\EOT\252\ACK\NAK\CAN\n\+ \\f\n\+ \\STX\EOT\DC1\DC2\ACK\255\ACK\NUL\159\a\SOH\n\+ \\v\n\+ \\ETX\EOT\DC1\SOH\DC2\EOT\255\ACK\b\NAK\n\+ \\214\ETX\n\+ \\EOT\EOT\DC1\STX\NUL\DC2\EOT\138\a\STX2\SUB\220\SOH Is this method deprecated?\n\+ \ Depending on the target platform, this can emit Deprecated annotations\n\+ \ for the method, or it will be completely ignored; in the very least,\n\+ \ this is a formalization for deprecating methods.\n\+ \2\232\SOH Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n\+ \ framework. We apologize for hoarding these numbers to ourselves, but\n\+ \ we were already using them long before we decided to release Protocol\n\+ \ Buffers.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\NUL\EOT\DC2\EOT\138\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\NUL\ENQ\DC2\EOT\138\a\v\SI\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\NUL\SOH\DC2\EOT\138\a\DLE\SUB\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\NUL\ETX\DC2\EOT\138\a\GS\US\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\NUL\b\DC2\EOT\138\a 1\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\NUL\a\DC2\EOT\138\a+0\n\+ \\240\SOH\n\+ \\EOT\EOT\DC1\EOT\NUL\DC2\ACK\143\a\STX\147\a\ETX\SUB\223\SOH Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n\+ \ or neither? HTTP based RPC implementation may choose GET verb for safe\n\+ \ methods, and PUT verb for idempotent methods instead of the default POST.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC1\EOT\NUL\SOH\DC2\EOT\143\a\a\ETB\n\+ \\SO\n\+ \\ACK\EOT\DC1\EOT\NUL\STX\NUL\DC2\EOT\144\a\EOT\FS\n\+ \\SI\n\+ \\a\EOT\DC1\EOT\NUL\STX\NUL\SOH\DC2\EOT\144\a\EOT\ETB\n\+ \\SI\n\+ \\a\EOT\DC1\EOT\NUL\STX\NUL\STX\DC2\EOT\144\a\SUB\ESC\n\+ \$\n\+ \\ACK\EOT\DC1\EOT\NUL\STX\SOH\DC2\EOT\145\a\EOT\CAN\"\DC4 implies idempotent\n\+ \\n\+ \\SI\n\+ \\a\EOT\DC1\EOT\NUL\STX\SOH\SOH\DC2\EOT\145\a\EOT\DC3\n\+ \\SI\n\+ \\a\EOT\DC1\EOT\NUL\STX\SOH\STX\DC2\EOT\145\a\SYN\ETB\n\+ \7\n\+ \\ACK\EOT\DC1\EOT\NUL\STX\STX\DC2\EOT\146\a\EOT\DC3\"' idempotent, but may have side effects\n\+ \\n\+ \\SI\n\+ \\a\EOT\DC1\EOT\NUL\STX\STX\SOH\DC2\EOT\146\a\EOT\SO\n\+ \\SI\n\+ \\a\EOT\DC1\EOT\NUL\STX\STX\STX\DC2\EOT\146\a\DC1\DC2\n\+ \\SO\n\+ \\EOT\EOT\DC1\STX\SOH\DC2\ACK\148\a\STX\149\a&\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\SOH\EOT\DC2\EOT\148\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\SOH\ACK\DC2\EOT\148\a\v\ESC\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\SOH\SOH\DC2\EOT\148\a\FS-\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\SOH\ETX\DC2\EOT\148\a02\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\SOH\b\DC2\EOT\149\a\ACK%\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\SOH\a\DC2\EOT\149\a\DC1$\n\+ \=\n\+ \\EOT\EOT\DC1\STX\STX\DC2\EOT\152\a\STX$\SUB/ Any features defined in the specific edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\STX\EOT\DC2\EOT\152\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\STX\ACK\DC2\EOT\152\a\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\STX\SOH\DC2\EOT\152\a\SYN\RS\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\STX\ETX\DC2\EOT\152\a!#\n\+ \O\n\+ \\EOT\EOT\DC1\STX\ETX\DC2\EOT\155\a\STX:\SUBA The parser stores options it doesn't recognize here. See above.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\ETX\EOT\DC2\EOT\155\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\ETX\ACK\DC2\EOT\155\a\v\RS\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\ETX\SOH\DC2\EOT\155\a\US3\n\+ \\r\n\+ \\ENQ\EOT\DC1\STX\ETX\ETX\DC2\EOT\155\a69\n\+ \Z\n\+ \\ETX\EOT\DC1\ENQ\DC2\EOT\158\a\STX\EM\SUBM Clients can define custom options in extensions of this message. See above.\n\+ \\n\+ \\f\n\+ \\EOT\EOT\DC1\ENQ\NUL\DC2\EOT\158\a\r\CAN\n\+ \\r\n\+ \\ENQ\EOT\DC1\ENQ\NUL\SOH\DC2\EOT\158\a\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\DC1\ENQ\NUL\STX\DC2\EOT\158\a\NAK\CAN\n\+ \\139\ETX\n\+ \\STX\EOT\DC2\DC2\ACK\167\a\NUL\187\a\SOH\SUB\252\STX A message representing a option the parser does not recognize. This only\n\+ \ appears in options protos created by the compiler::Parser class.\n\+ \ DescriptorPool resolves these when building Descriptor objects. Therefore,\n\+ \ options protos in descriptor objects (e.g. returned by Descriptor::options(),\n\+ \ or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n\+ \ in them.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\DC2\SOH\DC2\EOT\167\a\b\ESC\n\+ \\203\STX\n\+ \\EOT\EOT\DC2\ETX\NUL\DC2\ACK\173\a\STX\176\a\ETX\SUB\186\STX The name of the uninterpreted option. Each string represents a segment in\n\+ \ a dot-separated name. is_extension is true iff a segment represents an\n\+ \ extension (denoted with parentheses in options specs in .proto files).\n\+ \ E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"moo\", false] } represents\n\+ \ \"foo.(bar.baz).moo\".\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC2\ETX\NUL\SOH\DC2\EOT\173\a\n\+ \\DC2\n\+ \\SO\n\+ \\ACK\EOT\DC2\ETX\NUL\STX\NUL\DC2\EOT\174\a\EOT\"\n\+ \\SI\n\+ \\a\EOT\DC2\ETX\NUL\STX\NUL\EOT\DC2\EOT\174\a\EOT\f\n\+ \\SI\n\+ \\a\EOT\DC2\ETX\NUL\STX\NUL\ENQ\DC2\EOT\174\a\r\DC3\n\+ \\SI\n\+ \\a\EOT\DC2\ETX\NUL\STX\NUL\SOH\DC2\EOT\174\a\DC4\GS\n\+ \\SI\n\+ \\a\EOT\DC2\ETX\NUL\STX\NUL\ETX\DC2\EOT\174\a !\n\+ \\SO\n\+ \\ACK\EOT\DC2\ETX\NUL\STX\SOH\DC2\EOT\175\a\EOT#\n\+ \\SI\n\+ \\a\EOT\DC2\ETX\NUL\STX\SOH\EOT\DC2\EOT\175\a\EOT\f\n\+ \\SI\n\+ \\a\EOT\DC2\ETX\NUL\STX\SOH\ENQ\DC2\EOT\175\a\r\DC1\n\+ \\SI\n\+ \\a\EOT\DC2\ETX\NUL\STX\SOH\SOH\DC2\EOT\175\a\DC2\RS\n\+ \\SI\n\+ \\a\EOT\DC2\ETX\NUL\STX\SOH\ETX\DC2\EOT\175\a!\"\n\+ \\f\n\+ \\EOT\EOT\DC2\STX\NUL\DC2\EOT\177\a\STX\GS\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\NUL\EOT\DC2\EOT\177\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\NUL\ACK\DC2\EOT\177\a\v\DC3\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\NUL\SOH\DC2\EOT\177\a\DC4\CAN\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\NUL\ETX\DC2\EOT\177\a\ESC\FS\n\+ \\156\SOH\n\+ \\EOT\EOT\DC2\STX\SOH\DC2\EOT\181\a\STX'\SUB\141\SOH The value of the uninterpreted option, in whatever type the tokenizer\n\+ \ identified it as during parsing. Exactly one of these should be set.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\SOH\EOT\DC2\EOT\181\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\SOH\ENQ\DC2\EOT\181\a\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\SOH\SOH\DC2\EOT\181\a\DC2\"\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\SOH\ETX\DC2\EOT\181\a%&\n\+ \\f\n\+ \\EOT\EOT\DC2\STX\STX\DC2\EOT\182\a\STX)\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\STX\EOT\DC2\EOT\182\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\STX\ENQ\DC2\EOT\182\a\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\STX\SOH\DC2\EOT\182\a\DC2$\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\STX\ETX\DC2\EOT\182\a'(\n\+ \\f\n\+ \\EOT\EOT\DC2\STX\ETX\DC2\EOT\183\a\STX(\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ETX\EOT\DC2\EOT\183\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ETX\ENQ\DC2\EOT\183\a\v\DLE\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ETX\SOH\DC2\EOT\183\a\DC1#\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ETX\ETX\DC2\EOT\183\a&'\n\+ \\f\n\+ \\EOT\EOT\DC2\STX\EOT\DC2\EOT\184\a\STX#\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\EOT\EOT\DC2\EOT\184\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\EOT\ENQ\DC2\EOT\184\a\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\EOT\SOH\DC2\EOT\184\a\DC2\RS\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\EOT\ETX\DC2\EOT\184\a!\"\n\+ \\f\n\+ \\EOT\EOT\DC2\STX\ENQ\DC2\EOT\185\a\STX\"\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ENQ\EOT\DC2\EOT\185\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ENQ\ENQ\DC2\EOT\185\a\v\DLE\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ENQ\SOH\DC2\EOT\185\a\DC1\GS\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ENQ\ETX\DC2\EOT\185\a !\n\+ \\f\n\+ \\EOT\EOT\DC2\STX\ACK\DC2\EOT\186\a\STX&\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ACK\EOT\DC2\EOT\186\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ACK\ENQ\DC2\EOT\186\a\v\DC1\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ACK\SOH\DC2\EOT\186\a\DC2!\n\+ \\r\n\+ \\ENQ\EOT\DC2\STX\ACK\ETX\DC2\EOT\186\a$%\n\+ \\219\ETX\n\+ \\STX\EOT\DC3\DC2\ACK\198\a\NUL\193\b\SOH\SUB\251\STX TODO Enums in C++ gencode (and potentially other languages) are\n\+ \ not well scoped. This means that each of the feature enums below can clash\n\+ \ with each other. The short names we've chosen maximize call-site\n\+ \ readability, but leave us very open to this scenario. A future feature will\n\+ \ be designed and implemented to handle this, hopefully before we ever hit a\n\+ \ conflict here.\n\+ \2O ===================================================================\n\+ \ Features\n\+ \\n\+ \\v\n\+ \\ETX\EOT\DC3\SOH\DC2\EOT\198\a\b\DC2\n\+ \\SO\n\+ \\EOT\EOT\DC3\EOT\NUL\DC2\ACK\199\a\STX\204\a\ETX\n\+ \\r\n\+ \\ENQ\EOT\DC3\EOT\NUL\SOH\DC2\EOT\199\a\a\DC4\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\NUL\STX\NUL\DC2\EOT\200\a\EOT\US\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\NUL\STX\NUL\SOH\DC2\EOT\200\a\EOT\SUB\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\NUL\STX\NUL\STX\DC2\EOT\200\a\GS\RS\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\NUL\STX\SOH\DC2\EOT\201\a\EOT\DC1\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\NUL\STX\SOH\SOH\DC2\EOT\201\a\EOT\f\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\NUL\STX\SOH\STX\DC2\EOT\201\a\SI\DLE\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\NUL\STX\STX\DC2\EOT\202\a\EOT\DC1\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\NUL\STX\STX\SOH\DC2\EOT\202\a\EOT\f\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\NUL\STX\STX\STX\DC2\EOT\202\a\SI\DLE\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\NUL\STX\ETX\DC2\EOT\203\a\EOT\CAN\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\NUL\STX\ETX\SOH\DC2\EOT\203\a\EOT\DC3\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\NUL\STX\ETX\STX\DC2\EOT\203\a\SYN\ETB\n\+ \\SO\n\+ \\EOT\EOT\DC3\STX\NUL\DC2\ACK\205\a\STX\215\a\EOT\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\NUL\EOT\DC2\EOT\205\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\NUL\ACK\DC2\EOT\205\a\v\CAN\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\NUL\SOH\DC2\EOT\205\a\EM'\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\NUL\ETX\DC2\EOT\205\a*+\n\+ \\SI\n\+ \\ENQ\EOT\DC3\STX\NUL\b\DC2\ACK\205\a,\215\a\ETX\n\+ \\SO\n\+ \\ACK\EOT\DC3\STX\NUL\b\DC1\DC2\EOT\206\a\EOT!\n\+ \\SI\n\+ \\a\EOT\DC3\STX\NUL\b\DC3\NUL\DC2\EOT\207\a\EOT\US\n\+ \\SI\n\+ \\a\EOT\DC3\STX\NUL\b\DC3\SOH\DC2\EOT\208\a\EOT\RS\n\+ \\DLE\n\+ \\ACK\EOT\DC3\STX\NUL\b\SYN\DC2\ACK\209\a\EOT\211\a\ENQ\n\+ \\SI\n\+ \\a\EOT\DC3\STX\NUL\b\DC4\NUL\DC2\EOT\212\a\EOTE\n\+ \\SI\n\+ \\a\EOT\DC3\STX\NUL\b\DC4\SOH\DC2\EOT\213\a\EOTE\n\+ \\SI\n\+ \\a\EOT\DC3\STX\NUL\b\DC4\STX\DC2\EOT\214\a\EOTC\n\+ \\SO\n\+ \\EOT\EOT\DC3\EOT\SOH\DC2\ACK\217\a\STX\221\a\ETX\n\+ \\r\n\+ \\ENQ\EOT\DC3\EOT\SOH\SOH\DC2\EOT\217\a\a\SI\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\SOH\STX\NUL\DC2\EOT\218\a\EOT\SUB\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\SOH\STX\NUL\SOH\DC2\EOT\218\a\EOT\NAK\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\SOH\STX\NUL\STX\DC2\EOT\218\a\CAN\EM\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\SOH\STX\SOH\DC2\EOT\219\a\EOT\r\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\SOH\STX\SOH\SOH\DC2\EOT\219\a\EOT\b\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\SOH\STX\SOH\STX\DC2\EOT\219\a\v\f\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\SOH\STX\STX\DC2\EOT\220\a\EOT\SI\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\SOH\STX\STX\SOH\DC2\EOT\220\a\EOT\n\+ \\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\SOH\STX\STX\STX\DC2\EOT\220\a\r\SO\n\+ \\SO\n\+ \\EOT\EOT\DC3\STX\SOH\DC2\ACK\222\a\STX\231\a\EOT\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\SOH\EOT\DC2\EOT\222\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\SOH\ACK\DC2\EOT\222\a\v\DC3\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\SOH\SOH\DC2\EOT\222\a\DC4\GS\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\SOH\ETX\DC2\EOT\222\a !\n\+ \\SI\n\+ \\ENQ\EOT\DC3\STX\SOH\b\DC2\ACK\222\a\"\231\a\ETX\n\+ \\SO\n\+ \\ACK\EOT\DC3\STX\SOH\b\DC1\DC2\EOT\223\a\EOT!\n\+ \\SI\n\+ \\a\EOT\DC3\STX\SOH\b\DC3\NUL\DC2\EOT\224\a\EOT\RS\n\+ \\SI\n\+ \\a\EOT\DC3\STX\SOH\b\DC3\SOH\DC2\EOT\225\a\EOT\RS\n\+ \\DLE\n\+ \\ACK\EOT\DC3\STX\SOH\b\SYN\DC2\ACK\226\a\EOT\228\a\ENQ\n\+ \\SI\n\+ \\a\EOT\DC3\STX\SOH\b\DC4\NUL\DC2\EOT\229\a\EOTC\n\+ \\SI\n\+ \\a\EOT\DC3\STX\SOH\b\DC4\SOH\DC2\EOT\230\a\EOTA\n\+ \\SO\n\+ \\EOT\EOT\DC3\EOT\STX\DC2\ACK\233\a\STX\237\a\ETX\n\+ \\r\n\+ \\ENQ\EOT\DC3\EOT\STX\SOH\DC2\EOT\233\a\a\FS\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\STX\STX\NUL\DC2\EOT\234\a\EOT(\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\STX\STX\NUL\SOH\DC2\EOT\234\a\EOT#\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\STX\STX\NUL\STX\DC2\EOT\234\a&'\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\STX\STX\SOH\DC2\EOT\235\a\EOT\SI\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\STX\STX\SOH\SOH\DC2\EOT\235\a\EOT\n\+ \\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\STX\STX\SOH\STX\DC2\EOT\235\a\r\SO\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\STX\STX\STX\DC2\EOT\236\a\EOT\DC1\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\STX\STX\STX\SOH\DC2\EOT\236\a\EOT\f\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\STX\STX\STX\STX\DC2\EOT\236\a\SI\DLE\n\+ \\SO\n\+ \\EOT\EOT\DC3\STX\STX\DC2\ACK\238\a\STX\247\a\EOT\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\STX\EOT\DC2\EOT\238\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\STX\ACK\DC2\EOT\238\a\v \n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\STX\SOH\DC2\EOT\238\a!8\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\STX\ETX\DC2\EOT\238\a;<\n\+ \\SI\n\+ \\ENQ\EOT\DC3\STX\STX\b\DC2\ACK\238\a=\247\a\ETX\n\+ \\SO\n\+ \\ACK\EOT\DC3\STX\STX\b\DC1\DC2\EOT\239\a\EOT!\n\+ \\SI\n\+ \\a\EOT\DC3\STX\STX\b\DC3\NUL\DC2\EOT\240\a\EOT\US\n\+ \\SI\n\+ \\a\EOT\DC3\STX\STX\b\DC3\SOH\DC2\EOT\241\a\EOT\RS\n\+ \\DLE\n\+ \\ACK\EOT\DC3\STX\STX\b\SYN\DC2\ACK\242\a\EOT\244\a\ENQ\n\+ \\SI\n\+ \\a\EOT\DC3\STX\STX\b\DC4\NUL\DC2\EOT\245\a\EOTE\n\+ \\SI\n\+ \\a\EOT\DC3\STX\STX\b\DC4\SOH\DC2\EOT\246\a\EOTC\n\+ \\SO\n\+ \\EOT\EOT\DC3\EOT\ETX\DC2\ACK\249\a\STX\254\a\ETX\n\+ \\r\n\+ \\ENQ\EOT\DC3\EOT\ETX\SOH\DC2\EOT\249\a\a\NAK\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\ETX\STX\NUL\DC2\EOT\250\a\EOT \n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ETX\STX\NUL\SOH\DC2\EOT\250\a\EOT\ESC\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ETX\STX\NUL\STX\DC2\EOT\250\a\RS\US\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\ETX\STX\SOH\DC2\EOT\251\a\EOT\SI\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ETX\STX\SOH\SOH\DC2\EOT\251\a\EOT\n\+ \\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ETX\STX\SOH\STX\DC2\EOT\251\a\r\SO\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\ETX\STX\STX\DC2\EOT\252\a\EOT\r\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ETX\STX\STX\SOH\DC2\EOT\252\a\EOT\b\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ETX\STX\STX\STX\DC2\EOT\252\a\v\f\n\+ \\r\n\+ \\ENQ\EOT\DC3\EOT\ETX\EOT\DC2\EOT\253\a\EOT\SI\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\ETX\EOT\NUL\DC2\EOT\253\a\r\SO\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ETX\EOT\NUL\SOH\DC2\EOT\253\a\r\SO\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ETX\EOT\NUL\STX\DC2\EOT\253\a\r\SO\n\+ \\SO\n\+ \\EOT\EOT\DC3\STX\ETX\DC2\ACK\255\a\STX\136\b\EOT\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\ETX\EOT\DC2\EOT\255\a\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\ETX\ACK\DC2\EOT\255\a\v\EM\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\ETX\SOH\DC2\EOT\255\a\SUB)\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\ETX\ETX\DC2\EOT\255\a,-\n\+ \\SI\n\+ \\ENQ\EOT\DC3\STX\ETX\b\DC2\ACK\255\a.\136\b\ETX\n\+ \\SO\n\+ \\ACK\EOT\DC3\STX\ETX\b\DC1\DC2\EOT\128\b\EOT!\n\+ \\SI\n\+ \\a\EOT\DC3\STX\ETX\b\DC3\NUL\DC2\EOT\129\b\EOT\US\n\+ \\SI\n\+ \\a\EOT\DC3\STX\ETX\b\DC3\SOH\DC2\EOT\130\b\EOT\RS\n\+ \\DLE\n\+ \\ACK\EOT\DC3\STX\ETX\b\SYN\DC2\ACK\131\b\EOT\133\b\ENQ\n\+ \\SI\n\+ \\a\EOT\DC3\STX\ETX\b\DC4\NUL\DC2\EOT\134\b\EOTA\n\+ \\SI\n\+ \\a\EOT\DC3\STX\ETX\b\DC4\SOH\DC2\EOT\135\b\EOTC\n\+ \\SO\n\+ \\EOT\EOT\DC3\EOT\EOT\DC2\ACK\138\b\STX\142\b\ETX\n\+ \\r\n\+ \\ENQ\EOT\DC3\EOT\EOT\SOH\DC2\EOT\138\b\a\SYN\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\EOT\STX\NUL\DC2\EOT\139\b\EOT!\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\EOT\STX\NUL\SOH\DC2\EOT\139\b\EOT\FS\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\EOT\STX\NUL\STX\DC2\EOT\139\b\US \n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\EOT\STX\SOH\DC2\EOT\140\b\EOT\CAN\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\EOT\STX\SOH\SOH\DC2\EOT\140\b\EOT\DC3\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\EOT\STX\SOH\STX\DC2\EOT\140\b\SYN\ETB\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\EOT\STX\STX\DC2\EOT\141\b\EOT\DC2\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\EOT\STX\STX\SOH\DC2\EOT\141\b\EOT\r\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\EOT\STX\STX\STX\DC2\EOT\141\b\DLE\DC1\n\+ \\SO\n\+ \\EOT\EOT\DC3\STX\EOT\DC2\ACK\143\b\STX\151\b\EOT\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\EOT\EOT\DC2\EOT\143\b\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\EOT\ACK\DC2\EOT\143\b\v\SUB\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\EOT\SOH\DC2\EOT\143\b\ESC+\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\EOT\ETX\DC2\EOT\143\b./\n\+ \\SI\n\+ \\ENQ\EOT\DC3\STX\EOT\b\DC2\ACK\143\b0\151\b\ETX\n\+ \\SO\n\+ \\ACK\EOT\DC3\STX\EOT\b\DC1\DC2\EOT\144\b\EOT!\n\+ \\SI\n\+ \\a\EOT\DC3\STX\EOT\b\DC3\NUL\DC2\EOT\145\b\EOT\US\n\+ \\SI\n\+ \\a\EOT\DC3\STX\EOT\b\DC3\SOH\DC2\EOT\146\b\EOT\RS\n\+ \\DLE\n\+ \\ACK\EOT\DC3\STX\EOT\b\SYN\DC2\ACK\147\b\EOT\149\b\ENQ\n\+ \\SI\n\+ \\a\EOT\DC3\STX\EOT\b\DC4\NUL\DC2\EOT\150\b\EOTL\n\+ \\SO\n\+ \\EOT\EOT\DC3\EOT\ENQ\DC2\ACK\153\b\STX\157\b\ETX\n\+ \\r\n\+ \\ENQ\EOT\DC3\EOT\ENQ\SOH\DC2\EOT\153\b\a\DC1\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\ENQ\STX\NUL\DC2\EOT\154\b\EOT\FS\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ENQ\STX\NUL\SOH\DC2\EOT\154\b\EOT\ETB\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ENQ\STX\NUL\STX\DC2\EOT\154\b\SUB\ESC\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\ENQ\STX\SOH\DC2\EOT\155\b\EOT\SO\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ENQ\STX\SOH\SOH\DC2\EOT\155\b\EOT\t\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ENQ\STX\SOH\STX\DC2\EOT\155\b\f\r\n\+ \\SO\n\+ \\ACK\EOT\DC3\EOT\ENQ\STX\STX\DC2\EOT\156\b\EOT\ESC\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ENQ\STX\STX\SOH\DC2\EOT\156\b\EOT\SYN\n\+ \\SI\n\+ \\a\EOT\DC3\EOT\ENQ\STX\STX\STX\DC2\EOT\156\b\EM\SUB\n\+ \\SO\n\+ \\EOT\EOT\DC3\STX\ENQ\DC2\ACK\158\b\STX\168\b\EOT\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\ENQ\EOT\DC2\EOT\158\b\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\ENQ\ACK\DC2\EOT\158\b\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\ENQ\SOH\DC2\EOT\158\b\SYN!\n\+ \\r\n\+ \\ENQ\EOT\DC3\STX\ENQ\ETX\DC2\EOT\158\b$%\n\+ \\SI\n\+ \\ENQ\EOT\DC3\STX\ENQ\b\DC2\ACK\158\b&\168\b\ETX\n\+ \\SO\n\+ \\ACK\EOT\DC3\STX\ENQ\b\DC1\DC2\EOT\159\b\EOT!\n\+ \\SI\n\+ \\a\EOT\DC3\STX\ENQ\b\DC3\NUL\DC2\EOT\160\b\EOT!\n\+ \\SI\n\+ \\a\EOT\DC3\STX\ENQ\b\DC3\SOH\DC2\EOT\161\b\EOT\RS\n\+ \\SI\n\+ \\a\EOT\DC3\STX\ENQ\b\DC3\STX\DC2\EOT\162\b\EOT\RS\n\+ \\DLE\n\+ \\ACK\EOT\DC3\STX\ENQ\b\SYN\DC2\ACK\163\b\EOT\165\b\ENQ\n\+ \\SI\n\+ \\a\EOT\DC3\STX\ENQ\b\DC4\NUL\DC2\EOT\166\b\EOTO\n\+ \\SI\n\+ \\a\EOT\DC3\STX\ENQ\b\DC4\SOH\DC2\EOT\167\b\EOTB\n\+ \\v\n\+ \\ETX\EOT\DC3\t\DC2\EOT\170\b\STX\SI\n\+ \\f\n\+ \\EOT\EOT\DC3\t\NUL\DC2\EOT\170\b\v\SO\n\+ \\r\n\+ \\ENQ\EOT\DC3\t\NUL\SOH\DC2\EOT\170\b\v\SO\n\+ \\r\n\+ \\ENQ\EOT\DC3\t\NUL\STX\DC2\EOT\170\b\v\SO\n\+ \\r\n\+ \\ETX\EOT\DC3\ENQ\DC2\ACK\172\b\STX\189\b\EOT\n\+ \\f\n\+ \\EOT\EOT\DC3\ENQ\NUL\DC2\EOT\172\b\r\EM\n\+ \\r\n\+ \\ENQ\EOT\DC3\ENQ\NUL\SOH\DC2\EOT\172\b\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\DC3\ENQ\NUL\STX\DC2\EOT\172\b\NAK\EM\n\+ \#\n\+ \\ETX\EOT\DC3\ENQ\DC2\EOT\191\b\STX\SUB\"\SYN For internal testing\n\+ \\n\+ \\f\n\+ \\EOT\EOT\DC3\ENQ\SOH\DC2\EOT\191\b\r\EM\n\+ \\r\n\+ \\ENQ\EOT\DC3\ENQ\SOH\SOH\DC2\EOT\191\b\r\DC1\n\+ \\r\n\+ \\ENQ\EOT\DC3\ENQ\SOH\STX\DC2\EOT\191\b\NAK\EM\n\+ \:\n\+ \\ETX\EOT\DC3\ENQ\DC2\EOT\192\b\STX\DC3\"- for https://github.com/bufbuild/protobuf-es\n\+ \\n\+ \\f\n\+ \\EOT\EOT\DC3\ENQ\STX\DC2\EOT\192\b\r\DC2\n\+ \\r\n\+ \\ENQ\EOT\DC3\ENQ\STX\SOH\DC2\EOT\192\b\r\DC2\n\+ \\r\n\+ \\ENQ\EOT\DC3\ENQ\STX\STX\DC2\EOT\192\b\r\DC2\n\+ \\172\STX\n\+ \\STX\EOT\DC4\DC2\ACK\199\b\NUL\225\b\SOH\SUB\157\STX A compiled specification for the defaults of a set of features. These\n\+ \ messages are generated from FeatureSet extensions and can be used to seed\n\+ \ feature resolution. The resolution with this object becomes a simple search\n\+ \ for the closest matching edition, followed by proto merges.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\DC4\SOH\DC2\EOT\199\b\b\SUB\n\+ \\176\STX\n\+ \\EOT\EOT\DC4\ETX\NUL\DC2\ACK\204\b\STX\215\b\ETX\SUB\159\STX A map from every known edition with a unique set of defaults to its\n\+ \ defaults. Not all editions may be contained here. For a given edition,\n\+ \ the defaults at the closest matching edition ordered at or before it should\n\+ \ be used. This field must be in strict ascending order by edition.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC4\ETX\NUL\SOH\DC2\EOT\204\b\n\+ \\"\n\+ \\SO\n\+ \\ACK\EOT\DC4\ETX\NUL\STX\NUL\DC2\EOT\205\b\EOT!\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\NUL\EOT\DC2\EOT\205\b\EOT\f\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\NUL\ACK\DC2\EOT\205\b\r\DC4\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\NUL\SOH\DC2\EOT\205\b\NAK\FS\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\NUL\ETX\DC2\EOT\205\b\US \n\+ \N\n\+ \\ACK\EOT\DC4\ETX\NUL\STX\SOH\DC2\EOT\208\b\EOT1\SUB> Defaults of features that can be overridden in this edition.\n\+ \\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\SOH\EOT\DC2\EOT\208\b\EOT\f\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\SOH\ACK\DC2\EOT\208\b\r\ETB\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\SOH\SOH\DC2\EOT\208\b\CAN,\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\SOH\ETX\DC2\EOT\208\b/0\n\+ \P\n\+ \\ACK\EOT\DC4\ETX\NUL\STX\STX\DC2\EOT\211\b\EOT+\SUB@ Defaults of features that can't be overridden in this edition.\n\+ \\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\STX\EOT\DC2\EOT\211\b\EOT\f\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\STX\ACK\DC2\EOT\211\b\r\ETB\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\STX\SOH\DC2\EOT\211\b\CAN&\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\STX\STX\ETX\DC2\EOT\211\b)*\n\+ \\r\n\+ \\ENQ\EOT\DC4\ETX\NUL\t\DC2\EOT\213\b\EOT\DC2\n\+ \\SO\n\+ \\ACK\EOT\DC4\ETX\NUL\t\NUL\DC2\EOT\213\b\r\SO\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\t\NUL\SOH\DC2\EOT\213\b\r\SO\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\t\NUL\STX\DC2\EOT\213\b\r\SO\n\+ \\SO\n\+ \\ACK\EOT\DC4\ETX\NUL\t\SOH\DC2\EOT\213\b\DLE\DC1\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\t\SOH\SOH\DC2\EOT\213\b\DLE\DC1\n\+ \\SI\n\+ \\a\EOT\DC4\ETX\NUL\t\SOH\STX\DC2\EOT\213\b\DLE\DC1\n\+ \\r\n\+ \\ENQ\EOT\DC4\ETX\NUL\n\+ \\DC2\EOT\214\b\EOT\CAN\n\+ \\SO\n\+ \\ACK\EOT\DC4\ETX\NUL\n\+ \\NUL\DC2\EOT\214\b\r\ETB\n\+ \\f\n\+ \\EOT\EOT\DC4\STX\NUL\DC2\EOT\216\b\STX1\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\NUL\EOT\DC2\EOT\216\b\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\NUL\ACK\DC2\EOT\216\b\v#\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\NUL\SOH\DC2\EOT\216\b$,\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\NUL\ETX\DC2\EOT\216\b/0\n\+ \\130\SOH\n\+ \\EOT\EOT\DC4\STX\SOH\DC2\EOT\220\b\STX'\SUBt The minimum supported edition (inclusive) when this was constructed.\n\+ \ Editions before this will not have defaults.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\SOH\EOT\DC2\EOT\220\b\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\SOH\ACK\DC2\EOT\220\b\v\DC2\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\SOH\SOH\DC2\EOT\220\b\DC3\"\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\SOH\ETX\DC2\EOT\220\b%&\n\+ \\134\SOH\n\+ \\EOT\EOT\DC4\STX\STX\DC2\EOT\224\b\STX'\SUBx The maximum known edition (inclusive) when this was constructed. Editions\n\+ \ after this will not have reliable defaults.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\STX\EOT\DC2\EOT\224\b\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\STX\ACK\DC2\EOT\224\b\v\DC2\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\STX\SOH\DC2\EOT\224\b\DC3\"\n\+ \\r\n\+ \\ENQ\EOT\DC4\STX\STX\ETX\DC2\EOT\224\b%&\n\+ \\218\SOH\n\+ \\STX\EOT\NAK\DC2\ACK\232\b\NUL\233\t\SOH\SUBj Encapsulates information about the original source file from which a\n\+ \ FileDescriptorProto was generated.\n\+ \2` ===================================================================\n\+ \ Optional source code info\n\+ \\n\+ \\v\n\+ \\ETX\EOT\NAK\SOH\DC2\EOT\232\b\b\SYN\n\+ \\130\DC1\n\+ \\EOT\EOT\NAK\STX\NUL\DC2\EOT\148\t\STX!\SUB\243\DLE A Location identifies a piece of source code in a .proto file which\n\+ \ corresponds to a particular definition. This information is intended\n\+ \ to be useful to IDEs, code indexers, documentation generators, and similar\n\+ \ tools.\n\+ \\n\+ \ For example, say we have a file like:\n\+ \ message Foo {\n\+ \ optional string foo = 1;\n\+ \ }\n\+ \ Let's look at just the field definition:\n\+ \ optional string foo = 1;\n\+ \ ^ ^^ ^^ ^ ^^^\n\+ \ a bc de f ghi\n\+ \ We have the following locations:\n\+ \ span path represents\n\+ \ [a,i) [ 4, 0, 2, 0 ] The whole field definition.\n\+ \ [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).\n\+ \ [c,d) [ 4, 0, 2, 0, 5 ] The type (string).\n\+ \ [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).\n\+ \ [g,h) [ 4, 0, 2, 0, 3 ] The number (1).\n\+ \\n\+ \ Notes:\n\+ \ - A location may refer to a repeated field itself (i.e. not to any\n\+ \ particular index within it). This is used whenever a set of elements are\n\+ \ logically enclosed in a single code segment. For example, an entire\n\+ \ extend block (possibly containing multiple extension definitions) will\n\+ \ have an outer location whose path refers to the \"extensions\" repeated\n\+ \ field without an index.\n\+ \ - Multiple locations may have the same path. This happens when a single\n\+ \ logical declaration is spread out across multiple places. The most\n\+ \ obvious example is the \"extend\" block again -- there may be multiple\n\+ \ extend blocks in the same scope, each of which will have the same path.\n\+ \ - A location's span is not always a subset of its parent's span. For\n\+ \ example, the \"extendee\" of an extension declaration appears at the\n\+ \ beginning of the \"extend\" block and is shared by all extensions within\n\+ \ the block.\n\+ \ - Just because a location's span is a subset of some other location's span\n\+ \ does not mean that it is a descendant. For example, a \"group\" defines\n\+ \ both a type and a field in a single declaration. Thus, the locations\n\+ \ corresponding to the type and field and their components will overlap.\n\+ \ - Code which tries to interpret locations should probably be designed to\n\+ \ ignore those that it doesn't understand, as more types of locations could\n\+ \ be recorded in the future.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\NAK\STX\NUL\EOT\DC2\EOT\148\t\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\NAK\STX\NUL\ACK\DC2\EOT\148\t\v\DC3\n\+ \\r\n\+ \\ENQ\EOT\NAK\STX\NUL\SOH\DC2\EOT\148\t\DC4\FS\n\+ \\r\n\+ \\ENQ\EOT\NAK\STX\NUL\ETX\DC2\EOT\148\t\US \n\+ \\SO\n\+ \\EOT\EOT\NAK\ETX\NUL\DC2\ACK\149\t\STX\232\t\ETX\n\+ \\r\n\+ \\ENQ\EOT\NAK\ETX\NUL\SOH\DC2\EOT\149\t\n\+ \\DC2\n\+ \\138\a\n\+ \\ACK\EOT\NAK\ETX\NUL\STX\NUL\DC2\EOT\173\t\EOT,\SUB\249\ACK Identifies which part of the FileDescriptorProto was defined at this\n\+ \ location.\n\+ \\n\+ \ Each element is a field number or an index. They form a path from\n\+ \ the root FileDescriptorProto to the place where the definition appears.\n\+ \ For example, this path:\n\+ \ [ 4, 3, 2, 7, 1 ]\n\+ \ refers to:\n\+ \ file.message_type(3) // 4, 3\n\+ \ .field(7) // 2, 7\n\+ \ .name() // 1\n\+ \ This is because FileDescriptorProto.message_type has field number 4:\n\+ \ repeated DescriptorProto message_type = 4;\n\+ \ and DescriptorProto.field has field number 2:\n\+ \ repeated FieldDescriptorProto field = 2;\n\+ \ and FieldDescriptorProto.name has field number 1:\n\+ \ optional string name = 1;\n\+ \\n\+ \ Thus, the above path gives the location of a field name. If we removed\n\+ \ the last element:\n\+ \ [ 4, 3, 2, 7 ]\n\+ \ this path refers to the whole field declaration (from the beginning\n\+ \ of the label to the terminating semicolon).\n\+ \\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\NUL\EOT\DC2\EOT\173\t\EOT\f\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\NUL\ENQ\DC2\EOT\173\t\r\DC2\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\NUL\SOH\DC2\EOT\173\t\DC3\ETB\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\NUL\ETX\DC2\EOT\173\t\SUB\ESC\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\NUL\b\DC2\EOT\173\t\FS+\n\+ \\DLE\n\+ \\b\EOT\NAK\ETX\NUL\STX\NUL\b\STX\DC2\EOT\173\t\GS*\n\+ \\210\STX\n\+ \\ACK\EOT\NAK\ETX\NUL\STX\SOH\DC2\EOT\180\t\EOT,\SUB\193\STX Always has exactly three or four elements: start line, start column,\n\+ \ end line (optional, otherwise assumed same as start line), end column.\n\+ \ These are packed into a single field for efficiency. Note that line\n\+ \ and column numbers are zero-based -- typically you will want to add\n\+ \ 1 to each before displaying to a user.\n\+ \\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\SOH\EOT\DC2\EOT\180\t\EOT\f\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\SOH\ENQ\DC2\EOT\180\t\r\DC2\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\SOH\SOH\DC2\EOT\180\t\DC3\ETB\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\SOH\ETX\DC2\EOT\180\t\SUB\ESC\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\SOH\b\DC2\EOT\180\t\FS+\n\+ \\DLE\n\+ \\b\EOT\NAK\ETX\NUL\STX\SOH\b\STX\DC2\EOT\180\t\GS*\n\+ \\165\f\n\+ \\ACK\EOT\NAK\ETX\NUL\STX\STX\DC2\EOT\229\t\EOT)\SUB\148\f If this SourceCodeInfo represents a complete declaration, these are any\n\+ \ comments appearing before and after the declaration which appear to be\n\+ \ attached to the declaration.\n\+ \\n\+ \ A series of line comments appearing on consecutive lines, with no other\n\+ \ tokens appearing on those lines, will be treated as a single comment.\n\+ \\n\+ \ leading_detached_comments will keep paragraphs of comments that appear\n\+ \ before (but not connected to) the current element. Each paragraph,\n\+ \ separated by empty lines, will be one comment element in the repeated\n\+ \ field.\n\+ \\n\+ \ Only the comment content is provided; comment markers (e.g. //) are\n\+ \ stripped out. For block comments, leading whitespace and an asterisk\n\+ \ will be stripped from the beginning of each line other than the first.\n\+ \ Newlines are included in the output.\n\+ \\n\+ \ Examples:\n\+ \\n\+ \ optional int32 foo = 1; // Comment attached to foo.\n\+ \ // Comment attached to bar.\n\+ \ optional int32 bar = 2;\n\+ \\n\+ \ optional string baz = 3;\n\+ \ // Comment attached to baz.\n\+ \ // Another line attached to baz.\n\+ \\n\+ \ // Comment attached to moo.\n\+ \ //\n\+ \ // Another line attached to moo.\n\+ \ optional double moo = 4;\n\+ \\n\+ \ // Detached comment for corge. This is not leading or trailing comments\n\+ \ // to moo or corge because there are blank lines separating it from\n\+ \ // both.\n\+ \\n\+ \ // Detached comment for corge paragraph 2.\n\+ \\n\+ \ optional string corge = 5;\n\+ \ /* Block comment attached\n\+ \ * to corge. Leading asterisks\n\+ \ * will be removed. */\n\+ \ /* Block comment attached to\n\+ \ * grault. */\n\+ \ optional int32 grault = 6;\n\+ \\n\+ \ // ignored detached comments.\n\+ \\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\STX\EOT\DC2\EOT\229\t\EOT\f\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\STX\ENQ\DC2\EOT\229\t\r\DC3\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\STX\SOH\DC2\EOT\229\t\DC4$\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\STX\ETX\DC2\EOT\229\t'(\n\+ \\SO\n\+ \\ACK\EOT\NAK\ETX\NUL\STX\ETX\DC2\EOT\230\t\EOT*\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\ETX\EOT\DC2\EOT\230\t\EOT\f\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\ETX\ENQ\DC2\EOT\230\t\r\DC3\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\ETX\SOH\DC2\EOT\230\t\DC4%\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\ETX\ETX\DC2\EOT\230\t()\n\+ \\SO\n\+ \\ACK\EOT\NAK\ETX\NUL\STX\EOT\DC2\EOT\231\t\EOT2\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\EOT\EOT\DC2\EOT\231\t\EOT\f\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\EOT\ENQ\DC2\EOT\231\t\r\DC3\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\EOT\SOH\DC2\EOT\231\t\DC4-\n\+ \\SI\n\+ \\a\EOT\NAK\ETX\NUL\STX\EOT\ETX\DC2\EOT\231\t01\n\+ \\238\SOH\n\+ \\STX\EOT\SYN\DC2\ACK\238\t\NUL\143\n\+ \\SOH\SUB\223\SOH Describes the relationship between generated code and its original source\n\+ \ file. A GeneratedCodeInfo message is associated with only one generated\n\+ \ source file, but may contain references to different source .proto files.\n\+ \\n\+ \\v\n\+ \\ETX\EOT\SYN\SOH\DC2\EOT\238\t\b\EM\n\+ \x\n\+ \\EOT\EOT\SYN\STX\NUL\DC2\EOT\241\t\STX%\SUBj An Annotation connects some span of text in generated code to an element\n\+ \ of its generating .proto file.\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SYN\STX\NUL\EOT\DC2\EOT\241\t\STX\n\+ \\n\+ \\r\n\+ \\ENQ\EOT\SYN\STX\NUL\ACK\DC2\EOT\241\t\v\NAK\n\+ \\r\n\+ \\ENQ\EOT\SYN\STX\NUL\SOH\DC2\EOT\241\t\SYN \n\+ \\r\n\+ \\ENQ\EOT\SYN\STX\NUL\ETX\DC2\EOT\241\t#$\n\+ \\SO\n\+ \\EOT\EOT\SYN\ETX\NUL\DC2\ACK\242\t\STX\142\n\+ \\ETX\n\+ \\r\n\+ \\ENQ\EOT\SYN\ETX\NUL\SOH\DC2\EOT\242\t\n\+ \\DC4\n\+ \\143\SOH\n\+ \\ACK\EOT\SYN\ETX\NUL\STX\NUL\DC2\EOT\245\t\EOT,\SUB\DEL Identifies the element in the original source .proto file. This field\n\+ \ is formatted the same as SourceCodeInfo.Location.path.\n\+ \\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\NUL\EOT\DC2\EOT\245\t\EOT\f\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\NUL\ENQ\DC2\EOT\245\t\r\DC2\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\NUL\SOH\DC2\EOT\245\t\DC3\ETB\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\NUL\ETX\DC2\EOT\245\t\SUB\ESC\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\NUL\b\DC2\EOT\245\t\FS+\n\+ \\DLE\n\+ \\b\EOT\SYN\ETX\NUL\STX\NUL\b\STX\DC2\EOT\245\t\GS*\n\+ \O\n\+ \\ACK\EOT\SYN\ETX\NUL\STX\SOH\DC2\EOT\248\t\EOT$\SUB? Identifies the filesystem path to the original source .proto.\n\+ \\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\SOH\EOT\DC2\EOT\248\t\EOT\f\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\SOH\ENQ\DC2\EOT\248\t\r\DC3\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\SOH\SOH\DC2\EOT\248\t\DC4\US\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\SOH\ETX\DC2\EOT\248\t\"#\n\+ \w\n\+ \\ACK\EOT\SYN\ETX\NUL\STX\STX\DC2\EOT\252\t\EOT\GS\SUBg Identifies the starting offset in bytes in the generated code\n\+ \ that relates to the identified object.\n\+ \\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\STX\EOT\DC2\EOT\252\t\EOT\f\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\STX\ENQ\DC2\EOT\252\t\r\DC2\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\STX\SOH\DC2\EOT\252\t\DC3\CAN\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\STX\ETX\DC2\EOT\252\t\ESC\FS\n\+ \\219\SOH\n\+ \\ACK\EOT\SYN\ETX\NUL\STX\ETX\DC2\EOT\129\n\+ \\EOT\ESC\SUB\202\SOH Identifies the ending offset in bytes in the generated code that\n\+ \ relates to the identified object. The end offset should be one past\n\+ \ the last relevant byte (so the length of the text = end - begin).\n\+ \\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\ETX\EOT\DC2\EOT\129\n\+ \\EOT\f\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\ETX\ENQ\DC2\EOT\129\n\+ \\r\DC2\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\ETX\SOH\DC2\EOT\129\n\+ \\DC3\SYN\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\ETX\ETX\DC2\EOT\129\n\+ \\EM\SUB\n\+ \j\n\+ \\ACK\EOT\SYN\ETX\NUL\EOT\NUL\DC2\ACK\133\n\+ \\EOT\140\n\+ \\ENQ\SUBX Represents the identified object's effect on the element in the original\n\+ \ .proto file.\n\+ \\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\EOT\NUL\SOH\DC2\EOT\133\n\+ \\t\DC1\n\+ \F\n\+ \\b\EOT\SYN\ETX\NUL\EOT\NUL\STX\NUL\DC2\EOT\135\n\+ \\ACK\SI\SUB4 There is no effect or the effect is indescribable.\n\+ \\n\+ \\DC1\n\+ \\t\EOT\SYN\ETX\NUL\EOT\NUL\STX\NUL\SOH\DC2\EOT\135\n\+ \\ACK\n\+ \\n\+ \\DC1\n\+ \\t\EOT\SYN\ETX\NUL\EOT\NUL\STX\NUL\STX\DC2\EOT\135\n\+ \\r\SO\n\+ \<\n\+ \\b\EOT\SYN\ETX\NUL\EOT\NUL\STX\SOH\DC2\EOT\137\n\+ \\ACK\SO\SUB* The element is set or otherwise mutated.\n\+ \\n\+ \\DC1\n\+ \\t\EOT\SYN\ETX\NUL\EOT\NUL\STX\SOH\SOH\DC2\EOT\137\n\+ \\ACK\t\n\+ \\DC1\n\+ \\t\EOT\SYN\ETX\NUL\EOT\NUL\STX\SOH\STX\DC2\EOT\137\n\+ \\f\r\n\+ \8\n\+ \\b\EOT\SYN\ETX\NUL\EOT\NUL\STX\STX\DC2\EOT\139\n\+ \\ACK\DLE\SUB& An alias to the element is returned.\n\+ \\n\+ \\DC1\n\+ \\t\EOT\SYN\ETX\NUL\EOT\NUL\STX\STX\SOH\DC2\EOT\139\n\+ \\ACK\v\n\+ \\DC1\n\+ \\t\EOT\SYN\ETX\NUL\EOT\NUL\STX\STX\STX\DC2\EOT\139\n\+ \\SO\SI\n\+ \\SO\n\+ \\ACK\EOT\SYN\ETX\NUL\STX\EOT\DC2\EOT\141\n\+ \\EOT#\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\EOT\EOT\DC2\EOT\141\n\+ \\EOT\f\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\EOT\ACK\DC2\EOT\141\n\+ \\r\NAK\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\EOT\SOH\DC2\EOT\141\n\+ \\SYN\RS\n\+ \\SI\n\+ \\a\EOT\SYN\ETX\NUL\STX\EOT\ETX\DC2\EOT\141\n\+ \!\""
+ app/Proto/Google/Protobuf/Descriptor_Fields.hs view
@@ -0,0 +1,1418 @@+{- This file was auto-generated from google/protobuf/descriptor.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}+{-# OPTIONS_GHC -Wno-unused-imports#-}+{-# OPTIONS_GHC -Wno-duplicate-exports#-}+{-# OPTIONS_GHC -Wno-dodgy-exports#-}+module Proto.Google.Protobuf.Descriptor_Fields where+import qualified Data.ProtoLens.Runtime.Prelude as Prelude+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read+aggregateValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "aggregateValue" a) =>+ Lens.Family2.LensLike' f s a+aggregateValue = Data.ProtoLens.Field.field @"aggregateValue"+allowAlias ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "allowAlias" a) =>+ Lens.Family2.LensLike' f s a+allowAlias = Data.ProtoLens.Field.field @"allowAlias"+annotation ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "annotation" a) =>+ Lens.Family2.LensLike' f s a+annotation = Data.ProtoLens.Field.field @"annotation"+begin ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "begin" a) =>+ Lens.Family2.LensLike' f s a+begin = Data.ProtoLens.Field.field @"begin"+ccEnableArenas ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "ccEnableArenas" a) =>+ Lens.Family2.LensLike' f s a+ccEnableArenas = Data.ProtoLens.Field.field @"ccEnableArenas"+ccGenericServices ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "ccGenericServices" a) =>+ Lens.Family2.LensLike' f s a+ccGenericServices = Data.ProtoLens.Field.field @"ccGenericServices"+clientStreaming ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "clientStreaming" a) =>+ Lens.Family2.LensLike' f s a+clientStreaming = Data.ProtoLens.Field.field @"clientStreaming"+csharpNamespace ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "csharpNamespace" a) =>+ Lens.Family2.LensLike' f s a+csharpNamespace = Data.ProtoLens.Field.field @"csharpNamespace"+ctype ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "ctype" a) =>+ Lens.Family2.LensLike' f s a+ctype = Data.ProtoLens.Field.field @"ctype"+debugRedact ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "debugRedact" a) =>+ Lens.Family2.LensLike' f s a+debugRedact = Data.ProtoLens.Field.field @"debugRedact"+declaration ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "declaration" a) =>+ Lens.Family2.LensLike' f s a+declaration = Data.ProtoLens.Field.field @"declaration"+defaultValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "defaultValue" a) =>+ Lens.Family2.LensLike' f s a+defaultValue = Data.ProtoLens.Field.field @"defaultValue"+defaults ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "defaults" a) =>+ Lens.Family2.LensLike' f s a+defaults = Data.ProtoLens.Field.field @"defaults"+dependency ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "dependency" a) =>+ Lens.Family2.LensLike' f s a+dependency = Data.ProtoLens.Field.field @"dependency"+deprecated ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "deprecated" a) =>+ Lens.Family2.LensLike' f s a+deprecated = Data.ProtoLens.Field.field @"deprecated"+deprecatedLegacyJsonFieldConflicts ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "deprecatedLegacyJsonFieldConflicts" a) =>+ Lens.Family2.LensLike' f s a+deprecatedLegacyJsonFieldConflicts+ = Data.ProtoLens.Field.field @"deprecatedLegacyJsonFieldConflicts"+deprecationWarning ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "deprecationWarning" a) =>+ Lens.Family2.LensLike' f s a+deprecationWarning+ = Data.ProtoLens.Field.field @"deprecationWarning"+doubleValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "doubleValue" a) =>+ Lens.Family2.LensLike' f s a+doubleValue = Data.ProtoLens.Field.field @"doubleValue"+edition ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "edition" a) =>+ Lens.Family2.LensLike' f s a+edition = Data.ProtoLens.Field.field @"edition"+editionDefaults ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "editionDefaults" a) =>+ Lens.Family2.LensLike' f s a+editionDefaults = Data.ProtoLens.Field.field @"editionDefaults"+editionDeprecated ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "editionDeprecated" a) =>+ Lens.Family2.LensLike' f s a+editionDeprecated = Data.ProtoLens.Field.field @"editionDeprecated"+editionIntroduced ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "editionIntroduced" a) =>+ Lens.Family2.LensLike' f s a+editionIntroduced = Data.ProtoLens.Field.field @"editionIntroduced"+editionRemoved ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "editionRemoved" a) =>+ Lens.Family2.LensLike' f s a+editionRemoved = Data.ProtoLens.Field.field @"editionRemoved"+end ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "end" a) =>+ Lens.Family2.LensLike' f s a+end = Data.ProtoLens.Field.field @"end"+enumType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "enumType" a) =>+ Lens.Family2.LensLike' f s a+enumType = Data.ProtoLens.Field.field @"enumType"+extendee ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "extendee" a) =>+ Lens.Family2.LensLike' f s a+extendee = Data.ProtoLens.Field.field @"extendee"+extension ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "extension" a) =>+ Lens.Family2.LensLike' f s a+extension = Data.ProtoLens.Field.field @"extension"+extensionRange ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "extensionRange" a) =>+ Lens.Family2.LensLike' f s a+extensionRange = Data.ProtoLens.Field.field @"extensionRange"+featureSupport ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "featureSupport" a) =>+ Lens.Family2.LensLike' f s a+featureSupport = Data.ProtoLens.Field.field @"featureSupport"+features ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "features" a) =>+ Lens.Family2.LensLike' f s a+features = Data.ProtoLens.Field.field @"features"+field ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "field" a) =>+ Lens.Family2.LensLike' f s a+field = Data.ProtoLens.Field.field @"field"+fieldPresence ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "fieldPresence" a) =>+ Lens.Family2.LensLike' f s a+fieldPresence = Data.ProtoLens.Field.field @"fieldPresence"+file ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "file" a) =>+ Lens.Family2.LensLike' f s a+file = Data.ProtoLens.Field.field @"file"+fixedFeatures ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "fixedFeatures" a) =>+ Lens.Family2.LensLike' f s a+fixedFeatures = Data.ProtoLens.Field.field @"fixedFeatures"+fullName ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "fullName" a) =>+ Lens.Family2.LensLike' f s a+fullName = Data.ProtoLens.Field.field @"fullName"+goPackage ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "goPackage" a) =>+ Lens.Family2.LensLike' f s a+goPackage = Data.ProtoLens.Field.field @"goPackage"+idempotencyLevel ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "idempotencyLevel" a) =>+ Lens.Family2.LensLike' f s a+idempotencyLevel = Data.ProtoLens.Field.field @"idempotencyLevel"+identifierValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "identifierValue" a) =>+ Lens.Family2.LensLike' f s a+identifierValue = Data.ProtoLens.Field.field @"identifierValue"+inputType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "inputType" a) =>+ Lens.Family2.LensLike' f s a+inputType = Data.ProtoLens.Field.field @"inputType"+isExtension ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "isExtension" a) =>+ Lens.Family2.LensLike' f s a+isExtension = Data.ProtoLens.Field.field @"isExtension"+javaGenerateEqualsAndHash ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "javaGenerateEqualsAndHash" a) =>+ Lens.Family2.LensLike' f s a+javaGenerateEqualsAndHash+ = Data.ProtoLens.Field.field @"javaGenerateEqualsAndHash"+javaGenericServices ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "javaGenericServices" a) =>+ Lens.Family2.LensLike' f s a+javaGenericServices+ = Data.ProtoLens.Field.field @"javaGenericServices"+javaMultipleFiles ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "javaMultipleFiles" a) =>+ Lens.Family2.LensLike' f s a+javaMultipleFiles = Data.ProtoLens.Field.field @"javaMultipleFiles"+javaOuterClassname ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "javaOuterClassname" a) =>+ Lens.Family2.LensLike' f s a+javaOuterClassname+ = Data.ProtoLens.Field.field @"javaOuterClassname"+javaPackage ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "javaPackage" a) =>+ Lens.Family2.LensLike' f s a+javaPackage = Data.ProtoLens.Field.field @"javaPackage"+javaStringCheckUtf8 ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "javaStringCheckUtf8" a) =>+ Lens.Family2.LensLike' f s a+javaStringCheckUtf8+ = Data.ProtoLens.Field.field @"javaStringCheckUtf8"+jsonFormat ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "jsonFormat" a) =>+ Lens.Family2.LensLike' f s a+jsonFormat = Data.ProtoLens.Field.field @"jsonFormat"+jsonName ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "jsonName" a) =>+ Lens.Family2.LensLike' f s a+jsonName = Data.ProtoLens.Field.field @"jsonName"+jstype ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "jstype" a) =>+ Lens.Family2.LensLike' f s a+jstype = Data.ProtoLens.Field.field @"jstype"+label ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "label" a) =>+ Lens.Family2.LensLike' f s a+label = Data.ProtoLens.Field.field @"label"+lazy ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "lazy" a) =>+ Lens.Family2.LensLike' f s a+lazy = Data.ProtoLens.Field.field @"lazy"+leadingComments ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "leadingComments" a) =>+ Lens.Family2.LensLike' f s a+leadingComments = Data.ProtoLens.Field.field @"leadingComments"+leadingDetachedComments ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "leadingDetachedComments" a) =>+ Lens.Family2.LensLike' f s a+leadingDetachedComments+ = Data.ProtoLens.Field.field @"leadingDetachedComments"+location ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "location" a) =>+ Lens.Family2.LensLike' f s a+location = Data.ProtoLens.Field.field @"location"+mapEntry ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "mapEntry" a) =>+ Lens.Family2.LensLike' f s a+mapEntry = Data.ProtoLens.Field.field @"mapEntry"+maximumEdition ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maximumEdition" a) =>+ Lens.Family2.LensLike' f s a+maximumEdition = Data.ProtoLens.Field.field @"maximumEdition"+maybe'aggregateValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'aggregateValue" a) =>+ Lens.Family2.LensLike' f s a+maybe'aggregateValue+ = Data.ProtoLens.Field.field @"maybe'aggregateValue"+maybe'allowAlias ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'allowAlias" a) =>+ Lens.Family2.LensLike' f s a+maybe'allowAlias = Data.ProtoLens.Field.field @"maybe'allowAlias"+maybe'begin ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'begin" a) =>+ Lens.Family2.LensLike' f s a+maybe'begin = Data.ProtoLens.Field.field @"maybe'begin"+maybe'ccEnableArenas ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'ccEnableArenas" a) =>+ Lens.Family2.LensLike' f s a+maybe'ccEnableArenas+ = Data.ProtoLens.Field.field @"maybe'ccEnableArenas"+maybe'ccGenericServices ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'ccGenericServices" a) =>+ Lens.Family2.LensLike' f s a+maybe'ccGenericServices+ = Data.ProtoLens.Field.field @"maybe'ccGenericServices"+maybe'clientStreaming ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'clientStreaming" a) =>+ Lens.Family2.LensLike' f s a+maybe'clientStreaming+ = Data.ProtoLens.Field.field @"maybe'clientStreaming"+maybe'csharpNamespace ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'csharpNamespace" a) =>+ Lens.Family2.LensLike' f s a+maybe'csharpNamespace+ = Data.ProtoLens.Field.field @"maybe'csharpNamespace"+maybe'ctype ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'ctype" a) =>+ Lens.Family2.LensLike' f s a+maybe'ctype = Data.ProtoLens.Field.field @"maybe'ctype"+maybe'debugRedact ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'debugRedact" a) =>+ Lens.Family2.LensLike' f s a+maybe'debugRedact = Data.ProtoLens.Field.field @"maybe'debugRedact"+maybe'defaultValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'defaultValue" a) =>+ Lens.Family2.LensLike' f s a+maybe'defaultValue+ = Data.ProtoLens.Field.field @"maybe'defaultValue"+maybe'deprecated ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'deprecated" a) =>+ Lens.Family2.LensLike' f s a+maybe'deprecated = Data.ProtoLens.Field.field @"maybe'deprecated"+maybe'deprecatedLegacyJsonFieldConflicts ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'deprecatedLegacyJsonFieldConflicts" a) =>+ Lens.Family2.LensLike' f s a+maybe'deprecatedLegacyJsonFieldConflicts+ = Data.ProtoLens.Field.field+ @"maybe'deprecatedLegacyJsonFieldConflicts"+maybe'deprecationWarning ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'deprecationWarning" a) =>+ Lens.Family2.LensLike' f s a+maybe'deprecationWarning+ = Data.ProtoLens.Field.field @"maybe'deprecationWarning"+maybe'doubleValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'doubleValue" a) =>+ Lens.Family2.LensLike' f s a+maybe'doubleValue = Data.ProtoLens.Field.field @"maybe'doubleValue"+maybe'edition ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'edition" a) =>+ Lens.Family2.LensLike' f s a+maybe'edition = Data.ProtoLens.Field.field @"maybe'edition"+maybe'editionDeprecated ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'editionDeprecated" a) =>+ Lens.Family2.LensLike' f s a+maybe'editionDeprecated+ = Data.ProtoLens.Field.field @"maybe'editionDeprecated"+maybe'editionIntroduced ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'editionIntroduced" a) =>+ Lens.Family2.LensLike' f s a+maybe'editionIntroduced+ = Data.ProtoLens.Field.field @"maybe'editionIntroduced"+maybe'editionRemoved ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'editionRemoved" a) =>+ Lens.Family2.LensLike' f s a+maybe'editionRemoved+ = Data.ProtoLens.Field.field @"maybe'editionRemoved"+maybe'end ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'end" a) =>+ Lens.Family2.LensLike' f s a+maybe'end = Data.ProtoLens.Field.field @"maybe'end"+maybe'enumType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'enumType" a) =>+ Lens.Family2.LensLike' f s a+maybe'enumType = Data.ProtoLens.Field.field @"maybe'enumType"+maybe'extendee ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'extendee" a) =>+ Lens.Family2.LensLike' f s a+maybe'extendee = Data.ProtoLens.Field.field @"maybe'extendee"+maybe'featureSupport ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'featureSupport" a) =>+ Lens.Family2.LensLike' f s a+maybe'featureSupport+ = Data.ProtoLens.Field.field @"maybe'featureSupport"+maybe'features ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'features" a) =>+ Lens.Family2.LensLike' f s a+maybe'features = Data.ProtoLens.Field.field @"maybe'features"+maybe'fieldPresence ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'fieldPresence" a) =>+ Lens.Family2.LensLike' f s a+maybe'fieldPresence+ = Data.ProtoLens.Field.field @"maybe'fieldPresence"+maybe'fixedFeatures ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'fixedFeatures" a) =>+ Lens.Family2.LensLike' f s a+maybe'fixedFeatures+ = Data.ProtoLens.Field.field @"maybe'fixedFeatures"+maybe'fullName ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'fullName" a) =>+ Lens.Family2.LensLike' f s a+maybe'fullName = Data.ProtoLens.Field.field @"maybe'fullName"+maybe'goPackage ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'goPackage" a) =>+ Lens.Family2.LensLike' f s a+maybe'goPackage = Data.ProtoLens.Field.field @"maybe'goPackage"+maybe'idempotencyLevel ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'idempotencyLevel" a) =>+ Lens.Family2.LensLike' f s a+maybe'idempotencyLevel+ = Data.ProtoLens.Field.field @"maybe'idempotencyLevel"+maybe'identifierValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'identifierValue" a) =>+ Lens.Family2.LensLike' f s a+maybe'identifierValue+ = Data.ProtoLens.Field.field @"maybe'identifierValue"+maybe'inputType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'inputType" a) =>+ Lens.Family2.LensLike' f s a+maybe'inputType = Data.ProtoLens.Field.field @"maybe'inputType"+maybe'javaGenerateEqualsAndHash ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'javaGenerateEqualsAndHash" a) =>+ Lens.Family2.LensLike' f s a+maybe'javaGenerateEqualsAndHash+ = Data.ProtoLens.Field.field @"maybe'javaGenerateEqualsAndHash"+maybe'javaGenericServices ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'javaGenericServices" a) =>+ Lens.Family2.LensLike' f s a+maybe'javaGenericServices+ = Data.ProtoLens.Field.field @"maybe'javaGenericServices"+maybe'javaMultipleFiles ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'javaMultipleFiles" a) =>+ Lens.Family2.LensLike' f s a+maybe'javaMultipleFiles+ = Data.ProtoLens.Field.field @"maybe'javaMultipleFiles"+maybe'javaOuterClassname ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'javaOuterClassname" a) =>+ Lens.Family2.LensLike' f s a+maybe'javaOuterClassname+ = Data.ProtoLens.Field.field @"maybe'javaOuterClassname"+maybe'javaPackage ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'javaPackage" a) =>+ Lens.Family2.LensLike' f s a+maybe'javaPackage = Data.ProtoLens.Field.field @"maybe'javaPackage"+maybe'javaStringCheckUtf8 ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'javaStringCheckUtf8" a) =>+ Lens.Family2.LensLike' f s a+maybe'javaStringCheckUtf8+ = Data.ProtoLens.Field.field @"maybe'javaStringCheckUtf8"+maybe'jsonFormat ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'jsonFormat" a) =>+ Lens.Family2.LensLike' f s a+maybe'jsonFormat = Data.ProtoLens.Field.field @"maybe'jsonFormat"+maybe'jsonName ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'jsonName" a) =>+ Lens.Family2.LensLike' f s a+maybe'jsonName = Data.ProtoLens.Field.field @"maybe'jsonName"+maybe'jstype ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'jstype" a) =>+ Lens.Family2.LensLike' f s a+maybe'jstype = Data.ProtoLens.Field.field @"maybe'jstype"+maybe'label ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'label" a) =>+ Lens.Family2.LensLike' f s a+maybe'label = Data.ProtoLens.Field.field @"maybe'label"+maybe'lazy ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'lazy" a) =>+ Lens.Family2.LensLike' f s a+maybe'lazy = Data.ProtoLens.Field.field @"maybe'lazy"+maybe'leadingComments ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'leadingComments" a) =>+ Lens.Family2.LensLike' f s a+maybe'leadingComments+ = Data.ProtoLens.Field.field @"maybe'leadingComments"+maybe'mapEntry ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'mapEntry" a) =>+ Lens.Family2.LensLike' f s a+maybe'mapEntry = Data.ProtoLens.Field.field @"maybe'mapEntry"+maybe'maximumEdition ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'maximumEdition" a) =>+ Lens.Family2.LensLike' f s a+maybe'maximumEdition+ = Data.ProtoLens.Field.field @"maybe'maximumEdition"+maybe'messageEncoding ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'messageEncoding" a) =>+ Lens.Family2.LensLike' f s a+maybe'messageEncoding+ = Data.ProtoLens.Field.field @"maybe'messageEncoding"+maybe'messageSetWireFormat ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'messageSetWireFormat" a) =>+ Lens.Family2.LensLike' f s a+maybe'messageSetWireFormat+ = Data.ProtoLens.Field.field @"maybe'messageSetWireFormat"+maybe'minimumEdition ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'minimumEdition" a) =>+ Lens.Family2.LensLike' f s a+maybe'minimumEdition+ = Data.ProtoLens.Field.field @"maybe'minimumEdition"+maybe'name ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'name" a) =>+ Lens.Family2.LensLike' f s a+maybe'name = Data.ProtoLens.Field.field @"maybe'name"+maybe'negativeIntValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'negativeIntValue" a) =>+ Lens.Family2.LensLike' f s a+maybe'negativeIntValue+ = Data.ProtoLens.Field.field @"maybe'negativeIntValue"+maybe'noStandardDescriptorAccessor ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'noStandardDescriptorAccessor" a) =>+ Lens.Family2.LensLike' f s a+maybe'noStandardDescriptorAccessor+ = Data.ProtoLens.Field.field @"maybe'noStandardDescriptorAccessor"+maybe'number ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'number" a) =>+ Lens.Family2.LensLike' f s a+maybe'number = Data.ProtoLens.Field.field @"maybe'number"+maybe'objcClassPrefix ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'objcClassPrefix" a) =>+ Lens.Family2.LensLike' f s a+maybe'objcClassPrefix+ = Data.ProtoLens.Field.field @"maybe'objcClassPrefix"+maybe'oneofIndex ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'oneofIndex" a) =>+ Lens.Family2.LensLike' f s a+maybe'oneofIndex = Data.ProtoLens.Field.field @"maybe'oneofIndex"+maybe'optimizeFor ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'optimizeFor" a) =>+ Lens.Family2.LensLike' f s a+maybe'optimizeFor = Data.ProtoLens.Field.field @"maybe'optimizeFor"+maybe'options ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'options" a) =>+ Lens.Family2.LensLike' f s a+maybe'options = Data.ProtoLens.Field.field @"maybe'options"+maybe'outputType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'outputType" a) =>+ Lens.Family2.LensLike' f s a+maybe'outputType = Data.ProtoLens.Field.field @"maybe'outputType"+maybe'overridableFeatures ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'overridableFeatures" a) =>+ Lens.Family2.LensLike' f s a+maybe'overridableFeatures+ = Data.ProtoLens.Field.field @"maybe'overridableFeatures"+maybe'package ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'package" a) =>+ Lens.Family2.LensLike' f s a+maybe'package = Data.ProtoLens.Field.field @"maybe'package"+maybe'packed ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'packed" a) =>+ Lens.Family2.LensLike' f s a+maybe'packed = Data.ProtoLens.Field.field @"maybe'packed"+maybe'phpClassPrefix ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'phpClassPrefix" a) =>+ Lens.Family2.LensLike' f s a+maybe'phpClassPrefix+ = Data.ProtoLens.Field.field @"maybe'phpClassPrefix"+maybe'phpMetadataNamespace ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'phpMetadataNamespace" a) =>+ Lens.Family2.LensLike' f s a+maybe'phpMetadataNamespace+ = Data.ProtoLens.Field.field @"maybe'phpMetadataNamespace"+maybe'phpNamespace ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'phpNamespace" a) =>+ Lens.Family2.LensLike' f s a+maybe'phpNamespace+ = Data.ProtoLens.Field.field @"maybe'phpNamespace"+maybe'positiveIntValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'positiveIntValue" a) =>+ Lens.Family2.LensLike' f s a+maybe'positiveIntValue+ = Data.ProtoLens.Field.field @"maybe'positiveIntValue"+maybe'proto3Optional ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'proto3Optional" a) =>+ Lens.Family2.LensLike' f s a+maybe'proto3Optional+ = Data.ProtoLens.Field.field @"maybe'proto3Optional"+maybe'pyGenericServices ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'pyGenericServices" a) =>+ Lens.Family2.LensLike' f s a+maybe'pyGenericServices+ = Data.ProtoLens.Field.field @"maybe'pyGenericServices"+maybe'repeated ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'repeated" a) =>+ Lens.Family2.LensLike' f s a+maybe'repeated = Data.ProtoLens.Field.field @"maybe'repeated"+maybe'repeatedFieldEncoding ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'repeatedFieldEncoding" a) =>+ Lens.Family2.LensLike' f s a+maybe'repeatedFieldEncoding+ = Data.ProtoLens.Field.field @"maybe'repeatedFieldEncoding"+maybe'reserved ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'reserved" a) =>+ Lens.Family2.LensLike' f s a+maybe'reserved = Data.ProtoLens.Field.field @"maybe'reserved"+maybe'retention ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'retention" a) =>+ Lens.Family2.LensLike' f s a+maybe'retention = Data.ProtoLens.Field.field @"maybe'retention"+maybe'rubyPackage ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'rubyPackage" a) =>+ Lens.Family2.LensLike' f s a+maybe'rubyPackage = Data.ProtoLens.Field.field @"maybe'rubyPackage"+maybe'semantic ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'semantic" a) =>+ Lens.Family2.LensLike' f s a+maybe'semantic = Data.ProtoLens.Field.field @"maybe'semantic"+maybe'serverStreaming ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'serverStreaming" a) =>+ Lens.Family2.LensLike' f s a+maybe'serverStreaming+ = Data.ProtoLens.Field.field @"maybe'serverStreaming"+maybe'sourceCodeInfo ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'sourceCodeInfo" a) =>+ Lens.Family2.LensLike' f s a+maybe'sourceCodeInfo+ = Data.ProtoLens.Field.field @"maybe'sourceCodeInfo"+maybe'sourceFile ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'sourceFile" a) =>+ Lens.Family2.LensLike' f s a+maybe'sourceFile = Data.ProtoLens.Field.field @"maybe'sourceFile"+maybe'start ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'start" a) =>+ Lens.Family2.LensLike' f s a+maybe'start = Data.ProtoLens.Field.field @"maybe'start"+maybe'stringValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'stringValue" a) =>+ Lens.Family2.LensLike' f s a+maybe'stringValue = Data.ProtoLens.Field.field @"maybe'stringValue"+maybe'swiftPrefix ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'swiftPrefix" a) =>+ Lens.Family2.LensLike' f s a+maybe'swiftPrefix = Data.ProtoLens.Field.field @"maybe'swiftPrefix"+maybe'syntax ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'syntax" a) =>+ Lens.Family2.LensLike' f s a+maybe'syntax = Data.ProtoLens.Field.field @"maybe'syntax"+maybe'trailingComments ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'trailingComments" a) =>+ Lens.Family2.LensLike' f s a+maybe'trailingComments+ = Data.ProtoLens.Field.field @"maybe'trailingComments"+maybe'type' ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'type'" a) =>+ Lens.Family2.LensLike' f s a+maybe'type' = Data.ProtoLens.Field.field @"maybe'type'"+maybe'typeName ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'typeName" a) =>+ Lens.Family2.LensLike' f s a+maybe'typeName = Data.ProtoLens.Field.field @"maybe'typeName"+maybe'unverifiedLazy ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'unverifiedLazy" a) =>+ Lens.Family2.LensLike' f s a+maybe'unverifiedLazy+ = Data.ProtoLens.Field.field @"maybe'unverifiedLazy"+maybe'utf8Validation ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'utf8Validation" a) =>+ Lens.Family2.LensLike' f s a+maybe'utf8Validation+ = Data.ProtoLens.Field.field @"maybe'utf8Validation"+maybe'value ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'value" a) =>+ Lens.Family2.LensLike' f s a+maybe'value = Data.ProtoLens.Field.field @"maybe'value"+maybe'verification ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'verification" a) =>+ Lens.Family2.LensLike' f s a+maybe'verification+ = Data.ProtoLens.Field.field @"maybe'verification"+maybe'weak ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "maybe'weak" a) =>+ Lens.Family2.LensLike' f s a+maybe'weak = Data.ProtoLens.Field.field @"maybe'weak"+messageEncoding ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "messageEncoding" a) =>+ Lens.Family2.LensLike' f s a+messageEncoding = Data.ProtoLens.Field.field @"messageEncoding"+messageSetWireFormat ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "messageSetWireFormat" a) =>+ Lens.Family2.LensLike' f s a+messageSetWireFormat+ = Data.ProtoLens.Field.field @"messageSetWireFormat"+messageType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "messageType" a) =>+ Lens.Family2.LensLike' f s a+messageType = Data.ProtoLens.Field.field @"messageType"+method ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "method" a) =>+ Lens.Family2.LensLike' f s a+method = Data.ProtoLens.Field.field @"method"+minimumEdition ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "minimumEdition" a) =>+ Lens.Family2.LensLike' f s a+minimumEdition = Data.ProtoLens.Field.field @"minimumEdition"+name ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "name" a) =>+ Lens.Family2.LensLike' f s a+name = Data.ProtoLens.Field.field @"name"+namePart ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "namePart" a) =>+ Lens.Family2.LensLike' f s a+namePart = Data.ProtoLens.Field.field @"namePart"+negativeIntValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "negativeIntValue" a) =>+ Lens.Family2.LensLike' f s a+negativeIntValue = Data.ProtoLens.Field.field @"negativeIntValue"+nestedType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "nestedType" a) =>+ Lens.Family2.LensLike' f s a+nestedType = Data.ProtoLens.Field.field @"nestedType"+noStandardDescriptorAccessor ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "noStandardDescriptorAccessor" a) =>+ Lens.Family2.LensLike' f s a+noStandardDescriptorAccessor+ = Data.ProtoLens.Field.field @"noStandardDescriptorAccessor"+number ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "number" a) =>+ Lens.Family2.LensLike' f s a+number = Data.ProtoLens.Field.field @"number"+objcClassPrefix ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "objcClassPrefix" a) =>+ Lens.Family2.LensLike' f s a+objcClassPrefix = Data.ProtoLens.Field.field @"objcClassPrefix"+oneofDecl ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "oneofDecl" a) =>+ Lens.Family2.LensLike' f s a+oneofDecl = Data.ProtoLens.Field.field @"oneofDecl"+oneofIndex ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "oneofIndex" a) =>+ Lens.Family2.LensLike' f s a+oneofIndex = Data.ProtoLens.Field.field @"oneofIndex"+optimizeFor ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "optimizeFor" a) =>+ Lens.Family2.LensLike' f s a+optimizeFor = Data.ProtoLens.Field.field @"optimizeFor"+options ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "options" a) =>+ Lens.Family2.LensLike' f s a+options = Data.ProtoLens.Field.field @"options"+outputType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "outputType" a) =>+ Lens.Family2.LensLike' f s a+outputType = Data.ProtoLens.Field.field @"outputType"+overridableFeatures ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "overridableFeatures" a) =>+ Lens.Family2.LensLike' f s a+overridableFeatures+ = Data.ProtoLens.Field.field @"overridableFeatures"+package ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "package" a) =>+ Lens.Family2.LensLike' f s a+package = Data.ProtoLens.Field.field @"package"+packed ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "packed" a) =>+ Lens.Family2.LensLike' f s a+packed = Data.ProtoLens.Field.field @"packed"+path ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "path" a) =>+ Lens.Family2.LensLike' f s a+path = Data.ProtoLens.Field.field @"path"+phpClassPrefix ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "phpClassPrefix" a) =>+ Lens.Family2.LensLike' f s a+phpClassPrefix = Data.ProtoLens.Field.field @"phpClassPrefix"+phpMetadataNamespace ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "phpMetadataNamespace" a) =>+ Lens.Family2.LensLike' f s a+phpMetadataNamespace+ = Data.ProtoLens.Field.field @"phpMetadataNamespace"+phpNamespace ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "phpNamespace" a) =>+ Lens.Family2.LensLike' f s a+phpNamespace = Data.ProtoLens.Field.field @"phpNamespace"+positiveIntValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "positiveIntValue" a) =>+ Lens.Family2.LensLike' f s a+positiveIntValue = Data.ProtoLens.Field.field @"positiveIntValue"+proto3Optional ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "proto3Optional" a) =>+ Lens.Family2.LensLike' f s a+proto3Optional = Data.ProtoLens.Field.field @"proto3Optional"+publicDependency ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "publicDependency" a) =>+ Lens.Family2.LensLike' f s a+publicDependency = Data.ProtoLens.Field.field @"publicDependency"+pyGenericServices ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "pyGenericServices" a) =>+ Lens.Family2.LensLike' f s a+pyGenericServices = Data.ProtoLens.Field.field @"pyGenericServices"+repeated ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "repeated" a) =>+ Lens.Family2.LensLike' f s a+repeated = Data.ProtoLens.Field.field @"repeated"+repeatedFieldEncoding ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "repeatedFieldEncoding" a) =>+ Lens.Family2.LensLike' f s a+repeatedFieldEncoding+ = Data.ProtoLens.Field.field @"repeatedFieldEncoding"+reserved ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "reserved" a) =>+ Lens.Family2.LensLike' f s a+reserved = Data.ProtoLens.Field.field @"reserved"+reservedName ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "reservedName" a) =>+ Lens.Family2.LensLike' f s a+reservedName = Data.ProtoLens.Field.field @"reservedName"+reservedRange ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "reservedRange" a) =>+ Lens.Family2.LensLike' f s a+reservedRange = Data.ProtoLens.Field.field @"reservedRange"+retention ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "retention" a) =>+ Lens.Family2.LensLike' f s a+retention = Data.ProtoLens.Field.field @"retention"+rubyPackage ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "rubyPackage" a) =>+ Lens.Family2.LensLike' f s a+rubyPackage = Data.ProtoLens.Field.field @"rubyPackage"+semantic ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "semantic" a) =>+ Lens.Family2.LensLike' f s a+semantic = Data.ProtoLens.Field.field @"semantic"+serverStreaming ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "serverStreaming" a) =>+ Lens.Family2.LensLike' f s a+serverStreaming = Data.ProtoLens.Field.field @"serverStreaming"+service ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "service" a) =>+ Lens.Family2.LensLike' f s a+service = Data.ProtoLens.Field.field @"service"+sourceCodeInfo ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "sourceCodeInfo" a) =>+ Lens.Family2.LensLike' f s a+sourceCodeInfo = Data.ProtoLens.Field.field @"sourceCodeInfo"+sourceFile ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "sourceFile" a) =>+ Lens.Family2.LensLike' f s a+sourceFile = Data.ProtoLens.Field.field @"sourceFile"+span ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "span" a) =>+ Lens.Family2.LensLike' f s a+span = Data.ProtoLens.Field.field @"span"+start ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "start" a) =>+ Lens.Family2.LensLike' f s a+start = Data.ProtoLens.Field.field @"start"+stringValue ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "stringValue" a) =>+ Lens.Family2.LensLike' f s a+stringValue = Data.ProtoLens.Field.field @"stringValue"+swiftPrefix ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "swiftPrefix" a) =>+ Lens.Family2.LensLike' f s a+swiftPrefix = Data.ProtoLens.Field.field @"swiftPrefix"+syntax ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "syntax" a) =>+ Lens.Family2.LensLike' f s a+syntax = Data.ProtoLens.Field.field @"syntax"+targets ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "targets" a) =>+ Lens.Family2.LensLike' f s a+targets = Data.ProtoLens.Field.field @"targets"+trailingComments ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "trailingComments" a) =>+ Lens.Family2.LensLike' f s a+trailingComments = Data.ProtoLens.Field.field @"trailingComments"+type' ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "type'" a) =>+ Lens.Family2.LensLike' f s a+type' = Data.ProtoLens.Field.field @"type'"+typeName ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "typeName" a) =>+ Lens.Family2.LensLike' f s a+typeName = Data.ProtoLens.Field.field @"typeName"+uninterpretedOption ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "uninterpretedOption" a) =>+ Lens.Family2.LensLike' f s a+uninterpretedOption+ = Data.ProtoLens.Field.field @"uninterpretedOption"+unverifiedLazy ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "unverifiedLazy" a) =>+ Lens.Family2.LensLike' f s a+unverifiedLazy = Data.ProtoLens.Field.field @"unverifiedLazy"+utf8Validation ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "utf8Validation" a) =>+ Lens.Family2.LensLike' f s a+utf8Validation = Data.ProtoLens.Field.field @"utf8Validation"+value ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "value" a) =>+ Lens.Family2.LensLike' f s a+value = Data.ProtoLens.Field.field @"value"+vec'annotation ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'annotation" a) =>+ Lens.Family2.LensLike' f s a+vec'annotation = Data.ProtoLens.Field.field @"vec'annotation"+vec'declaration ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'declaration" a) =>+ Lens.Family2.LensLike' f s a+vec'declaration = Data.ProtoLens.Field.field @"vec'declaration"+vec'defaults ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'defaults" a) =>+ Lens.Family2.LensLike' f s a+vec'defaults = Data.ProtoLens.Field.field @"vec'defaults"+vec'dependency ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'dependency" a) =>+ Lens.Family2.LensLike' f s a+vec'dependency = Data.ProtoLens.Field.field @"vec'dependency"+vec'editionDefaults ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'editionDefaults" a) =>+ Lens.Family2.LensLike' f s a+vec'editionDefaults+ = Data.ProtoLens.Field.field @"vec'editionDefaults"+vec'enumType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'enumType" a) =>+ Lens.Family2.LensLike' f s a+vec'enumType = Data.ProtoLens.Field.field @"vec'enumType"+vec'extension ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'extension" a) =>+ Lens.Family2.LensLike' f s a+vec'extension = Data.ProtoLens.Field.field @"vec'extension"+vec'extensionRange ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'extensionRange" a) =>+ Lens.Family2.LensLike' f s a+vec'extensionRange+ = Data.ProtoLens.Field.field @"vec'extensionRange"+vec'field ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'field" a) =>+ Lens.Family2.LensLike' f s a+vec'field = Data.ProtoLens.Field.field @"vec'field"+vec'file ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'file" a) =>+ Lens.Family2.LensLike' f s a+vec'file = Data.ProtoLens.Field.field @"vec'file"+vec'leadingDetachedComments ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'leadingDetachedComments" a) =>+ Lens.Family2.LensLike' f s a+vec'leadingDetachedComments+ = Data.ProtoLens.Field.field @"vec'leadingDetachedComments"+vec'location ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'location" a) =>+ Lens.Family2.LensLike' f s a+vec'location = Data.ProtoLens.Field.field @"vec'location"+vec'messageType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'messageType" a) =>+ Lens.Family2.LensLike' f s a+vec'messageType = Data.ProtoLens.Field.field @"vec'messageType"+vec'method ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'method" a) =>+ Lens.Family2.LensLike' f s a+vec'method = Data.ProtoLens.Field.field @"vec'method"+vec'name ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'name" a) =>+ Lens.Family2.LensLike' f s a+vec'name = Data.ProtoLens.Field.field @"vec'name"+vec'nestedType ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'nestedType" a) =>+ Lens.Family2.LensLike' f s a+vec'nestedType = Data.ProtoLens.Field.field @"vec'nestedType"+vec'oneofDecl ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'oneofDecl" a) =>+ Lens.Family2.LensLike' f s a+vec'oneofDecl = Data.ProtoLens.Field.field @"vec'oneofDecl"+vec'path ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'path" a) =>+ Lens.Family2.LensLike' f s a+vec'path = Data.ProtoLens.Field.field @"vec'path"+vec'publicDependency ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'publicDependency" a) =>+ Lens.Family2.LensLike' f s a+vec'publicDependency+ = Data.ProtoLens.Field.field @"vec'publicDependency"+vec'reservedName ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'reservedName" a) =>+ Lens.Family2.LensLike' f s a+vec'reservedName = Data.ProtoLens.Field.field @"vec'reservedName"+vec'reservedRange ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'reservedRange" a) =>+ Lens.Family2.LensLike' f s a+vec'reservedRange = Data.ProtoLens.Field.field @"vec'reservedRange"+vec'service ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'service" a) =>+ Lens.Family2.LensLike' f s a+vec'service = Data.ProtoLens.Field.field @"vec'service"+vec'span ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'span" a) =>+ Lens.Family2.LensLike' f s a+vec'span = Data.ProtoLens.Field.field @"vec'span"+vec'targets ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'targets" a) =>+ Lens.Family2.LensLike' f s a+vec'targets = Data.ProtoLens.Field.field @"vec'targets"+vec'uninterpretedOption ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'uninterpretedOption" a) =>+ Lens.Family2.LensLike' f s a+vec'uninterpretedOption+ = Data.ProtoLens.Field.field @"vec'uninterpretedOption"+vec'value ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'value" a) =>+ Lens.Family2.LensLike' f s a+vec'value = Data.ProtoLens.Field.field @"vec'value"+vec'weakDependency ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "vec'weakDependency" a) =>+ Lens.Family2.LensLike' f s a+vec'weakDependency+ = Data.ProtoLens.Field.field @"vec'weakDependency"+verification ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "verification" a) =>+ Lens.Family2.LensLike' f s a+verification = Data.ProtoLens.Field.field @"verification"+weak ::+ forall f s a.+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "weak" a) =>+ Lens.Family2.LensLike' f s a+weak = Data.ProtoLens.Field.field @"weak"+weakDependency ::+ forall f s a.+ (Prelude.Functor f,+ Data.ProtoLens.Field.HasField s "weakDependency" a) =>+ Lens.Family2.LensLike' f s a+weakDependency = Data.ProtoLens.Field.field @"weakDependency"
+ app/protoc-gen-haskell.hs view
@@ -0,0 +1,117 @@+-- Copyright 2016 Google Inc. All Rights Reserved.+--+-- Use of this source code is governed by a BSD-style+-- license that can be found in the LICENSE file or at+-- https://developers.google.com/open-source/licenses/bsd++{-# LANGUAGE CPP #-}+{-# LANGUAGE OverloadedLabels #-}+{-# LANGUAGE OverloadedStrings #-}+module Main where++import Control.Monad.IO.Class (liftIO)+import qualified Data.ByteString as B+import Data.Map.Strict ((!))+#if !MIN_VERSION_base(4,11,0)+import Data.Semigroup ((<>))+#endif+import qualified Data.Set as Set+import qualified Data.Text as T+import Data.Text (Text, pack)+import Data.Bits+import Data.ProtoLens (defMessage, decodeMessage, encodeMessage)+-- Force the use of the Reflected API when decoding DescriptorProto+-- so that we can run the test suite against the Generated API.+-- TODO: switch back to Data.ProtoLens.Encoding once the Generated encoding is+-- good enough.+import Lens.Family2+import Proto.Google.Protobuf.Compiler.Plugin+ ( CodeGeneratorRequest+ , CodeGeneratorResponse+ , CodeGeneratorResponse'Feature(..)+ )+import Proto.Google.Protobuf.Descriptor (FileDescriptorProto, Edition(..))+import System.Environment (getProgName)+import System.Exit (exitWith, ExitCode(..))+import System.IO as IO++import Data.ProtoLens.Compiler.Generate.Commented (getModuleName)+import Data.ProtoLens.Compiler.Generate+import Data.ProtoLens.Compiler.Plugin++#if MIN_VERSION_ghc(9,0,0)+import GHC.Driver.Session (DynFlags, getDynFlags)+#else+import DynFlags (DynFlags, getDynFlags)+#endif+import GHC (runGhc)+import GHC.Paths (libdir)+import GHC.SourceGen.Pretty (showPpr)++main :: IO ()+main = do+ contents <- B.getContents+ progName <- getProgName+ case decodeMessage contents of+ Left e -> IO.hPutStrLn stderr e >> exitWith (ExitFailure 1)+ Right x -> runGhc (Just libdir) $ do+ dflags <- getDynFlags+ liftIO $ B.putStr $ encodeMessage $+ makeResponse dflags progName x++makeResponse :: DynFlags -> String -> CodeGeneratorRequest -> CodeGeneratorResponse+makeResponse dflags prog request = let+ outputFiles = generateFiles dflags header+ (request ^. #protoFile)+ (request ^. #fileToGenerate)+ header :: FileDescriptorProto -> Text+ header f = "{- This file was auto-generated from "+ <> (f ^. #name)+ <> " by the " <> pack prog <> " program. -}\n"+ features = [ CodeGeneratorResponse'FEATURE_PROTO3_OPTIONAL+ , CodeGeneratorResponse'FEATURE_SUPPORTS_EDITIONS+ ]+ preamble = defMessage+ & #supportedFeatures .~+ foldl (.|.) zeroBits (fmap (toEnum . fromEnum) features)+ -- Do not process actual Protobuf Editions files yet.+ & #minimumEdition .~ fromIntegral (fromEnum EDITION_PROTO2)+ & #maximumEdition .~ fromIntegral (fromEnum EDITION_2024)+ in case outputFiles of+ Right fs -> preamble & #file .~+ [ defMessage+ & #name .~ outputName+ & #content .~ outputContent+ | (outputName, outputContent) <- fs+ ]+ Left e -> preamble & #error .~ e++generateFiles :: DynFlags -> (FileDescriptorProto -> Text)+ -> [FileDescriptorProto] -> [ProtoFileName]+ -> Either Text [(Text, Text)]+generateFiles dflags header files toGenerate = do+ filesByName <- analyzeProtoFiles files++ let modulesToBuild f =+ generateModule (haskellModule f) (descriptor f) imports+ (publicImports f)+ (definitions f)+ (collectEnvFromDeps deps filesByName)+ (services f)+ where+ deps = descriptor f ^. #dependency+ imports = Set.toAscList $ Set.fromList+ $ map (haskellModule . (filesByName !)) deps+++ -- The contents of the generated Haskell file for a given .proto file.+ return [ ( moduleFilePath $ pack $ showPpr dflags (getModuleName modul)+ , header (descriptor f) <> pack (showPpr dflags modul)+ )+ | fileName <- toGenerate+ , let f = filesByName ! fileName+ , modul <- modulesToBuild f+ ]++moduleFilePath :: Text -> Text+moduleFilePath n = T.replace "." "/" n <> ".hs"
proto-lens-protoc.cabal view
@@ -1,90 +1,73 @@-name: proto-lens-protoc-version: 0.1.0.5-synopsis: Protocol buffer compiler for the proto-lens library.-description:- Turn protocol buffer files (.proto) into Haskell files (.hs) which- can be used with the proto-lens package.+cabal-version: 1.12 - The library component of this package contains compiler code (namely- Data.ProtoLens.Compiler.*) that is not guaranteed to have stable APIs.-license: BSD3-license-file: LICENSE-author: Judah Jacobson-maintainer: judahjacobson@google.com-copyright: Google Inc.-category: Data-build-type: Simple-cabal-version: >=1.21+-- This file has been generated from package.yaml by hpack version 0.39.1.+--+-- see: https://github.com/sol/hpack --- Work around stack bug, since we don't want to build the library--- during bootstrapping:--- https://github.com/commercialhaskell/stack/issues/1406-flag only-executable- Description: Only build the executable. Used for bootstrapping.- Default: False+name: proto-lens-protoc+version: 0.9.0.1+synopsis: Protocol buffer compiler for the proto-lens library.+description: Turn protocol buffer files (.proto) into Haskell files (.hs) which can be used with the proto-lens package.+ The library component of this package contains compiler code (namely Data.ProtoLens.Compiler.*) is not guaranteed to have stable APIs.'+category: Data+homepage: https://github.com/google/proto-lens#readme+bug-reports: https://github.com/google/proto-lens/issues+author: Judah Jacobson+maintainer: proto-lens@googlegroups.com+copyright: Google Inc.+license: BSD3+license-file: LICENSE+build-type: Simple+extra-source-files:+ Changelog.md +source-repository head+ type: git+ location: https://github.com/google/proto-lens+ subdir: proto-lens-protoc+ library- if flag(only-executable) {- buildable: False- } else {- exposed-modules:- Data.ProtoLens.Compiler.Combinators- Data.ProtoLens.Compiler.Definitions- Data.ProtoLens.Compiler.Generate- Data.ProtoLens.Compiler.Plugin- Data.ProtoLens.Setup- default-language: Haskell2010- hs-source-dirs: src- build-depends:- Cabal >= 1.22 && < 1.25- , base >= 4.8 && < 4.10- , bytestring == 0.10.*- , containers == 0.5.*- , data-default-class >= 0.0 && < 0.2- , directory == 1.2.*- , filepath == 1.4.*- , haskell-src-exts == 1.17.*- , lens-family == 1.2.*- , process >= 1.2 && < 1.5- , proto-lens == 0.1.0.5- , proto-lens-descriptors == 0.1.0.5- , text == 1.2.*- reexported-modules:- -- Modules that are needed by the generated Haskell files.- -- For forwards compatibility, reexport them as new module names so that- -- other packages don't accidentally write non-generated code that- -- relies on these modules being reexported by proto-lens-protoc.- Data.ByteString as Data.ProtoLens.Reexport.Data.ByteString- , Data.Default.Class as Data.ProtoLens.Reexport.Data.Default.Class- , Data.Map as Data.ProtoLens.Reexport.Data.Map- , Data.ProtoLens as Data.ProtoLens.Reexport.Data.ProtoLens- , Data.ProtoLens.Message.Enum as Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum- , Data.Text as Data.ProtoLens.Reexport.Data.Text- , Lens.Family2 as Data.ProtoLens.Reexport.Lens.Family2- , Lens.Family2.Unchecked as Data.ProtoLens.Reexport.Lens.Family2.Unchecked- }+ exposed-modules:+ Data.ProtoLens.Compiler.ModuleName+ other-modules:+ Paths_proto_lens_protoc+ hs-source-dirs:+ src+ build-depends:+ base >=4.10 && <4.23+ , filepath >=1.4 && <1.6+ default-language: Haskell2010 executable proto-lens-protoc- main-is: protoc-gen-haskell.hs-- build-depends:- base >= 4.8 && < 4.10- , bytestring == 0.10.*- , containers == 0.5.*- , data-default-class >= 0.0 && < 0.2- , filepath == 1.4.*- , haskell-src-exts == 1.17.*- , lens-family == 1.2.*- -- Specify an exact version of `proto-lens`, since it's tied closely- -- to the generated code.- , proto-lens == 0.1.0.5- , proto-lens-descriptors == 0.1.0.5- , text == 1.2.*- hs-source-dirs: src+ main-is: protoc-gen-haskell.hs other-modules:- Data.ProtoLens.Compiler.Combinators Data.ProtoLens.Compiler.Definitions+ Data.ProtoLens.Compiler.Editions.Defaults+ Data.ProtoLens.Compiler.Editions.Features Data.ProtoLens.Compiler.Generate+ Data.ProtoLens.Compiler.Generate.Commented+ Data.ProtoLens.Compiler.Generate.Encoding+ Data.ProtoLens.Compiler.Generate.Field Data.ProtoLens.Compiler.Plugin-- default-language: Haskell2010+ Proto.Google.Protobuf.Compiler.Plugin+ Proto.Google.Protobuf.Compiler.Plugin_Fields+ Proto.Google.Protobuf.Descriptor+ Proto.Google.Protobuf.Descriptor_Fields+ Paths_proto_lens_protoc+ hs-source-dirs:+ app+ build-depends:+ base >=4.10 && <4.23+ , bytestring >=0.10 && <0.14+ , containers >=0.5 && <0.9+ , filepath >=1.4 && <1.6+ , ghc >=8.2 && <9.15+ , ghc-paths ==0.1.*+ , ghc-source-gen ==0.4.*+ , lens-family >=1.2 && <2.2+ , pretty ==1.1.*+ , proto-lens ==0.7.*+ , proto-lens-protoc+ , proto-lens-runtime ==0.7.*+ , text >=1.2 && <2.2+ default-language: Haskell2010
− src/Data/ProtoLens/Compiler/Combinators.hs
@@ -1,98 +0,0 @@--- Copyright 2016 Google Inc. All Rights Reserved.------ Use of this source code is governed by a BSD-style--- license that can be found in the LICENSE file or at--- https://developers.google.com/open-source/licenses/bsd--{-# OPTIONS_GHC -fno-warn-orphans #-}--- | Some utility functions, classes and instances for nicer code generation--- with haskell-src-exts.------ In particular, we define orphan instances of IsString for various syntax--- datatypes, with some intelligence about Haskell names. For example, @"foo"--- :: Exp@ is treated as a variable and @"Foo" :: Exp@ is treated as a--- constructor.-module Data.ProtoLens.Compiler.Combinators where--import Data.Char (isAlphaNum, isUpper)-import Data.String (IsString(..))-import Language.Haskell.Exts.SrcLoc (noLoc)-import Language.Haskell.Exts.Syntax as Syntax---- | Application of a Haskell type or expression to an argument.--- For example, to represent @f x y@, you can write------ > "f" @@ "x" @@ "y"-class App a where- (@@) :: a -> a -> a- infixl 2 @@--instance App Type where- (@@) = TyApp--instance App Exp where- (@@) = App--instance IsString Name where- fromString s- -- TODO: better handle the case of mixed ident and symbol characters.- | all isIdentChar s = Ident s- | otherwise = Symbol s---- | Whether this character belongs to an Ident (e.g., "foo") or a symbol--- (e.g., "<$>").-isIdentChar :: Char -> Bool-isIdentChar c = isAlphaNum c || c `elem` "_'"--instance IsString ModuleName where- fromString = ModuleName--instance IsString QName where- fromString f- -- TODO: support qualified operators (e.g., "Control.Applicative.<$>")- -- Currently we ignore them due to edge-cases- -- like the composition operator "Prelude.."- | isIdentChar (last f), '.' `elem` f- -- Split "Foo.Bar.baz" into ("Foo.Bar", "baz")- , (f', '.':f'') <- span (/='.') (reverse f)- = Qual (fromString $ reverse f'') (fromString $ reverse f')- | otherwise = UnQual $ fromString f--instance IsString Type where- fromString fs@(f:_)- | isUpper f = TyCon $ fromString fs- fromString fs = TyVar $ fromString fs--instance IsString Exp where- fromString fs@(f:_)- | isUpper f = Con $ fromString fs- fromString fs = Var $ fromString fs--instance IsString Pat where- fromString = PVar . fromString--instance IsString TyVarBind where- fromString = UnkindedVar . fromString----- Helper functions for literal numbers, since haskell-src-exts doesn't--- put parentheses around negative numbers automatically.--litInt :: Integer -> Exp-litInt n- | n >= 0 = Lit $ Int n- | otherwise = NegApp $ Lit $ Int $ negate n--litFrac :: Rational -> Exp-litFrac x- | x >= 0 = Lit $ Frac x- | otherwise = NegApp $ Lit $ Frac $ negate x--pLitInt :: Integer -> Pat-pLitInt n- | n >= 0 = PLit Signless $ Int n- | otherwise = PLit Negative $ Int $ negate n---- | A simple clause of a function binding.-match :: Name -> [Pat] -> Exp -> Match-match n ps e = Match noLoc n ps Nothing (UnGuardedRhs e) Nothing
− src/Data/ProtoLens/Compiler/Definitions.hs
@@ -1,261 +0,0 @@--- Copyright 2016 Google Inc. All Rights Reserved.------ Use of this source code is governed by a BSD-style--- license that can be found in the LICENSE file or at--- https://developers.google.com/open-source/licenses/bsd---- | This module takes care of collecting all the definitions in a .proto file--- and assigning Haskell names to all of the defined things (messages, enums--- and field names).-{-# LANGUAGE DeriveFunctor, OverloadedStrings #-}-module Data.ProtoLens.Compiler.Definitions- ( Env- , Definition(..)- , MessageInfo(..)- , FieldInfo(..)- , EnumInfo(..)- , EnumValueInfo(..)- , qualifyEnv- , unqualifyEnv- , collectDefinitions- , definedFieldType- ) where--import Data.Char (toUpper)-import Data.Int (Int32)-import Data.List (mapAccumL)-import qualified Data.Map as Map-import Data.Maybe (fromMaybe)-import Data.Monoid-import qualified Data.Set as Set-import Data.Text (Text, cons, splitOn, toLower, uncons, unpack)-import qualified Data.Text as T-import Language.Haskell.Exts.Syntax (Name(..), QName(..), ModuleName(..))-import Lens.Family2 ((^.))-import Proto.Google.Protobuf.Descriptor- ( DescriptorProto- , EnumDescriptorProto- , EnumValueDescriptorProto- , FieldDescriptorProto- , FileDescriptorProto- , enumType- , field- , messageType- , name- , nestedType- , number- , package- , typeName- , value- )---- | 'Env' contains a mapping of proto names (as specified in the .proto file)--- to Haskell names. The keys are fully-qualified names, for example,--- ".package.Message.Submessage". (The protocol_compiler tool emits all--- message field types in this form, even if they refer to local definitions.)------ The type 'n' can be either a 'Name' (when talking about definitions within--- the current file) or a (qualified) 'QName' (when talking about definitions--- either from this or another file).-type Env n = Map.Map Text (Definition n)--data Definition n = Message (MessageInfo n) | Enum (EnumInfo n)- deriving Functor---- | All the information needed to define or use a proto message type.-data MessageInfo n = MessageInfo- { messageName :: n -- ^ Haskell type name- , messageDescriptor :: DescriptorProto- , messageFields :: [FieldInfo]- -- ^ The Haskell names for each field.- -- This list corresponds 1-1 with "field" in messageDescriptor.- } deriving Functor---- | Information about a single field of a proto message.-data FieldInfo = FieldInfo- { overloadedField :: String- -- ^ The Haskell overloaded name of this field; may be shared between two- -- different message data types.- , recordFieldName :: Name- -- ^ The Haskell name of this internal record field. Unique within each- -- module.- , fieldDescriptor :: FieldDescriptorProto- }---- | All the information needed to define or use a proto enum type.-data EnumInfo n = EnumInfo- { enumName :: n- , enumDescriptor :: EnumDescriptorProto- , enumValues :: [EnumValueInfo n]- } deriving Functor---- | Information about a single value case of a proto enum.-data EnumValueInfo n = EnumValueInfo- { enumValueName :: n- , enumValueDescriptor :: EnumValueDescriptorProto- , enumAliasOf :: Maybe Name- -- ^ If 'Nothing', we turn value into a normal constructor of the enum.- -- If @'Just' n@, we're treating it as an alias of the constructor @n@- -- (a PatternSynonym in Haskell). This mirrors the behavior of the- -- Java API.- } deriving Functor--mapEnv :: (n -> n') -> Env n -> Env n'-mapEnv f = fmap $ fmap f---- Lift a set of local definitions into references to a specific module.-qualifyEnv :: ModuleName -> Env Name -> Env QName-qualifyEnv m = mapEnv (Qual m)---- Lift a set of local definitions into references to the current module.-unqualifyEnv :: Env Name -> Env QName-unqualifyEnv = mapEnv UnQual---- | Look up the type definition for a given field.-definedFieldType :: FieldDescriptorProto -> Env QName -> Definition QName-definedFieldType fd env = fromMaybe err $ Map.lookup (fd ^. typeName) env- where- err = error $ "definedFieldType: Field type " ++ unpack (fd ^. typeName)- ++ " not found in environment."---- | Collect all the definitions in the given file (including definitions--- nested in other messages), and assign Haskell names to them.-collectDefinitions :: FileDescriptorProto -> Env Name-collectDefinitions fd = let- protoPrefix = case fd ^. package of- "" -> "."- p -> "." <> p <> "."- hsPrefix = ""- in Map.fromList $ messageAndEnumDefs protoPrefix hsPrefix- (fd ^. messageType) (fd ^. enumType)--messageAndEnumDefs :: Text -> String -> [DescriptorProto]- -> [EnumDescriptorProto] -> [(Text, Definition Name)]-messageAndEnumDefs protoPrefix hsPrefix messages enums- = concatMap (messageDefs protoPrefix hsPrefix) messages- ++ map (enumDef protoPrefix hsPrefix) enums---- | Generate the definitions for a message and its nested types (if any).-messageDefs :: Text -> String -> DescriptorProto- -> [(Text, Definition Name)]-messageDefs protoPrefix hsPrefix d- = thisDef : subDefs- where- protoName = d ^. name- hsName = unpack $ capitalize $ d ^. name- thisDef = (protoPrefix <> protoName- , Message MessageInfo- { messageName = Ident $ hsPrefix ++ hsName- , messageDescriptor = d- , messageFields =- [ FieldInfo- { overloadedField = n- , recordFieldName = Ident $ "_" ++ hsPrefix' ++ n- , fieldDescriptor = f- }- | f <- d ^. field- , let n = fieldName (f ^. name)- ]- })- subDefs = messageAndEnumDefs protoPrefix' hsPrefix'- (d ^. nestedType) (d ^. enumType)- protoPrefix' = protoPrefix <> protoName <> "."- hsPrefix' = hsPrefix ++ hsName ++ "'"---- | Get the name in Haskell of a proto field, taking care of camel casing and--- clashes with language keywords.-fieldName :: Text -> String-fieldName = unpack . disambiguate . camelCase- where- disambiguate s- -- TODO: use a more comprehensive blacklist of Haskell keywords.- | s `Set.member` reservedKeywords = s <> "'"- | otherwise = s- camelCase s- -- Preserve any initial underlines (e.g., "_foo_bar" -> "_fooBar").- | (underlines, rest) <- T.span (== '_') s- = case splitOn "_" rest of- -- splitOn always returns a list with at least one element.- [] -> error $ "camelCase: splitOn returned empty list: "- ++ show rest- [""] -> error "camelCase: name consists only of underscores"- s':ss -> T.concat $ underlines : toLower s' : map capitalize ss---- | A list of reserved keywords that aren't valid as variable names.-reservedKeywords :: Set.Set Text-reservedKeywords = Set.fromList $- -- Haskell2010 keywords:- -- https://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-180002.4- -- We don't include keywords that are allowed to be variable names,- -- in particular: "as", "forall", and "hiding".- [ "case"- , "class"- , "data"- , "default"- , "deriving"- , "do"- , "else"- , "foreign"- , "if"- , "import"- , "in"- , "infix"- , "infixl"- , "infixr"- , "instance"- , "let"- , "module"- , "newtype"- , "of"- , "then"- , "type"- , "where"- ]- ++ -- Nonstandard extensions- [ "mdo" -- RecursiveDo- , "rec" -- Arrows, RecursiveDo- , "pattern" -- PatternSynonyms- , "proc" -- Arrows- ]---- | Generate the definition for an enum type.-enumDef :: Text -> String -> EnumDescriptorProto- -> (Text, Definition Name)-enumDef protoPrefix hsPrefix d = let- mkText n = protoPrefix <> n- mkHsName n = Ident $ hsPrefix ++ unpack n- in (mkText (d ^. name)- , Enum EnumInfo- { enumName = mkHsName (d ^. name)- , enumDescriptor = d- , enumValues = collectEnumValues mkHsName $ d ^. value- })---- | Generate the definitions for each enum value. In particular, decide--- whether it's a true constructor or a PatternSynonym to another--- constructor.------ Like Java, we treat the first case of each numeric value as the "real"--- constructor, and subsequent cases as synonyms.-collectEnumValues :: (Text -> Name) -> [EnumValueDescriptorProto]- -> [EnumValueInfo Name]-collectEnumValues mkHsName = snd . mapAccumL helper Map.empty- where- helper :: Map.Map Int32 Name -> EnumValueDescriptorProto- -> (Map.Map Int32 Name, EnumValueInfo Name)- helper seenNames v- | Just n' <- Map.lookup k seenNames = (seenNames, mkValue (Just n'))- | otherwise = (Map.insert k hsName seenNames, mkValue Nothing)- where- mkValue = EnumValueInfo hsName v- hsName = mkHsName n- n = v ^. name- k = v ^. number---- Haskell types must start with an uppercase letter, so we capitalize message--- and enum names.--- Name collisions will show up as build errors in the generated haskell file.-capitalize :: Text -> Text-capitalize s- | Just (c, s') <- uncons s = cons (toUpper c) s'- | otherwise = s
− src/Data/ProtoLens/Compiler/Generate.hs
@@ -1,697 +0,0 @@--- Copyright 2016 Google Inc. All Rights Reserved.------ Use of this source code is governed by a BSD-style--- license that can be found in the LICENSE file or at--- https://developers.google.com/open-source/licenses/bsd---- | This module builds the actual, generated Haskell file--- for a given input .proto file.-{-# LANGUAGE OverloadedStrings #-}-module Data.ProtoLens.Compiler.Generate(- generateModule,- fileSyntaxType,- ModifyImports,- reexported,- ) where---import Control.Applicative ((<$>))-import Control.Arrow (second)-import qualified Data.Foldable as F-import qualified Data.List as List-import qualified Data.Map as Map-import Data.Maybe (isNothing)-import Data.Ord (comparing)-import qualified Data.Set as Set-import Data.String (fromString)-import Data.Text (unpack)-import qualified Data.Text as T-import Data.Tuple (swap)-import Language.Haskell.Exts.Syntax as Syntax-import Language.Haskell.Exts.SrcLoc (noLoc)-import Lens.Family2 ((^.))-import Proto.Google.Protobuf.Descriptor- ( EnumValueDescriptorProto- , FieldDescriptorProto- , FieldDescriptorProto'Label(..)- , FieldDescriptorProto'Type(..)- , FileDescriptorProto- , FieldOptions- , defaultValue- , label- , mapEntry- , maybe'oneofIndex- , maybe'packed- , name- , number- , options- , syntax- , type'- , typeName- )--import Data.ProtoLens.Compiler.Combinators-import Data.ProtoLens.Compiler.Definitions--data SyntaxType = Proto2 | Proto3- deriving Eq--fileSyntaxType :: FileDescriptorProto -> SyntaxType-fileSyntaxType f = case f ^. syntax of- "proto2" -> Proto2- "proto3" -> Proto3- "" -> Proto2 -- The proto compiler doesn't set syntax for proto2 files.- s -> error $ "Unknown syntax type " ++ show s---- Whether to import the "Reexport" modules or the originals;--- e.g., Data.ProtoLens.Reexport.Data.Map vs Data.Map.-data UseReexport = UseReexport | UseOriginal- deriving (Eq, Read)---- | Generate a Haskell module for the given input file(s).--- input contains all defined names, incl. those in this module-generateModule :: ModuleName- -> [ModuleName] -- ^ The imported modules- -> SyntaxType- -> ModifyImports- -> Env Name -- ^ Definitions in this file- -> Env QName -- ^ Definitions in the imported modules- -> Module-generateModule modName imports syntaxType modifyImport definitions importedEnv- = Module noLoc modName- [ LanguagePragma noLoc $ map Ident- ["ScopedTypeVariables", "DataKinds", "TypeFamilies",- "MultiParamTypeClasses", "FlexibleContexts", "FlexibleInstances",- "PatternSynonyms"]- -- Allow unused imports in case we don't import anything from- -- Data.Text, Data.Int, etc.- , OptionsPragma noLoc (Just GHC) "-fno-warn-unused-imports"- ]- Nothing -- no warning text- Nothing -- no explicit exports; we export everything.- -- TODO: Also export public imports, taking care not to- -- cause a name conflict between field accessors.- (map importSimple- -- Note: we import Prelude explicitly to make it qualified.- [ "Prelude", "Data.Int", "Data.Word"]- ++ map (modifyImport . importSimple)- [ "Data.ProtoLens", "Data.ProtoLens.Message.Enum"- , "Lens.Family2", "Lens.Family2.Unchecked", "Data.Default.Class"- , "Data.Text", "Data.Map" , "Data.ByteString"- ]- ++ map importSimple imports)- (concatMap generateDecls (Map.elems definitions)- ++ concatMap generateFieldDecls allFieldNames)- where- env = Map.union (unqualifyEnv definitions) importedEnv- generateDecls (Message m) = generateMessageDecls syntaxType env m- generateDecls (Enum e) = generateEnumDecls e- allFieldNames = F.toList $ Set.fromList- [ fieldSymbol i- | Message m <- Map.elems definitions- , f <- messageFields m- , i <- fieldInstances (lensInfo syntaxType env f)- ]--importSimple :: ModuleName -> ImportDecl-importSimple m = ImportDecl- { importLoc = noLoc- , importModule = m- -- Import qualified to avoid clashes with names defined in this module.- , importQualified = True- , importSrc = False- , importSafe = False- , importPkg = Nothing- , importAs = Nothing- , importSpecs = Nothing- }--type ModifyImports = ImportDecl -> ImportDecl--reexported :: ModifyImports-reexported imp@ImportDecl {importModule = m@(ModuleName s)}- = imp { importAs = Just m, importModule = m' }- where- m' = ModuleName $ "Data.ProtoLens.Reexport." ++ s--generateMessageDecls :: SyntaxType -> Env QName -> MessageInfo Name -> [Decl]-generateMessageDecls syntaxType env info =- -- data Bar = Bar {- -- foo :: Baz- -- }- [ DataDecl noLoc DataType [] dataName []- [QualConDecl noLoc [] [] $ RecDecl dataName- [([recordFieldName f],- TyBang BangedTy $ internalType (lensInfo syntaxType env f))- | f <- fields- ]- ]- [("Prelude.Show", []), ("Prelude.Eq", [])]- ]- ++- -- type instance Field.Field "foo" Bar = Baz- -- instance Field.HasField "foo" Bar where- -- field _ = ...- -- Note: for optional fields, this generates an instance both for "foo" and- -- for "maybe'foo" (see lensInfo below).- concat- [ [ TypeInsDecl noLoc- ("Data.ProtoLens.Field" @@ sym @@ dataType)- (fieldTypeInstance i)- , InstDecl noLoc Nothing [] [] "Data.ProtoLens.HasField"- [sym, dataType, dataType]- [InsDecl $ FunBind [match "field" [PWildCard] $ fieldAccessor i]]- ]- | f <- fields- , i <- fieldInstances (lensInfo syntaxType env f)- , let sym = TyPromoted $ PromotedString $ fieldSymbol i- ]- ++- -- instance Data.Default.Class.Default Bar where- [ InstDecl noLoc Nothing [] [] "Data.Default.Class.Default" [dataType]- -- def = Bar { _Bar_foo = 0 }- [ InsDecl $ FunBind- [ match "def" []- $ RecConstr (UnQual dataName)- [ FieldUpdate (UnQual $ recordFieldName f)- (hsFieldDefault syntaxType env (fieldDescriptor f))- | f <- fields- ]- ]- ]- -- instance Message.Message Bar where- , InstDecl noLoc Nothing [] [] "Data.ProtoLens.Message" [dataType]- [ InsDecl $ FunBind- [ match "descriptor" [] $ descriptorExpr syntaxType env info]- ]- ]- where- dataType = TyCon $ UnQual dataName- MessageInfo { messageName = dataName, messageFields = fields} = info--generateEnumDecls :: EnumInfo Name -> [Decl]-generateEnumDecls info =- [ DataDecl noLoc DataType [] dataName []- [QualConDecl noLoc [] [] $ ConDecl n [] | n <- constructorNames]- [(c, []) | c <- ["Prelude.Show", "Prelude.Eq"]]- -- instance Data.Default.Class.Default Foo where- -- def = FirstEnumValue- , InstDecl noLoc Nothing [] [] "Data.Default.Class.Default" [dataType]- [ InsDecl $ FunBind [match "def" [] defaultCon]- ]- -- instance Data.ProtoLens.FieldDefault Foo where- -- fieldDefault = FirstEnumValue- , InstDecl noLoc Nothing [] [] "Data.ProtoLens.FieldDefault" [dataType]- [ InsDecl $ FunBind [match "fieldDefault" [] defaultCon]- ]- -- instance MessageEnum Foo where- -- maybeToEnum 1 = Just Foo1- -- maybeToEnum 2 = Just Foo2- -- ...- -- maybeToEnum _ = Nothing- -- showEnum Foo1 = "Foo1"- -- showEnum Foo2 = "Foo2"- -- ...- -- readEnum "Foo1" = Just Foo1- -- readEnum "Foo2" = Just Foo2- -- ...- -- readEnum _ = Nothing- , InstDecl noLoc Nothing [] [] "Data.ProtoLens.MessageEnum" [dataType]- [ InsDecl $ FunBind $- [ match "maybeToEnum" [pLitInt k]- $ "Prelude.Just" @@ Con (UnQual n)- | (n, k) <- constructorNumbers- ]- ++- [ match "maybeToEnum" [PWildCard] "Prelude.Nothing"- ]- ++- [ match "showEnum" [PVar n] $ Lit $ Syntax.String $ T.unpack pn- | (n, pn) <- constructorProtoNames- ]- ++- [ match "readEnum"- [PLit Signless . Syntax.String $ T.unpack pn]- $ "Prelude.Just" @@ Con (UnQual n)- | (n, pn) <- constructorProtoNames- ]- ++- [ match "readEnum" [PWildCard] "Prelude.Nothing"- ]- ]- -- instance Enum Foo where- -- toEnum k = maybe (error ("Foo.toEnum: unknown argument for enum Foo: "- -- ++ show k))- -- id (maybeToEnum k)- -- fromEnum Foo1 = 1- -- fromEnum Foo2 = 2- -- ..- -- succ FooN = error "Foo.succ: bad argument FooN."- -- succ Foo1 = Foo2- -- succ Foo2 = Foo3- -- ..- -- pred Foo1 = error "Foo.succ: bad argument Foo1."- -- pred Foo2 = Foo1- -- pred Foo3 = Foo2- -- ..- -- enumFrom = messageEnumFrom- -- enumFromTo = messageEnumFromTo- -- enumFromThen = messageEnumFromThen- -- enumFromThenTo = messageEnumFromThenTo- , InstDecl noLoc Nothing [] [] "Prelude.Enum" [dataType]- [ InsDecl $ FunBind- [ match "toEnum" ["k__"]- $ "Prelude.maybe" @@ errorMessageExpr @@ "Prelude.id"- @@ ("Data.ProtoLens.maybeToEnum" @@ "k__")- ]- , InsDecl $ FunBind- [ match "fromEnum" [PApp (UnQual c) []] $ litInt k- | (c, k) <- constructorNumbers- ]- , succDecl "succ" maxBoundName succPairs- , succDecl "pred" minBoundName $ map swap succPairs- , alias "enumFrom" "Data.ProtoLens.Message.Enum.messageEnumFrom"- , alias "enumFromTo" "Data.ProtoLens.Message.Enum.messageEnumFromTo"- , alias "enumFromThen" "Data.ProtoLens.Message.Enum.messageEnumFromThen"- , alias "enumFromThenTo"- "Data.ProtoLens.Message.Enum.messageEnumFromThenTo"- ]- -- instance Bounded Foo where- -- minBound = Foo1- -- maxBound = FooN- , InstDecl noLoc Nothing [] [] "Prelude.Bounded" [dataType]- [ InsDecl $ FunBind- [ match "minBound" [] $ Con $ UnQual minBoundName- , match "maxBound" [] $ Con $ UnQual maxBoundName- ]- ]- ]- ++- -- pattern FooAlias :: Foo- -- pattern FooAlias = FooConstructor- concat- [ [ PatSynSig noLoc aliasName Nothing [] [] dataType- , PatSyn noLoc (PVar aliasName) (PVar originalName)- ImplicitBidirectional- ]- | EnumValueInfo- { enumValueName = aliasName- , enumAliasOf = Just originalName- } <- enumValues info- ]- where- dataType = TyCon $ UnQual dataName- EnumInfo { enumName = dataName, enumDescriptor = ed } = info- constructors :: [(Name, EnumValueDescriptorProto)]- constructors = List.sortBy (comparing ((^. number) . snd))- [(n, d) | EnumValueInfo- { enumValueName = n- , enumValueDescriptor = d- , enumAliasOf = Nothing- } <- enumValues info- ]- constructorNames = map fst constructors- minBoundName = head constructorNames- maxBoundName = last constructorNames-- constructorProtoNames = map (second (^. name)) constructors- constructorNumbers = map (second (fromIntegral . (^. number)))- constructors-- succPairs = zip constructorNames $ tail constructorNames- succDecl funName boundName thePairs = InsDecl $ FunBind $- match funName [PApp (UnQual boundName) []] (- "Prelude.error" @@ Lit (Syntax.String $ concat- [ show dataName, ".", show funName, ": bad argument "- , show boundName, ". This value would be out of bounds."- ]))- :- [ match funName [PApp (UnQual from) []] $ Con $ UnQual to- | (from, to) <- thePairs- ]- alias funName implName = InsDecl $ FunBind [match funName [] implName]-- defaultCon = Con $ UnQual $ head constructorNames- errorMessageExpr = "Prelude.error"- @@ ("Prelude.++" @@ Lit (Syntax.String errorMessage)- @@ ("Prelude.show" @@ "k__"))- errorMessage = "toEnum: unknown value for enum " ++ unpack (ed ^. name)- ++ ": "--generateFieldDecls :: String -> [Decl]-generateFieldDecls fStr =- -- foo :: forall msg msg' . Field.HasField "foo" msg msg'- -- => Lens.Lens msg msg' (Field.Field "foo" msg)- -- (Field.Field "foo" msg')- -- foo = Field.field (Field.ProxySym :: Field.Proxy "foo")- [ TypeSig noLoc [f]- $ TyForall (Just ["msg", "msg'"])- [ClassA "Data.ProtoLens.HasField" [fSym, "msg", "msg'"]]- $ "Lens.Family2.Lens" @@ "msg" @@ "msg'"- @@ ("Data.ProtoLens.Field" @@ fSym @@ "msg")- @@ ("Data.ProtoLens.Field" @@ fSym @@ "msg'")- , FunBind [match f []- $ "Data.ProtoLens.field"- @@ ExpTypeSig noLoc "Data.ProtoLens.ProxySym"- ("Data.ProtoLens.ProxySym" @@ fSym)- ]- ]- where- f = Ident fStr- fSym = TyPromoted $ PromotedString fStr------------------------------------------------ | The Haskell types and lenses for an individual field of a message.--- This is used to generate both the data record Decl and the instances of--- HasField.-data LensInfo = LensInfo- { internalType :: Type -- ^ Internal type in the record- , fieldInstances :: [FieldInstanceInfo] -- ^ All instances of Field/HasField- }--data FieldInstanceInfo = FieldInstanceInfo- { fieldSymbol :: String -- ^ The name of the Symbol corresponding to- -- this field.- , fieldTypeInstance :: Type -- ^ The type instance for Field, i.e.,- -- type instance Field "foo" Bar = ...- , fieldAccessor :: Exp -- ^ The value of the "field" lens for this- -- field, i.e.,- -- field _ = ...- }---- | Compile information about the record field type and type/class instances--- for this particular field.-lensInfo :: SyntaxType -> Env QName -> FieldInfo -> LensInfo-lensInfo syntaxType env f = case fd ^. label of- -- data Foo = Foo { _Foo_bar :: Bar }- -- type instance Field "bar" Foo = Bar- FieldDescriptorProto'LABEL_REQUIRED -> LensInfo baseType- [FieldInstanceInfo- { fieldSymbol = baseName- , fieldTypeInstance = baseType- , fieldAccessor = rawAccessor- }]- FieldDescriptorProto'LABEL_OPTIONAL- | isDefaultingOptional syntaxType fd- -> LensInfo baseType- [FieldInstanceInfo- { fieldSymbol = baseName- , fieldTypeInstance = baseType- , fieldAccessor = rawAccessor- }]- FieldDescriptorProto'LABEL_REPEATED- -- data Foo = Foo { _Foo_bar :: Map Bar Baz }- -- type instance Field "foo" Foo = Map Bar Baz- | Just (k,v) <- getMapFields env fd -> let- mapType = "Data.Map.Map" @@ hsFieldType env (fieldDescriptor k)- @@ hsFieldType env (fieldDescriptor v)- in LensInfo mapType- [FieldInstanceInfo- { fieldSymbol = baseName- , fieldTypeInstance = mapType- , fieldAccessor = rawAccessor- }]- -- data Foo = Foo { _Foo_bar :: [Bar] }- -- type instance Field "bar" Foo = [Bar]- | otherwise -> LensInfo listType- [FieldInstanceInfo- { fieldSymbol = baseName- , fieldTypeInstance = listType- , fieldAccessor = rawAccessor- }]- -- data Foo = Foo { _Foo_bar :: Maybe Bar }- -- type instance Field "bar" Foo = Bar- -- type instance Field "maybe'bar" Foo = Maybe Bar- FieldDescriptorProto'LABEL_OPTIONAL -> LensInfo maybeType- [FieldInstanceInfo- { fieldSymbol = baseName- , fieldTypeInstance = baseType- , fieldAccessor = maybeAccessor- }- , FieldInstanceInfo- { fieldSymbol = maybeName- , fieldTypeInstance = "Prelude.Maybe" @@ baseType- , fieldAccessor = rawAccessor- }- ]- where- baseName = overloadedField f- fd = fieldDescriptor f- baseType = hsFieldType env fd- listType = TyList baseType- maybeType = "Prelude.Maybe" @@ baseType- maybeName = "maybe'" ++ baseName- maybeAccessor = "Prelude.." @@ fromString maybeName- @@ ("Data.ProtoLens.maybeLens"- @@ hsFieldValueDefault env fd)- rawAccessor = rawFieldAccessor $ UnQual $ recordFieldName f---- Get the key/value types of this type, if it is really a map.-getMapFields :: Env QName -> FieldDescriptorProto- -> Maybe (FieldInfo, FieldInfo)-getMapFields env f- | f ^. type' == FieldDescriptorProto'TYPE_MESSAGE- , Message m@MessageInfo { messageDescriptor = d } <- definedFieldType f env- , d ^. options.mapEntry- , [f1, f2] <- messageFields m = Just (f1, f2)- | otherwise = Nothing--hsFieldType :: Env QName -> FieldDescriptorProto -> Type-hsFieldType env fd = case fd ^. type' of- FieldDescriptorProto'TYPE_DOUBLE -> "Prelude.Double"- FieldDescriptorProto'TYPE_FLOAT -> "Prelude.Float"- FieldDescriptorProto'TYPE_INT64 -> "Data.Int.Int64"- FieldDescriptorProto'TYPE_UINT64 -> "Data.Word.Word64"- FieldDescriptorProto'TYPE_INT32 -> "Data.Int.Int32"- FieldDescriptorProto'TYPE_FIXED64 -> "Data.Word.Word64"- FieldDescriptorProto'TYPE_FIXED32 -> "Data.Word.Word32"- FieldDescriptorProto'TYPE_BOOL -> "Prelude.Bool"- FieldDescriptorProto'TYPE_STRING -> "Data.Text.Text"- FieldDescriptorProto'TYPE_GROUP- | Message m <- definedFieldType fd env -> TyCon $ messageName m- | otherwise -> error $ "expected TYPE_GROUP for type name"- ++ unpack (fd ^. typeName)- FieldDescriptorProto'TYPE_MESSAGE- | Message m <- definedFieldType fd env -> TyCon $ messageName m- | otherwise -> error $ "expected TYPE_MESSAGE for type name"- ++ unpack (fd ^. typeName)- FieldDescriptorProto'TYPE_BYTES -> "Data.ByteString.ByteString"- FieldDescriptorProto'TYPE_UINT32 -> "Data.Word.Word32"- FieldDescriptorProto'TYPE_ENUM- | Enum e <- definedFieldType fd env -> TyCon $ enumName e- | otherwise -> error $ "expected TYPE_ENUM for type name"- ++ unpack (fd ^. typeName)- FieldDescriptorProto'TYPE_SFIXED32 -> "Data.Int.Int32"- FieldDescriptorProto'TYPE_SFIXED64 -> "Data.Int.Int64"- FieldDescriptorProto'TYPE_SINT32 -> "Data.Int.Int32"- FieldDescriptorProto'TYPE_SINT64 -> "Data.Int.Int64"--hsFieldDefault :: SyntaxType -> Env QName -> FieldDescriptorProto -> Exp-hsFieldDefault syntaxType env fd- = case fd ^. label of- FieldDescriptorProto'LABEL_OPTIONAL- | isDefaultingOptional syntaxType fd -> hsFieldValueDefault env fd- | otherwise -> "Prelude.Nothing"- FieldDescriptorProto'LABEL_REPEATED- | Just _ <- getMapFields env fd -> "Data.Map.empty"- | otherwise -> List []- -- TODO: More sensible initialization of required fields.- FieldDescriptorProto'LABEL_REQUIRED -> hsFieldValueDefault env fd--hsFieldValueDefault :: Env QName -> FieldDescriptorProto -> Exp-hsFieldValueDefault env fd = case fd ^. type' of- FieldDescriptorProto'TYPE_MESSAGE -> "Data.Default.Class.def"- FieldDescriptorProto'TYPE_GROUP -> "Data.Default.Class.def"- FieldDescriptorProto'TYPE_ENUM- | T.null def -> "Data.Default.Class.def"- | Enum e <- definedFieldType fd env- , Just v <- List.lookup def [ (enumValueDescriptor v ^. name, enumValueName v)- | v <- enumValues e- ]- -> Con v- | otherwise -> errorMessage "enum"- -- The rest of the cases are for scalar fields that have a fieldDefault- -- instance.- _ | T.null def -> "Data.ProtoLens.fieldDefault"- FieldDescriptorProto'TYPE_BOOL- | def == "true" -> "Prelude.True"- | def == "false" -> "Prelude.False"- | otherwise -> errorMessage "bool"- FieldDescriptorProto'TYPE_STRING- -> "Data.Text.pack" @@ Lit (String $ T.unpack def)- FieldDescriptorProto'TYPE_BYTES- -> "Data.ByteString.pack"- @@ List ((mkByte . fromEnum) <$> T.unpack def)- where mkByte c- | c > 0 && c < 255 = litInt $ fromIntegral c- | otherwise = errorMessage "bytes"- FieldDescriptorProto'TYPE_FLOAT -> defaultFrac $ T.unpack def- FieldDescriptorProto'TYPE_DOUBLE -> defaultFrac $ T.unpack def- -- Otherwise, assume it's an integral field:- _ -> defaultInt $ T.unpack def- where- def = fd ^. defaultValue- errorMessage fieldType- = error $ "Bad default value " ++ show (T.unpack def)- ++ " in default value for " ++ fieldType ++ " field "- ++ unpack (fd ^. name)- -- float/double fields can use nan, inf and -inf as default values.- -- The Prelude doesn't provide names for them, so we implement- -- them as division by zero.- defaultFrac "nan" = "Prelude./" @@ litFrac 0 @@ litFrac 0- defaultFrac "inf" = "Prelude./" @@ litFrac 1 @@ litFrac 0- defaultFrac "-inf" = "Prelude./" @@ litFrac (negate 1) @@ litFrac 0- defaultFrac s = case reads s of- [(x, "")] -> litFrac $ toRational (x :: Double)- _ -> errorMessage "fractional"- defaultInt s = case reads s of- [(x, "")] -> litInt x- _ -> errorMessage "integral"---- | A lens to access an internal field.------ lens _Foo_bar (\x__ y__ -> x__ { _Foo_bar = y__ })-rawFieldAccessor :: QName -> Exp-rawFieldAccessor f = "Lens.Family2.Unchecked.lens" @@ getter @@ setter- where- getter = Var f- setter = Lambda noLoc ["x__", "y__"]- $ RecUpdate "x__" [FieldUpdate f "y__"]--descriptorExpr :: SyntaxType -> Env QName -> MessageInfo Name -> Exp-descriptorExpr syntaxType env m- -- let foo__field_descriptor = ...- -- ...- -- in Message.MessageDescriptor- -- (Data.Map.fromList [(Tag 1, foo__field_descriptor),...])- -- (Data.Map.fromList [("foo", foo__field_descriptor),...])- --- -- (Note that the two maps have the same elements but different keys. We- -- use the "let" expression to share elements between the two maps.)- = Let (BDecls $ map fieldDescriptorVarBind $ messageFields m)- $ "Data.ProtoLens.MessageDescriptor"- @@ ("Data.Map.fromList" @@ List fieldsByTag)- @@ ("Data.Map.fromList" @@ List fieldsByTextFormatName)- where- fieldsByTag =- [Tuple Boxed- [ t, fieldDescriptorVar f ]- | f <- messageFields m- , let t = "Data.ProtoLens.Tag"- @@ litInt (fromIntegral- $ fieldDescriptor f ^. number)- ]- fieldsByTextFormatName =- [Tuple Boxed- [ t, fieldDescriptorVar f ]- | f <- messageFields m- , let t = Lit $ Syntax.String $ T.unpack- $ textFormatFieldName env (fieldDescriptor f)- ]- fieldDescriptorVar = fromString . fieldDescriptorName- fieldDescriptorName f- = fromString $ overloadedField f ++ "__field_descriptor"- fieldDescriptorVarBind f- = FunBind- [match (fromString $ fieldDescriptorName f) []- $ fieldDescriptorExpr syntaxType env f- ]---- | Get the name of the field when used in a text format proto. Groups are--- special because their text format field name is the name of their type,--- not the name of the field in the descriptor (e.g. "Foo", not "foo").-textFormatFieldName :: Env QName -> FieldDescriptorProto -> T.Text-textFormatFieldName env descr = case descr ^. type' of- FieldDescriptorProto'TYPE_GROUP- | Message msg <- definedFieldType descr env- -> messageDescriptor msg ^. name- | otherwise -> error $ "expected TYPE_GROUP for type name"- ++ T.unpack (descr ^. typeName)- _ -> descr ^. name--fieldDescriptorExpr :: SyntaxType -> Env QName -> FieldInfo- -> Exp-fieldDescriptorExpr syntaxType env f- = "Data.ProtoLens.FieldDescriptor"- -- Record the .proto field name as used in text format- @@ Lit (Syntax.String $ T.unpack $ textFormatFieldName env fd)- -- Force the type signature since it can't be inferred for Map entry- -- types.- @@ ExpTypeSig noLoc (fieldTypeDescriptorExpr (fd ^. type'))- ("Data.ProtoLens.FieldTypeDescriptor"- @@ hsFieldType env fd)- @@ fieldAccessorExpr syntaxType env f- where- fd = fieldDescriptor f--fieldAccessorExpr :: SyntaxType -> Env QName -> FieldInfo -> Exp--- (PlainField Required foo), (OptionalField foo), etc...-fieldAccessorExpr syntaxType env f = accessorCon @@ Var (UnQual hsFieldName)- where- fd = fieldDescriptor f- accessorCon = case fd ^. label of- FieldDescriptorProto'LABEL_REQUIRED- -> "Data.ProtoLens.PlainField" @@ "Data.ProtoLens.Required"- FieldDescriptorProto'LABEL_OPTIONAL- | isDefaultingOptional syntaxType fd- -> "Data.ProtoLens.PlainField" @@ "Data.ProtoLens.Optional"- | otherwise -> "Data.ProtoLens.OptionalField"- FieldDescriptorProto'LABEL_REPEATED- | Just (k, v) <- getMapFields env fd- -> "Data.ProtoLens.MapField"- @@ fromString (overloadedField k)- @@ fromString (overloadedField v)- | otherwise -> "Data.ProtoLens.RepeatedField"- @@ if isPackedField syntaxType fd- then "Data.ProtoLens.Packed"- else "Data.ProtoLens.Unpacked"- hsFieldName- = Ident $ case fd ^. label of- FieldDescriptorProto'LABEL_OPTIONAL- | not (isDefaultingOptional syntaxType fd)- -> "maybe'" ++ overloadedField f- _ -> overloadedField f--isDefaultingOptional :: SyntaxType -> FieldDescriptorProto -> Bool-isDefaultingOptional syntaxType f- = f ^. label == FieldDescriptorProto'LABEL_OPTIONAL- && syntaxType == Proto3- && f ^. type' /= FieldDescriptorProto'TYPE_MESSAGE- -- For now, we treat oneof's like proto2 optional fields.- && isNothing (f ^. maybe'oneofIndex)--isPackedField :: SyntaxType -> FieldDescriptorProto -> Bool-isPackedField s f = case f ^. options . maybe'packed of- Just t -> t- -- proto3 fields are packed by default. Annoyingly, we need to- -- implement this logic manually rather than relying on protoc.- Nothing -> s == Proto3- && f ^. type' `notElem`- [ FieldDescriptorProto'TYPE_MESSAGE- , FieldDescriptorProto'TYPE_GROUP- , FieldDescriptorProto'TYPE_STRING- , FieldDescriptorProto'TYPE_BYTES- ]--fieldTypeDescriptorExpr :: FieldDescriptorProto'Type -> Exp-fieldTypeDescriptorExpr =- (\n -> fromString $ "Data.ProtoLens." ++ n ++ "Field") . \t -> case t of- FieldDescriptorProto'TYPE_DOUBLE -> "Double"- FieldDescriptorProto'TYPE_FLOAT -> "Float"- FieldDescriptorProto'TYPE_INT64 -> "Int64"- FieldDescriptorProto'TYPE_UINT64 -> "UInt64"- FieldDescriptorProto'TYPE_INT32 -> "Int32"- FieldDescriptorProto'TYPE_FIXED64 -> "Fixed64"- FieldDescriptorProto'TYPE_FIXED32 -> "Fixed32"- FieldDescriptorProto'TYPE_BOOL -> "Bool"- FieldDescriptorProto'TYPE_STRING -> "String"- FieldDescriptorProto'TYPE_GROUP -> "Group"- FieldDescriptorProto'TYPE_MESSAGE -> "Message"- FieldDescriptorProto'TYPE_BYTES -> "Bytes"- FieldDescriptorProto'TYPE_UINT32 -> "UInt32"- FieldDescriptorProto'TYPE_ENUM -> "Enum"- FieldDescriptorProto'TYPE_SFIXED32 -> "SFixed32"- FieldDescriptorProto'TYPE_SFIXED64 -> "SFixed64"- FieldDescriptorProto'TYPE_SINT32 -> "SInt32"- FieldDescriptorProto'TYPE_SINT64 -> "SInt64"
+ src/Data/ProtoLens/Compiler/ModuleName.hs view
@@ -0,0 +1,23 @@+module Data.ProtoLens.Compiler.ModuleName+ ( protoModuleName ) where++import Data.Char (toUpper)+import Data.List (intercalate)+import System.FilePath++-- | Get the Haskell module name corresponding to a given .proto file.+protoModuleName :: FilePath -> String+protoModuleName path = fixModuleName rawModuleName+ where+ fixModuleName "" = ""+ -- Characters allowed in Bazel filenames but not in module names:+ fixModuleName ('.':c:cs) = '.' : toUpper c : fixModuleName cs+ fixModuleName ('_':c:cs) = toUpper c : fixModuleName cs+ fixModuleName ('-':c:cs) = toUpper c : fixModuleName cs+ fixModuleName (c:cs) = c : fixModuleName cs+ rawModuleName = intercalate "."+ . (prefix :)+ . splitDirectories $ dropExtension path++prefix :: String+prefix = "Proto"
− src/Data/ProtoLens/Compiler/Plugin.hs
@@ -1,125 +0,0 @@--- Copyright 2016 Google Inc. All Rights Reserved.------ Use of this source code is governed by a BSD-style--- license that can be found in the LICENSE file or at--- https://developers.google.com/open-source/licenses/bsd------ Code for writing protocol compiler plugins.--{-# LANGUAGE OverloadedStrings #-}-module Data.ProtoLens.Compiler.Plugin- ( ProtoFileName- , ProtoFile(..)- , analyzeProtoFiles- , collectEnvFromDeps- , outputFilePath- , moduleName- , moduleNameStr- ) where--import Data.Char (toUpper)-import Data.List (foldl', intercalate)-import qualified Data.Map.Strict as Map-import Data.Map.Strict (Map, unions, (!))-import Data.Monoid ((<>))-import qualified Data.Text as T-import Data.Text (Text)-import Language.Haskell.Exts.Syntax (ModuleName(..), Name(..), QName(..))-import Lens.Family2-import Proto.Google.Protobuf.Descriptor- (FileDescriptorProto, name, dependency, publicDependency)-import System.FilePath (dropExtension, splitDirectories)---import Data.ProtoLens.Compiler.Definitions---- | The filename of an input .proto file.-type ProtoFileName = Text--data ProtoFile = ProtoFile- { descriptor :: FileDescriptorProto- , haskellModule :: ModuleName- , definitions :: Env Name- -- | The names of proto files exported (transitively, via "import public"- -- decl) by this file.- , exports :: [ProtoFileName]- , exportedEnv :: Env QName- }---- Given a list of FileDescriptorProtos, collect information about each file--- into a map of 'ProtoFile's keyed by 'ProtoFileName'.-analyzeProtoFiles :: Text -> [FileDescriptorProto] -> Map ProtoFileName ProtoFile-analyzeProtoFiles modulePrefix files =- Map.fromList [ (f ^. name, ingestFile f) | f <- files ]- where- filesByName = Map.fromList [(f ^. name, f) | f <- files]- moduleNames = fmap (moduleName modulePrefix) filesByName- -- The definitions in each input proto file, indexed by filename.- definitionsByName = fmap collectDefinitions filesByName- -- The exports from each .proto file (including any "public import"- -- dependencies), as they appear to other modules that are importing them;- -- i.e., qualified by module name.- exportsByName = transitiveExports files- localExports = Map.intersectionWith qualifyEnv moduleNames definitionsByName- exportedEnvs = fmap (\es -> unions [localExports ! e | e <- es]) exportsByName-- ingestFile f = ProtoFile- { descriptor = f- , haskellModule = moduleNames ! n- , definitions = definitionsByName ! n- , exports = exportsByName ! n- , exportedEnv = exportedEnvs ! n- }- where- n = f ^. name--collectEnvFromDeps :: [ProtoFileName] -> Map ProtoFileName ProtoFile -> Env QName-collectEnvFromDeps deps filesByName =- unions $ fmap (exportedEnv . (filesByName !)) deps---- | Get the output file path (for CodeGeneratorResponse.File) for a Haskell--- ModuleName.-outputFilePath :: String -> Text-outputFilePath n = T.replace "." "/" (T.pack n) <> ".hs"---- | Get the Haskell 'ModuleName' corresponding to a given .proto file.-moduleName :: Text -> FileDescriptorProto -> ModuleName-moduleName modulePrefix fd = ModuleName (moduleNameStr modulePrefix fd)---- | Get the Haskell module name corresponding to a given .proto file.-moduleNameStr :: Text -> FileDescriptorProto -> String-moduleNameStr prefix fd = fixModuleName rawModuleName- where- path = fd ^. name- fixModuleName "" = ""- -- Characters allowed in Bazel filenames but not in module names:- fixModuleName ('.':c:cs) = '.' : toUpper c : fixModuleName cs- fixModuleName ('_':c:cs) = toUpper c : fixModuleName cs- fixModuleName ('-':c:cs) = toUpper c : fixModuleName cs- fixModuleName (c:cs) = c : fixModuleName cs- rawModuleName = intercalate "." $ (T.unpack prefix :)- $ splitDirectories $ dropExtension- $ T.unpack path---- | Given a list of .proto files (topologically sorted), determine which--- files' definitions are exported by which files.------ Files only export their own definitions, along with the definitions exported--- by any "import public" declarations.-transitiveExports :: [FileDescriptorProto] -> Map ProtoFileName [ProtoFileName]--- Accumulate the transitive dependencies by folding over the files in--- topological order.-transitiveExports = foldl' setExportsFromFile Map.empty- where- setExportsFromFile :: Map ProtoFileName [ProtoFileName]- -> FileDescriptorProto- -> Map ProtoFileName [ProtoFileName]- setExportsFromFile prevExports fd- = flip (Map.insert n) prevExports $- n : concat [ prevExports ! ((fd ^. dependency) !! fromIntegral i)- -- Note that publicDependency is a list of indices into- -- the dependency list.- | i <- fd ^. publicDependency- ]- where n = fd ^. name-
− src/Data/ProtoLens/Setup.hs
@@ -1,195 +0,0 @@--- Copyright 2016 Google Inc. All Rights Reserved.------ Use of this source code is governed by a BSD-style--- license that can be found in the LICENSE file or at--- https://developers.google.com/open-source/licenses/bsd---- | Helper functions to generate proto files as part of a @Setup.hs@ script.------ These functions assume that the @proto-lens-protoc@ executable is on the--- PATH, and throw an exception otherwise. That executable will be installed--- automatically as part of installing this package; in particular, it should--- be enough to just list `proto-lens-protoc` in a user package's--- `build-dependencies`.------ See @README.md@ for instructions on how to use proto-lens with Cabal.-{-# LANGUAGE CPP #-}-module Data.ProtoLens.Setup- ( defaultMainGeneratingProtos- , defaultMainGeneratingSpecificProtos- , generatingProtos- , generatingSpecificProtos- , generateProtos- ) where--#if __GLASGOW_HASKELL__ < 709-import Data.Functor ((<$>))-#endif--import Distribution.PackageDescription- ( PackageDescription(..)- , benchmarkBuildInfo- , buildInfo- , extraSrcFiles- , hsSourceDirs- , libBuildInfo- , testBuildInfo- )-import Distribution.Simple.BuildPaths (autogenModulesDir)-import Distribution.Simple.LocalBuildInfo (LocalBuildInfo)-import Distribution.Simple.Utils (matchFileGlob)-import Distribution.Simple- ( defaultMainWithHooks- , simpleUserHooks- , UserHooks(..)- )-import System.FilePath- ( (</>)- , equalFilePath- , isRelative- , makeRelative- , takeExtension- )-import System.Directory (createDirectoryIfMissing, findExecutable)-import System.Process (callProcess)---- | This behaves the same as 'Distribution.Simple.defaultMain', but--- auto-generates Haskell files from the .proto files listed in--- the @.cabal@ file under @extra-source-files@ which are located under the--- given root directory.------ Writes the generated files to the autogen directory (@dist\/build\/autogen@--- for Cabal, and @.stack-work\/dist\/...\/build\/autogen@ for stack).------ Throws an exception if the @proto-lens-protoc@ executable is not on the PATH.-defaultMainGeneratingProtos- :: FilePath -- ^ The root directory under which .proto files can be found.- -> IO ()-defaultMainGeneratingProtos root- = defaultMainWithHooks $ generatingProtos root simpleUserHooks---- | This behaves the same as 'Distribution.Simple.defaultMain', but--- auto-generates Haskell files from the .proto files listed. The given .proto--- files should be under the given root directory.------ Writes the generated files to the autogen directory (@dist\/build\/autogen@--- for Cabal, and @.stack-work\/dist\/...\/build\/autogen@ for stack).------ Throws an exception if the @proto-lens-protoc@ executable is not on the PATH.-defaultMainGeneratingSpecificProtos- :: FilePath -- ^ The root directory under which .proto files can be found.- -> (PackageDescription -> IO [FilePath])- -- ^ A function to return a list of .proto files. Takes the Cabal package- -- description as input. Non-absolute paths are treated as relative to the- -- provided root directory.- -> IO ()-defaultMainGeneratingSpecificProtos root getProtos- = defaultMainWithHooks- $ generatingSpecificProtos root getProtos simpleUserHooks---- | Augment the given 'UserHooks' to auto-generate Haskell files from the--- .proto files listed in the @.cabal@ file under @extra-source-files@ which--- are located under the given root directory.------ Writes the generated files to the autogen directory (@dist\/build\/autogen@--- for Cabal, and @.stack-work\/dist\/...\/build\/autogen@ for stack).------ Throws an exception if the @proto-lens-protoc@ executable is not on the PATH.-generatingProtos- :: FilePath -- ^ The root directory under which .proto files can be found.- -> UserHooks -> UserHooks-generatingProtos root = generatingSpecificProtos root getProtos- where- getProtos p = do- -- Replicate Cabal's own logic for parsing file globs.- files <- concat <$> mapM matchFileGlob (extraSrcFiles p)- pure $ map (makeRelative root)- $ filter (isSubdirectoryOf root)- $ filter (\f -> takeExtension f == ".proto")- files---- | Augment the given 'UserHooks' to auto-generate Haskell files from the--- .proto files returned by a function @getProtos@.------ Writes the generated files to the autogen directory (@dist\/build\/autogen@--- for Cabal, and @.stack-work\/dist\/...\/build\/autogen@ for stack).------ Throws an exception if the @proto-lens-protoc@ executable is not on the PATH.-generatingSpecificProtos- :: FilePath -- ^ The root directory under which .proto files can be found.- -> (PackageDescription -> IO [FilePath])- -- ^ A function to return a list of .proto files. Takes the Cabal package- -- description as input. Non-absolute paths are treated as relative to the- -- provided root directory.- -> UserHooks -> UserHooks-generatingSpecificProtos root getProtos hooks = hooks- { buildHook = \p l h f -> generateSources p l >> buildHook hooks p l h f- , haddockHook = \p l h f -> generateSources p l >> haddockHook hooks p l h f- , replHook = \p l h f args -> generateSources p l- >> replHook hooks p l h f args- , sDistHook = \p maybe_l h f -> case maybe_l of- Nothing -> error "Can't run protoc; run 'cabal configure' first."- Just l -> do- generateSources p l- sDistHook hooks (fudgePackageDesc l p) maybe_l h f- }- where- generateSources p l = do- -- Applying 'root </>' does nothing if the path is already absolute.- files <- map (root </>) <$> getProtos p- generateProtos root (autogenModulesDir l) files---- | Add the autogen directory to the hs-source-dirs of all the targets in the--- .cabal file. Used to fool 'sdist' by pointing it to the generated source--- files.-fudgePackageDesc :: LocalBuildInfo -> PackageDescription -> PackageDescription-fudgePackageDesc lbi p = p- { library =- (\lib -> lib { libBuildInfo = fudgeBuildInfo (libBuildInfo lib) })- <$> library p- , executables =- (\exe -> exe { buildInfo = fudgeBuildInfo (buildInfo exe) })- <$> executables p- , testSuites =- (\test -> test { testBuildInfo = fudgeBuildInfo (testBuildInfo test) })- <$> testSuites p- , benchmarks =- (\bench -> bench { benchmarkBuildInfo =- fudgeBuildInfo (benchmarkBuildInfo bench) })- <$> benchmarks p- }- where- fudgeBuildInfo bi =- bi { hsSourceDirs = autogenModulesDir lbi : hsSourceDirs bi }---- | Returns whether the @root@ is a parent folder of @f@.-isSubdirectoryOf :: FilePath -> FilePath -> Bool-isSubdirectoryOf root f- = isRelative f- -- Note: `makeRelative root f` returns `f` when f doesn't live under the- -- root.- && equalFilePath f (root </> makeRelative root f)---- | Run the proto compiler to generate Haskell files from the given .proto files.------ Writes the generated files to the autogen directory (@dist\/build\/autogen@--- for Cabal, and @.stack-work\/dist\/...\/build\/autogen@ for stack).------ Throws an exception if the @proto-lens-protoc@ executable is not on the PATH.-generateProtos- :: FilePath -- ^ The root directory under which .proto files can be found.- -> FilePath -- ^ The output directory for the generated Haskell files.- -> [FilePath] -- ^ The .proto files to process.- -> IO ()-generateProtos root output files = do- maybeProtoLensProtoc <- findExecutable "proto-lens-protoc"- case maybeProtoLensProtoc of- Nothing -> error "Couldn't find executable proto-lens-protoc."- Just protoLensProtoc -> do- createDirectoryIfMissing True output- callProcess "protoc" $- [ "--plugin=protoc-gen-haskell=" ++ protoLensProtoc- , "--haskell_out=" ++ output- , "--proto_path=" ++ root- ]- ++ files
− src/protoc-gen-haskell.hs
@@ -1,96 +0,0 @@--- Copyright 2016 Google Inc. All Rights Reserved.------ Use of this source code is governed by a BSD-style--- license that can be found in the LICENSE file or at--- https://developers.google.com/open-source/licenses/bsd--{-# LANGUAGE OverloadedStrings #-}-module Main where--import qualified Data.ByteString as B-import Data.Char (toUpper)-import Data.List (foldl', intercalate)-import qualified Data.Map.Strict as Map-import Data.Map.Strict (Map, unions, (!))-import Data.Monoid ((<>))-import qualified Data.Set as Set-import qualified Data.Text as T-import Data.Text (Text, pack)-import Data.ProtoLens (decodeMessage, def, encodeMessage)-import Language.Haskell.Exts.Pretty (prettyPrint)-import Language.Haskell.Exts.Syntax (ModuleName(..), Name(..), QName(..))-import Lens.Family2-import Proto.Google.Protobuf.Compiler.Plugin- ( CodeGeneratorRequest- , CodeGeneratorResponse- , content- , file- , fileToGenerate- , parameter- , protoFile- )-import Proto.Google.Protobuf.Descriptor- (FileDescriptorProto, name, dependency, publicDependency)-import System.Environment (getProgName)-import System.Exit (exitWith, ExitCode(..))-import System.IO as IO-import System.FilePath (dropExtension, replaceExtension, splitDirectories)-import Text.Read (readEither)--import Data.ProtoLens.Compiler.Definitions-import Data.ProtoLens.Compiler.Generate-import Data.ProtoLens.Compiler.Plugin-import System.Environment (getArgs)--main = do- contents <- B.getContents- progName <- getProgName- args <- getArgs- case decodeMessage contents of- Left e -> IO.hPutStrLn stderr e >> exitWith (ExitFailure 1)- Right x -> B.putStr $ encodeMessage $ makeResponse progName x--makeResponse :: String -> CodeGeneratorRequest -> CodeGeneratorResponse-makeResponse prog request = let- useReexport = case T.unpack $ request ^. parameter of- "" -> reexported- "no-reexports" -> id- p -> error $ "Error reading parameter: " ++ show p- outputFiles = generateFiles useReexport header- (request ^. protoFile)- (request ^. fileToGenerate)- header :: FileDescriptorProto -> Text- header f = "{- This file was auto-generated from "- <> (f ^. name)- <> " by the " <> pack prog <> " program. -}\n"- in def & file .~ [ def & name .~ outputName- & content .~ outputContent- | (outputName, outputContent) <- outputFiles- ]---generateFiles :: ModifyImports -> (FileDescriptorProto -> Text)- -> [FileDescriptorProto] -> [ProtoFileName] -> [(Text, Text)]-generateFiles modifyImports header files toGenerate = let- modulePrefix = "Proto"- filesByName = analyzeProtoFiles modulePrefix files- -- The contents of the generated Haskell file for a given .proto file.- buildFile file = let- deps = descriptor file ^. dependency- imports = Set.toAscList $ Set.fromList- [ haskellModule (filesByName ! exportName)- | dep <- deps- , exportName <- exports (filesByName ! dep)- ]- in generateModule (haskellModule file) imports- (fileSyntaxType (descriptor file))- modifyImports- (definitions file)- (collectEnvFromDeps deps filesByName)- in [ ( outputFilePath . (\(ModuleName n) -> n) . haskellModule $ file- , header (descriptor file) <> pack (prettyPrint $ buildFile file)- )- | fileName <- toGenerate- , let file = filesByName ! fileName- ]-