*      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                      ! " # $ % & ' ( ) (c) Microsoft MIT adamsap@microsoft.com  provisional  portable Safe"#65PThe top level type representing the Bond schema definition abstract syntax tree. Jhttps://microsoft.github.io/bond/manual/compiler.html#namespace-definition Namespace declaration. Language annotation for namespaces. Note that language-specific namespaces are only supported for backward compatibility and are not recommended.  Ghttps://microsoft.github.io/bond/manual/compiler.html#import-statementsImport declaration.Bond schema declaration Ghttps://microsoft.github.io/bond/manual/compiler.html#struct-definitionstruct definition Ehttps://microsoft.github.io/bond/manual/compiler.html#enum-definitionenum definition Ihttps://microsoft.github.io/bond/manual/compiler.html#forward-declarationforward declaration Bhttps://microsoft.github.io/bond/manual/compiler.html#type-aliasestype alias definition Hhttps://microsoft.github.io/bond/manual/compiler.html#service-definitionservice definitionMethod of a service*Type parameter of a  >https://microsoft.github.io/bond/manual/compiler.html#genericsgeneric  or type .Constraint on a *./*the type parameter allows only value types0Definition of an * constant.4Definition of a  field.< Ghttps://microsoft.github.io/bond/manual/compiler.html#custom-attributes Attribute* for attaching user defined metadata to a  or a 4@Default value of a field.Ename of an enum 0F&explicitly specified default value of nothingGType in the Bond type systemX*type for fields with the default value of nothing_5an integer argument in an instance of a generic type `type parameter of a generic  or  declarationaTuser defined type or an instance of a generic type with the specified type argumentsb2Specifies whether a field is required or optional.c9field is optional and may be omitted during serializationd=field is required, deserialization will fail if it is missingebdeserialization will not fail if the field is missing but it can't be omitted during serializationfRepresents fully qualified namegConverts a MethodType into a Maybe Type to ease the transition from the current definition of Method (which uses MethodType for input/results) and the previous definition which used Maybe Type.This is intended to be used by codegen that doesn't yet support streaming (e.g., C++ and Comm). Once that code has been updated to understand streaming, this function will be removed.*Raises an error if given a Streaming type.h ! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgxf 456789:;@ABCDEFbcde0123GHIJKLMNOPQRSTUVWXYZ[\]^_`a*+,-./&'()g !"#$%"$%<=>?    !"#$%"$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde(c) Microsoft MIT adamsap@microsoft.com  provisional  portable None"#V<+,-./ NoneA  path of the file containing the Ghttps://microsoft.github.io/bond/manual/compiler.html#import-statementsimport statement,(usually relative) path of the imported fileTthe resolver function returns the resolved path of the imported file and its content*0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX12345678:9 NoneR #Specification of namespace mapping.schema namespacenamespace in the generated code&Specification of a type alias mapping.qualified name of a type alias=list of fragments comprising the custom mapping for the alias3Specification of a fragment of type alias mappings.hardcoded string fragment\placeholder for the n-th type argument of the type alias, applicable only to generic aliasesLParse a type alias mapping specification used in command-line arguments of  Jhttps://microsoft.github.io/bond/manual/compiler.html#command-line-optionsgbc.Examples > parseAliasMapping "Example.OrderedSet=SortedSet<{0}>" Right (AliasMapping {aliasName = ["Example","OrderedSet"], aliasTemplate = [Fragment "SortedSet<",Placeholder 0,Fragment ">"]})KParse a namespace mapping specification used in command-line arguments of  Jhttps://microsoft.github.io/bond/manual/compiler.html#command-line-optionsgbc.Examples > parseNamespaceMapping "bond=Microsoft.Bond" Right (NamespaceMapping {fromNamespace = ["bond"], toNamespace = ["Microsoft","Bond"]}) (c) Microsoft MIT adamsap@microsoft.com  provisional  portable Safed /Maps elements of a list and combines them with Y1 using given separator, ending with a separator./Maps elements of a list and combines them with Y3 using given separator, starting with a separator./Maps elements of a list and combines them with Y using given separator.fThe function takes a function and a Maybe value. If the Maybe value is Nothing, the function returns Z:, otherwise, it applies the function to the value inside [ and returns the result.If the 3rd argument is not ZD the function wraps it between the first and second argument using Y, otherwise it return Z."Wraps the string argument between < and >, unless the argument is Z$ in which case the function returns Z."Wraps the string argument between [ and ], unless the argument is Z$ in which case the function returns Z."Wraps the string argument between { and }, unless the argument is Z$ in which case the function returns Z."Wraps the string argument between ( and ), unless the argument is Z$ in which case the function returns Z. (c) Microsoft MIT adamsap@microsoft.com  provisional  portable Safe"#Returns \! if the type represents a scalar.Returns \) if the type represents unsigned integer.Returns \' if the type represents signed integer.Returns \. if the type represents floating point number.Returns \) if the type represents a meta-name type.Returns \! if the type represents a string.Returns \+ if the type represents a list or a vector.Returns \' if the type represents a map or a set.Returns \D if the type represents a container (i.e. list, vector, set or map).Returns \A if the type represents a struct or a struct forward declaration.Returns \ if the type represents an enumReturns \( if the type represents a nullable type.Recursively map a G into another G.ExamplesChange lists into vectors: JlistToVector = fmapType f where f (BT_List x) = BT_Vector x f x = x4Maps all fields, including fields of the base, to a ]%, and combines the results. Returns Z if type is not a struct.Examples(Check if there are any container fields: nanyContainerFields :: Type -> Bool anyContainerFields = getAny . foldMapFields (Any . isContainer . fieldType)Like  but takes a  as an argument instead of G.Maps all parts of a G to a ] and combines the results.Examples For a type: list<nullable<int32>>the result is: O f (BT_List (BT_Nullable BT_Int32)) <> f (BT_Nullable BT_Int32) <> f BT_Int32[ resolves type aliases. E.g. given the following type alias declaration (Bond IDL syntax): using Array<T, N> = vector<T>;"the result for the following type: Array<int32, 10>is: d f (BT_UserDefined Alias{..} [BT_Int32, BT_IntTypeArg 10]) <> f (BT_Vector BT_Int32) <> f BT_Int32Resolves a type alias declaration with given type arguments. Note that the function resolves one level of aliasing and thus may return a type alias.;Fill in values for constants w/o explicitly specified value Safe"#^_`abcde^(c) Microsoft MIT adamsap@microsoft.com  provisional  portable None"#V+Parses content of a schema definition file.)source name, used only for error messages!content of a schema file to parseDpath of the file being parsed, used to resolve relative import paths+function to resolve and load imported filesfunction returns 8 which represents the parsed abstract syntax tree or  ParserError if parsing failed(c) Microsoft MIT adamsap@microsoft.com  provisional  portable None"##A type representing a type mapping.The  encapsulates information about mapping Bond types into types in the target language. A context instance is passed to code generation templates.Returns the namespace for the W. The namespace may be different than specified in the schema definition file due to  #namespace-mappingnamespace mapping.Returns the namespace for a  in the specified .)Builds a qualified name in the specified . Builds the qualified name for a  in the specified .Builds the name of a G in the specified .0Builds the name to be used when instantiating a GJ. The instance type name may be different than the type name returned by " when the latter is an interface.9Builds the name to be used when instantiating an element G.Builds the annotated name of a G. The type annotations are used to express type information about a Bond type that doesn't directly map to the target language type system (e.g. distinction between a nullable and non-nullable string in C# type system).Returns \1 if the alias has a custom mapping in the given .The Bond IDL type name mapping."The default C++ type name mapping./C++ type name mapping using a custom allocator.!The default C# type name mapping.[C# type name mapping using interfaces rather than concrete types to represent collections.#The default Java type name mapping.,Java type mapping that boxes all primitives.DBuilder for nested element types (e.g. list elements) in context of  monad. Used to implement  function of .%Builder for the qualified name for a  in context of  monad. Used to implement  function of .Builder for the name for a  in context of  monad. Used to implement  function of ..Builder for the type alias name in context of  monad. Used to implement  function of .f6Builder for the type alias element name in context of  monad.44 g6h6i6(c) Microsoft MIT adamsap@microsoft.com  provisional  portable None"#Returns an instance of  Dhttps://microsoft.github.io/bond/manual/compiler.html#runtime-schema SchemaDefo for the specified type. The SchemaDef is encoded using the Bond Simple JSON protocol and returned as a lazy j.klmnopqrstuvwxyz{|}~ Safe(c) Microsoft MIT adamsap@microsoft.com  provisional  portable None *Separates elements of a list with a comma.bSeparates elements of a list with new lines. Starts new lines at the specified indentation level.uSeparates elements of a list with comma followed by a new line. Starts new lines at the specified indentation level.zSeparates elements of a list with new lines, ending with a new line. Starts new lines at the specified indentation level.}Separates elements of a list with new lines, beginning with a new line. Starts new lines at the specified indentation level.fSeparates elements of a list with two new lines. Starts new lines at the specified indentation level.Separates elements of a list with two new lines, ending with two new lines. Starts new lines at the specified indentation level. qReturns common header for generated files using specified single-line comment lead character(s) and a file name. Given an intended name and a list of already taken names, returns a unique name. Assumes that it's legal to append digits to the end of the intended name. Given a list of names with duplicates and a list of reserved names, create a list of unique names using the uniqueName function. 2Converts all file path slashes to forward slashes.         None"#None"#BNone"#ǟNone"# None"# Codegen template for generating  base_name\_types.cpp containing definitions of helper functions and schema metadata static variables.None"#̩ Codegen template for generating  base_name6_reflection.h containing schema metadata definitions.None"# Codegen template for generating  base_nameC_grpc.h containing declarations of of service interface and proxy.None"#A Codegen template for generating  base_name[_grpc.cpp containing definitions of helper functions and schema metadata static variables.None"#Ԁ Codegen template for generating  base_name7_enum.h containing definitions of enums. Generated by  5https://microsoft.github.io/bond/manual/compiler.htmlgbc with  --enum-header flag.None"#@9Protocol data type is used to specify what protocols the Apply- function overloads should be generated for.3Name of the class implementing the protocol reader.3Name of the class implementing the protocol writer.None"#( Codegen template for generating  base_name%_apply.h containing declarations of  Khttps://microsoft.github.io/bond/manual/bond_cpp.html#optimizing-build-timeApply1 function overloads for the specified protocols.List of protocols for which Apply overloads should be generated#Optional attribute to decorate the Apply function declarationsNone Codegen template for generating  base_name*_apply.cpp containing definitions of the Apply0 function overloads for the specified protocols.List of protocols for which Apply overloads should be generatedNone"#None"#B 1Options for how constructors should be generated.The original bond behavior. ?Generate a constructor that takes all the fields as parameters.!9Representation of schema fields in the generated C# types" public fields#auto-properties$#auto-properties with private setter%#C# representation of schema structs&public partial class'PCodegen template for generating definitions of C# types representing the schema.')Specifies how to represent schema structs(Specifies how to represent schema fields3Specifies the constructors that should be generated  !"#$%&' !"#$%&None"#z7Contains splicable text for a client method's first parameter. Create one of these with the function csClientRequestParam. Some kinds of methods don't need a first param, so some of the record's fields may be empty. If non-empty, the correct comma and space are included so this text can just be spliced in.rThis data definition would be in the where clause of grpc_cs if data definitions were permitted in where clauses.4Represents a parameter in an abstract server method.rThis data definition would be in the where clause of grpc_cs if data definitions were permitted in where clauses.CGenerates a C# parameter declaration for a server method parameter.(Codegen template for generating code containing declarations of of services including proxies and services files for gRPC integration.(None"#s) Codegen template for generating  base_nameE_type.h containing definitions of C++ types representing the schema.)HOptional attribute to decorate the enum conversion function declarations$list of optional header files to be #include'ed by the generated code\3 to generate enum definitions into a separate file  base_name_enum.h:optional custom allocator to be used in the generated code\( to generate constructors with allocator\ to generate type aliases\@ to use std::scoped_allocator_adaptor for strings and containers) (c) Microsoft MIT adamsap@microsoft.com  provisional  portable None !"#$%&'())!"#$%& '( !""#$%&'())*+,-./0123456789:;<=>?@ABCDEEFGHIJJKLMMNOPQRSTTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~               !"#$%&'()*+,-./0123456789:;<=,>C?@A B C C D E F G H H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d<ef<eg<ehijk<el m n o p q r s tuvwxyz{||}~        $bond-0.11.0.3-JvS2X8a9kuZGKcvKBuEEXiLanguage.Bond.Syntax.TypesLanguage.Bond.Syntax.JSONLanguage.Bond.Parser!Language.Bond.Codegen.TypeMappingLanguage.Bond.UtilLanguage.Bond.Syntax.UtilLanguage.Bond.Syntax.SchemaDefLanguage.Bond.Codegen.UtilLanguage.Bond.Codegen.TemplatesLanguage.Bond.Lexer#Language.Bond.Codegen.CustomMappingLanguage.Bond.Syntax.Internal Paths_bondLanguage.Bond.Codegen.Java.Util$Language.Bond.Codegen.Java.Enum_java%Language.Bond.Codegen.Java.Class_javaLanguage.Bond.Codegen.Cpp.Util#Language.Bond.Codegen.Cpp.Types_cpp&Language.Bond.Codegen.Cpp.Reflection_h Language.Bond.Codegen.Cpp.Grpc_h"Language.Bond.Codegen.Cpp.Grpc_cpp Language.Bond.Codegen.Cpp.Enum_h(Language.Bond.Codegen.Cpp.ApplyOverloads!Language.Bond.Codegen.Cpp.Apply_h#Language.Bond.Codegen.Cpp.Apply_cppLanguage.Bond.Codegen.Cs.Util!Language.Bond.Codegen.Cs.Types_cs Language.Bond.Codegen.Cs.Grpc_cs!Language.Bond.Codegen.Cpp.Types_hBond bondImportsbondNamespacesbondDeclarations Namespace nsLanguagensNameLanguageCppCsJavaImport DeclarationStructEnumForwardAliasServicedeclNamespacesdeclAttributesdeclName declParams structBase structFields enumConstants aliasType serviceBaseserviceMethodsMethodFunctionEventmethodAttributes methodResult methodName methodInput MethodTypeVoidUnary Streaming TypeParam paramNameparamConstraint ConstraintValueConstant constantName constantValueFieldfieldAttributes fieldOrdinal fieldModifier fieldType fieldName fieldDefault AttributeattrName attrValueDefault DefaultBoolDefaultInteger DefaultFloat DefaultString DefaultEnumDefaultNothingTypeBT_Int8BT_Int16BT_Int32BT_Int64BT_UInt8 BT_UInt16 BT_UInt32 BT_UInt64BT_Float BT_DoubleBT_Bool BT_String BT_WString BT_MetaNameBT_MetaFullNameBT_BlobBT_MaybeBT_List BT_Vector BT_NullableBT_SetBT_Map BT_Bonded BT_IntTypeArg BT_TypeParamBT_UserDefinedModifierOptionalRequiredRequiredOptional QualifiedNamemethodTypeToMaybe $fEqModifier$fShowModifier $fEqDefault $fShowDefault $fEqAttribute$fShowAttribute $fEqConstant$fShowConstant$fEqConstraint$fShowConstraint $fEqTypeParam$fShowTypeParam $fEqImport $fShowImport $fEqLanguage$fShowLanguage $fEqNamespace$fShowNamespace$fEqDeclaration$fShowDeclaration $fEqMethod $fShowMethod$fEqMethodType$fShowMethodType$fEqType $fShowType $fEqField $fShowField$fEqBond $fShowBond$fToJSONMethodType $fToJSONBond$fFromJSONBond$fToJSONNamespace$fFromJSONNamespace$fToJSONConstraint$fFromJSONConstraint $fToJSONField$fFromJSONField$fToJSONDefault$fFromJSONDefault $fToJSONType$fFromJSONType$fShowMethodStreamingTag$fFromJSONMethod$fToJSONMethod$fFromJSONMethodStreamingTag$fToJSONMethodStreamingTag$fFromJSONModifier$fToJSONModifier$fFromJSONAttribute$fToJSONAttribute$fFromJSONConstant$fToJSONConstant$fFromJSONTypeParam$fToJSONTypeParam$fFromJSONDeclaration$fToJSONDeclaration$fFromJSONImport$fToJSONImport$fFromJSONLanguage$fToJSONLanguageImportResolverNamespaceMapping fromNamespace toNamespace AliasMapping aliasName aliasTemplateFragment PlaceholderparseAliasMappingparseNamespaceMappingsepEndBy sepBeginBysepByoptional ifThenElsebetweenanglesbracketsbracesparensisScalar isUnsignedisSignedisFloat isMetaNameisStringisList isAssociative isContainerisStructisEnum isNullablefmapType foldMapFieldsfoldMapStructFields foldMapType resolveAliasreifyEnumValues parseBondTypeNameBuilder TypeMappinglanguageglobal separatormapType fixSyntaxinstanceMappingelementMappingannotatedMappingMappingContext typeMapping aliasMappingnamespaceMapping namespaces getNamespacegetDeclNamespacegetQualifiedNamegetDeclTypeName getTypeNamegetAliasDeclTypeNamegetInstanceTypeNamegetElementTypeNamegetAnnotatedTypeNamecustomAliasMappingidlTypeMappingcppTypeMappingcppCustomAllocTypeMappingcppExpandAliasesTypeMapping csTypeMapping!csCollectionInterfacesTypeMappingjavaTypeMappingjavaBoxedTypeMappingelementTypeNamedeclQualifiedTypeName declTypeName aliasTypeNameencodeSchemaDef makeSchemaDef$fToJSONSchemaDef$fToJSONStructDef$fToJSONFieldDef$fToJSONTypeDef$fToJSONMetadata$fToJSONVariantindentnewLinecommaSep newlineSep commaLineSep newlineSepEndnewlineBeginSep doubleLineSepdoubleLineSepEnd commonHeader uniqueName uniqueNames slashForward$fToTextInteger$fToTextDouble$fToTextWord16 enum_javaJavaFieldMappingJavaPublicFields class_java types_cpp reflection_hgrpc_hgrpc_cppenum_hProtocolProtocolReaderProtocolWriterapply_h apply_cppConstructorOptionsDefaultWithProtectedBaseConstructorParameters FieldMapping PublicFields PropertiesReadOnlyProperties StructMappingClasstypes_csgrpc_cstypes_hbaseGHC.EnumMethodStreamingTagClientServerDuplexParser EnvironmentcurrentNamespaces currentParams currentFile resolveImportSymbolsimportssymbolslexemecoloncomma commaSep1 identifierdecimalintegerkeywordnaturalsemisemiSepsymbol whiteSpacenamespaceIdentifierequalsemiEndcommaEnd commaEnd1semiOrCommaSepsemiOrCommaSep1semiOrCommaEndsemiOrCommaSepEndsemiOrCommaSepEnd1 stringLiteralunescapedStringLiteralfloatGHC.BasemappendmemptyJustghc-prim GHC.TypesTrueMonoid showPrettytakeName takeNamespaceshowQualifiedName metaField isBaseField baseFields ShowPrettyaliasElementTypeName<<>><>><<>bytestring-0.10.8.2Data.ByteString.Lazy.Internal ByteStringVariant uint_value int_value double_value string_value wstring_valuenothingMetadatanamequalified_name attributesmodifier default_valueTypeDefid struct_defelementkey bonded_typeFieldDef _metadata_id_type StructDefmetadatabase_deffields SchemaDefstructsversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamequalifiedDeclaredTypeNamegeneratedClassAnnotationsmodifierConstantNameisPrimitiveNonEnumBondTypeisPrimitiveBondTypeisGenericBondStructTypetwosComplement openNamespacecloseNamespace className classParamsqualifiedClassNametemplate attributeInit modifierTag defaultValueschemaMetadataenumDefinitionisEnumDeclarationenumValueToNameInitListenumNameToValueInitListapplyOverloadsdisableCscWarningsdisableReSharperWarningspropertyAttributestypeAttributesschemaAttributesparamConstraintsCsClientRequestParamCsServerMethodParamcsServerParamDecl bareParam messageParam toMessageforwardMessageParamcsType