{-# LANGUAGE DeriveDataTypeable #-}

-- |
-- Module: Codec.RPM.Tags
-- Copyright: (c) 2016-2017 Red Hat, Inc.
-- License: LGPL
--
-- Maintainer: https://github.com/weldr
-- Stability: stable
-- Portability: portable

module Codec.RPM.Tags(
    -- * Types
    Tag(..),
    Null(..),
    -- * Tag finding functions
    findTag,
    findByteStringTag,
    findStringTag,
    findStringListTag,
    findWord16Tag,
    findWord16ListTag,
    findWord32Tag,
    findWord32ListTag,
    -- * Tag making functions
    mkTag,
    -- * Tag inspection functions
    tagValue)
 where

import           Data.Bits((.&.), shiftR)
import qualified Data.ByteString as BS
import qualified Data.ByteString.Char8 as C
import           Data.Data(Data, cast, gmapQi, showConstr, toConstr)
import           Data.List(find)
import           Data.Maybe(fromMaybe, listToMaybe)
import           Data.Typeable(Typeable)
import           Data.Word
import           Text.PrettyPrint.HughesPJClass(Pretty(..))
import           Text.PrettyPrint(text)

import Codec.RPM.Internal.Numbers

{-# ANN module "HLint: ignore Use camelCase" #-}

-- The character lists are actually lists of characters, ignore the suggestions
-- to use String instead
{-# ANN module "HLint: ignore Use String" #-}

-- | A very large data type that holds all the possibilities for the various tags that can
-- be contained in an 'Codec.RPM.Types.RPM' 'Codec.RPM.Types.Header'.  Each tag describes
-- one piece of metadata.  Most tags include some typed value, such as a 'String' or
-- 'Word32'.  Many tags contain lists of these values, for instance any tag involving files
-- or changelog entries.  Some tags contain no useful value at all.
--
-- Because there are so many possibilities for tags and each 'Codec.RPM.Types.RPM' likely
-- contains dozens of tags, it is unwieldy to write functions that pattern match on tags and
-- take some action.  This module therefore provides a variety of find*Tag functions for
-- searching the list of tags by name and returning a 'Maybe' value.  The name provided to
-- each should be the constructor you are looking for in this data type.
--
-- To find the list of all files in the RPM, you would therefore do:
--
-- > findStringTag "FileNames" tags
data Tag = DEPRECATED                   Tag
         | INTERNAL                     Tag
         | OBSOLETE                     Tag
         | UNIMPLEMENTED                Tag
         | UNUSED                       Tag

         | HeaderImage                  Null
         | HeaderSignatures             Null
         | HeaderImmutable              Null
         | HeaderRegions                Null
         | HeaderI18NTable              [String]

         | SigBase                      Null
         | SigSize                      Word32
         | SigLEMD5_1                   Null
         | SigPGP                       BS.ByteString
         | SigLEMD5_2                   Null
         | SigMD5                       BS.ByteString
         | SigGPG                       BS.ByteString
         | SigPGP5                      Null
         | SigBadSHA1_1                 Null
         | SigBadSHA1_2                 Null
         | PubKeys                      [String]
         | DSAHeader                    BS.ByteString
         | RSAHeader                    BS.ByteString
         | SHA1Header                   String
         | LongSigSize                  Word64
         | LongArchiveSize              Word64

         | Name                         String
         | Version                      String
         | Release                      String
         | Epoch                        Word32
         | Summary                      BS.ByteString
         | Description                  BS.ByteString
         | BuildTime                    Word32
         | BuildHost                    String
         | InstallTime                  Word32
         | Size                         Word32
         | Distribution                 String
         | Vendor                       String
         | GIF                          BS.ByteString
         | XPM                          BS.ByteString
         | License                      String
         | Packager                     String
         | Group                        BS.ByteString
         | ChangeLog                    [String]
         | Source                       [String]
         | Patch                        [String]
         | URL                          String
         | OS                           String
         | Arch                         String
         | PreIn                        String
         | PostIn                       String
         | PreUn                        String
         | PostUn                       String
         | OldFileNames                 [String]
         | FileSizes                    [Word32]
         | FileStates                   [Char]
         | FileModes                    [Word16]
         | FileUIDs                     [Word32]
         | FileGIDs                     [Word32]
         | FileRDevs                    [Word16]
         | FileMTimes                   [Word32]
         | FileMD5s                     [String]
         | FileLinkTos                  [String]
         | FileFlags                    [Word32]
         | Root                         Null
         | FileUserName                 [String]
         | FileGroupName                [String]
         | Exclude                      Null
         | Exclusive                    Null
         | Icon                         BS.ByteString
         | SourceRPM                    String
         | FileVerifyFlags              [Word32]
         | ArchiveSize                  Word32
         | ProvideName                  [String]
         | RequireFlags                 [Word32]
         | RequireName                  [String]
         | RequireVersion               [String]
         | NoSource                     [Word32]
         | NoPatch                      [Word32]
         | ConflictFlags                [Word32]
         | ConflictName                 [String]
         | ConflictVersion              [String]
         | DefaultPrefix                String
         | BuildRoot                    String
         | InstallPrefix                String
         | ExcludeArch                  [String]
         | ExcludeOS                    [String]
         | ExclusiveArch                [String]
         | ExclusiveOS                  [String]
         | AutoReqProv                  String
         | RPMVersion                   String
         | TriggerScripts               [String]
         | TriggerName                  [String]
         | TriggerVersion               [String]
         | TriggerFlags                 [Word32]
         | TriggerIndex                 [Word32]
         | VerifyScript                 String
         | ChangeLogTime                [Word32]
         | ChangeLogName                [String]
         | ChangeLogText                [String]
         | BrokenMD5                    Null
         | PreReq                       Null
         | PreInProg                    [String]
         | PostInProg                   [String]
         | PreUnProg                    [String]
         | PostUnProg                   [String]
         | BuildArchs                   [String]
         | ObsoleteName                 [String]
         | VerifyScriptProg             [String]
         | TriggerScriptProg            [String]
         | DocDir                       Null
         | Cookie                       String
         | FileDevices                  [Word32]
         | FileINodes                   [Word32]
         | FileLangs                    [String]
         | Prefixes                     [String]
         | InstPrefixes                 [String]
         | TriggerIn                    Null
         | TriggerUn                    Null
         | TriggerPostUn                Null
         | AutoReq                      Null
         | AutoProv                     Null
         | Capability                   Word32
         | SourcePackage                Word32
         | OldOrigFileNames             Null
         | BuildPreReq                  Null
         | BuildRequires                Null
         | BuildConflicts               Null
         | BuildMacros                  Null
         | ProvideFlags                 [Word32]
         | ProvideVersion               [String]
         | ObsoleteFlags                [Word32]
         | ObsoleteVersion              [String]
         | DirIndexes                   [Word32]
         | BaseNames                    [String]
         | DirNames                     [String]
         | OrigDirIndexes               [Word32]
         | OrigBaseNames                [String]
         | OrigDirNames                 [String]
         | OptFlags                     String
         | DistURL                      String
         | PayloadFormat                String
         | PayloadCompressor            String
         | PayloadFlags                 String
         | InstallColor                 Word32
         | InstallTID                   Word32
         | RemoveTID                    Word32
         | SHA1RHN                      Null
         | RHNPlatform                  String
         | Platform                     String
         | PatchesName                  [String]
         | PatchesFlags                 [Word32]
         | PatchesVersion               [String]
         | CacheCTime                   Word32
         | CachePkgPath                 String
         | CachePkgSize                 Word32
         | CachePkgMTime                Word32
         | FileColors                   [Word32]
         | FileClass                    [Word32]
         | ClassDict                    [String]
         | FileDependsX                 [Word32]
         | FileDependsN                 [Word32]
         | DependsDict                  [(Word32, Word32)]
         | SourcePkgID                  BS.ByteString
         | FileContexts                 [String]
         | FSContexts                   [String]
         | ReContexts                   [String]
         | Policies                     [String]
         | PreTrans                     String
         | PostTrans                    String
         | PreTransProg                 [String]
         | PostTransProg                [String]
         | DistTag                      String
         | OldSuggestsName              [String]
         | OldSuggestsVersion           [String]
         | OldSuggestsFlags             [Word32]
         | OldEnhancesName              [String]
         | OldEnhancesVersion           [String]
         | OldEnhancesFlags             [Word32]
         | Priority                     [Word32]
         | CVSID                        String
         | BLinkPkgID                   [String]
         | BLinkHdrID                   [String]
         | BLinkNEVRA                   [String]
         | FLinkPkgID                   [String]
         | FLinkHdrID                   [String]
         | FLinkNEVRA                   [String]
         | PackageOrigin                String
         | TriggerPreIn                 Null
         | BuildSuggests                Null
         | BuildEnhances                Null
         | ScriptStates                 [Word32]
         | ScriptMetrics                [Word32]
         | BuildCPUClock                Word32
         | FileDigestAlgos              [Word32]
         | Variants                     [String]
         | XMajor                       Word32
         | XMinor                       Word32
         | RepoTag                      String
         | Keywords                     [String]
         | BuildPlatforms               [String]
         | PackageColor                 Word32
         | PackagePrefColor             Word32
         | XattrsDict                   [String]
         | FileXattrsx                  [Word32]
         | DepAttrsDict                 [String]
         | ConflictAttrsx               [Word32]
         | ObsoleteAttrsx               [Word32]
         | ProvideAttrsx                [Word32]
         | RequireAttrsx                [Word32]
         | BuildProvides                Null
         | BuildObsoletes               Null
         | DBInstance                   Word32
         | NVRA                         String

         | FileNames                    [String]
         | FileProvide                  [String]
         | FileRequire                  [String]
         | FSNames                      [String]
         | FSSizes                      [Word64]
         | TriggerConds                 [String]
         | TriggerType                  [String]
         | OrigFileNames                [String]
         | LongFileSizes                [Word64]
         | LongSize                     Word64
         | FileCaps                     [String]
         | FileDigestAlgo               Word32
         | BugURL                       String
         | EVR                          String
         | NVR                          String
         | NEVR                         String
         | NEVRA                        String
         | HeaderColor                  Word32
         | Verbose                      Word32
         | EpochNum                     Word32
         | PreInFlags                   Word32
         | PostInFlags                  Word32
         | PreUnFlags                   Word32
         | PostUnFlags                  Word32
         | PreTransFlags                Word32
         | PostTransFlags               Word32
         | VerifyScriptFlags            Word32
         | TriggerScriptFlags           [Word32]
         | Collections                  [String]
         | PolicyNames                  [String]
         | PolicyTypes                  [String]
         | PolicyTypesIndexes           [Word32]
         | PolicyFlags                  [Word32]
         | PolicyVCS                    String
         | OrderName                    [String]
         | OrderVersion                 [String]
         | OrderFlags                   [Word32]
         | MSSFManifest                 [String]
         | MSSFDomain                   [String]
         | InstFileNames                [String]
         | RequireNEVRs                 [String]
         | ProvideNEVRs                 [String]
         | ObsoleteNEVRs                [String]
         | ConflictNEVRs                [String]
         | FileNLinks                   [Word32]
         | RecommendName                [String]
         | RecommendVersion             [String]
         | RecommendFlags               [Word32]
         | SuggestName                  [String]
         | SuggestVersion               [String]
         | SuggestFlags                 [Word32]
         | SupplementName               [String]
         | SupplementVersion            [String]
         | SupplementFlags              [Word32]
         | EnhanceName                  [String]
         | EnhanceVersion               [String]
         | EnhanceFlags                 [Word32]
         | RecommendNEVRs               [String]
         | SuggestNEVRs                 [String]
         | SupplementNEVRs              [String]
         | EnhanceNEVRs                 [String]
         | Encoding                     String
         | FileTriggerIn                Null
         | FileTriggerUn                Null
         | FileTriggerPostUn            Null
         | FileTriggerScripts           [String]
         | FileTriggerScriptProg        [String]
         | FileTriggerScriptFlags       [Word32]
         | FileTriggerName              [String]
         | FileTriggerIndex             [Word32]
         | FileTriggerVersion           [String]
         | FileTriggerFlags             [Word32]
         | TransFileTriggerIn           Null
         | TransFileTriggerUn           Null
         | TransFileTriggerPostUn       Null
         | TransFileTriggerScripts      [String]
         | TransFileTriggerScriptProg   [String]
         | TransFileTriggerScriptFlags  [Word32]
         | TransFileTriggerName         [String]
         | TransFileTriggerIndex        [Word32]
         | TransFileTriggerVersion      [String]
         | TransFileTriggerFlags        [Word32]
         | RemovePathPostFixes          String
         | FileTriggerPriorities        [Word32]
         | TransFileTriggerPriorities   [Word32]
         | FileTriggerConds             [String]
         | FileTriggerType              [String]
         | TransFileTriggerConds        [String]
         | TransFileTriggerType         [String]
         | FileSignatures               [String]
         | FileSignatureLength          Word32
  deriving(Tag -> Tag -> Bool
(Tag -> Tag -> Bool) -> (Tag -> Tag -> Bool) -> Eq Tag
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Tag -> Tag -> Bool
$c/= :: Tag -> Tag -> Bool
== :: Tag -> Tag -> Bool
$c== :: Tag -> Tag -> Bool
Eq, Int -> Tag -> ShowS
[Tag] -> ShowS
Tag -> String
(Int -> Tag -> ShowS)
-> (Tag -> String) -> ([Tag] -> ShowS) -> Show Tag
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Tag] -> ShowS
$cshowList :: [Tag] -> ShowS
show :: Tag -> String
$cshow :: Tag -> String
showsPrec :: Int -> Tag -> ShowS
$cshowsPrec :: Int -> Tag -> ShowS
Show, Typeable Tag
DataType
Constr
Typeable Tag =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> Tag -> c Tag)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c Tag)
-> (Tag -> Constr)
-> (Tag -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c Tag))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tag))
-> ((forall b. Data b => b -> b) -> Tag -> Tag)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r)
-> (forall u. (forall d. Data d => d -> u) -> Tag -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> Tag -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> Tag -> m Tag)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Tag -> m Tag)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Tag -> m Tag)
-> Data Tag
Tag -> DataType
Tag -> Constr
(forall b. Data b => b -> b) -> Tag -> Tag
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Tag -> c Tag
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Tag
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> Tag -> u
forall u. (forall d. Data d => d -> u) -> Tag -> [u]
forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r
forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Tag -> m Tag
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Tag -> m Tag
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Tag
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Tag -> c Tag
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Tag)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tag)
$cFileSignatureLength :: Constr
$cFileSignatures :: Constr
$cTransFileTriggerType :: Constr
$cTransFileTriggerConds :: Constr
$cFileTriggerType :: Constr
$cFileTriggerConds :: Constr
$cTransFileTriggerPriorities :: Constr
$cFileTriggerPriorities :: Constr
$cRemovePathPostFixes :: Constr
$cTransFileTriggerFlags :: Constr
$cTransFileTriggerVersion :: Constr
$cTransFileTriggerIndex :: Constr
$cTransFileTriggerName :: Constr
$cTransFileTriggerScriptFlags :: Constr
$cTransFileTriggerScriptProg :: Constr
$cTransFileTriggerScripts :: Constr
$cTransFileTriggerPostUn :: Constr
$cTransFileTriggerUn :: Constr
$cTransFileTriggerIn :: Constr
$cFileTriggerFlags :: Constr
$cFileTriggerVersion :: Constr
$cFileTriggerIndex :: Constr
$cFileTriggerName :: Constr
$cFileTriggerScriptFlags :: Constr
$cFileTriggerScriptProg :: Constr
$cFileTriggerScripts :: Constr
$cFileTriggerPostUn :: Constr
$cFileTriggerUn :: Constr
$cFileTriggerIn :: Constr
$cEncoding :: Constr
$cEnhanceNEVRs :: Constr
$cSupplementNEVRs :: Constr
$cSuggestNEVRs :: Constr
$cRecommendNEVRs :: Constr
$cEnhanceFlags :: Constr
$cEnhanceVersion :: Constr
$cEnhanceName :: Constr
$cSupplementFlags :: Constr
$cSupplementVersion :: Constr
$cSupplementName :: Constr
$cSuggestFlags :: Constr
$cSuggestVersion :: Constr
$cSuggestName :: Constr
$cRecommendFlags :: Constr
$cRecommendVersion :: Constr
$cRecommendName :: Constr
$cFileNLinks :: Constr
$cConflictNEVRs :: Constr
$cObsoleteNEVRs :: Constr
$cProvideNEVRs :: Constr
$cRequireNEVRs :: Constr
$cInstFileNames :: Constr
$cMSSFDomain :: Constr
$cMSSFManifest :: Constr
$cOrderFlags :: Constr
$cOrderVersion :: Constr
$cOrderName :: Constr
$cPolicyVCS :: Constr
$cPolicyFlags :: Constr
$cPolicyTypesIndexes :: Constr
$cPolicyTypes :: Constr
$cPolicyNames :: Constr
$cCollections :: Constr
$cTriggerScriptFlags :: Constr
$cVerifyScriptFlags :: Constr
$cPostTransFlags :: Constr
$cPreTransFlags :: Constr
$cPostUnFlags :: Constr
$cPreUnFlags :: Constr
$cPostInFlags :: Constr
$cPreInFlags :: Constr
$cEpochNum :: Constr
$cVerbose :: Constr
$cHeaderColor :: Constr
$cNEVRA :: Constr
$cNEVR :: Constr
$cNVR :: Constr
$cEVR :: Constr
$cBugURL :: Constr
$cFileDigestAlgo :: Constr
$cFileCaps :: Constr
$cLongSize :: Constr
$cLongFileSizes :: Constr
$cOrigFileNames :: Constr
$cTriggerType :: Constr
$cTriggerConds :: Constr
$cFSSizes :: Constr
$cFSNames :: Constr
$cFileRequire :: Constr
$cFileProvide :: Constr
$cFileNames :: Constr
$cNVRA :: Constr
$cDBInstance :: Constr
$cBuildObsoletes :: Constr
$cBuildProvides :: Constr
$cRequireAttrsx :: Constr
$cProvideAttrsx :: Constr
$cObsoleteAttrsx :: Constr
$cConflictAttrsx :: Constr
$cDepAttrsDict :: Constr
$cFileXattrsx :: Constr
$cXattrsDict :: Constr
$cPackagePrefColor :: Constr
$cPackageColor :: Constr
$cBuildPlatforms :: Constr
$cKeywords :: Constr
$cRepoTag :: Constr
$cXMinor :: Constr
$cXMajor :: Constr
$cVariants :: Constr
$cFileDigestAlgos :: Constr
$cBuildCPUClock :: Constr
$cScriptMetrics :: Constr
$cScriptStates :: Constr
$cBuildEnhances :: Constr
$cBuildSuggests :: Constr
$cTriggerPreIn :: Constr
$cPackageOrigin :: Constr
$cFLinkNEVRA :: Constr
$cFLinkHdrID :: Constr
$cFLinkPkgID :: Constr
$cBLinkNEVRA :: Constr
$cBLinkHdrID :: Constr
$cBLinkPkgID :: Constr
$cCVSID :: Constr
$cPriority :: Constr
$cOldEnhancesFlags :: Constr
$cOldEnhancesVersion :: Constr
$cOldEnhancesName :: Constr
$cOldSuggestsFlags :: Constr
$cOldSuggestsVersion :: Constr
$cOldSuggestsName :: Constr
$cDistTag :: Constr
$cPostTransProg :: Constr
$cPreTransProg :: Constr
$cPostTrans :: Constr
$cPreTrans :: Constr
$cPolicies :: Constr
$cReContexts :: Constr
$cFSContexts :: Constr
$cFileContexts :: Constr
$cSourcePkgID :: Constr
$cDependsDict :: Constr
$cFileDependsN :: Constr
$cFileDependsX :: Constr
$cClassDict :: Constr
$cFileClass :: Constr
$cFileColors :: Constr
$cCachePkgMTime :: Constr
$cCachePkgSize :: Constr
$cCachePkgPath :: Constr
$cCacheCTime :: Constr
$cPatchesVersion :: Constr
$cPatchesFlags :: Constr
$cPatchesName :: Constr
$cPlatform :: Constr
$cRHNPlatform :: Constr
$cSHA1RHN :: Constr
$cRemoveTID :: Constr
$cInstallTID :: Constr
$cInstallColor :: Constr
$cPayloadFlags :: Constr
$cPayloadCompressor :: Constr
$cPayloadFormat :: Constr
$cDistURL :: Constr
$cOptFlags :: Constr
$cOrigDirNames :: Constr
$cOrigBaseNames :: Constr
$cOrigDirIndexes :: Constr
$cDirNames :: Constr
$cBaseNames :: Constr
$cDirIndexes :: Constr
$cObsoleteVersion :: Constr
$cObsoleteFlags :: Constr
$cProvideVersion :: Constr
$cProvideFlags :: Constr
$cBuildMacros :: Constr
$cBuildConflicts :: Constr
$cBuildRequires :: Constr
$cBuildPreReq :: Constr
$cOldOrigFileNames :: Constr
$cSourcePackage :: Constr
$cCapability :: Constr
$cAutoProv :: Constr
$cAutoReq :: Constr
$cTriggerPostUn :: Constr
$cTriggerUn :: Constr
$cTriggerIn :: Constr
$cInstPrefixes :: Constr
$cPrefixes :: Constr
$cFileLangs :: Constr
$cFileINodes :: Constr
$cFileDevices :: Constr
$cCookie :: Constr
$cDocDir :: Constr
$cTriggerScriptProg :: Constr
$cVerifyScriptProg :: Constr
$cObsoleteName :: Constr
$cBuildArchs :: Constr
$cPostUnProg :: Constr
$cPreUnProg :: Constr
$cPostInProg :: Constr
$cPreInProg :: Constr
$cPreReq :: Constr
$cBrokenMD5 :: Constr
$cChangeLogText :: Constr
$cChangeLogName :: Constr
$cChangeLogTime :: Constr
$cVerifyScript :: Constr
$cTriggerIndex :: Constr
$cTriggerFlags :: Constr
$cTriggerVersion :: Constr
$cTriggerName :: Constr
$cTriggerScripts :: Constr
$cRPMVersion :: Constr
$cAutoReqProv :: Constr
$cExclusiveOS :: Constr
$cExclusiveArch :: Constr
$cExcludeOS :: Constr
$cExcludeArch :: Constr
$cInstallPrefix :: Constr
$cBuildRoot :: Constr
$cDefaultPrefix :: Constr
$cConflictVersion :: Constr
$cConflictName :: Constr
$cConflictFlags :: Constr
$cNoPatch :: Constr
$cNoSource :: Constr
$cRequireVersion :: Constr
$cRequireName :: Constr
$cRequireFlags :: Constr
$cProvideName :: Constr
$cArchiveSize :: Constr
$cFileVerifyFlags :: Constr
$cSourceRPM :: Constr
$cIcon :: Constr
$cExclusive :: Constr
$cExclude :: Constr
$cFileGroupName :: Constr
$cFileUserName :: Constr
$cRoot :: Constr
$cFileFlags :: Constr
$cFileLinkTos :: Constr
$cFileMD5s :: Constr
$cFileMTimes :: Constr
$cFileRDevs :: Constr
$cFileGIDs :: Constr
$cFileUIDs :: Constr
$cFileModes :: Constr
$cFileStates :: Constr
$cFileSizes :: Constr
$cOldFileNames :: Constr
$cPostUn :: Constr
$cPreUn :: Constr
$cPostIn :: Constr
$cPreIn :: Constr
$cArch :: Constr
$cOS :: Constr
$cURL :: Constr
$cPatch :: Constr
$cSource :: Constr
$cChangeLog :: Constr
$cGroup :: Constr
$cPackager :: Constr
$cLicense :: Constr
$cXPM :: Constr
$cGIF :: Constr
$cVendor :: Constr
$cDistribution :: Constr
$cSize :: Constr
$cInstallTime :: Constr
$cBuildHost :: Constr
$cBuildTime :: Constr
$cDescription :: Constr
$cSummary :: Constr
$cEpoch :: Constr
$cRelease :: Constr
$cVersion :: Constr
$cName :: Constr
$cLongArchiveSize :: Constr
$cLongSigSize :: Constr
$cSHA1Header :: Constr
$cRSAHeader :: Constr
$cDSAHeader :: Constr
$cPubKeys :: Constr
$cSigBadSHA1_2 :: Constr
$cSigBadSHA1_1 :: Constr
$cSigPGP5 :: Constr
$cSigGPG :: Constr
$cSigMD5 :: Constr
$cSigLEMD5_2 :: Constr
$cSigPGP :: Constr
$cSigLEMD5_1 :: Constr
$cSigSize :: Constr
$cSigBase :: Constr
$cHeaderI18NTable :: Constr
$cHeaderRegions :: Constr
$cHeaderImmutable :: Constr
$cHeaderSignatures :: Constr
$cHeaderImage :: Constr
$cUNUSED :: Constr
$cUNIMPLEMENTED :: Constr
$cOBSOLETE :: Constr
$cINTERNAL :: Constr
$cDEPRECATED :: Constr
$tTag :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> Tag -> m Tag
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Tag -> m Tag
gmapMp :: (forall d. Data d => d -> m d) -> Tag -> m Tag
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Tag -> m Tag
gmapM :: (forall d. Data d => d -> m d) -> Tag -> m Tag
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Tag -> m Tag
gmapQi :: Int -> (forall d. Data d => d -> u) -> Tag -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Tag -> u
gmapQ :: (forall d. Data d => d -> u) -> Tag -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Tag -> [u]
gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r
$cgmapQr :: forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r
$cgmapQl :: forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r
gmapT :: (forall b. Data b => b -> b) -> Tag -> Tag
$cgmapT :: (forall b. Data b => b -> b) -> Tag -> Tag
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tag)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tag)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Tag)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Tag)
dataTypeOf :: Tag -> DataType
$cdataTypeOf :: Tag -> DataType
toConstr :: Tag -> Constr
$ctoConstr :: Tag -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Tag
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Tag
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Tag -> c Tag
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Tag -> c Tag
$cp1Data :: Typeable Tag
Data, Typeable)

instance Pretty Tag where
    -- This is a lot quicker than having to provide a Pretty instance that takes every
    -- single Tag into account.
    pPrint :: Tag -> Doc
pPrint = String -> Doc
text (String -> Doc) -> (Tag -> String) -> Tag -> Doc
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> String
forall a. Show a => a -> String
show

-- | Some 'Tag's do not contain any value, likely because support for that tag has been
-- removed.  RPM never removes a tag from its list of known values, however, so we must
-- still recognize them.  These tags have a special value of 'Null', which contains no
-- value.
data Null = Null
 deriving(Null -> Null -> Bool
(Null -> Null -> Bool) -> (Null -> Null -> Bool) -> Eq Null
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Null -> Null -> Bool
$c/= :: Null -> Null -> Bool
== :: Null -> Null -> Bool
$c== :: Null -> Null -> Bool
Eq, Int -> Null -> ShowS
[Null] -> ShowS
Null -> String
(Int -> Null -> ShowS)
-> (Null -> String) -> ([Null] -> ShowS) -> Show Null
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Null] -> ShowS
$cshowList :: [Null] -> ShowS
show :: Null -> String
$cshow :: Null -> String
showsPrec :: Int -> Null -> ShowS
$cshowsPrec :: Int -> Null -> ShowS
Show, Typeable Null
DataType
Constr
Typeable Null =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> Null -> c Null)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c Null)
-> (Null -> Constr)
-> (Null -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c Null))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Null))
-> ((forall b. Data b => b -> b) -> Null -> Null)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Null -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Null -> r)
-> (forall u. (forall d. Data d => d -> u) -> Null -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> Null -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> Null -> m Null)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Null -> m Null)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Null -> m Null)
-> Data Null
Null -> DataType
Null -> Constr
(forall b. Data b => b -> b) -> Null -> Null
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Null -> c Null
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Null
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> Null -> u
forall u. (forall d. Data d => d -> u) -> Null -> [u]
forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Null -> r
forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Null -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Null -> m Null
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Null -> m Null
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Null
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Null -> c Null
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Null)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Null)
$cNull :: Constr
$tNull :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> Null -> m Null
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Null -> m Null
gmapMp :: (forall d. Data d => d -> m d) -> Null -> m Null
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Null -> m Null
gmapM :: (forall d. Data d => d -> m d) -> Null -> m Null
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Null -> m Null
gmapQi :: Int -> (forall d. Data d => d -> u) -> Null -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Null -> u
gmapQ :: (forall d. Data d => d -> u) -> Null -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Null -> [u]
gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Null -> r
$cgmapQr :: forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Null -> r
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Null -> r
$cgmapQl :: forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Null -> r
gmapT :: (forall b. Data b => b -> b) -> Null -> Null
$cgmapT :: (forall b. Data b => b -> b) -> Null -> Null
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Null)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Null)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Null)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Null)
dataTypeOf :: Null -> DataType
$cdataTypeOf :: Null -> DataType
toConstr :: Null -> Constr
$ctoConstr :: Null -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Null
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Null
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Null -> c Null
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Null -> c Null
$cp1Data :: Typeable Null
Data, Typeable)

-- | Attempt to create a 'Tag' based on various parameters.
mkTag :: BS.ByteString      -- ^ The 'headerStore' containing the value of the potential 'Tag'.
      -> Int                -- ^ The number of the 'Tag', as read out of the store.  Valid numbers
                            --   may be found in lib\/rpmtag.h in the RPM source, though most
                            --   users will not need to know this since it will be read from the
                            --   store.
      -> Word32             -- ^ What is the type of this tag's value?  Valid numbers may be found
                            --   in the rpmTagType_e enum in lib\/rpmtag.h in the RPM source, though
                            --   most users will not need to know this since it will be read from
                            --   the store.  Here, it is used as a simple form of type checking.
      -> Word32             -- ^ How far into the 'headerStore' is this 'Tag's value stored?
      -> Word32             -- ^ How many values are stored for this 'Tag'?
      -> Maybe Tag
mkTag :: ByteString -> Int -> Word32 -> Word32 -> Word32 -> Maybe Tag
mkTag store :: ByteString
store tag :: Int
tag ty :: Word32
ty offset :: Word32
offset count :: Word32
count = case Int
tag of
    61      -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
HeaderImage
    62      -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
HeaderSignatures
    63      -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
HeaderImmutable
    64      -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
HeaderRegions
    100     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
HeaderI18NTable

    256     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
SigBase
    257     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
SigSize
    258     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
SigLEMD5_1
    259     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary        Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
SigPGP
    260     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
SigLEMD5_2
    261     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary        Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
SigMD5
    262     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary        Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
SigGPG
    263     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
SigPGP5
    264     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
SigBadSHA1_1
    265     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
SigBadSHA1_2
    266     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PubKeys
    267     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary        Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
DSAHeader
    268     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary        Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
RSAHeader
    269     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
SHA1Header
    270     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64])
-> Maybe [Word64]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64]
mkWord64        Maybe [Word64] -> ([Word64] -> Maybe Word64) -> Maybe Word64
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word64] -> Maybe Word64
forall a. [a] -> Maybe a
listToMaybe Maybe Word64 -> (Word64 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word64 -> Tag) -> Word64 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> Tag
LongSigSize
    271     -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64])
-> Maybe [Word64]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64]
mkWord64        Maybe [Word64] -> ([Word64] -> Maybe Word64) -> Maybe Word64
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word64] -> Maybe Word64
forall a. [a] -> Maybe a
listToMaybe Maybe Word64 -> (Word64 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word64 -> Tag) -> Word64 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> Tag
LongArchiveSize

    1000    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Name
    1001    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Version
    1002    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Release
    1003    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
Epoch
    1004    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkI18NString    Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
Summary
    1005    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkI18NString    Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
Description
    1006    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
BuildTime
    1007    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
BuildHost
    1008    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
InstallTime
    1009    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
Size
    1010    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Distribution
    1011    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Vendor
    1012    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary        Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
GIF
    1013    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary        Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
XPM
    1014    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
License
    1015    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Packager
    1016    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkI18NString    Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
