h$!X5      !"#$%&'()*+,-./01234(c) Andrey Mulik 2020 BSD-stylework.a.mulik@gmail.comnon-portable (GHC only) Trustworthy>sdp4text alias, may reduce ambiguity.56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(c) Andrey Mulik 2020 BSD-stylework.a.mulik@gmail.comnon-portable (GHC extensions)Safe>#sdp4text alias, may reduce ambiguity.56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ # #  (c) Andrey Mulik 2021 BSD-stylework.a.mulik@gmail.com+non-portable (requires non-portable module) Safe-Inferred 56789:;<=>             !"#$%&'()*+,!"#$%&'-./012345645745845912:4;<4;=4;>4;?4@A4BC4DE4FG4FH4IJ4IK4IL4IM4IN4IO4IP4IQ4IR4IS4TU4TV4TW4TX4TY4TZ4T[4T\4T]4T^4T_4T`4Ta4Tb4Tc4Td4Te4Tf4Tg4Th4Ti4Tj4Tk4Tl4Tm4Tn4To4Tp4Tq4Tr4Ts4Tt4Tu4Tv4Tw4Tx4Ty4Tz4T{4T|4T}4T~444F4@4@4@4@4@4@4@4@4@4@4@4@4@4@4@4444444444444;4;4;4;4;4;4;#sdp4text-0.2-L0QAu8OJOagFZa7cFQIsQ2SDP.Text.Builder SDP.Text.LazySDP.Text text-1.2.3.2Data.Text.Internal.Builderflush toLazyText fromLazyTextfromTextBuilderData.Text.LazytoTitletoUppertoLower toCaseFold fromStricttoStricttoChunks fromChunksData.Text.Internal.Lazy foldlChunks foldrChunksText Data.TextData.Text.InternalSText$fIsTextFileText $fIsFileText$fFreezeioMIOBytes#Text$fThawioTextMIOBytes#$fFreezeSTSTBytes#Text$fThawSTTextSTBytes#$fIndexedTextIntChar$fMapTextIntChar$fSplitTextChar$fLinearTextChar$fBorderedTextInt$fEstimateText$fNullableTextLText$fFreezeioAnyChunksText$fThawioTextAnyChunks$fFreezeSTAnyChunksText$fThawSTTextAnyChunks$fIsTextFileBuilder$fIsFileBuilder$fLinearBuilderChar$fNullableBuilderghc-prim GHC.TypesIntbaseGHC.IntInt8Int16Int32Int64WordGHC.WordWord8Word16Word32Word64GHC.IO.Handle.TypesHandle System.IOlocaleEncoding GHC.IO.Handle HandlePosnGHC.IO.Handle.FDstderrstdinGHC.IO.Encodingchar8utf32beutf32leutf32utf16beutf16leutf16utf8_bomutf8latin1System.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisResourceVanishedErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorTyperesourceVanishedErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorTypeisResourceVanishedError isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorGHC.IO.ExceptionioError IOErrorTypestdoutnoNewlineTranslationnativeNewlineModeuniversalNewlineMode nativeNewline BufferModeBlockBuffering NoBuffering LineBufferingNewlineLFCRLF NewlineModeinputNLoutputNL GHC.IO.DeviceSeekMode SeekFromEnd AbsoluteSeek RelativeSeekGHC.IO.Encoding.Types TextEncoding userErrorIOError GHC.IO.IOModeIOMode ReadWriteMode AppendModeReadMode WriteMode bitReverse64 bitReverse32 bitReverse16 bitReverse8 byteSwap64 byteSwap32 byteSwap16sdp-0.2-AH2T5KX1xmG8Wo3slp7kFT SDP.IndexedMIndexedMupdateM' fromAccumreshaped fromIndexedM fromIndexed'swapM' fromAssocs'writeM' fromAssocsThawthaw unsafeThaw IndexedM1 IndexedM2Thaw1 SDP.Indexed binaryContainIndexedupdates'update'imapwrite' fromIndexedassoc'accumassocFreezefreeze unsafeFreezeIndexed1Indexed2Freeze1SDP.MapMMapMkfoldlM'kfoldrM'kfoldlMkfoldrM*?.?getKeysmemberM' overwriteupdateM!?>!>>!newMap' getAssocsnewMapMapM1MapM2 SDP.LinearM BorderedM getIndices getIndexOf getOffsetOf nowIndexIn getSizesOf getSizeOfgetUpper getBoundsgetLowerLinearMswapMfoldlM'foldrM'ofoldlM'ofoldrM'ofoldlMofoldrMcopyTofilledmergedreversedcopied'copiedwriteM!#>getRightgetLeft fromFoldableM newLinearN newLinearprependgetHeadsingleMnowNullnewNullappendfoldlMgetLastfoldrMSplitMmsuffixmprefixsuffixMprefixMeachMchunksMpartsMdividesMsplitsMdivideMsplitMsansMkeepMtakeMdropMSplitM1LinearM1 BorderedM1 BorderedM2SDP.MapMapkfoldl'kfoldr'kfoldlkfoldr*$.$ lookupGE' lookupLE' lookupGT' lookupLT' intersection' difference'union'filter'.!member'delete'insert'toMap'toMapkeysupdate!?!//assocsMap1Map2SDP.SetSetWith lookupLEWith lookupGEWith lookupGTWith lookupLTWithsubsets isSubsetWith memberWithisDisjointWithisIntersectsWith symdiffsWithdifferencesWithintersectionsWith symdiffWith deleteWith groupSetWithsetWithintersectionWithdifferenceWith unionWith insertWith unionsWithSetsymdiffs differences intersections\+/\?//?\\^/\//\setunionslookupGElookupLElookupGTlookupLTmemberinsertdelete\\Set1SetWith1 SDP.Linear ascendinginitstails intercalate stripSuffix' stripPrefix' stripSuffix stripPrefixZ:>:<BorderedoffsetOfindexOfindexInsizesOfupperlowersizeOfindicesboundsLinearo_foldl'o_foldr'o_foldlo_foldrofoldl'ofoldr'ofoldlofoldr isSubseqOfselects'selectsextract'extractselect'select partitionsexcept!^ fromFoldablelistLlistRsingletoLastunsnoc'toHeaduncons'forceunsnocwrite subsequences partition interspersenubBynub concatMapreverse replicateiterateinitlasttailunconshead++filterconcatfromList fromListNSplit extractEnd' extractWhile' selectEnd' selectWhile' extractEnd extractWhile selectEnd selectWhiledropEndtakeEnddropSideinfixessuffixprefixeachFromeachjustifyRjustifyLcombo removeAll replaceBysplitsOnsplitsBydivideBysplitBychunkspartsdividessplitsdividesavesanskeepbreakrbreaklspanrspanlsplitskip isInfixOf isSuffixOf isPrefixOfdroptake takeWhile dropWhileLinear1Split1 Bordered1 Bordered2SDP.SortsortOnsortsortedOnsortedSortsortBysortedBySDP.ZipZipany6any5any4any3any2all6all5all4all3all2zapzipWith6zipWith5zipWith4zip6zip5zip4zipWith3zip3zipzipWith SDP.IndexdefaultBoundsUnsignoffsetIntegralsplitDimInBoundsORINERUR:|:SubIndexIndexslicesubshapeoffsetnextprev isUnderflow isOverflowinBounds defaultBoundsdefLimit ordBoundssafeElemsizesisEmptysize unsafeIndexindexinRangerange SDP.Shape fromGBounds toGBoundsGIndexDimInitDimLastShape unconsDimlastDiminitDimconsDimranktoGIndex fromGIndexRANK0RANK1RANK2RANK3RANK4RANK5RANK6RANK7RANK8RANK9RANK10RANK11RANK12RANK13RANK14RANK15 SDP.TuplebothsndsfstsT2T3T4T5T6T7T8T9T10T11T12T13T14T15 SDP.Finiteind15ind14ind13ind12ind11ind10ind9ind8ind7ind6ind5ind4ind3ind2E:&I1I2I3I4I5I6I7I8I9I10I11I12I13I14I15 SDP.NullableNULLNullablelzeroisNull!sdp-io-0.2-Aurc2tZC8tiKhY1ms0QFacSystem.IO.ClassesputsgetsputStrLnputStrgetLine appendFile writeFilereadFilewithFile putContents getContents IsFilePath hOpenTemphOpen hOpenWithIsFile hGetContents hPutContents IsTextFile hPutStrLnhGetLinehPutStrSystem.IO.HandleopenBinaryTempFile'openTempFileWith'openBinaryTempFile openTempFileencoding hGetEncoding hSetEncodingmkTextEncodinghSetNewlineModehGetBufNonBlockinghPutBufNonBlockinghPutBuf hGetBufSomehGetBufopenBinaryFilewithBinaryFilehSetBinaryModeputChargetCharhPutCharhGetChar hLookAheadhReady hWaitForInputechohGetEchohSetEchohIsTerminalDevice hIsSeekable hIsWritable hIsReadable hIsClosedhIsOpenhTellhSeekhSetPosnhGetPosn hBuffering hGetBuffering hSetBufferinghFlushhIsEOFisEOFfileSize hSetFileSize hGetFileSizehClosetakeDimdropDimjoinDim