!2m      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234567 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [\]^_` a bc d e f g h i j k l m nopq r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c defghijklmnopqrstuvwxyz{|}~                  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklSafe,   Safe=?.  flatbuffersMaps a value of type a1 into a string that can be displayed to the user.  None%456;M/\t !"#$%&'()*+-,.<;:9876543210/=>@?ABEDCFGIHJKONMLPQTSRUVYXWZ[_^]\`adcbefghijknmloqprstuvwxyz{|}~t~{|}xyzuvwrstoqpknmlhijefg`adcbZ[_^]\UVYXWPQTSRJKONMLFGIHABEDC=>@?.<;:9876543210/*+-,()&'$%!"# Safe32NonekH flatbuffersRoughly based on:  =https://google.github.io/flatbuffers/flatbuffers_grammar.html9. Differences between this parser and the above grammar:#Unions members now support aliases.=An enum's underlying type used to be optional (defaulting to short), but now it's mandatory.SAttributes can be reffered to either as an identifier or as a string literal (e.g. attr or "attr").(Struct fields can't have default values.The grammar states that table2struct field defaults can only be scalars (integerefloating point constants), when in reality, it could be also be a boolean or an enum identifier.The grammar says attribute values can be integers, floats or string literals. Flatc only allows integers and string literals. To make things simpler, we decided to go with flatc's approach and disallow floats.bThe grammar says namespaces must include at least one fragment, but an empty namespace (i.e.  namespace ;) is perfectly valid.This supports native_include statements (see: ehttps://google.github.io/flatbuffers/flatbuffers_guide_use_cpp.html#flatbuffers_cpp_object_based_api) flatbuffersDspace consumer - this consumes and ignores any whitespace + comments flatbuffersSee: dhttps://google.github.io/flatbuffers/flatbuffers_guide_use_cpp.html#flatbuffers_cpp_object_based_api)      !)      !None>L" flatbuffers`Filepath of the root schema. It must be a path relative to the project root or an absolute path. flatbuffersDirectories to search for includes."#"#Safe\z$ flatbuffersOAssociates a type with a file identifier. To create an association, declare a  root_type and file_identifier in your schema. 9table Player {} root_type Player; file_identifier "PLYR";& flatbuffersSAn identifier that's used to "mark" a buffer. To add this marker to a buffer, use I. To check whether a buffer contains the marker before decoding it, use ./For more information on file identifiers, see :The ?https://github.com/dcastro/haskell-flatbuffers#file-identifierslibrary's docs3Section "File identification and extension" of the Jhttps://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html official docs( flatbuffers.Encodes the input text as UTF-8 and returns a Just FileIdentifier' if it has exactly 4 bytes, otherwise m.) flatbuffers Returns a Just FileIdentifier if the input n! has exactly 4 bytes, otherwise m.* flatbuffersConstructs a new & without checking its length.+ flatbuffersConstructs a new & without checking its length.$%&'()*+$%&'()*+ None;Md. flatbuffersLThe memory alignment (in bytes) for a piece of data in a flatbuffer. E.g., ` are always aligned to 4 bytes. This number should always be a power of 2 in the range [1, 16].1 flatbuffersFThe number of bytes occupied by a piece of data that's stored "inline""inline" here means "stored directly in a table or a vector, and not by reference". E.g.: numeric types, booleans, structs, offsets.4 flatbuffersMetadata for a struct type. ./0123465 465123./0 None"#%/;HMVX_kI flatbuffers.A vector that is being read from a flatbuffer.J flatbuffersReturns the size of the vector.O(1).K flatbuffersHReturns the item at the given index without performing the bounds check.Given an invalid index,  unsafeIndex+ will likely read garbage data or return a n. In the case of  Vector Word83, using a negative index carries the same risks as o7 (i.e. reading from outside the buffer's boundaries).O(c), where c+ is the number of chunks in the underlying p.L flatbuffersConverts the vector to a list.O(n).M flatbuffers take n xs returns the prefix of xs of length n, or xs itself if  n > length xs.O(1).N flatbuffers drop n xs returns the suffix of xs after the first n elements, or [] if  n > length xs.O(c), where c+ is the number of chunks in the underlying p.O flatbuffers)Proof that a number is strictly positive.U flatbuffersCurrent position in the bufferW flatbuffersPointer to the buffer rootX flatbuffersPointer to current positionY flatbuffers1Number of bytes between current position and root[ flatbuffers-A union that is being read from a flatbuffer._ flatbuffers.A struct that is being read from a flatbuffer.b flatbuffers-A table that is being read from a flatbuffer.q flatbuffersVA byte-vector, where each byte represents the type of each "union value" in the vectorr flatbuffers,A table vector, with the actual union valuess flatbuffers1A function to read a union value from this vectoro flatbuffers&Deserializes a flatbuffer from a lazy p.p flatbuffersAChecks if a buffer contains the file identifier for a root table a), to see if it's safe to decode it to a b). It should be used in conjunction with -XTypeApplications. y{-# LANGUAGE TypeApplications #-} if checkFileIdentifier @Monster bs then decode @Monster bs else return someMonsterv flatbuffersclamp n upperBound# truncates a value to stay between 0 and  upperBound.w flatbuffersVReturns the item at the given index. If the given index is negative or too large, an t is thrown.O(c), where c+ is the number of chunks in the underlying p.x flatbuffersConvert the vector to a lazy p.O(c), where c+ is the number of chunks in the underlying p. flatbuffers9Follow a pointer to the position of a string and read it. flatbuffers/Read a string from the current buffer position. flatbuffers8Follow a pointer to the position of a table and read it. flatbuffers.Read a table from the current buffer position. flatbuffersSafer version of 6 that doesn't throw when index is too large. Assumes i > 0.dHKNMJLIIuvwxyz{|}~srqOPQRSTUVYXWZ[^]\_`abcedfghijklmnopqrstuvwxyz{|}~Qnklmhijfgbced_`a[^]\ZUVYXWRSTopqOPQrstuvHKNMJLIwxyz{|}~ None;M flatbuffers!This table is not the root table. flatbuffersBThis table is the root table, and has an optional file identifier.  flatbuffers)How many zeros to write after this field.  flatbuffers+This field's offset from the struct's root.w !"#*+,-{|}      !"#$&%w!"#{|}*+,- !"#$&%       None%UVWXYZ[\]^_`abcUVWXYZ[\]^_`abcNone ,;>MX_knh flatbuffers#Cache of already validated structs.When we're validating a struct A!, it may contain an inner struct B which also needs validating. B4 needs to be fully validated before we can consider A valid.If we've validated B\ in a previous iteration, we will find it in this Map and therefore avoid re-validating it. flatbuffersStart validating an item a flatbuffersVClear validation context, i.e. forget which item is currently being validated, if any. flatbuffers2Get the path to the item currently being validated flatbuffers@Get a list of all the attributes declared in every loaded schema flatbuffersFail validation with a message flatbuffersVThe thing being validated (e.g. a fully-qualified struct name, or a table field name). flatbuffersIAll the attributes declared in all the schemas (including imported ones). flatbuffers_Takes a collection of schemas, and pairs each type declaration with its corresponding namespace flatbuffers/Fails if the key is already present in the map. flatbuffers+Finds the root table (if any) and sets the ' flag accordingly. We only care about  root_typeG declarations in the root schema. Imported schemas are not scanned for  root_typeTs. The root type declaration can point to a table in any schema (root or imported). flatbuffers9Looks for a type reference in a set of type declarations. flatbufferssReturns a list of all the namespaces "between" the current namespace and the root namespace, in that order. See: Hhttps://github.com/google/flatbuffers/issues/5234#issuecomment-471680403 5parentNamespaces "A.B.C" == ["A.B.C", "A.B", "A", ""] flatbuffersMThe size of an enum is either 1, 2, 4 or 8 bytes, so its size fits in a Word8Sdegfhijkomlnpqtsruvwxyz{~}|Sz{~}|yxwvupqtsrkomlnijhdegfNone /;>FHMVX_k flatbuffers'A vector to be written to a flatbuffer. flatbuffers Constructs a flatbuffers vector.If n is larger than the length of xs., this will result in a malformed buffer. If n is smaller than the length of xs, all elements of xsZ will still be written to the buffer, but the client will only be able to read the first n elements.Note: Q asks for the collection's length to be passed in as an argument rather than use  because: n is often O(n), and in some use cases there may be a better way to know the collection's length ahead of time.Calling  inside < can inhibit some fusions which would otherwise be possible. flatbuffers&A union to be written to a flatbuffer. flatbuffers&A table to be written to a flatbuffer. flatbuffers'A struct to be written to a flatbuffer. flatbuffers^The position of something in a buffer, expressed as the number of bytes counting from the end. flatbuffers(Serializes a flatbuffer table as a lazy p. flatbuffers(Serializes a flatbuffer table as a lazy p and adds a File Identifier. flatbuffers+Writes something (unaligned) to the buffer. flatbuffers.Writes a 32-bit int (unaligned) to the buffer. flatbuffers8Constructs a missing union table field / vector element. flatbuffers$Convenience function, equivalent to: FfromMonoFoldable' xs = fromMonoFoldable (fromIntegral (olength xs)) xs*In some cases it may be slower than using  directly. flatbuffers specialized to list flatbuffers specialized to list flatbuffers2Creates a flatbuffers vector with a single element flatbuffers#Creates an empty flatbuffers vector flatbuffers for types that implement  but not . flatbuffers for types that implement  but not . flatbuffers$Efficiently creates a vector from a n . Large nls are inserted directly, but small ones are copied to ensure that the generated chunks are large on average. flatbuffers)Efficiently creates a vector from a lazy p. Large chunks of the pk are inserted directly, but small ones are copied to ensure that the generated chunks are large on average. flatbuffers>Calculate how much 0-padding is needed so that, after writing additionalBytes!, the buffer becomes aligned to n bytes. flatbuffers;Add enough 0-padding so that the buffer becomes aligned to n after writing additionalBytes. flatbuffersn: the number of elements in xs flatbuffersxs: a collection flatbuffersn  flatbuffersadditionalBytes  flatbuffersn  flatbuffersadditionalBytes ~      !`      !None 3 flatbuffersSOptions to control how/which flatbuffers constructors/accessor should be generated.*Options can be set using record syntax on 8 with the fields below. +defaultOptions { compileAllSchemas = True }5 flatbuffersDirectories to search for includes (same as flatc -I option).6 flatbufferseGenerate code not just for the root schema, but for all schemas it includes as well (same as flatc  --gen-all option).7 flatbuffers)Helper method to create function types. -ConT ''Int ~> ConT ''String === Int -> String8 flatbuffersDefault flatbuffers options: EOptions { includeDirectories = [] , compileAllSchemas = False }9 flatbuffersGenerates constructors and accessors for all data types declared in the given flatbuffers schema whose namespace matches the current module. &namespace Data.Game; table Monster {} {-# LANGUAGE TemplateHaskell #-} module Data.Game where import FlatBuffers $(mkFlatBuffers "schemas/game.fbs" defaultOptions): flatbuffersThis does two things: ghcid stops parsing an error when it finds a line that start with alphabetical characters or an empty lines, so we prepend each line with an empty space to avoid this.mwe also remove any trailing n, otherwise ghcid would stop parsing here and not show the source code location.? flatbuffers/Generates a list with all the enum values, e.g. 0allColors = [colorsRed, colorsGreen, colorsBlue]@ flatbuffers Generates  colorsNames.A flatbuffers0Generated declarations for a non-bit-flags enum.E flatbuffers Generates  colorsName.h flatbuffersHApplies a function to multiple arguments. Assumes the list is not empty.83465789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij87346589:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij71None!$%&./0123456[\]^_bnop345689!983456op&$%_b[\]^123./0456n NoneHILJMNKwxHILJMNKwxSafe !"#$%&'()*+,-./01234567899:;;<<==>>?@ABCDEFGHIJKLMNOPPQRSSTUVWWXYZZ[\]^__`abccdefgghijkllmnoppqrrstuvwxyz{{|}}~      !"#$%&'()*+,-./0 1 1 2 3 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P P Q R S T U U V W X Y Z Z [ \ ] ] ^ _ _ ` a b b c c d e e f g h  i j k l m n  o p q r s t u v w x y z { | } ~                                                     P P Q  S S T V                   B C D E F G H I J K L M     O g g  h i  l l m  o       t t               _ _ `   a c c d   f          W W X  Z Z [ \  ^                                     !"#$%&&'()*+,-./011234456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkklmnnoopqrrstuuvwxyzz{{|}~Y`      L                  ! "#$%&'#$()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN*flatbuffers-0.2.0.0-BlFq4tZLZ0xEHGoobR9WpBFlatBuffers.Internal.Build%FlatBuffers.Internal.Compiler.Display(FlatBuffers.Internal.Compiler.SyntaxTreeFlatBuffers.Internal.Constants$FlatBuffers.Internal.Compiler.Parser&FlatBuffers.Internal.Compiler.ParserIO#FlatBuffers.Internal.FileIdentifier FlatBuffersFlatBuffers.Internal.TypesFlatBuffers.VectorFlatBuffers.Internal.Read-FlatBuffers.Internal.Compiler.ValidSyntaxTree/FlatBuffers.Internal.Compiler.NamingConventions.FlatBuffers.Internal.Compiler.SemanticAnalysisFlatBuffers.Internal.Write FlatBuffers.Internal.Compiler.THencodeWithFileIdentifiercheckFileIdentifierData.IntInt32Data.ByteString.LazyindexPaths_flatbuffers buildWord8 buildWord16 buildWord32 buildWord64 buildInt8 buildInt16 buildInt32 buildInt64 buildFloat buildDouble buildBool buildPadding boolToWord8Displaydisplay$fDisplayWord64$fDisplayWord32$fDisplayWord16$fDisplayWord8$fDisplayInt64$fDisplayInt32$fDisplayInt16 $fDisplayInt8$fDisplayInteger $fDisplayInt $fDisplay[]$fDisplayNonEmpty $fDisplayText $fDisplay[]0 HasMetadata getMetadataHasIdentgetIdent Namespace unNamespace AttributeDeclFileIdentifierDeclRootDeclTypeReftypeRefNamespace typeRefIdentTypeTInt8TInt16TInt32TInt64TWord8TWord16TWord32TWord64TFloatTDoubleTBoolTStringTRefTVectorUnionVal unionValIdentunionValTypeRef UnionDecl unionIdent unionMetadata unionValsEnumVal enumValIdentenumValLiteralEnumDecl enumIdentenumType enumMetadataenumVals StructFieldstructFieldIdentstructFieldTypestructFieldMetadata StructDecl structIdentstructMetadata structFields TableFieldtableFieldIdenttableFieldTypetableFieldDefaulttableFieldMetadata TableDecl tableIdent tableMetadata tableFields NamespaceDeclunNamespaceDeclMetadata unMetadata DefaultVal DefaultNum DefaultBool DefaultRef AttributeValAttrIAttrS IntLiteral unIntLiteral StringLiteralunStringLiteralInclude unIncludeIdentunIdentDeclDeclNDeclTDeclSDeclEDeclUDeclRDeclFIDeclASchemaincludesdeclsFileTreefileTreeFilePath fileTreeRootfileTreeForestqualify$fDisplayIdent$fIsStringNamespace$fShowNamespace$fDisplayNamespace$fDisplayTypeRef$fHasIdentUnionDecl$fHasIdentTableField$fHasIdentTableDecl$fHasIdentStructField$fHasIdentStructDecl$fHasIdentEnumVal$fHasIdentEnumDecl$fHasIdentIdent$fHasMetadataUnionDecl$fHasMetadataTableField$fHasMetadataTableDecl$fHasMetadataStructField$fHasMetadataStructDecl$fHasMetadataEnumDecl$fShowFileTree $fEqFileTree$fFoldableFileTree$fFunctorFileTree$fTraversableFileTree $fShowIdent $fEqIdent$fIsStringIdent $fOrdIdent$fSemigroupIdent$fShowStringLiteral$fEqStringLiteral$fIsStringStringLiteral $fShowInclude $fEqInclude$fIsStringInclude$fShowIntLiteral$fEqIntLiteral$fNumIntLiteral$fEnumIntLiteral$fOrdIntLiteral$fRealIntLiteral$fIntegralIntLiteral$fShowAttributeVal$fEqAttributeVal$fShowDefaultVal$fEqDefaultVal$fShowMetadata $fEqMetadata $fShowEnumVal $fEqEnumVal$fShowFileIdentifierDecl$fEqFileIdentifierDecl$fIsStringFileIdentifierDecl$fShowAttributeDecl$fEqAttributeDecl$fIsStringAttributeDecl$fOrdAttributeDecl $fEqNamespace$fOrdNamespace$fSemigroupNamespace $fShowTypeRef $fEqTypeRef$fShowRootDecl $fEqRootDecl $fShowType$fEqType$fShowEnumDecl $fEqEnumDecl$fShowStructField$fEqStructField$fShowStructDecl$fEqStructDecl$fShowTableField$fEqTableField$fShowTableDecl $fEqTableDecl$fShowUnionVal $fEqUnionVal$fShowUnionDecl $fEqUnionDecl$fShowNamespaceDecl$fEqNamespaceDecl$fIsStringNamespaceDecl $fShowDecl$fEqDecl $fShowSchema $fEqSchema voffsetSize uoffsetSize soffsetSizefileIdentifierSize textRefSize tableRefSize word8Size word16Size word32Size word64Sizeint8Size int16Size int32Size int64SizeboolSize floatSize doubleSizeParserschemadeclsclexemesymbolrwordcurlysquareparenscommaSep commaSep1semicolonidenttyptypeRef tableField structField tableDecl structDeclenumDeclenumVal unionDeclunionVal namespaceDecl stringLiteral intLiteral attributeVal defaultValmetadatainclude nativeIncluderootDeclfileExtensionDeclfileIdentifierDecl attributeDecl attributeNamejsonObjrpcDecl rpcMethod parseSchemasparseImportedSchemaHasFileIdentifiergetFileIdentifierFileIdentifierunFileIdentifierfileIdentifierfileIdentifier'unsafeFileIdentifierunsafeFileIdentifier'$fEqFileIdentifier$fShowFileIdentifier Alignment unAlignment InlineSize unInlineSizeIsStructstructAlignmentOf structSizeOf$fShowInlineSize$fEqInlineSize$fNumInlineSize$fEnumInlineSize$fOrdInlineSize$fRealInlineSize$fIntegralInlineSize$fBoundedInlineSize$fShowAlignment $fEqAlignment$fNumAlignment$fEnumAlignment$fOrdAlignment$fRealAlignment$fIntegralAlignment$fBoundedAlignment$fDisplayAlignment VectorElementVectorlength unsafeIndextoListtakedropPositive getPositive HasPosition getPositionmove PositionInfoposRoot posCurrentposOffsetFromRootPositionUnion UnionNone UnionUnknownStruct structPosTablevtabletablePosOffsetFromRootVOffset unVOffset TableIndex unTableIndex ReadErrordecodecheckFileIdentifier'positive moveToElemcheckIndexBoundsinlineVectorToListclamp toByteStringreadStructFieldreadTableFieldOptreadTableFieldReqreadTableFieldWithDefreadTableFieldUnionreadTableFieldUnionVectorOptreadTableFieldUnionVectorReqreadInt8 readInt16 readInt32 readInt64 readWord8 readWord16 readWord32 readWord64 readFloat readDoublereadBool word8ToBoolreadPrimVectorreadTableVectorreadUnionVectorreadText readText' readTable readTable' readStructtableIndexToVOffsetreadUOffsetAndSkiprunGet missingFieldbyteStringSafeIndex$fHasPositionPositionInfo$fHasPositionByteString$fVectorElementUnion$fVectorElementTable$fVectorElementStruct$fVectorElementText$fVectorElementBool$fVectorElementDouble$fVectorElementFloat$fVectorElementInt64$fVectorElementInt32$fVectorElementInt16$fVectorElementInt8$fVectorElementWord64$fVectorElementWord32$fVectorElementWord16$fVectorElementWord8$fShowTableIndex$fNumTableIndex $fShowVOffset $fNumVOffset $fRealVOffset $fOrdVOffset $fEnumVOffset$fIntegralVOffset $fEqVOffset$fShowOffsetFromRoot$fNumOffsetFromRoot$fRealOffsetFromRoot$fOrdOffsetFromRoot$fEnumOffsetFromRoot$fIntegralOffsetFromRoot$fEqOffsetFromRoot $fEqPositive$fShowPositiveunionValTableRefVectorElementTypeVInt8VInt16VInt32VInt64VWord8VWord16VWord32VWord64VFloatVDoubleVBoolVStringVEnumVStructVTableVUnionTableFieldTypeTEnumTStructTTableTUnion tableFieldIdtableFieldDeprecated tableIsRootIsRootNotRootRequiredReqOptStructFieldTypeSInt8SInt16SInt32SInt64SWord8SWord16SWord32SWord64SFloatSDoubleSBoolSEnumSStructstructFieldPaddingstructFieldOffsetstructAlignment structSizeEnumTypeEInt8EInt16EInt32EInt64EWord8EWord16EWord32EWord64 enumValInt enumBitFlags$fHasIdentUnionVal$fShowEnumType $fEqEnumType$fShowStructFieldType$fEqStructFieldType$fNumDefaultVal$fIsStringDefaultVal$fOrdDefaultVal$fEnumDefaultVal$fRealDefaultVal$fIntegralDefaultVal$fFractionalDefaultVal$fBitsDefaultVal $fEqRequired$fShowRequired $fEqIsRoot $fShowIsRoot$fEqVectorElementType$fShowVectorElementType$fEqTableFieldType$fShowTableFieldTypedataTypeConstructorarg dataTypeName namespacegetter toEnumFun fromEnumFunenumUnionMemberenumBitFlagsConstantenumBitFlagsAllFunenumBitFlagsNamesFun enumNameFununionConstructor readUnionFunwithModulePrefixUnpaddedStructFieldunpaddedStructFieldIdentunpaddedStructFieldTypeValidatedStructsTableFieldWithoutIdMatchMatchEMatchSMatchTMatchURootInforootTableNamespace rootTable rootFileIdent ValidDeclsStage4Stage3Stage2Stage1 SymbolTableallEnums allStructs allTables allUnionsMonadValidation validating resetContext getContextgetDeclaredAttributes throwErrorMsgValidationStatevalidationStateCurrentContextvalidationStateAllAttributes Validation runValidationvalidateSchemascreateSymbolTables insertSymbolupdateRootTable getRootInfoknownAttributesidAttrdeprecatedAttr requiredAttrforceAlignAttr bitFlagsAttrotherKnownAttributesfindDeclparentNamespaces validateEnums validateEnumvalidateTables validateTablecheckNoRequiredcheckNoDefault isRequiredvalidateDefaultValAsIntvalidateDefaultValAsScientificvalidateDefaultValAsBoolvalidateDefaultAsEnumscientificToIntegervalidateUnions validateUnionvalidateStructscheckStructCyclesvalidateStructstructFieldAlignment enumAlignmentenumSizestructFieldTypeSizecheckDuplicateIdentifierscheckUndeclaredAttributes hasAttribute findIntAttrfindStringAttr isPowerOfTworoundUpToNearestMultipleOf$fMonadValidationStateT$fMonadValidationValidation$fMonoidSymbolTable$fSemigroupSymbolTable$fFunctorValidation$fApplicativeValidation$fMonadValidation$fEqSymbolTable$fShowSymbolTable$fShowUnpaddedStructField$fEqUnpaddedStructFieldUnionTableInfoutiStateutiTablePositionsVecs TableInfotiStatetiTablePositions OffsetInfooiIndex oiOffsetsTextInfotiText tiUtf8len tiPadding tiPosition TextInfos FromFoldableWriteVectorElement WriteVectorfromMonoFoldable WriteUnionSomeNone WriteTable WriteStruct buildStructWriteTableFieldunWriteTableFieldFBStatebuilder bufferSizemaxAligncache BufferSize c_length_utf8encode encodeStateencodeStateWithFileIdentifierwrite writeInt32writeFileIdentifiermissing deprecatedoptional optionalDefwriteWord8TableFieldwriteWord16TableFieldwriteWord32TableFieldwriteWord64TableFieldwriteInt8TableFieldwriteInt16TableFieldwriteInt32TableFieldwriteInt64TableFieldwriteFloatTableFieldwriteDoubleTableFieldwriteBoolTableFieldwriteTextTableFieldwriteTableTableFieldwriteStructTableFieldwriteStructTableField'writeUnionTypesVectorTableField writeUnionValuesVectorTableFieldwriteUnionTypeTableFieldwriteUnionValueTableFieldnone writeUnion writeTablefromMonoFoldable'fromList fromList' singletonempty fromFoldable fromFoldable'fromByteStringfromLazyByteString inlineVector calcPaddingalignTouoffsetFromHere uoffsetFrom utf8length$fWriteVectorElementWriteStruct$fWriteVectorElementBool$fWriteVectorElementDouble$fWriteVectorElementFloat$fWriteVectorElementInt64$fWriteVectorElementInt32$fWriteVectorElementInt16$fWriteVectorElementInt8$fWriteVectorElementWord64$fWriteVectorElementWord32$fWriteVectorElementWord16$fWriteVectorElementWord8$fMonoFoldableFromFoldable$fWriteVectorElementText$fWriteVectorElementWriteTable$fWriteVectorElementWriteUnion$fFoldableFromFoldableOptionsincludeDirectoriescompileAllSchemas~>defaultOptions mkFlatBuffersfixMsgcompileSymbolTablemkEnummkEnumBitFlagsmkEnumBitFlagsConstantsmkEnumBitFlagsAllVallsmkEnumBitFlagsNames mkEnumNormal mkEnumDataDecmkToEnum mkFromEnum mkEnumNameFunmkStructmkIsStructInstancemkStructConstructormkStructConstructorArgmkStructFieldGettermkTablemkTableFileIdentifiermkTableConstructormkTableContructorArgmkTableFieldGettermkUnionmkUnionDataDecmkUnionConstructorsmkReadUnionFunenumTypeToTypeenumTypeToTableFieldTypeenumTypeToStructFieldTypeenumTypeToVectorElementTypestructFieldTypeToWriteTypestructFieldTypeToReadTypetableFieldTypeToWriteTypetableFieldTypeToReadTypevectorElementTypeToWriteTypevectorElementTypeToReadType typeRefToType requiredTypemkName'newName'intLitPintLitErealLitEtextLitE stringLitE inlinePragmaappcomposenonEmptyUnzip3 $fShowOptions $fEqOptionsbase GHC.MaybeNothingbytestring-0.10.8.2Data.ByteString.Internal ByteStringData.ByteString.UnsafeData.ByteString.Lazy.InternalvectorUnionTypesPosvectorUnionValuesPosvectorUnionReadElemGHC.Errerror VectorWord8 VectorUnion VectorTable VectorStruct VectorText VectorBool VectorDouble VectorFloat VectorInt64 VectorInt32 VectorInt16 VectorInt8 VectorWord64 VectorWord32 VectorWord160mono-traversable-1.0.13.0-FIuC4VLvIjkHdHiG5oJYZUData.MonoTraversableolength Data.FoldableFoldable MonoFoldableWriteVectorUnionWriteVectorTableWriteVectorTextWriteVectorStructWriteVectorBoolWriteVectorDoubleWriteVectorFloatWriteVectorInt64WriteVectorInt32WriteVectorInt16WriteVectorInt8WriteVectorWord64WriteVectorWord32WriteVectorWord16WriteVectorWord8writeVectorTableTableFieldwriteVectorTextTableFieldwriteVectorStructTableFieldwriteVectorBoolTableFieldwriteVectorDoubleTableFieldwriteVectorFloatTableFieldwriteVectorInt64TableFieldwriteVectorInt32TableFieldwriteVectorInt16TableFieldwriteVectorInt8TableFieldwriteVectorWord64TableFieldwriteVectorWord32TableFieldwriteVectorWord16TableFieldwriteVectorWord8TableFieldversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName