Ë ����†£éfw1��ã�������������������ó¾��—�d�Z�ddlZddlZddlmZmZmZ�ddlZddl Zddl ZddlZddlZddl ZddlZej������������������j ������������������hZej������������������j$������������������ej������������������j&������������������ej������������������j(������������������hZd„�Zej.�������������������G�d„�dej0������������������«������«�������Z�G�d„�d«������Zej6������������������j6�������������������G�d „�d e«������«�������Zy)z)DNS nodes. A node is a set of rdatasets.é����N)ÚAnyÚDictÚOptionalc�����������������óT���—�||�v�xs#�|t���������j������������������j������������������k(��xr�||�v�S�©N)ÚdnsÚ rdatatypeÚRRSIG)ÚrdtypesÚrdtypeÚcoverss��� úQ/var/lib/jenkins/workspace/mettalog/venv/lib/python3.12/site-packages/dns/node.pyÚ_matches_type_or_its_signaturer���,���s+���€�ØWÐÒU ¬3¯=©=×+>Ñ+>Ñ!>Ò!TÀ6ÈWÐCTÐUó����c�������������������óÌ���—�e�Zd�ZdZdZdZdZedej������������������j������������������dej������������������j������������������dd�fd„«�������Zed ej������������������j������������������dd�fd „«�������Zy)ÚNodeKindzRdatasets in nodesr���é���é���r���r ���Úreturnc�����������������ó¦���—�t��������t��������||«������rt��������j������������������S�t��������t��������||«������rt��������j ������������������S�t��������j������������������S�r���)r���Ú_cname_typesr���ÚCNAMEÚ_neutral_typesÚNEUTRALÚREGULAR)Úclsr���r ���s��� r���ÚclassifyzNodeKind.classify8���s>���€�ô�*¬,¸ÀÔGÜ—>‘>Ð!Ü +¬N¸FÀFÔ KÜ×#Ñ#Ð#ä×#Ñ#Ð#r���Úrdatasetc�����������������óN���—�|�j������������������|j������������������|j������������������«������S�r���)r���r���r ���)r���r���s��� r���Úclassify_rdatasetzNodeKind.classify_rdatasetC���s���€�à|‰|˜HŸO™O¨X¯_©_Ó=Ð=r���N)Ú__name__Ú __module__Ú__qualname__Ú__doc__r���r���r���Úclassmethodr���r ���Ú RdataTyper���r���ÚRdatasetr ���©�r���r���r���r���0���s~���„�áà€GØ€GØ €Eàð$Ø—]‘]×,Ñ,ð$Ø69·m±m×6MÑ6Mð$à ò$ó�ð$ð�ð>¨¯©×)>Ñ)>ð�>À:ò�>ó�ñ>r���r���c�������������������ól��—�e�Zd�ZdZdgZd„�Zdej������������������j������������������de e ef���de fd„Zd„�Z d „�Zd „�Zd„�Zd„�Zd „�Zej&������������������j(������������������dfdej*������������������j,������������������dej&������������������j.������������������dej&������������������j.������������������dedej2������������������j4������������������f d„Zej&������������������j(������������������dfdej*������������������j,������������������dej&������������������j.������������������dej&������������������j.������������������dedeej2������������������j4���������������������f d„Zej&������������������j(������������������fdej*������������������j,������������������dej&������������������j.������������������dej&������������������j.������������������ddfd„Zdej2������������������j4������������������ddfd„Zde fd„Z!defd„Z"y)ÚNodeaÖ��A Node is a set of rdatasets. A node is either a CNAME node or an "other data" node. A CNAME node contains only CNAME, KEY, NSEC, and NSEC3 rdatasets along with their covering RRSIG rdatasets. An "other data" node contains any rdataset other than a CNAME or RRSIG(CNAME) rdataset. When changes are made to a node, the CNAME or "other data" state is always consistent with the update, i.e. the most recent change wins. For example, if you have a node which contains a CNAME rdataset, and then add an MX rdataset to it, then the CNAME rdataset will be deleted. Likewise if you have a node containing an MX rdataset and add a CNAME rdataset, the MX rdataset will be deleted. Ú rdatasetsc�����������������ó���—�g�|�_���������y�r���©r+���©Úselfs��� r���Ú__init__z Node.__init__Z���s ���€�àˆr���ÚnameÚkwr���c�����������������óö���—�t��������j������������������«�������}|�j������������������D�]D��}t��������|«������dkD��sŒ|j �������������������|j ������������������|fi�|¤Ž«�������|j ������������������d«�������ŒF�|j ������������������«�������dd�S�)a"��Convert a node to text format. Each rdataset at the node is printed. Any keyword arguments to this method are passed on to the rdataset's to_text() method. *name*, a ``dns.name.Name``, the owner name of the rdatasets. Returns a ``str``. r���ú Néÿÿÿÿ)ÚioÚStringIOr+���ÚlenÚwriteÚto_textÚgetvalue)r/���r1���r2���ÚsÚrdss��� r���r:���zNode.to_text^���sd���€�ô� K‰K‹MˆØ—>”>ˆCÜ3‹x˜!‹|Ø—‘˜˜Ÿ™ DÑ/¨BÑ/Ô0Ø—‘˜• ð�"ð�z‰z‹|˜C˜RÐ Ð r���c�����������������ó6���—�dt��������t��������|�«������«������z���dz���S�)Nz <DNS node ú>)ÚstrÚidr.���s��� r���Ú__repr__z Node.__repr__r���s���€�Øœc¤" T£(›mÑ+¨cÑ1Ð1r���c�����������������óˆ���—�|�j�������������������D�]��}||j�������������������vsŒ�y�|j�������������������D�]��}||�j�������������������vsŒ�y�y)NFTr-���)r/���ÚotherÚrds��� r���Ú__eq__zNode.__eq__u���sE���€�ð�—.”.ˆBؘŸ™Ò(Ùð�!ð�—/”/ˆBؘŸ™Ò'Ùð�"ð�r���c�����������������ó&���—�|�j������������������|«�������S�r���)rF���)r/���rD���s��� r���Ú__ne__zNode.__ne__���s���€�Ø—;‘;˜uÓ%Ð%Ð%r���c�����������������ó,���—�t��������|�j������������������«������S�r���)r8���r+���r.���s��� r���Ú__len__zNode.__len__„���s���€�Ü4—>‘>Ó"Ð"r���c�����������������ó,���—�t��������|�j������������������«������S�r���)Úiterr+���r.���s��� r���Ú__iter__z Node.__iter__‡���s���€�ÜD—N‘NÓ#Ð#r���c�����������������ó ��—�t��������|�j������������������«������dkD��rÆt��������j������������������|«������}|t��������j������������������k(��rF|�j������������������D�cg�c]*��}t��������j������������������|«������t��������j ������������������k7��r|‘Œ,�c}|�_��������nX|t��������j ������������������k(��rE|�j������������������D�cg�c]*��}t��������j������������������|«������t��������j������������������k7��r|‘Œ,�c}|�_��������|�j������������������j ������������������|«�������yc�c}w�c�c}w�)a†��Append rdataset to the node with special handling for CNAME and other data conditions. Specifically, if the rdataset being appended has ``NodeKind.CNAME``, then all rdatasets other than KEY, NSEC, NSEC3, and their covering RRSIGs are deleted. If the rdataset being appended has ``NodeKind.REGULAR`` then CNAME and RRSIG(CNAME) are deleted. r���N)r8���r+���r���r ���r���r���Úappend)r/���r���Úkindr=���s��� r���Ú_append_rdatasetzNode._append_rdatasetŠ���sÏ���€�ô�ˆt~‰~Ó Ò"Ü×-Ñ-¨hÓ7ˆDØ”x—~‘~Ò%ð� $Ÿ~™~ö"àÜ×1Ñ1°#Ó6¼(×:JÑ:JÒJò�ò"•ð �œ×)Ñ)Ò)ð� $Ÿ~™~ö"àÜ×1Ñ1°#Ó6¼(¿.¹.ÒHò�ò"”ð� ‰×јhÕ'ùò"ùò"s���Á/C;Â(/D�FÚrdclassr���r ���Úcreatec�����������������óÊ���—�|�j�������������������D�]��}|j������������������|||«������sŒ|c�S��|st��������‚t��������j������������������j������������������|||«������}|�j ������������������|«�������|S�)a*��Find an rdataset matching the specified properties in the current node. *rdclass*, a ``dns.rdataclass.RdataClass``, the class of the rdataset. *rdtype*, a ``dns.rdatatype.RdataType``, the type of the rdataset. *covers*, a ``dns.rdatatype.RdataType``, the covered type. Usually this value is ``dns.rdatatype.NONE``, but if the rdtype is ``dns.rdatatype.SIG`` or ``dns.rdatatype.RRSIG``, then the covers value will be the rdata type the SIG/RRSIG covers. The library treats the SIG and RRSIG types as if they were a family of types, e.g. RRSIG(A), RRSIG(NS), RRSIG(SOA). This makes RRSIGs much easier to work with than if RRSIGs covering different rdata types were aggregated into a single RRSIG rdataset. *create*, a ``bool``. If True, create the rdataset if it is not found. Raises ``KeyError`` if an rdataset of the desired type and class does not exist and *create* is not ``True``. Returns a ``dns.rdataset.Rdataset``. )r+���ÚmatchÚKeyErrorr���r���r'���rQ���©r/���rR���r���r ���rS���r=���s��� r���Ú find_rdatasetzNode.find_rdataset¦���s]���€�ð@�—>”>ˆCØy‰y˜ &¨&Õ1Ø’ ð�"ñ�܈NÜl‰l×#Ñ# G¨V°VÓ<ˆØ×јcÔ"؈ r���c�����������������óT���—� �|�j������������������||||«������}|S�#�t��������$�r�d}Y�|S�w�xY�w)aç��Get an rdataset matching the specified properties in the current node. None is returned if an rdataset of the specified type and class does not exist and *create* is not ``True``. *rdclass*, an ``int``, the class of the rdataset. *rdtype*, an ``int``, the type of the rdataset. *covers*, an ``int``, the covered type. Usually this value is dns.rdatatype.NONE, but if the rdtype is dns.rdatatype.SIG or dns.rdatatype.RRSIG, then the covers value will be the rdata type the SIG/RRSIG covers. The library treats the SIG and RRSIG types as if they were a family of types, e.g. RRSIG(A), RRSIG(NS), RRSIG(SOA). This makes RRSIGs much easier to work with than if RRSIGs covering different rdata types were aggregated into a single RRSIG rdataset. *create*, a ``bool``. If True, create the rdataset if it is not found. Returns a ``dns.rdataset.Rdataset`` or ``None``. N)rX���rV���rW���s��� r���Úget_rdatasetzNode.get_rdatasetÏ���s?���€�ð> Ø×$Ñ$ W¨f°f¸fÓEˆCð�ˆ øô�ò� ؉C؈ ð ús���‚�˜'¦'Nc�����������������óf���—�|�j������������������|||«������}||�j������������������j������������������|«�������yy)aD��Delete the rdataset matching the specified properties in the current node. If a matching rdataset does not exist, it is not an error. *rdclass*, an ``int``, the class of the rdataset. *rdtype*, an ``int``, the type of the rdataset. *covers*, an ``int``, the covered type. N)rZ���r+���Úremove)r/���rR���r���r ���r=���s��� r���Údelete_rdatasetzNode.delete_rdatasetô���s4���€�ð$�×Ñ ¨°Ó8ˆØˆ?ØN‰N×!Ñ! #Õ&ð�r���Úreplacementc�����������������óN��—�t��������|t��������j������������������j������������������«������st ��������d«������‚t��������|t��������j ������������������j������������������«������r|j������������������«�������}|�j������������������|j������������������|j������������������|j������������������«�������|�j������������������|«�������y)aÅ��Replace an rdataset. It is not an error if there is no rdataset matching *replacement*. Ownership of the *replacement* object is transferred to the node; in other words, this method does not store a copy of *replacement* at the node, it stores *replacement* itself. *replacement*, a ``dns.rdataset.Rdataset``. Raises ``ValueError`` if *replacement* is not a ``dns.rdataset.Rdataset``. zreplacement is not an rdatasetN) Ú isinstancer���r���r'���Ú ValueErrorÚrrsetÚRRsetÚto_rdatasetr]���rR���r���r ���rQ���©r/���r^���s��� r���Úreplace_rdatasetzNode.replace_rdataset ��s}���€�ô�˜+¤s§|¡|×'<Ñ'<Ô=ÜÐ=Ó>Ð>Ük¤3§9¡9§?¡?Ô3ð�&×1Ñ1Ó3ˆKØ×ÑØ×Ñ ×!3Ñ!3°[×5GÑ5Gô ð� ×јkÕ*r���c�����������������óÆ���—�|�j�������������������D�]C��}t��������j������������������|j������������������|j������������������«������}|t��������j ������������������k7��sŒA|c�S��t��������j ������������������S�)aT��Classify a node. A node which contains a CNAME or RRSIG(CNAME) is a ``NodeKind.CNAME`` node. A node which contains only "neutral" types, i.e. types allowed to co-exist with a CNAME, is a ``NodeKind.NEUTRAL`` node. The neutral types are NSEC, NSEC3, KEY, and their associated RRSIGS. An empty node is also considered neutral. A node which contains some rdataset which is not a CNAME, RRSIG(CNAME), or a neutral type is a a ``NodeKind.REGULAR`` node. Regular nodes are also commonly referred to as "other data". )r+���r���r���r���r ���r���)r/���r���rP���s��� r���r���z Node.classify$��sM���€�ð�ŸœˆHÜ×$Ñ$ X§_¡_°h·o±oÓFˆDØ”x×'Ñ'Ó'Ø’ð�'ô�×ÑÐr���c������������������ó���—�y)NFr(���r.���s��� r���Úis_immutablezNode.is_immutable9��s���€�Ør���)#r!���r"���r#���r$���Ú __slots__r0���r���r1���ÚNamer���r@���r���r:���rB���rF���rH���rJ���rM���rQ���r ���ÚNONEÚ rdataclassÚ RdataClassr&���Úboolr���r'���rX���r���rZ���r]���rf���r���r���ri���r(���r���r���r*���r*���H���sÐ��„�ñ ð� €Iòð!˜CŸH™HŸM™Mð�!°°c¸3°h±ð�!ÀCó�!ò(2ò ò&ò#ò$ò(ð@�+.¯-©-×*<Ñ*<Øñ'à—‘×*Ñ*ð'ð�— ‘ ×'Ñ'ð'ð�— ‘ ×'Ñ'ð 'ð �ð'ð� ‰× Ñ ó 'ðZ�+.¯-©-×*<Ñ*<Øñ#à—‘×*Ñ*ð#ð�— ‘ ×'Ñ'ð#ð�— ‘ ×'Ñ'ð #ð �ð#ð� #—,‘,×'Ñ'Ñ (ó #ðR�+.¯-©-×*<Ñ*<ñ 'à—‘×*Ñ*ð'ð�— ‘ ×'Ñ'ð'ð�— ‘ ×'Ñ'ð 'ð � ó'ð,+¨C¯L©L×,AÑ,Að�+Àdó�+ð4 ˜(ó� ð*˜dô�r���r*���c�������������������ó���‡�—�e�Zd�Zˆ�fd„Zej ������������������j������������������dfdej������������������j������������������dej ������������������j������������������dej ������������������j������������������de dej������������������j������������������f ˆ�fd„ Z ej ������������������j������������������dfdej������������������j������������������dej ������������������j������������������dej ������������������j������������������de deej������������������j���������������������f ˆ�fd „ Zej ������������������j������������������fdej������������������j������������������dej ������������������j������������������dej ������������������j������������������dd fd„Zdej������������������j������������������dd fd „Zde fd„Zˆ�xZS�)Ú ImmutableNodec�����������������ó¶���•—�t���������‰|���«��������t��������|j������������������D�cg�c]!��}t��������j ������������������j ������������������|«������‘Œ#�c}«������|�_��������y�c�c}w�r���)Úsuperr0���Útupler+���r���r���ÚImmutableRdataset)r/���Únoder=���Ú __class__s��� €r���r0���zImmutableNode.__init__?��s>���ø€�Ü ‰ÑÔÜØ<@¿N¹NÖK°SŒS\‰\× +Ñ +¨CÕ 0ÒKó ˆùÚKs���£&AFrR���r���r ���rS���r���c�����������������óB���•—�|rt��������d«������‚t��������‰|� ��|||d«������S�©NÚ immutableF)Ú TypeErrorrs���rX���©r/���rR���r���r ���rS���rw���s��� €r���rX���zImmutableNode.find_rdatasetE��s)���ø€�ñ�ܘKÓ(Ð(܉wÑ$ W¨f°f¸eÓDÐDr���c�����������������óB���•—�|rt��������d«������‚t��������‰|� ��|||d«������S�ry���)r{���rs���rZ���r|���s��� €r���rZ���zImmutableNode.get_rdatasetP��s)���ø€�ñ�ܘKÓ(Ð(܉wÑ# G¨V°V¸UÓCÐCr���Nc�����������������ó���—�t��������d«������‚©Nrz���©r{���)r/���rR���r���r ���s��� r���r]���zImmutableNode.delete_rdataset[��s���€�ô�˜Ó$Ð$r���r^���c�����������������ó���—�t��������d«������‚r���r€���re���s��� r���rf���zImmutableNode.replace_rdatasetc��s ���€�ܘÓ$Ð$r���c������������������ó���—�y)NTr(���r.���s��� r���ri���zImmutableNode.is_immutablef��s���€�Ør���)r!���r"���r#���r0���r���r ���rl���rm���rn���r&���ro���r���r'���rX���r���rZ���r]���rf���ri���Ú __classcell__)rw���s���@r���rq���rq���=��sx��ø„�ô ð�+.¯-©-×*<Ñ*<Øñ Eà—‘×*Ñ*ð Eð�— ‘ ×'Ñ'ð Eð�— ‘ ×'Ñ'ð Eð �ð Eð� ‰× Ñ õ Eð�+.¯-©-×*<Ñ*<Øñ Dà—‘×*Ñ*ð Dð�— ‘ ×'Ñ'ð Dð�— ‘ ×'Ñ'ð Dð �ð Dð� #—,‘,×'Ñ'Ñ (õ Dð�+.¯-©-×*<Ñ*<ñ %à—‘×*Ñ*ð%ð�— ‘ ×'Ñ'ð%ð�— ‘ ×'Ñ'ð %ð � ó%ð%¨C¯L©L×,AÑ,Að�%Àdó�%ð˜d÷�r���rq���)r$���Úenumr6���Útypingr���r���r���Ú dns.immutabler���Údns.nameÚdns.rdataclassÚdns.rdatasetÚ dns.rdatatypeÚdns.rendererÚ dns.rrsetr ���r���r���ÚNSECÚNSEC3ÚKEYr���r���ÚuniqueÚEnumr���r*���rz���rq���r(���r���r���ú<module>r’������sÌ���ðñ$�0ã�Û� ß�&Ñ�&ã�Û�Û�Û�Û�Û�Û�ð�‡MM×Ñð€ð�‡MM×Ñ؇MM×Ñ؇MM×Ñð€òVð�‡ô>ˆty‰yó�>ó� ð>÷.rñ�rðj�‡×Ñô)Dó�)ó�ñ)r���