Group
    1017    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ChangeLog
    1018    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
Source
    1019    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
Patch
    1020    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
URL
    1021    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
OS
    1022    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Arch
    1023    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PreIn
    1024    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PostIn
    1025    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PreUn
    1026    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PostUn
    1027    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OldFileNames
    1028    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileSizes
    1029    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkChar          Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
FileStates
    1030    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word16])
-> Maybe [Word16]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word16]
mkWord16        Maybe [Word16] -> ([Word16] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word16] -> Tag) -> [Word16] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word16] -> Tag
FileModes
    1031    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileUIDs
    1032    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileGIDs
    1033    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word16])
-> Maybe [Word16]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word16]
mkWord16        Maybe [Word16] -> ([Word16] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word16] -> Tag) -> [Word16] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word16] -> Tag
FileRDevs
    1034    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileMTimes
    1035    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileMD5s
    1036    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileLinkTos
    1037    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileFlags
    1038    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
Root
    1039    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileUserName
    1040    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileGroupName
    1041    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
Exclude
    1042    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
Exclusive
    1043    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary        Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
Icon
    1044    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
SourceRPM
    1045    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileVerifyFlags
    1046    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
ArchiveSize
    1047    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ProvideName
    1048    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
RequireFlags
    1049    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
RequireName
    1050    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
RequireVersion
    1051    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
NoSource
    1052    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
NoPatch
    1053    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
ConflictFlags
    1054    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ConflictName
    1055    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ConflictVersion
    1056    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
DEPRECATED (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
DefaultPrefix
    1057    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
BuildRoot
    1058    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
DEPRECATED (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
InstallPrefix
    1059    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ExcludeArch
    1060    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ExcludeOS
    1061    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ExclusiveArch
    1062    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ExclusiveOS
    1063    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
AutoReqProv
    1064    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
RPMVersion
    1065    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TriggerScripts
    1066    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TriggerName
    1067    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TriggerVersion
    1068    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
TriggerFlags
    1069    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
TriggerIndex
    1079    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
VerifyScript
    1080    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
ChangeLogTime
    1081    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ChangeLogName
    1082    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ChangeLogText
    1083    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
BrokenMD5
    1084    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
PreReq
    1085    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PreInProg
    1086    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PostInProg
    1087    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PreUnProg
    1088    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PostUnProg
    1089    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
BuildArchs
    1090    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ObsoleteName
    1091    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
VerifyScriptProg
    1092    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TriggerScriptProg
    1093    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
DocDir
    1094    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Cookie
    1095    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileDevices
    1096    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileINodes
    1097    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileLangs
    1098    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
Prefixes
    1099    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
InstPrefixes
    1100    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
TriggerIn
    1101    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
TriggerUn
    1102    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
TriggerPostUn
    1103    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
AutoReq
    1104    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
AutoProv
    1105    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
Capability
    1106    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
SourcePackage
    1107    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
OldOrigFileNames
    1108    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
BuildPreReq
    1109    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
BuildRequires
    1110    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
BuildConflicts
    1111    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNUSED (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
BuildMacros
    1112    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
ProvideFlags
    1113    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ProvideVersion
    1114    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
ObsoleteFlags
    1115    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ObsoleteVersion
    1116    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
DirIndexes
    1117    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
BaseNames
    1118    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
DirNames
    1119    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
OrigDirIndexes
    1120    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OrigBaseNames
    1121    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OrigDirNames
    1122    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
OptFlags
    1123    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
DistURL
    1124    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PayloadFormat
    1125    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PayloadCompressor
    1126    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PayloadFlags
    1127    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
InstallColor
    1128    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
InstallTID
    1129    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
RemoveTID
    1130    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
SHA1RHN
    1131    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
RHNPlatform
    1132    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Platform
    1133    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
DEPRECATED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PatchesName
    1134    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
DEPRECATED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
PatchesFlags
    1135    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
DEPRECATED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PatchesVersion
    1136    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
CacheCTime
    1137    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
CachePkgPath
    1138    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
CachePkgSize
    1139    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
CachePkgMTime
    1140    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileColors
    1141    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileClass
    1142    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ClassDict
    1143    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileDependsX
    1144    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileDependsN
    1145    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [(Word32, Word32)] -> Tag
DependsDict ([(Word32, Word32)] -> Tag)
-> ([Word32] -> [(Word32, Word32)]) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Word32 -> (Word32, Word32)) -> [Word32] -> [(Word32, Word32)]
forall a b. (a -> b) -> [a] -> [b]
map (\x :: Word32
x -> ((Word32
x Word32 -> Int -> Word32
forall a. Bits a => a -> Int -> a
`shiftR` 24) Word32 -> Word32 -> Word32
forall a. Bits a => a -> a -> a
.&. 0xff, Word32
x Word32 -> Word32 -> Word32
forall a. Bits a => a -> a -> a
.&. 0x00ffffff))
    1146    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString)
-> Maybe ByteString
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary        Maybe ByteString -> (ByteString -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag)
-> (ByteString -> Tag) -> ByteString -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Tag
SourcePkgID
    1147    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileContexts
    1148    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FSContexts
    1149    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ReContexts
    1150    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
Policies
    1151    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PreTrans
    1152    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PostTrans
    1153    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PreTransProg
    1154    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PostTransProg
    1155    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
DistTag
    1156    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OldSuggestsName
    1157    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OldSuggestsVersion
    1158    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
OldSuggestsFlags
    1159    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OldEnhancesName
    1160    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OldEnhancesVersion
    1161    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
OBSOLETE (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
OldEnhancesFlags
    1162    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
Priority
    1163    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
CVSID
    1164    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
BLinkPkgID
    1165    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
BLinkHdrID
    1166    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
BLinkNEVRA
    1167    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FLinkPkgID
    1168    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FLinkHdrID
    1169    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FLinkNEVRA
    1170    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PackageOrigin
    1171    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
TriggerPreIn
    1172    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
BuildSuggests
    1173    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
BuildEnhances
    1174    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
ScriptStates
    1175    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
ScriptMetrics
    1176    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
BuildCPUClock
    1177    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileDigestAlgos
    1178    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
Variants
    1179    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
XMajor
    1180    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
XMinor
    1181    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
RepoTag
    1182    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
Keywords
    1183    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
BuildPlatforms
    1184    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
PackageColor
    1185    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (Word32 -> Tag) -> Word32 -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
PackagePrefColor
    1186    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
XattrsDict
    1187    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileXattrsx
    1188    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
DepAttrsDict
    1189    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
ConflictAttrsx
    1190    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
ObsoleteAttrsx
    1191    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
ProvideAttrsx
    1192    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word32] -> Tag) -> [Word32] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
RequireAttrsx
    1193    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
BuildProvides
    1194    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
BuildObsoletes
    1195    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
DBInstance
    1196    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
NVRA

    5000    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileNames
    5001    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileProvide
    5002    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileRequire
    5003    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FSNames
    5004    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64])
-> Maybe [Word64]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64]
mkWord64        Maybe [Word64] -> ([Word64] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word64] -> Tag) -> [Word64] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([Word64] -> Tag) -> [Word64] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word64] -> Tag
FSSizes
    5005    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TriggerConds
    5006    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TriggerType
    5007    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OrigFileNames
    5008    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64])
-> Maybe [Word64]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64]
mkWord64        Maybe [Word64] -> ([Word64] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word64] -> Tag) -> [Word64] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word64] -> Tag
LongFileSizes
    5009    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64])
-> Maybe [Word64]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64]
mkWord64        Maybe [Word64] -> ([Word64] -> Maybe Word64) -> Maybe Word64
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word64] -> Maybe Word64
forall a. [a] -> Maybe a
listToMaybe Maybe Word64 -> (Word64 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word64 -> Tag) -> Word64 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word64 -> Tag
LongSize
    5010    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileCaps
    5011    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
FileDigestAlgo
    5012    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
BugURL
    5013    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
EVR
    5014    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
NVR
    5015    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
NEVR
    5016    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
NEVRA
    5017    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
HeaderColor
    5018    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
Verbose
    5019    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
EpochNum
    5020    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
PreInFlags
    5021    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
