4*9      !"#$%&'()*+,-./012345678SafeOTkRepresents a serialized value of a particular type. Attempts can be made to deserialize it at certain typesIPut a Typeable value that we are able to actually turn into bytes into a & value ready for deserialization laterIf the [ value contains something of the given type, then use the specified deserializer to return Just that. Otherwise return Nothing.Use a 9> instance to implement a serialization scheme dual to that of Use a 9@ instance to implement a deserialization scheme dual to that of :;<=>?@ABCDEFGHIJKLMNO:;<=>?@ABCDEFGHIJKLMNO6(c) The University of Glasgow 2009, Duncan Coutts 2014ghc-devs@haskell.orgportableNone* HRepresents a module name which is exported by a package, stored in the '; field. A module export may be a reexport (in which case  = is filled in with the original source of the module). Thus:ExposedModule n Nothing represents an exposed module n' which was defined in this package.ExposedModule n (Just o) represents a reexported module n% which was originally defined in o. We use a Pt data types instead of an ADT with two branches because this representation allows us to treat reexports uniformly. An original module is a fully-qualified module name (installed package ID plus module name) representing where a module was *originally* defined (i.e., the  6 field of the original ExposedModule entry should be Q<). Invariant: an OriginalModule never points to a reexport.RLA convenience constraint synonym for common constraints over parameters to .This is a subset of Cabal's 0, with just the bits that GHC is interested in.,:Read the part of the package DB that GHC is interested in.-=Read the part of the package DB that ghc-pkg is interested inNote that the Binary instance for ghc-pkg's representation of packages is not defined in this package. This is because ghc-pkg uses Cabal types (and Binary instances for these) which this package does not depend on...Write the whole of the package DB, both parts.SFeed a T& decoder with data chunks from a file.2 R !"#$%&'()*+,-.UVWSX/01)  !"#$%&'()*+,-.) !"#$%&'()* +,-.  R !"#$%&'()*+,-.UVWSX/01SafeSkYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe8kYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR:ST:SUVWXYZ[\]^_`_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_{_|_}_~____________________________________________________________________________%ghc-boot-8.0.2-5MSXadMGy54FvKTAWcVKlpGHC.Serialized GHC.PackageDbGHC.LanguageExtensionsGHC.LanguageExtensions.Type Serialized toSerializedfromSerializedserializeWithDatadeserializeWithDataBinaryStringRep fromStringRep toStringRep ExposedModule exposedNameexposedReexportOriginalModuleoriginalPackageIdoriginalModuleNameInstalledPackageInfounitIdsourcePackageId packageNamepackageVersionabiHashdepends importDirs hsLibrariesextraLibrariesextraGHCiLibraries libraryDirslibraryDynDirs frameworks frameworkDirs ldOptions ccOptionsincludes includeDirshaddockInterfaces haddockHTMLsexposedModules hiddenModulesexposedtrustedemptyInstalledPackageInforeadPackageDbForGhcreadPackageDbForGhcPkgwritePackageDb$fBinaryExposedModule$fBinaryOriginalModule$fBinaryInstalledPackageInfo$fEqOriginalModule$fShowOriginalModule$fEqExposedModule$fShowExposedModule$fEqInstalledPackageInfo$fShowInstalledPackageInfo$fBinaryExtensionbase Data.DataDataserializeWithData'deserializeWithData'serializeConstrdeserializeConstrserializeFixedWidthNumdeserializeFixedWidthNum serializeEnumdeserializeEnumserializeWord8deserializeWord8 serializeIntdeserializeIntserializeRationaldeserializeRationalserializeIntegerdeserializeInteger serializeChardeserializeCharserializeStringdeserializeString serializeListdeserializeListGHC.BaseMaybeNothingRepInstalledPackageInfodecodeFromFilebinary-0.8.3.0Data.Binary.Get.InternalGet getHeader putHeader headerMagicwriteFileAtomicghc-boot-th-8.0.2 ExtensionCppOverlappingInstancesUndecidableInstancesIncoherentInstancesUndecidableSuperClassesMonomorphismRestriction MonoPatBindsMonoLocalBindsRelaxedPolyRecExtendedDefaultRulesForeignFunctionInterfaceUnliftedFFITypesInterruptibleFFICApiFFIGHCForeignImportPrim JavaScriptFFIParallelArraysArrowsTemplateHaskellTemplateHaskellQuotes QuasiQuotesImplicitParamsImplicitPreludeScopedTypeVariablesAllowAmbiguousTypes UnboxedTuples BangPatterns TypeFamiliesTypeFamilyDependencies TypeInTypeOverloadedStringsOverloadedLists NumDecimalsDisambiguateRecordFieldsRecordWildCards RecordPuns ViewPatternsGADTs GADTSyntaxNPlusKPatternsDoAndIfThenElseRebindableSyntaxConstraintKinds PolyKinds DataKinds InstanceSigs ApplicativeDoStandaloneDerivingDeriveDataTypeableAutoDeriveTypeable DeriveFunctorDeriveTraversableDeriveFoldable DeriveGenericDefaultSignaturesDeriveAnyClass DeriveLiftTypeSynonymInstancesFlexibleContextsFlexibleInstancesConstrainedClassMethodsMultiParamTypeClassesNullaryTypeClassesFunctionalDependencies UnicodeSyntaxExistentialQuantification MagicHashEmptyDataDeclsKindSignaturesRoleAnnotationsParallelListCompTransformListCompMonadComprehensionsGeneralizedNewtypeDeriving RecursiveDoPostfixOperators TupleSections PatternGuardsLiberalTypeSynonyms RankNTypesImpredicativeTypes TypeOperatorsExplicitNamespacesPackageImportsExplicitForAllAlternativeLayoutRule!AlternativeLayoutRuleTransitionalDatatypeContextsNondecreasingIndentation RelaxedLayoutTraditionalRecordSyntax LambdaCase MultiWayIfBinaryLiteralsNegativeLiteralsDuplicateRecordFieldsOverloadedLabels EmptyCasePatternSynonymsPartialTypeSignaturesNamedWildCardsStaticPointersTypeApplicationsStrict StrictDataMonadFailDesugaring