h$Ah6      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                           Safe-Inferredloc = flip  loc;A precedence parser that reads a single specific character.jkih cfde    [\^]!g"opq#SUWKIJPGHOQMRVLNT<;$%&-0'()*./+312,745689:=>E?@ABCDFXYZ_`ablmnrstuvwxyz{|}~jkih cfde    [\^]!g"opq#SUWKIJPGHOQMRVLNT<;$%&-0'()*./+312,745689:=>E?@ABCDFXYZ_`ablmnrstuvwxyz{|}~ Safe-Inferredloc k m is the subset of  m whose keys are less than k.loc k m is the subset of  m whose keys are greater than k.loc k m is the subset of  m& whose keys are less than or equal to k.loc k m is the subset of  m) whose keys are greater than or equal to k. Safe-Inferred  Safe-Inferred57 'locList of length 1 or 2.locList of length 1locList of length 2loctoTuple (One 1) (1,Nothing)toTuple (Two 1 2) (1,Just 2)loctoTuple' (One 1) (Nothing,1)toTuple' (Two 1 2) (Just 1,2) Safe-Inferred57 locList of length 0, 1, or 2.locList of length 0locList of length 1locList of length 2None31locTypes that can be converted to ).!This class mostly exists so that 8 can be used in situations that would normally call for  (which we cannot use because  does not have an instance of ).loc stands for positive integer. You can also think of it as position:, because we use it to represent line and column numbers ( and ). has instances of several of the standard numeric typeclasses, although many of the operations throw C" when non-positive values result.  does not have an 9 instance, because there is no sensible way to implement d.locposShowsPrec minPrec 1 """1"posShowsPrec minPrec 42 """42"loc%readPrec_to_S posReadPrec minPrec "1"[(1,"")]&readPrec_to_S posReadPrec minPrec "42" [(42,"")]%readPrec_to_S posReadPrec minPrec "0"[]&readPrec_to_S posReadPrec minPrec "-1"[]loctoEnum 3 :: Pos3toEnum 0 :: Pos#*** Exception: arithmetic underflowfromEnum (3 :: Pos)3locfromInteger 3 :: Pos3fromInteger 0 :: Pos#*** Exception: arithmetic underflow 2 + 3 :: Pos5 3 - 2 :: Pos1 3 - 3 :: Pos#*** Exception: arithmetic underflow 2 * 3 :: Pos6negate 3 :: Pos#*** Exception: arithmetic underflowNone3loc Stands for location. Consists of a  and a . You can think of a  like a caret position in a text editor. Following the normal convention for text editors and such, line and column numbers start with 1.loc"locShowsPrec minPrec (loc 3 14) """3:14"loc(readPrec_to_S locReadPrec minPrec "3:14" [(3:14,"")]loc Create a & from a line number and column number.locThe smallest location:  1 1.origin1:1loc\ = locq = None3!locA  consists of a start location () and an end location (). The end location must be greater than the start location; in other words, empty or backwards spans are not permitted."Construct and combine spans using , , , and .loc?>@>A BC DE>F>G>H DI DJ>K>L>M>N OP OQ OR OS TU &V WX WY WZ [\ ]^ ]_ ]` ]a ]b ]c ]d ]e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v :w xy z{ z| 5} 5~ 5 5      " " " "     8 8 8 8 8 8                                                                wnqrstm#loc-0.1.3.16-904w31yyZwk4QWZD5g7nYcData.Loc.Internal.PreludeData.Loc.Internal.MapData.Loc.ExceptionData.Loc.List.OneToTwoData.Loc.List.ZeroToTwo Data.Loc.Pos Data.Loc.Loc Data.Loc.Span Data.Loc.AreaData.LocData.Loc.Typesbase System.IOprint Data.TuplefstsndGHC.Base otherwise$GHC.EnumenumFrom enumFromThen enumFromToenumFromThenToghc-prim GHC.Classes==>=>>=>>fmapreturnGHC.Real fromIntegral toInteger toRational Control.Monadguard<>memptymappendmconcat<*>pure*>EnumEqIntegralMonadFunctorOrdGHC.ReadReadRealGHC.ShowShow Data.FoldableFoldable SemigroupMonoid GHC.TypesBoolDoubleInt GHC.NaturalNatural GHC.MaybeMaybeOrderingIOFalseNothingJustTrueLTEQGTData.Bifunctorsecondfirstbimap Bifunctor System.Exit exitFailuremfilterData.Traversable mapAccumL sequenceAtraverse GHC.ExceptionthrowGHC.Exception.Type ExceptionRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflowArithException traverse_productsumminimummaximumelemlengthnulltoListfoldl1foldr1foldl'foldlfoldr'foldrfoldMap'foldMapfold Text.ReadreadControl.Category>>><<< readListPrecreadPrecreadList readsPrecText.ParserCombinators.ReadPrec readPrec_to_S readP_to_PrecminPrecReadPrec GHC.FloatsqrtquotRemdiv/roundfromEnumtoEnumpredsucc showStringshowsShowSshowListshow showsPrec Data.Maybe catMaybes fromMaybemaybe Data.Function&on Data.Functorvoid$><$>flip.constidwhenstimessconcat<$<*empty:|NonEmptyStringGHC.Err undefinedcompare<<=>maxmin/=&&||notcontainers-0.6.2.1Data.Map.InternalMapData.Set.InternalSet<&> readPrecCharbelowabovebelowInclusiveaboveInclusive LocException EmptySpan$fShowLocException$fExceptionLocException$fEqLocException$fOrdLocExceptionOneToTwoOneTwotoTupletoTuple' $fEqOneToTwo $fOrdOneToTwo$fShowOneToTwo$fReadOneToTwo$fFoldableOneToTwo$fFunctorOneToTwo ZeroToTwoZero $fEqZeroToTwo$fOrdZeroToTwo$fShowZeroToTwo$fReadZeroToTwo$fFoldableZeroToTwo$fFunctorZeroToTwoColumnLineToNattoNatPos posShowsPrec posReadPrec $fEnumPos $fRealPos$fNumPos $fReadPos $fShowPos $fToNatPos $fReadLine $fShowLine $fReadColumn $fShowColumn $fDataColumn $fEqColumn $fOrdColumn $fNumColumn $fRealColumn $fEnumColumn $fToNatColumn $fDataLine$fEqLine $fOrdLine $fNumLine $fRealLine $fEnumLine $fToNatLine $fDataPos$fEqPos$fOrdPosLoclinecolumn locShowsPrec locReadPreclocorigin $fReadLoc $fShowLoc $fDataLoc$fEqLoc$fOrdLocSpanstartend spanShowsPrec spanReadPrecfromTo fromToMaylines overlappinglinesOverlappingtouchingjoin+-joinAsc $fReadSpan $fShowSpan $fDataSpan$fEqSpan $fOrdSpanArea areaShowsPrec areaReadPrecspanAreaareaSpanspansAsc spanCount firstSpanlastSpanaddSpan$fSemigroupArea $fMonoidArea $fReadArea $fShowArea $fDataArea$fEqArea $fOrdArea$fDataTerminus $fEqTerminus $fOrdTerminuslocLine locColumn spanFromTo spanFromToMay areaFromTo areaUnionareaDifference areaSpansAsc spanUnionspanDifference spanStartspanEnd areaStartareaEndData.Map foldWithKeyinsertLookupWithKey'insertWithKey' insertWith'$Data.Map.Internal.DeprecatedShowTree showTreeWithshowTreeData.Map.Internal.Debugvalid splitRoot deleteFindMax deleteFindMin splitLookupsplitfromDistinctDescListfromDistinctAscListfromDescListWithKeyfromAscListWithKeyfromDescListWithfromAscListWith fromDescList fromAscList toDescList toAscListfromListWithKey fromListWithfromListfromSetkeysSetassocskeyselemsfoldMapWithKey foldlWithKey' foldlWithKey foldrWithKey' foldrWithKeymapKeysMonotonic mapKeysWithmapKeysmapAccumRWithKeymapAccumWithKeymapAccumtraverseWithKey mapWithKeymapmapEitherWithKey mapEithertraverseMaybeWithKeymapMaybeWithKeymapMaybepartitionWithKey partition spanAntitonedropWhileAntitonetakeWhileAntitone filterWithKeyfilterisProperSubmapOfByisProperSubmapOf isSubmapOfBy isSubmapOf mergeWithKeydisjointintersectionWithKeyintersectionWith restrictKeys intersectiondifferenceWithKeydifferenceWith withoutKeys difference unionWithKey unionWithunion unionsWithunionsmaxViewminViewmaxViewWithKeyminViewWithKeyupdateMaxWithKeyupdateMinWithKey updateMax updateMin deleteMax deleteMinfindMax lookupMaxfindMin lookupMindeleteAtupdateAtsplitAtdroptakeelemAt lookupIndex findIndexalterFalterupdateLookupWithKey updateWithKeyupdate adjustWithKeyadjustdeleteinsertLookupWithKey insertWithKey insertWithinsert singletonlookupGElookupLElookupGTlookupLTfindWithDefault notMembermemberlookupsize\\!?!