PostInFlags
    5022    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
PreUnFlags
    5023    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
PostUnFlags
    5024    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
PreTransFlags
    5025    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
PostTransFlags
    5026    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
VerifyScriptFlags
    5027    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
TriggerScriptFlags
    5029    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
Collections
    5030    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PolicyNames
    5031    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
PolicyTypes
    5032    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
PolicyTypesIndexes
    5033    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
PolicyFlags
    5034    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
PolicyVCS
    5035    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OrderName
    5036    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
OrderVersion
    5037    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
OrderFlags
    5038    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
MSSFManifest
    5039    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
UNIMPLEMENTED (Tag -> Tag) -> ([String] -> Tag) -> [String] -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
MSSFDomain
    5040    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
InstFileNames
    5041    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
RequireNEVRs
    5042    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ProvideNEVRs
    5043    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ObsoleteNEVRs
    5044    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
ConflictNEVRs
    5045    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileNLinks
    5046    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
RecommendName
    5047    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
RecommendVersion
    5048    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
RecommendFlags
    5049    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
SuggestName
    5050    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
SuggestVersion
    5051    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
SuggestFlags
    5052    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
SupplementName
    5053    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
SupplementVersion
    5054    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
SupplementFlags
    5055    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
EnhanceName
    5056    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
EnhanceVersion
    5057    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
EnhanceFlags
    5058    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
RecommendNEVRs
    5059    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
SuggestNEVRs
    5060    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
SupplementNEVRs
    5061    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
EnhanceNEVRs
    5062    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
Encoding
    5063    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
FileTriggerIn
    5064    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
FileTriggerUn
    5065    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
FileTriggerPostUn
    5066    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileTriggerScripts
    5067    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileTriggerScriptProg
    5068    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileTriggerScriptFlags
    5069    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileTriggerName
    5070    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileTriggerIndex
    5071    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileTriggerVersion
    5072    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileTriggerFlags
    5073    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
TransFileTriggerIn
    5074    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
TransFileTriggerUn
    5075    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null)
-> Maybe Null
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull          Maybe Null -> (Null -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Null -> Tag) -> Null -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (Null -> Tag) -> Null -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Null -> Tag
TransFileTriggerPostUn
    5076    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TransFileTriggerScripts
    5077    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TransFileTriggerScriptProg
    5078    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
TransFileTriggerScriptFlags
    5079    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TransFileTriggerName
    5080    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
TransFileTriggerIndex
    5081    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TransFileTriggerVersion
    5082    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
TransFileTriggerFlags
    5083    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe String)
-> Maybe String
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString        Maybe String -> (String -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (String -> Tag) -> String -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Tag -> Tag
INTERNAL (Tag -> Tag) -> (String -> Tag) -> String -> Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Tag
RemovePathPostFixes
    5084    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
FileTriggerPriorities
    5085    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([Word32] -> Tag) -> [Word32] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word32] -> Tag
TransFileTriggerPriorities
    5086    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileTriggerConds
    5087    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileTriggerType
    5088    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TransFileTriggerConds
    5089    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
TransFileTriggerType
    5090    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String])
-> Maybe [String]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray   Maybe [String] -> ([String] -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=                 Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> ([String] -> Tag) -> [String] -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [String] -> Tag
FileSignatures
    5091    -> (ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32])
-> Maybe [Word32]
forall t. (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32        Maybe [Word32] -> ([Word32] -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Word32] -> Maybe Word32
forall a. [a] -> Maybe a
listToMaybe Maybe Word32 -> (Word32 -> Maybe Tag) -> Maybe Tag
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Tag -> Maybe Tag
forall a. a -> Maybe a
Just (Tag -> Maybe Tag) -> (Word32 -> Tag) -> Word32 -> Maybe Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> Tag
FileSignatureLength

    _       -> Maybe Tag
forall a. Maybe a
Nothing
 where
    maker :: (ByteString -> Word32 -> Word32 -> Word32 -> t) -> t
maker fn :: ByteString -> Word32 -> Word32 -> Word32 -> t
fn = ByteString -> Word32 -> Word32 -> Word32 -> t
fn ByteString
store Word32
ty Word32
offset Word32
count

mkNull :: BS.ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull :: ByteString -> Word32 -> Word32 -> Word32 -> Maybe Null
mkNull _ ty :: Word32
ty _ _ | Word32
ty Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== 0    = Null -> Maybe Null
forall a. a -> Maybe a
Just Null
Null
                | Bool
otherwise  = Maybe Null
forall a. Maybe a
Nothing

mkChar :: BS.ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Char]
mkChar :: ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkChar store :: ByteString
store ty :: Word32
ty offset :: Word32
offset count :: Word32
count | Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (ByteString -> Int
BS.length ByteString
store) Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
- Word32
offset Word32 -> Word32 -> Bool
forall a. Ord a => a -> a -> Bool
< Word32
count = Maybe String
forall a. Maybe a
Nothing
                             | Word32
ty Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== 1   = String -> Maybe String
forall a. a -> Maybe a
Just (String -> Maybe String) -> String -> Maybe String
forall a b. (a -> b) -> a -> b
$ ByteString -> String
C.unpack (ByteString -> String) -> ByteString -> String
forall a b. (a -> b) -> a -> b
$ Int -> ByteString -> ByteString
BS.take Int
count' ByteString
start
                             | Bool
otherwise = Maybe String
forall a. Maybe a
Nothing
 where
    count' :: Int
count' = Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
count
    start :: ByteString
start = Int -> ByteString -> ByteString
BS.drop (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
offset) ByteString
store

mkWord16 :: BS.ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word16]
mkWord16 :: ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word16]
mkWord16 store :: ByteString
store ty :: Word32
ty offset :: Word32
offset count :: Word32
count | Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (ByteString -> Int
BS.length ByteString
store) Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
- Word32
offset Word32 -> Word32 -> Bool
forall a. Ord a => a -> a -> Bool
< (2Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
*Word32
count) = Maybe [Word16]
forall a. Maybe a
Nothing
                               | Word32
ty Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== 3     = [Word16] -> Maybe [Word16]
forall a. a -> Maybe a
Just ([Word16] -> Maybe [Word16]) -> [Word16] -> Maybe [Word16]
forall a b. (a -> b) -> a -> b
$ ByteString -> Int -> (ByteString -> Word16) -> [Word32] -> [Word16]
forall a. ByteString -> Int -> (ByteString -> a) -> [Word32] -> [a]
readWords ByteString
store 2 ByteString -> Word16
asWord16 [Word32]
offsets
                               | Bool
otherwise   = Maybe [Word16]
forall a. Maybe a
Nothing
 where
    offsets :: [Word32]
offsets = (Word32 -> Word32) -> [Word32] -> [Word32]
forall a b. (a -> b) -> [a] -> [b]
map (\n :: Word32
n -> Word32
offset Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
+ (Word32
nWord32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
*2)) [0 .. Word32
countWord32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
-1]

mkWord32 :: BS.ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32 :: ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word32]
mkWord32 store :: ByteString
store ty :: Word32
ty offset :: Word32
offset count :: Word32
count | Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (ByteString -> Int
BS.length ByteString
store) Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
- Word32
offset Word32 -> Word32 -> Bool
forall a. Ord a => a -> a -> Bool
< (4Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
*Word32
count) = Maybe [Word32]
forall a. Maybe a
Nothing
                               | Word32
ty Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== 4     = [Word32] -> Maybe [Word32]
forall a. a -> Maybe a
Just ([Word32] -> Maybe [Word32]) -> [Word32] -> Maybe [Word32]
forall a b. (a -> b) -> a -> b
$ ByteString -> Int -> (ByteString -> Word32) -> [Word32] -> [Word32]
forall a. ByteString -> Int -> (ByteString -> a) -> [Word32] -> [a]
readWords ByteString
store 4 ByteString -> Word32
asWord32 [Word32]
offsets
                               | Bool
otherwise   = Maybe [Word32]
forall a. Maybe a
Nothing
 where
    offsets :: [Word32]
offsets = (Word32 -> Word32) -> [Word32] -> [Word32]
forall a b. (a -> b) -> [a] -> [b]
map (\n :: Word32
n -> Word32
offset Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
+ (Word32
nWord32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
*4)) [0 .. Word32
countWord32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
-1]

