W73;      !"#$%&'()*+,- . /0 1 2 3 4 5 6 7 8 9 :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc defg h i j k l m n opqrstuvw xyz{|}~                   !"#$%&'()*+ , - . / 0 1 2 3 4 5 6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~          cghijklmnw wnmlkjihgc       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX5@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst5]THIJKLMNOPQRS\UVWXYZ[kjihgfedcba`_^tsrqponmlGFEDCBA@ 6789:;<=>? ?>=<;:9876h     h      ()*+,|}~u ~|},+*u)( -..- 0123456789 9876543210YZ[\]^_`abcdefghijklmnopqrstu vwxyz{|}~ +,-./012345543210/.,-+  vwxyz{|}~~}|{zvxyw    //The : function captures a common allocate, compute, deallocate H idiom in which the deallocation step must occur even in the case of an I error during computation. This is similar to try-catch-finally in Java. ?This version handles only IO errors, as defined by Haskell 98.  The version of bracket in Control.Exception handles all exceptions,  and should be used instead.  A variant of # where the middle computation doesn't want x. ?This version handles only IO errors, as defined by Haskell 98.  The version of bracket_ in Control.Exception handles all exceptions,  and should be used instead. M:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abdefopqrstuvxyz{MZKyJHYXWIUMzTSRa;`_V^]\[:QPONLvutsrqpofedx{bAGFEDCB@?><= !"#$%&'()* !"#$%&'()* !"#$%&'  !"#$%&' ! "#$#%#&'( ) * + , - ./0/1  23/45677856 9:;3<3=3>3?33@3A3B3C3D3E3F3G3H3I3JKLKMNONPNQRSRTUVWXWYWZW[W\W]W^W_W`W 'a'b'c'd'e'f'g'h'i'j'k'l'm'nopoqorostutvtwtxtytzt{t|t}t~tttttot::::777/// / / / / //////////////## #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#DEFEGEHEIEJEKELEMENEOEPE  Q RSTUVWXYZ[\]^_`a_`b_`c_`d_`e_`f_`g_`h_`i_`j_`klmnlmolmplmqlmrlmslmtlmulmvlmvwxywxzwx{wx|wx}wx~wxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwx              !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~56haskell98-1.1.0.1ListIOMonadIxCharRatioArraySystemCPUTimeComplex MarshalErrorMaybe DirectoryLocaleTimeRandom MarshalUtils MarshalArray MarshalAllocCTypesCForeignCErrorCStringStorableBitsWordPtr StablePtr ForeignPtrIntbaseGHC.Base++foldrGHC.Listconcatfilterzip System.IOprintmapfail>>=>>fmapreturn Control.MonadguardliftMFunctorGHC.Arr MonadPlusghc-prim GHC.TypesGHC.RealRationalStringGHC.IO.Handle.TypesHandlerangeindexinRange rangeSizearraybounds listArray!indiceselemsassocs accumArray//accumixmap System.Exit exitFailureexitWithSystem.EnvironmentgetEnv getProgNamegetArgsSystem.CPUTimecpuTimePrecision getCPUTime Data.RatioapproxRational Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart:+hPrinthReadyreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.Handle.FDopenFileisEOFstderrstdin GHC.IO.Handle hIsSeekable hGetBuffering hIsWritable hIsReadable hIsClosedhIsOpenhSeekhSetPosnhGetPosn hSetBuffering hLookAheadhIsEOF hFileSizehClose HandlePosnGHC.IO.Handle.Text hPutStrLnhPutStrhPutChar hGetContentshGetLinehGetChar hWaitForInputSystem.IO.ErrorcatchannotateIOErrorioeGetFileName ioeGetHandleioeGetErrorString userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOErrortrystdouthFlushGHC.IO.ExceptionioError ExitSuccess ExitFailureExitCode IOErrorType NoBuffering LineBufferingBlockBuffering BufferMode Data.Listunwordswordsunlineslinesproductsumfoldl1unfoldrsortBysorttailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLength minimumBy maximumByminimummaximuminsertByinsert mapAccumR mapAccumL partition transpose intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isSuffixOf isPrefixOf findIndices findIndexfind elemIndices elemIndex Data.Char digitToInt GHC.UnicodetoUppertoLower GHC.IO.Device AbsoluteSeek RelativeSeek SeekFromEndSeekMode GHC.IO.IOModeReadMode WriteMode AppendMode ReadWriteModeIOModeGHC.Read readLitChar lexLitCharGHC.IOFilePath userErrorIOError denominator numerator%apliftM5liftM4liftM3liftM2unlesswhenfoldM zipWithM_zipWithM mapAndUnzipMjoinmsumfilterMmapM_mapM sequence_sequence=<<mplusmzeroGHC.Show intToDigit showLitCharunzip3unzipzipWith3zipWithzip3!! concatMaplookupnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlfoldllengthnullinitlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeNothingJustordchrisAsciiisLatin1 isControlisPrintisSpaceisUpperisLowerisAlphaisDigit isOctDigit isHexDigit isAlphaNumdirectory-1.1.0.1System.DirectorygetModificationTime doesFileExistdoesDirectoryExistsetCurrentDirectorygetCurrentDirectorygetDirectoryContents renameFilerenameDirectory removeFileremoveDirectorycreateDirectoryold-locale-1.0.0.3 System.LocaledefaultTimeLocale time12FmttimeFmtdateFmt dateTimeFmtamPmmonthswDays TimeLocaleold-time-1.0.0.7 System.TimeformatCalendarTimecalendarTimeToString toClockTime toUTCTimetoCalendarTimediffClockTimesaddToClockTime getClockTimeJanuaryFebruaryMarchAprilMayJuneJulyAugust SeptemberOctoberNovemberDecemberMonthSundayMondayTuesday WednesdayThursdayFridaySaturdayDay ClockTimectIsDSTctTZctTZNamectYDayctWDay ctPicosecctSecctMinctHourctDayctMonthctYear CalendarTime tdPicosectdSectdMintdHourtdDaytdMonthtdYearTimeDiffprocess-1.0.1.5System.Processsystemrandom-1.0.1.1 System.Random getStdRandom newStdGen getStdGen setStdGenmkStdGensplitgenRangenext RandomGenStdGenrandomIO randomRIOrandomsrandomRsrandomrandomR Permissionsreadablewritable executable searchablegetPermissionssetPermissionsbracketbracket_Foreign.Marshal.Utils moveBytes copyByteswithMany maybePeek maybeWithmaybeNewtoBoolfromBoolwithnewForeign.Marshal.Errorvoid throwIfNull throwIfNeg_ throwIfNegthrowIf_throwIfForeign.Marshal.Array advancePtr lengthArray0 moveArray copyArray withArrayLen0 withArray0 withArrayLen withArray newArray0newArray pokeArray0 pokeArray peekArray0 peekArray reallocArray0 reallocArray allocaArray0 allocaArray mallocArray0 mallocArrayForeign.Marshal.Allocfree reallocBytesreallocallocaBytesAligned allocaBytesalloca mallocBytesmalloc finalizerFreeForeign.C.TypesCCharCSCharCUCharCShortCUShortCIntCUIntCLongCULongCLLongCULLongCFloatCDoubleCPtrdiffCSizeCWchar CSigAtomicCClockCTime CUSeconds CSUSecondsCFileCFposCJmpBufCIntPtrCUIntPtrCIntMaxCUIntMaxForeign.C.ErrorerrnoToIOErrorthrowErrnoPathIfMinus1_throwErrnoPathIfMinus1throwErrnoPathIfNullthrowErrnoPathIf_throwErrnoPathIfthrowErrnoPaththrowErrnoIfNullRetryMayBlockthrowErrnoIfNullRetrythrowErrnoIfNull throwErrnoIfMinus1RetryMayBlock_throwErrnoIfMinus1RetryMayBlockthrowErrnoIfMinus1Retry_throwErrnoIfMinus1RetrythrowErrnoIfMinus1_throwErrnoIfMinus1throwErrnoIfRetryMayBlock_throwErrnoIfRetry_throwErrnoIfRetryMayBlockthrowErrnoIfRetry throwErrnoIf_ throwErrnoIf throwErrno resetErrnogetErrno isValidErrnoeXDEV eWOULDBLOCKeUSERSeTXTBSY eTOOMANYREFS eTIMEDOUTeTIMEeSTALEeSRMNTeSRCHeSPIPEeSOCKTNOSUPPORT eSHUTDOWNeRREMOTE eRPCMISMATCHeROFSeREMOTEeREMCHGeRANGE ePROTOTYPEePROTONOSUPPORTePROTO ePROGUNAVAIL ePROGMISMATCH ePROCUNAVAILePROCLIMePIPE ePFNOSUPPORTePERM eOPNOTSUPPeNXIOeNOTTYeNOTSOCK eNOTEMPTYeNOTDIReNOTCONNeNOTBLKeNOSYSeNOSTReNOSReNOSPC eNOPROTOOPTeNONETeNOMSGeNOMEMeNOLINKeNOLCKeNOEXECeNOENTeNODEVeNODATAeNOBUFSeNFILE eNETUNREACH eNETRESETeNETDOWN eNAMETOOLONG eMULTIHOPeMSGSIZEeMLINKeMFILEeLOOPeISDIReISCONNeIOeINVALeINTR eINPROGRESSeILSEQeIDRM eHOSTUNREACH eHOSTDOWNeFTYPEeFBIGeFAULTeEXISTeDQUOTeDOMeDIRTY eDESTADDRREQeDEADLK eCONNRESET eCONNREFUSED eCONNABORTEDeCOMMeCHILDeBUSYeBADRPCeBADMSGeBADFeALREADYeAGAIN eAFNOSUPPORTeADV eADDRNOTAVAIL eADDRINUSEeACCESe2BIGeOKErrnoForeign.C.StringwithCWStringLen withCWStringnewCWStringLen newCWStringpeekCWStringLen peekCWStringwithCAStringLen withCAStringnewCAStringLen newCAStringpeekCAStringLen peekCAStringcastCharToCSCharcastCSCharToCharcastCharToCUCharcastCUCharToCharcastCharToCCharcastCCharToCharcharIsRepresentablewithCStringLen withCString newCStringLen newCStringpeekCStringLen peekCString CStringLenCWString CWStringLenForeign.Storablepokepeek pokeByteOff peekByteOff pokeElemOff peekElemOff alignmentsizeOf Data.BitsrotateRrotateLshiftRshiftLisSignedbitSizetestBit complementBitclearBitsetBitbitrotateshift complementxor.|..&.GHC.WordWord8Word16Word32Word64GHC.PtrFunPtr Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtrcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtr GHC.Stable newStablePtrcastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrGHC.ForeignPtrForeign.ForeignPtrunsafeForeignPtrToPtrForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtrGHC.IntInt8Int16Int32Int64