# !"#$%&'()*+,-./0123# !"#$%&'()*+,-./0123# !"#$%&'()*+,-./0123%456789:;<Error recovery up to 30%. Error recovery up to 25%. Error recovery up to 15%. Error recovery up to 7%. =>? -0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-.:.;Input alphabets are automatically converted to upper case.   0123456789@ABCDEFGHIJKLMNO%456789:;<=>?@ABCDEFGHIJKLMNO%456789:;<56789:;<==?>>?@ABCDEFGHIJKLMNO P 0The smallest unit in a QR Code symbol (i.e. one square). QRSTUVWX P QRSTUVWX P  QRSTUVWX YZ[\]^_`ab YZ[\]^_`ab YZ[\]^_`ab Represents a QR Code symbol. cde  Convert a   to an array of f    modules will have the value g;    modules will have the value h ijklmn cde ijklmn cdcde ijklmn-opqrstuvwxyz{|}~-opqrstuvwxyz{|}~-oppqrstuvwxyz{|}~     Portable  Experimental chris@kizzx2.com Returns ! if the input is invalid for the  specified.  The number of modules per side. Valid version number is [1, 40]      !!"#$%&'()*+,-./0123456789:;<=>??@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqopropstuvwxyz{|}~    o qrcode-0.1Codec.Binary.QRCodeCodec.Binary.QRCode.GaloisFieldCodec.Binary.QRCode.SpecCodec.Binary.QRCode.UtilsCodec.Binary.QRCode.BlocksCodec.Binary.QRCode.MatrixCodec.Binary.QRCode.PlacementCodec.Binary.QRCode.Masks!Codec.Binary.QRCode.Modes.Numeric&Codec.Binary.QRCode.Modes.AlphanumericCodec.Binary.QRCode.FormatInfoCodec.Binary.QRCode.VersionInfo ErrorLevelHQMLVersionMode AlphanumericNumericModuleLightDarkMatrixtoArrayencodewidthversionGFPTerm GFPolynomial gfpGetTerms GFElementgfGetqrGFSizeqrFieldPolynomialreadBingfAddgfMinusgfALogs gfALogsVecgfALoggfLogsgfLoggfMultgfQuot gfShowBin gfQuotRemgfpOrdergfZeroes gfpEnlarge gfpShowBingfpHead gfpZipWithgfpAddgfpMinus gfpMultTerm gfpAddTerm gfpQuotRem gfpRightPad mkPolynomialgfpToBinaryReprInfo qrVersionqrNumModulesPerSideqrNumFunctionPatternModules qrNumFormatAndVersionInfoModulesqrNumDataModulesqrDataCapacityqrRemainderBitsKanjiEightBit qrGetWidthqrFormatInfoMaskqrFormatInfoGenPolyqrVersionInfoGenPolyqrErrorLevelIndicatorsqrAlignmentCenters qrGetInfo mkVersionqrLengthsOfCCI qrLengthOfCCI qrMatchTable qrDCWSizesqrNumErrorCodewordsPerBlock qrNumDataBits qrGenPoly qrGenPolyRawModulesReaderQR BitStreamInputqrXor toModules showBinPaddedchunksOftoPoly CodewordsmkPolyForEncode interleavepad transposechunks toCodewords genCodewordsmkDataCodewordstoECPolyQRM getModulesgetWidthbaseGHC.EnumBoundedmaxBoundminBoundqrmColqrmRowqrmWidth qrmOverlay show2DArray showMatrixMyCharMC MatrixPart ReaderCoordsCoords intertwinemkMatrixmkSymbolWithFunctionPatternsmkSymbol qrmApplyInfoqrmApplyFormatInfoqrmApplyVersionInfo mkDebugPathmkPath mkRawPathgenTimingPattern joinPatternsfastDiffsubtractPatterns/+/allFunctionPatternsnaturaltimingPatternstimingPatternHorizontaltimingPatternVerticalversionInfoRegion'versionInfoRegionBottomLeftversionInfoRegionTopRightversionInfoRegionshardcodedDarkModuleformatInfoRegionsformatInfoRegionHorizontalformatInfoRegionVerticalfinderPatternsfinderPatternTopLeftfinderPatternTopRightfinderPatternBottomLeftgenFinderPatternemptyFinderPatternRowgenFinderPatternTopLeftgenFinderPatternTopRightgenFinderPatternBottomLeftgenAlignmentPatternsoverlapsFinderalignmentCoordsBlock mask000Cond mask001Cond mask010Cond mask011Cond mask100Cond mask101Cond mask110Cond mask111CondmkMaskmask000mask001mask010mask011mask100mask101mask110mask111mask applyMaskrlescore scoreRule1 all2x2BlockscountFinderRatioproportionOfDarkModulessafeReadconvertcharstable toCharValues Data.MaybeNothingencode'