mkWord64 :: BS.ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64]
mkWord64 :: ByteString -> Word32 -> Word32 -> Word32 -> Maybe [Word64]
mkWord64 store :: ByteString
store ty :: Word32
ty offset :: Word32
offset count :: Word32
count | Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (ByteString -> Int
BS.length ByteString
store) Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
- Word32
offset Word32 -> Word32 -> Bool
forall a. Ord a => a -> a -> Bool
< (8Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
*Word32
count) = Maybe [Word64]
forall a. Maybe a
Nothing
                               | Word32
ty Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== 5     = [Word64] -> Maybe [Word64]
forall a. a -> Maybe a
Just ([Word64] -> Maybe [Word64]) -> [Word64] -> Maybe [Word64]
forall a b. (a -> b) -> a -> b
$ ByteString -> Int -> (ByteString -> Word64) -> [Word32] -> [Word64]
forall a. ByteString -> Int -> (ByteString -> a) -> [Word32] -> [a]
readWords ByteString
store 8 ByteString -> Word64
asWord64 [Word32]
offsets
                               | Bool
otherwise   = Maybe [Word64]
forall a. Maybe a
Nothing
 where
    offsets :: [Word32]
offsets = (Word32 -> Word32) -> [Word32] -> [Word32]
forall a b. (a -> b) -> [a] -> [b]
map (\n :: Word32
n -> Word32
offset Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
+ (Word32
nWord32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
*8)) [0 .. Word32
countWord32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
-1]

mkString :: BS.ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString :: ByteString -> Word32 -> Word32 -> Word32 -> Maybe String
mkString store :: ByteString
store ty :: Word32
ty offset :: Word32
offset count :: Word32
count | Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (ByteString -> Int
BS.length ByteString
store) Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
- Word32
offset Word32 -> Word32 -> Bool
forall a. Ord a => a -> a -> Bool
< Word32
count = Maybe String
forall a. Maybe a
Nothing
                               | Word32
ty Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== 6   = String -> Maybe String
forall a. a -> Maybe a
Just (String -> Maybe String) -> String -> Maybe String
forall a b. (a -> b) -> a -> b
$ ByteString -> String
C.unpack (ByteString -> String) -> ByteString -> String
forall a b. (a -> b) -> a -> b
$ (Word8 -> Bool) -> ByteString -> ByteString
BS.takeWhile (Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) ByteString
start
                               | Bool
otherwise = Maybe String
forall a. Maybe a
Nothing
 where
    start :: ByteString
start = Int -> ByteString -> ByteString
BS.drop (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
offset) ByteString
store

mkBinary :: BS.ByteString -> Word32 -> Word32 -> Word32 -> Maybe BS.ByteString
mkBinary :: ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkBinary store :: ByteString
store ty :: Word32
ty offset :: Word32
offset count :: Word32
count | Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (ByteString -> Int
BS.length ByteString
store) Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
- Word32
offset Word32 -> Word32 -> Bool
forall a. Ord a => a -> a -> Bool
< Word32
count = Maybe ByteString
forall a. Maybe a
Nothing
                               | Word32
ty Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== 7     = ByteString -> Maybe ByteString
forall a. a -> Maybe a
Just (ByteString -> Maybe ByteString) -> ByteString -> Maybe ByteString
forall a b. (a -> b) -> a -> b
$ Int -> ByteString -> ByteString
BS.take Int
count' ByteString
start
                               | Bool
otherwise   = Maybe ByteString
forall a. Maybe a
Nothing
 where
    count' :: Int
count' = Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
count
    start :: ByteString
start  = Int -> ByteString -> ByteString
BS.drop (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
offset) ByteString
store

mkStringArray :: BS.ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray :: ByteString -> Word32 -> Word32 -> Word32 -> Maybe [String]
mkStringArray store :: ByteString
store ty :: Word32
ty offset :: Word32
offset count :: Word32
count | Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (ByteString -> Int
BS.length ByteString
store) Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
- Word32
offset Word32 -> Word32 -> Bool
forall a. Ord a => a -> a -> Bool
< Word32
count = Maybe [String]
forall a. Maybe a
Nothing
                                    | Word32
ty Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== 8    = [String] -> Maybe [String]
forall a. a -> Maybe a
Just ([String] -> Maybe [String]) -> [String] -> Maybe [String]
forall a b. (a -> b) -> a -> b
$ (ByteString -> String) -> [ByteString] -> [String]
forall a b. (a -> b) -> [a] -> [b]
map ByteString -> String
C.unpack ([ByteString] -> [String]) -> [ByteString] -> [String]
forall a b. (a -> b) -> a -> b
$ ByteString -> Word32 -> [ByteString]
readStrings ByteString
start Word32
count
                                    | Bool
otherwise  = Maybe [String]
forall a. Maybe a
Nothing
 where
    start :: ByteString
start = Int -> ByteString -> ByteString
BS.drop (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
offset) ByteString
store

mkI18NString :: BS.ByteString -> Word32 -> Word32 -> Word32 -> Maybe BS.ByteString
mkI18NString :: ByteString -> Word32 -> Word32 -> Word32 -> Maybe ByteString
mkI18NString store :: ByteString
store ty :: Word32
ty offset :: Word32
offset count :: Word32
count | Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (ByteString -> Int
BS.length ByteString
store) Word32 -> Word32 -> Word32
forall a. Num a => a -> a -> a
- Word32
offset Word32 -> Word32 -> Bool
forall a. Ord a => a -> a -> Bool
< Word32
count = Maybe ByteString
forall a. Maybe a
Nothing
                                   | Word32
ty Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== 9     = ByteString -> Maybe ByteString
forall a. a -> Maybe a
Just (ByteString -> Maybe ByteString) -> ByteString -> Maybe ByteString
forall a b. (a -> b) -> a -> b
$ (Word8 -> Bool) -> ByteString -> ByteString
BS.takeWhile (Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) ByteString
start
                                   | Bool
otherwise   = Maybe ByteString
forall a. Maybe a
Nothing
 where
    start :: ByteString
start  = Int -> ByteString -> ByteString
BS.drop (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
offset) ByteString
store

