`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_NoneResult and remainder. The " remainder is wrapped in Maybe to ! avoid a Monoid constraint on t.  Invariant: When t is a $ Monoid, the empty remainder should  always be Nothing instead of   Just mempty "Not found, description of element 6Override the last backtrace level in the error report +Add a back trace level to the error report % `abcdefghijklmnopq! `abcdefghijklm   `abcdefghijklmnopqNone=Try to extract the remainig elements, fail if there are none Combines 2 picklers Combines 3 picklers Combines 4 picklers Combines 5 picklers 'You guessed it ... Combines 6 picklers None?pickle a Tree unpickle a tree Isomorphic pickler Doesn'.t create or consume anything, always succeeds +Returns everything (remaining), untouched. !  (compat) "(Converts Booleans to XML boolean values  true and 1 are read as True  false and 0 are read as False - all other values generate an unpickle error >Will always generate true or false (not 0 or 1) when pickling #"Apply a bijection before pickling / after unpickling $RLike xpWrap, but strips Just (and treats Nothing as a failure) during unpickling. %RLike xpWrap, but strips Just (and treats Nothing as a failure) during unpickling, 1 with specified error message for Nothing value. &;Lift a pickler. Nothing is returned when the given pickler  doesn'&t return a value (e.g. the element isn't found). Does not affect  unpickling errors.  Nothing is pickled to mempty A typical example is:  B xpElemAttributes "score" $ xpOption $ xpAttribute "value" xpPrim  in which Just 5 is encoded as < score value="5"/> and Nothing  as <score/>. 'return one element, untouched (' (compat) )specialised version of   (compat) *Convert text to/ from String +HTest predicate when unpickling. Fails with given error message when the  predicate return false. .N.B.: The predicate will only be tested while  unpickling. When pickling,  this is a noop. ,Like ) , but fails on non-empty input. -?Transforms a pickler on Lists to a pickler on single elements. N.B.( Will error when the given pickler doesn't produce exactly one element . pickle to/from attribute /(compat) 0=Pickle attribute if Just is given, on unpickling return Just  val when + the attribute is found, Nothing otherwise 2UPickle an attribute with the specified name and value, fail if the same attribute is  not present on unpickle. 5IWhen unpickling, tries to find the first element with the supplied name. 9 Once such an element is found, it will commit to it and fail if any of the  picklers don' t match. 6KHandle all elements with a given name. The unpickler will fail when any of ! the elements fails to unpickle. 7:Tries to apply the pickler to all the remaining elements;  fails if any of them don't match 8DFor unpickling, apply the given pickler to a subset of the elements ! determined by a given predicate  Pickles like 7 9:Apply unpickler to all elements with the given namespace.  Pickles like 7. :0pickle Element without restriction on the name.  the name as taken /- returned as the first element of the triple ;1find element by name space, prefixes are ignored <2Pickler Returns the first found Element untouched Unpickler wraps element in r =SA helper variant of xpElem for elements that contain attributes but no child tags. >TA helper variant of xpElem for elements that contain child nodes but no attributes. ?IA helper variant of xpElem for elements that contain only character data @Helper for Elements that don't contain anything A>When pickling, creates an empty element iff parameter is True LWhen unpickling, checks whether element exists. Generates an error when the  element is not empty B2Get the first non-element NodeContent from a node CKUnlift a pickler on Nodes to a Pickler on Elements. Nodes generated during ; pickling that are not Elements will be silently discarded D'Optional conversion with default value Unlike E7 the default value is not encoded in the XML document, E during unpickling the default value is inserted if the pickler doesn't  returna a value EGAttempt to use a pickler. Return a default value when the pickler doesn't  return anything (Doesn't touch on UnpickleError) Unlike D, the default value is encoded in the XML document. F (compat) G H (compat) IWhen unpickling, don'5t consume the matched element(s), noop when pickling JNoop when pickling 7When unpickling, only give access to the first element KASelect a single element from the list and apply unpickler to it. 7Returns no value when no element matches the predicate Fails when the unpickler doesn't return a value When pickling, this is a noop L Ignore input/(output and replace with constant values MConvert text to/from any type that implements s and t.  Fails on unpickle if u fails. N<When unpickling, tries to apply the pickler to all elements / returning and consuming only matched elements O7 (compat) P>Like xpList, but only succeed during unpickling if at least a + minimum number of elements are unpickled. QIWhen unpickling, sucessively applies pickler to single elements until it  doesn'1t return anything; returns all matched elements. RQ (compat) SStandard pickler for maps =This pickler converts a map into a list of pairs of the form  <elt attr="key">value</elt> TVLike xpWrap, except it strips Right (and treats Left as a failure) during unpickling. D xpWrapEither :: (a -> Either String b, b -> a) -> PU t a -> PU t b not to be confuesd with W U'Execute one of a list of picklers. The selector function is used during L pickling, and the integer returned is taken as a 0-based index to select a  pickler from pickler options*. Unpickling is done by trying each list 4 element in order until one returns a Result. (the selector is not used). NThis is typically used to handle each constructor of a data type. However, it P can be used wherever multiple serialization strategies apply to a single type. NBE This function will ignore all errors as long as one of the branches K returns a result. Also, it will produce an error when all branches return  NoResult. Use V' for a saner version of this function. V'Execute one of a list of picklers. The selector function is used during L pickling, and the integer returned is taken as a 0-based index to select a  pickler from pickler options*. Unpickling is done by trying each list : element in order until one returns a Result or an Error. NThis is typically used to handle each constructor of a data type. However, it P can be used wherever multiple serialization strategies apply to a single type. This function is similar to U* but it will stop unpickling on the first L error. It will return NoResult iff all of the picklers return NoResult (or ! the list of picklers is empty). W,Try the left pickler first and if that doesn't produce anything the right : one. wrapping the result in Left or Right, respectively Not to be confued with T XGPickler that during pickling always uses the first pickler, and during C unpickling tries the first, and on failure then tries the second. YThe zero pickler :Encodes nothing, always fails during unpickling. (Same as Z " got xpZero"). Z]No output when pickling, always generates an error with the specified message on unpickling. [%Add an attribute with a fixed value. ^5Instead of failing the pickler will return no result _9Run unpickler and consume and discard remaining elements When pickling, this is a noop Hv !"#$%&'()*+,-w./012345name of the Element pickler for attributes pickler for child nodes 6Name of the elements pickler for attributes pickler for child nodes 78predicate to select the subset pickler to apply on the subset 9:pickler for attributes pickler for child nodes ; Namespace Pickler for the local name pickler for attributes pickler for child nodes <=>?@ABCDEFGHIJKLMNOPQRSElement name (elt) Attribute name (attr) Pickler for keys (key) Pickler for values (value) TUselector function list of picklers Vselector function list of picklers WXYZError message [\]^_`  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`  YZ \]!'(),*-M.02/13[5:;<=>?@A6B"&DESUVWXNK789OQRPFGH#LT$%+^CJI_4Hv !"#$%&'()*+,-w./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_x       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxvyzv{|}~xml-picklers-0.3.4Data.XML.PickleData.XML.Pickle.BasicData.XML.Pickle.TuplesUnresolvedEntityException UnpickleErrorVariants TraceStep ErrorMessageUnpickleResultResultNoResultPU unpickleTree pickleTree<++>ppUnpickleErrorgetResttErrxp2Tuplexp3Tuplexp4Tuplexp5Tuplexp6Tuple AttributepickleunpicklexpIso xpPartialxpUnitxpIdxpTreesxpBoolxpWrap xpWrapMaybe xpWrapMaybe_xpOptionxpHeadxpTreexpText0xpStringxpAssertxpTextxpRoot xpAttributexpAttr xpAttribute' xpAttrImplied xpAttribute_ xpAttrFixedflattenContentxpElemxpElemsxpAll xpSubsetAllxpAllByNamespacexpElemWithNamexpElemByNamespacexpElemVerbatim xpElemAttrs xpElemNodes xpElemText xpElemBlank xpElemExists xpContent xpUnliftElems xpDefault xpWithDefaultxpPair<#>xpTriplexpPeek xpIsolate xpFindFirstxpConstxpPrim xpFindMatchesxpList0 xpListMinLen xpSeqWhilexpListxpMap xpWrapEitherxpAltxpChoicexpEither xpTryCatchxpZeroxpThrowxpAddFixedAttrxpFstxpSnd xpMayFailxpCleanmapUnpickleErrormissingmissingEupeshowTrprintUPE leftoverEchildchild'leftoverremListmapError<++.>ppName $fCategoryPU$$fExceptionUnresolvedEntityException$fExceptionUnpickleError$fMonadUnpickleResultxml-types-0.3.4Data.XML.Types NodeElementbaseGHC.ReadReadGHC.ShowShow Text.ReadreadforgetFirst