4b*n      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmNone Raw data format for each type. &Raw data format for resource records. #Raw data format for DNS questions. $9Raw data format for the flags of DNS Query and Response. -:Raw data format for the header of DNS Query and Response. 5,Raw data format for DNS Query and Response. <Types for resource records. GType for domain. nMaking Question. S  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGopHIJnqrKLsR  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGopHIJnqrKL    !#"$%&'()*+,-./0123456789:;< FEDCBA@?>=GopHIJnqrKLsNoneM  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMG<FEDCBA@?>=HIJ56789:;-./01234$%&'()*+,!#"   KLNone(tuvwxyz{|}~'tuvwxyz{|}~"tuvwxyz{|}~NoneMReceiving DNS data from  and parse it. 9 The second argument is a buffer size for the socket. NParsing DNS data. MNMNNMMNNoneOBComposing query. First argument is a number to identify response. PComposing DNS data. OPOPPO OPNone Q#Abstract data type of DNS Resolver W(Abstract data type of DNS Resolver seed X Type for resolver configuration \This field was obsoleted. ]Union type for  and  . Specify  to  " resolv.conf" or numeric IP address in  form. `Default X.  Z is _ "/etc/ resolv.conf".  [ is 3,000,000 micro seconds.  \ is 512. (obsoleted) aMaking W+ from an IP address of a DNS cache server. bGiving a thread-safe Q to the function of the second  argument. b should be passed to forkIO. c)Looking up resource records of a domain. d:Looking up a domain and returning an entire DNS Response. QRSTUVWXYZ[\]^_`abcdQRSTUVWXYZ[\]^_`abcd]_^XYZ[\`WaQRSTUVbcd QRSTUVWXYZ[\]_^`abcdNone e Resolving  by F. f Resolving  by E. g Resolving G and its preference by B. h Resolving  by F via B. i Resolving  by E via B. j Resolving G by D. k Resolving  by C. l Resolving G and its preference by ?. m Resolving G and its preference by >. efghijklm efghijklm efghijklm efghijklmNonen  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm      !"#$%&'()*++,-./01233456789::;<=>?@ABCDEFGHIJKLMNOPQRSTUUVWXYZ[[\]^_`abcdefghijklmnopqrstuvvwxyzz{|}~Z dns-0.3.8Network.DNS.TypesNetwork.DNS.DecodeNetwork.DNS.EncodeNetwork.DNS.ResolverNetwork.DNS.LookupNetwork.DNS.InternalNetwork.DNS.StateBinary Network.DNSRDATARD_OTHRD_SRVRD_TXTRD_AAAARD_ARD_SOARD_PTRRD_MXRD_CNAMERD_NSResourceRecordrrnamerrtyperrttlrdlenrdataQuestionqnameqtypeRCODERefusedNotImplNameErrServFail FormatErrNoErrOPCODEOP_SSROP_INVOP_STDQorR QR_ResponseQR_QueryDNSFlagsqOrRopcode authAnswer trunCation recDesired recAvailablercode DNSHeader identifierflagsqdCountanCountnsCountarCount DNSFormatheaderquestionanswer authority additionalTYPEUNKNOWNSRVPTRSOACNAMEMXTXTNSAAAAADomain intToType typeToInttoType responseA responseAAAAreceivedecode composeQueryencodeResolvergenIddnsSock dnsTimeout dnsBufsize ResolvSeed ResolvConf resolvInfo resolvTimeout resolvBufsizeFileOrNumericHost RCHostName RCFilePathdefaultResolvConfmakeResolvSeed withResolverlookup lookupRawlookupA lookupAAAAlookupMX lookupAviaMXlookupAAAAviaMXlookupNS lookupTXT lookupPTR lookupSRV makeQuestionrrDBrookup defaultQuerydefaultResponse $fShowRDATAPStatepsDomain psPositionSGetWStatewsDomain wsPositionSPut initialWStateput8put16put32putInt8putInt16putInt32 putByteString addPositionW fixedSized writeSizedwsPopwsPush getPosition addPositionpushpopget8get16get32getInt8getInt16getInt32 getNBytesgetNByteString initialStatesinkSGetrunSGetrunSPut$fMonoidStateTnetwork-2.4.1.2Network.Socket.TypesSocketreceiveDNSFormatdecodeResponse decodeFlags decodeHeader decodeQueries decodeType decodeQuery decodeRRsdecodeRR decodeRData decodeDomain ignoreClass+++encodeDNSFormat encodeHeader encodeFlagsencodeQuestionencodeRR encodeRDATA encodeDomain encodePointerencodePartialDomainbaseGHC.IOFilePathNetwork.SocketHostNameGHC.BaseStringaddrInfo rsTimeout rsBufsize makeAddrInfo getRandomiproute-1.2.11 Data.IP.AddrIPv4IPv6 lookupXviaMX