-- I don't know how to split a ByteString up into chunks of a given size, so here's what I'm doing.  Take
-- a list of offsets of where in the ByteString to read.  Skip to each of those offsets, grab size bytes, and
-- convert those bytes into the type using the given conversion function.  Return that list.
{-# ANN readWords "HLint: ignore Eta reduce" #-}
readWords :: BS.ByteString -> Int -> (BS.ByteString -> a) -> [Word32] -> [a]
readWords :: ByteString -> Int -> (ByteString -> a) -> [Word32] -> [a]
readWords bs :: ByteString
bs size :: Int
size conv :: ByteString -> a
conv offsets :: [Word32]
offsets = (Word32 -> a) -> [Word32] -> [a]
forall a b. (a -> b) -> [a] -> [b]
map (\offset :: Word32
offset -> ByteString -> a
conv (ByteString -> a) -> ByteString -> a
forall a b. (a -> b) -> a -> b
$ Int -> ByteString -> ByteString
BS.take Int
size (ByteString -> ByteString) -> ByteString -> ByteString
forall a b. (a -> b) -> a -> b
$ Int -> ByteString -> ByteString
BS.drop (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
offset) ByteString
bs) [Word32]
offsets

readStrings :: BS.ByteString -> Word32 -> [BS.ByteString]
readStrings :: ByteString -> Word32 -> [ByteString]
readStrings bytestring :: ByteString
bytestring count :: Word32
count  = Int -> [ByteString] -> [ByteString]
forall a. Int -> [a] -> [a]
take (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
count) ([ByteString] -> [ByteString]) -> [ByteString] -> [ByteString]
forall a b. (a -> b) -> a -> b
$ Word8 -> ByteString -> [ByteString]
BS.split 0 ByteString
bytestring

-- | Given the name of a 'Tag' and a list of 'Tag's (say, from the 'Codec.RPM.Types.Header' of some
-- 'Codec.RPM.Types.RPM'), find the match and return it as a 'Maybe'.  This is the most generic of
-- the various finding functions - it will return any match regardless of its type.  You are
-- expected to know what type you are looking for.
findTag :: String -> [Tag] -> Maybe Tag
findTag :: String -> [Tag] -> Maybe Tag
findTag name :: String
name = (Tag -> Bool) -> [Tag] -> Maybe Tag
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Maybe a
find (\t :: Tag
t -> String
name String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== Constr -> String
showConstr (Tag -> Constr
forall a. Data a => a -> Constr
toConstr Tag
t))

-- | Given the name of a 'Tag' and a list of 'Tag's, find the match, convert it into a
-- 'ByteString', and return it as a 'Maybe'.  If the value of the 'Tag' cannot be converted
-- into a 'ByteString' (say, because it is of the wrong type), 'Nothing' will be returned.
-- Thus, this should only be used on tags whose value is known - see the definition of 'Tag'
-- for the possibilities.
findByteStringTag :: String -> [Tag] -> Maybe BS.ByteString
findByteStringTag :: String -> [Tag] -> Maybe ByteString
findByteStringTag name :: String
name tags :: [Tag]
tags = String -> [Tag] -> Maybe Tag
findTag String
name [Tag]
tags Maybe Tag -> (Tag -> Maybe ByteString) -> Maybe ByteString
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \t :: Tag
t -> Tag -> Maybe ByteString
forall a. Typeable a => Tag -> Maybe a
tagValue Tag
t :: Maybe BS.ByteString

-- | Given the name of a 'Tag' and a list of 'Tag's, find the match, convert it into a
-- 'String', and return it as a 'Maybe'.  If the value of the 'Tag' cannot be converted
-- into a 'String' (say, because it is of the wrong type), 'Nothing' will be returned.
-- Thus, this should only be used on tags whose value is known - see the definition of
-- 'Tag' for the possibilities.
findStringTag :: String -> [Tag] -> Maybe String
findStringTag :: String -> [Tag] -> Maybe String
findStringTag name :: String
name tags :: [Tag]
tags = String -> [Tag] -> Maybe Tag
findTag String
name [Tag]
tags Maybe Tag -> (Tag -> Maybe String) -> Maybe String
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \t :: Tag
t -> Tag -> Maybe String
forall a. Typeable a => Tag -> Maybe a
tagValue Tag
t :: Maybe String

-- | Given the name of a 'Tag' and a list of 'Tag's, find all matches, convert them into
-- 'String's, and return a list.  If no results are found or the value of a single 'Tag'
-- cannot be converted into a 'String' (say, because it is of the wrong type), an empty
-- list will be returned.  Thus, this should only be used on tags whose value is known -
-- see the definition of 'Tag' for the possibilities.
findStringListTag :: String -> [Tag] -> [String]
findStringListTag :: String -> [Tag] -> [String]
findStringListTag name :: String
name tags :: [Tag]
tags = [String] -> Maybe [String] -> [String]
forall a. a -> Maybe a -> a
fromMaybe [] (Maybe [String] -> [String]) -> Maybe [String] -> [String]
forall a b. (a -> b) -> a -> b
$ String -> [Tag] -> Maybe Tag
findTag String
name [Tag]
tags Maybe Tag -> (Tag -> Maybe [String]) -> Maybe [String]
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \t :: Tag
t -> Tag -> Maybe [String]
forall a. Typeable a => Tag -> Maybe a
tagValue Tag
t :: Maybe [String]

-- | Given the name of a 'Tag' and a list of 'Tag's, find the match, convert it into a
-- 'Word16', and return it as a 'Maybe'.  If the value of the 'Tag' cannot be converted
-- into a 'Word16' (say, because it is of the wrong type), 'Nothing' will be returned.
-- Thus, this should only be used on tags whose value is known - see the definition of 'Tag'
-- for the possibilities.
findWord16Tag :: String -> [Tag] -> Maybe Word16
findWord16Tag :: String -> [Tag] -> Maybe Word16
findWord16Tag name :: String
name tags :: [Tag]
tags = String -> [Tag] -> Maybe Tag
findTag String
name [Tag]
tags Maybe Tag -> (Tag -> Maybe Word16) -> Maybe Word16
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \t :: Tag
t -> Tag -> Maybe Word16
forall a. Typeable a => Tag -> Maybe a
tagValue Tag
t :: Maybe Word16

-- | Given the name of a 'Tag' and a list of 'Tag's, find all matches, convert them into
-- 'Word16's, and return a list.  If no results are found or the value of a single 'Tag'
-- cannot be converted into a 'Word16' (say, because it is of the wrong type), an empty
-- list will be returned.  Thus, this should only be used on tags whose value is known -
-- see the definition of 'Tag' for the possibilities.
findWord16ListTag :: String -> [Tag] -> [Word16]
findWord16ListTag :: String -> [Tag] -> [Word16]
findWord16ListTag name :: String
name tags :: [Tag]
tags = [Word16] -> Maybe [Word16] -> [Word16]
forall a. a -> Maybe a -> a
fromMaybe [] (Maybe [Word16] -> [Word16]) -> Maybe [Word16] -> [Word16]
forall a b. (a -> b) -> a -> b
$ String -> [Tag] -> Maybe Tag
findTag String
name [Tag]
tags Maybe Tag -> (Tag -> Maybe [Word16]) -> Maybe [Word16]
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \t :: Tag
t -> Tag -> Maybe [Word16]
forall a. Typeable a => Tag -> Maybe a
tagValue Tag
t :: Maybe [Word16]

-- | Given the name of a 'Tag' and a list of 'Tag's, find the match, convert it into a
-- 'Word16', and return it as a 'Maybe'.  If the value of the 'Tag' cannot be converted
-- into a 'Word16' (say, because it is of the wrong type), 'Nothing' will be returned.
-- Thus, this should only be used on tags whose value is known - see the definition of 'Tag'
-- for the possibilities.
findWord32Tag :: String -> [Tag] -> Maybe Word32
findWord32Tag :: String -> [Tag] -> Maybe Word32
findWord32Tag name :: String
name tags :: [Tag]
tags = String -> [Tag] -> Maybe Tag
findTag String
name [Tag]
tags Maybe Tag -> (Tag -> Maybe Word32) -> Maybe Word32
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \t :: Tag
t -> Tag -> Maybe Word32
forall a. Typeable a => Tag -> Maybe a
tagValue Tag
t :: Maybe Word32

-- | Given the name of a 'Tag' and a list of 'Tag's, find all matches, convert them into
-- 'Word32's, and return a list.  If no results are found or the value of a single 'Tag'
-- cannot be converted into a 'Word32' (say, because it is of the wrong type), an empty
-- list will be returned.  Thus, this should only be used on tags whose value is known -
-- see the definition of 'Tag' for the possibilities.
findWord32ListTag :: String -> [Tag] -> [Word32]
findWord32ListTag :: String -> [Tag] -> [Word32]
findWord32ListTag name :: String
name tags :: [Tag]
tags = [Word32] -> Maybe [Word32] -> [Word32]
forall a. a -> Maybe a -> a
fromMaybe [] (Maybe [Word32] -> [Word32]) -> Maybe [Word32] -> [Word32]
forall a b. (a -> b) -> a -> b
$ String -> [Tag] -> Maybe Tag
findTag String
name [Tag]
tags Maybe Tag -> (Tag -> Maybe [Word32]) -> Maybe [Word32]
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \t :: Tag
t -> Tag -> Maybe [Word32]
forall a. Typeable a => Tag -> Maybe a
tagValue Tag
t :: Maybe [Word32]

-- | Given a 'Tag', return its value.  This is a helper function to be used with 'findTag',
-- essentially as a type-safe way to cast the value into a known type.  It is used internally
-- in all the type-specific find*Tag functions but can also be used on its own.  A function
-- to find the Epoch tag could be written as follows:
--
-- > epoch = findTag "Epoch" tags >>= \t -> tagValue t :: Maybe Word32
tagValue :: Typeable a => Tag -> Maybe a
tagValue :: Tag -> Maybe a
tagValue = Int -> (forall d. Data d => d -> Maybe a) -> Tag -> Maybe a
forall a u. Data a => Int -> (forall d. Data d => d -> u) -> a -> u
gmapQi 0 forall d. Data d => d -> Maybe a
forall a b. (Typeable a, Typeable b) => a -> Maybe b
cast