a àMÒe¦ã@sXddlZddlZddlZddlZddlZddlZdd„ZejjGdd„dej j ƒƒZ dS)éNcCs4t|ƒ}|dksJ‚| t d|¡¡| |¡dS)Néz!B)ÚlenÚwriteÚstructÚpack)ÚfileÚsÚl©r ú8/usr/lib/python3.9/site-packages/dns/rdtypes/IN/NAPTR.pyÚ _write_strings r csleZdZdZgd¢Z‡fdd„Zddd„Zedd d „ƒZdd d „Z eddd„ƒZ dd„Z edd„ƒZ ‡Z S)ÚNAPTRz NAPTR record)ÚorderÚ preferenceÚflagsÚserviceÚregexpÚ replacementc sftƒ ||¡| |dd¡|_| |dd¡|_| |dd¡|_| |¡|_| |¡|_|  |¡|_ dS)NTéÿ) ÚsuperÚ__init__Z _as_bytesrrrZ _as_uint16rrZ_as_namer) ÚselfÚrdclassÚrdtyperrrrrr©Ú __class__r r r*s  zNAPTR.__init__NTcKsD|j ||¡}d|j|jtj |j¡tj |j¡tj |j ¡|fS)Nz%d %d "%s" "%s" "%s" %s) rZchoose_relativityrrÚdnsÚrdataZ _escapifyrrr)rÚoriginÚ relativizeÚkwrr r r Úto_text5s   úz NAPTR.to_textc CsL| ¡}| ¡}| ¡} | ¡} | ¡} | |||¡} |||||| | | | ƒS©N)Z get_uint16Z get_stringÚget_name) ÚclsrrÚtokrrZ relativize_torrrrrrr r r Ú from_text@sÿzNAPTR.from_textFcCsVt d|j|j¡}| |¡t||jƒt||jƒt||jƒ|j   ||||¡dS)Nú!HH) rrrrrr rrrrZto_wire)rrÚcompressrZ canonicalizeZtwo_intsr r r Ú_to_wireNs     zNAPTR._to_wirec Cs^| d¡\}}g}tdƒD]}| ¡} | | ¡q| |¡} ||||||d|d|d| ƒS)Nr'éréé)Z get_structÚrangeZget_counted_bytesÚappendr#) r$rrÚparserrrrÚstringsÚ_rrr r r Úfrom_wire_parserVs    øzNAPTR.from_wire_parsercCs |j|jfSr")rr)rr r r Ú_processing_priorityiszNAPTR._processing_prioritycCstjj |¡Sr")rZrdtypesÚutilZpriority_processing_order)r$Úiterabler r r Ú_processing_orderlszNAPTR._processing_order)NT)NTN)NNF)N)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú __slots__rr!Ú classmethodr&r)r2r3r6Ú __classcell__r r rr r "s ÿ  r ) rZ dns.exceptionrZ dns.immutableZdns.nameZ dns.rdataZdns.rdtypes.utilr Z immutablerZRdatar r r r r Ús