%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/dns/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/dns/__pycache__/zonefile.cpython-312.pyc

�

5��em���dZddlZddlZddlmZmZmZmZmZm	Z	m
Z
ddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZGd�dej0j2�ZGd�dej0j2�Zd�Ze	ej:j<eej>j@eej>j@eee!e"e!e"fZ#d	�Z$Gd
�d�Z%Gd�d
ejLjN�Z(Gd�dejLjR�Z*ddejVjXejVjXdddej>jZdf	dedee
ej>j@e.fdee!dee
ejVj^e.fde
ejVj^e.fdee
ej`jbe.fdee
e!e.fdeej>jddee
ej>j@e.fde"deejfjhfd�Z5y)z
DNS Zones.�N)�Any�Iterable�List�Optional�Set�Tuple�Unionc��eZdZdZy)�
UnknownOriginzUnknown originN��__name__�
__module__�__qualname__�__doc__���./usr/lib/python3/dist-packages/dns/zonefile.pyrr&s��rrc��eZdZdZy)�CNAMEAndOtherDataz!A node has a CNAME and other dataNrrrrrr*s��+rrc��tjjj|�}|j	|�}|�y|j�}|tjjjk(r2|tjjjk(rtd��|tjjjk(r3|tjjjk(rtd��yy)Nz1rdataset type is not compatible with a CNAME nodez9CNAME rdataset is not compatible with a regular data node)	�dns�node�NodeKind�classify_rdataset�get_node�classify�CNAME�REGULARr)�txn�name�rdataset�
rdataset_kindr�	node_kinds      r�_check_cname_and_other_datar$.s����H�H�%�%�7�7��A�M��<�<���D��|���
�
��I��S�X�X�&�&�,�,�,��S�X�X�.�.�6�6�6�� S�T�T��S�X�X�&�&�.�.�.��S�X�X�.�.�4�4�4��G�
�	
�
5�	/rc�R�|j�}|jd�sd|z}|S)N�$)�upper�
startswith)�ss r�_upper_dollarizer*Qs'��	���	�A��<�<����!�G���Hrc��eZdZdZ							ddej
jdejjdejjdedeee
efdeej j"d	eed
eejjdeej&j(deefd
�Zd�Zd�Zd�Zdedeeeeeeffd�Zd�Zdd�Zy)�Readerz(Read a DNS zone file into a transaction.N�tok�rdclassr�
allow_include�allow_directives�
force_name�	force_ttl�
force_rdclass�force_rdtype�default_ttlc�f�||_|jj�\|_|_}|j|_d|_d|_|�|}
|
�d|_d|_	n|
|_d|_	|j
|_
||_||_g|_
d|_||dur'hd�|_|rG|jj!d�n+|durt#�|_nt#d�|D��|_||_||_||_|	|_|jj-t.�y)NrFT>�$TTL�$ORIGIN�	$GENERATE�$INCLUDEc3�2K�|]}t|����y�w�N)r*)�.0�ds  r�	<genexpr>z"Reader.__init__.<locals>.<genexpr>�s����)X�!�*:�1�*=�)X�s�)r-�manager�origin_information�zone_origin�
relativize�current_origin�last_ttl�last_ttl_knownr5�default_ttl_known�	last_name�zone_rdclassr�saved_state�current_file�allowed_directives�add�setr1r2r3r4�check_put_rdatasetr$)�selfr-r.rr/r0r1r2r3r4r5�_s            r�__init__zReader.__init__[s(�����14���1O�1O�1Q�.��	�4�?�A�"�.�.�����
�#���� �#�K��� �D��%*�D�"�*�D��%)�D�"��,�,���#������13���+/�����t�#�&F�D�#���'�'�+�+�J�7�
��
&�'*�e�D�#�'*�)X�GW�)X�&X�D�#�$���"���*���(������#�#�$?�@rc�\�	|jj�}|j�ry�,r<)r-�get�
is_eol_or_eof�rP�tokens  r�	_eat_linezReader._eat_line�s(����H�H�L�L�N�E��"�"�$��rc��|jj�}|j�stjj
�|Sr<)r-rT�
is_identifierr�	exception�SyntaxErrorrVs  r�_get_identifierzReader._get_identifier�s2����������"�"�$��-�-�+�+�+��rc	�
�d}|j�|j}�n|j�t�|jj	d��}|j�s,|jj
||j�|_nF|jj	�}|j�ry|jj|�|j}|j|j�s|j�y|jr|j|j�}|j�|j}||_d|_nL|j#�}d}	t$j&j)|j*�}||_d|_d}|j.�
|j.}nh|j#�}	t$j0j)|j*�}||j8k7rt$j2j5d��|�L|j#�}d}	t$j&j)|j*�}||_d|_d}|j>�
|j>}n:|j#�}	t$j@j)|j*�}	t$jBj)|||j|j|j|j�}|j:sC|t$j@jLk(r&|jN|_d|_|�|jN}|�t$j2j5d��|jPjS|||�y#t$j&j,$r|jj|�Y��8wxYw#t$j2j4$r�t6$r+|j8}|jj|�Y��9wxYw#t$j&j,$rP|j:r
|j<}n|j r|j}|jj|�Y��-wxYw#t6$r-t$j2j5d|j*z��wxYw#t$j2j4$r�t6$r\tEjF�dd\}}t$j2j5djItK|�tK|����wxYw)	z&Process one line from a DNS zone file.NT)�want_leading�RR class is not zone's class�unknown rdatatype '%s'�zcaught exception {}: {}�Missing default TTL value)*r1rDrr-rT�
is_whitespace�as_namerHrU�unget�is_subdomainrBrXrCr2rErFr]r�ttl�	from_text�value�BadTTLr3�
rdataclassr[r\�	ExceptionrIrGr5r4�	rdatatype�rdata�sys�exc_info�format�str�SOA�minimumrrM)	rPrWr rhr.�rdtype�rd�ty�vas	         r�_rr_linezReader._rr_line�sB�����?�?�&��?�?�D��"�"�*�#�#��H�H�L�L�d�L�3�E��&�&�(�!%���!1�!1�%��9L�9L�!M�����������&�&�(�������u�%��>�>�D��$�$�T�%5�%5�6���� ��������t�'7�'7�8���>�>�%��.�.�C��D�M�"&�D���(�(�*�E��C�
&��g�g�'�'����4�� #��
�&*��#���
���)��(�(�G��(�(�*�E�
&��.�.�2�2�5�;�;�?���$�+�+�+��m�m�/�/�0N�O�O��;��(�(�*�E��C�

&��g�g�'�'����4�� #��
�&*��#������(��&�&�F��(�(�*�E�
X����0�0����=��	����$�$�������#�#����� � �
�B�,�%�%�&�C�M�M�4E�4E�*E� "�z�z�D��%)�D�"��{��j�j���;��-�-�+�+�,G�H�H������T�3��#��e�7�7�>�>�
&������u�%�
&���=�=�,�,�
���
&��+�+�������u�%�
&���7�7�>�>�
&��)�)��*�*�C��(�(��-�-�C������u�%�
&���
X��m�m�/�/�0H�5�;�;�0V�W�W�
X���}�}�(�(�	���		��|�|�~�b�q�)�H�R���-�-�+�+�)�0�0��R��#�b�'�B��
�		�sR�&9N�	)O�59P/�)R�AS�8O�O�A
P,�+P,�/A)R�R�6S�BU�side�returnc��tjd�}tjd�}tjd�}|j|�}|r|j�\}}}}	}
|dk(rd}|j|�}|r|j�\}}}|dk(rd}d}	d}
|j|�}|r|j�\}}}}	|dk(rd}d}
|s|s|s
d}d}d}d}	d}
t	�}t		�}	dvr"t
jjd	|z��
d
vr"t
jjd|
z��|||	|
fS)Nz"^.*\$({(\+|-?)(\d+),(\d+),(.)}).*$z^.*\$({(\+|-?)(\d+)}).*$z^.*\$({(\+|-?)(\d+),(\d+)}).*$��+rr>)r�-zinvalid offset sign %s)r>�o�x�X�n�Nzinvalid type %s)�re�compile�match�groups�intrr[r\)
rPr{�is_generate1�is_generate2�is_generate3�g1�mod�sign�offset�width�base�g2�g3s
             r�
_parse_modifyzReader._parse_modifyse���z�z�"G�H���z�z�"=�>���z�z�"C�D���
�
��
%��
�-/�Y�Y�[�*�C��v�u�d��r�z���
�
�
��
%��
� "�	�	���C��v��r�z����E��D�
�
�
��
%��
�')�y�y�{�$�C��v�u��r�z����D��b�B��C��D��F��E��D��V����E�
���z�!��-�-�+�+�,D�t�,K�L�L��5�5��-�-�+�+�,=��,D�E�E��D�&�%��-�-rc
�|��|j�t�|jj�}	tj
j
|j�\}}}|jj�}|j�stjj�		|j}|jj�}|j�stjj�		tjj
|j�}||_
d|_|jj�}|j�stjj�		tj$j
|j�}|jj�}|j�stjj�	||j&k7rtjjd��	tj(j
|j�}|jj�}|j�stjj�	|j}	dt*dt,dt*d	t*fd
�}
dt*dt,d
t*d	t,f�fd��|j/|�\}}}
}}|j/|	�\}}}}}t1||dz|�D�]Y}|
|||
�}|
|||�}�|||�}�|||�}|j3d|z|�}|	j3d|z|�}tj4j
||j|jj6�|_|j8}|j;|j<�s|j?�y|j@r|jA|j<�}	tjBj
||||j|j@|j<�}|jHjK||���\y#t$rtjj�wxYw#t$rtjj�wxYw#tjj$rl|js+|j stjjd��|j r
|j"}n|jr|j}Y���wxYw#tjj$rtjj�t$r|j&}Y���wxYw#t$r-tjjd|jz��wxYw#tjj$r�t$rRtEjF�dd\}}tjjdt-|��dt-|�����wxYw)zPProcess one line containing the GENERATE statement from a DNS
        zone file.NTrcr`ra�counter�offset_signr�r|c� �|dk(r|dz}||zS)z0Calculate the index from the counter and offset.r����r)r�r�r�s   r�_calculate_indexz/Reader._generate_line.<locals>._calculate_index�s���c�!��"����V�#�#r�indexr�r�c���|dvrt||�j|�S�|d|�}dj|ddd��d|}|dk(r|j�}|S)zVFormat the index with the given base, and zero-fill it
            to the given width.)r>r�r�r�r��.Nr�r�)rr�zfill�joinr')r�r�r��hexa�nibbles�
_format_indexs     �rr�z,Reader._generate_line.<locals>._format_index�sj����+�+��e�T�*�0�0��7�7�!���U�3�D��h�h�t�D�b�D�z�*�6�E�2�G��s�{�!�-�-�/���Nr�z$%srbzcaught exception z: )&rDrr-rTr�grangerirjrZr[r\rmrhrErFrkrGr5rlrIrnr�rsr��range�replacer �
idna_codecrHrgrBrXrCrorprqrrM) rPrW�start�stop�step�lhsrhr.rv�rhsr��lmod�lsign�loffset�lwidth�lbase�rmod�rsign�roffset�rwidth�rbase�i�lindex�rindex�lzfindex�rzfindexr rorwrxryr�s                                @r�_generate_linezReader._generate_line@s������&����������	,� #�
�
� 4� 4�U�[�[� A��E�4���H�H�L�L�N�E��&�&�(��m�m�/�/�/�)�	,��+�+�C��H�H�L�L�N�E��&�&�(��m�m�/�/�/�)�
	$��'�'�#�#�E�K�K�0�C��D�M�"&�D���H�H�L�L�N�E��&�&�(��m�m�/�/�/�)�	(��n�n�.�.�u�{�{�;�G��H�H�L�L�N�E��&�&�(��m�m�/�/�/�)��d�'�'�'��-�-�+�+�,J�K�K�	T��]�]�,�,�U�[�[�9�F��H�H�L�L�N�E��&�&�(��m�m�/�/�/�)��k�k��	$�c�	$��	$�S�	$�S�	$�	��	�C�	��	��	�/3�.@�.@��.E�+��e�W�f�e�.2�.@�.@��.E�+��e�W�f�e��u�d�Q�h��-�-	(�A�&�a���8�F�%�a���8�F�$�V�U�F�;�H�$�V�U�F�;�H��;�;�u��~�x�8�D��K�K�����9�E� �X�X�/�/��d�)�)�4�8�8�+>�+>��D�N��>�>�D��$�$�T�%5�%5�6���� ��������t�'7�'7�8��
��Y�Y�(�(�����'�'��O�O��$�$�
��,
�H�H�L�L��s�B�'�[-	(��Q�	,��-�-�+�+�+�	,���	,��-�-�+�+�+�	,���w�w�~�~�	$��'�'�4�+A�+A��m�m�/�/�0K�L�L��%�%��&�&���$�$��m�m���
	$���}�}�(�(�	,��-�-�+�+�+��	(��'�'�G�	(���	T��-�-�+�+�,D�u�{�{�,R�S�S�	T��t�=�=�,�,�
���	
��<�<�>�"�1�-���R��m�m�/�/�14�R��#�b�'�B���	
�s\�A1Q�"AR�4A;R,�1A-T8�A-V
�;AW�$R�$R)�,BT5�4T5�8AV�V�
6W�A8X;c
�v
�		|jjdd�}|j�r�|j�|jj	�t|j�dkDrM|jjd�\|_|_|_	|_|_
|_|_|_
��y|j�r��|j�r|jj!���|j"ddk(�rpt|j$�dkD�rW|j"j'�}||j$vr#t(j*j-d|�d���|dk(r�|jj�}|j/�st(j*j-d	��t(j0j3|j"�|_d|_
|jj!��nk|d
k(r}|jj5�|_|jj!�|j6�|j|_|j8j;|j��n�|dk(�r�|jj�}|j"}|jj�}|j/�rdt(j<j3|j"|j|jj>�}|jj!�n;|jA�st(j*j-d��|j}|jjC|j|j|j|j|j|j|j|jf�tE|d
�|_t(jFjI|j|�|_||_n9|dk(r|jK�n#t(j*j-d|�d�����x|jjM|�|jO����#t(j*j,$rt}|jjQ�\}}|�d}t(j*j-d|||fz�}tSjT�d}|jW|�d�d}~wwxYw)z�Read a DNS zone file and build a zone object.

        @raises dns.zone.NoSOA: No SOA RR was found at the zone origin
        @raises dns.zone.NoNS: No NS RRset was found at the zone origin
        TNrr�r&zzone file directive 'z' is not allowedr7zbad $TTLr8r:zbad origin in $INCLUDE�rr9zUnknown zone file directive '�'zsyntax errorz	%s:%d: %srb),r-rT�is_eofrK�close�lenrJ�poprDrHrErFr5rG�is_eol�
is_comment�get_eolrjrLr'rr[r\rZrhri�get_namerBr�_set_originr r�rU�append�open�	tokenizer�	Tokenizerr�rfrz�whererprq�with_traceback)	rPrW�c�filename�
new_origin�detail�line_number�ex�tbs	         r�readzReader.read�s��[	2�������T�4�0���<�<�>��(�(�4��)�)�/�/�1��4�+�+�,�q�0�!�,�,�0�0��4�	� �H� �/� �N� �-� �M� �/� �,� �2� ���\�\�^���%�%�'��H�H�$�$�&���[�[��^�s�*�s�4�3J�3J�/K�a�/O����)�)�+�A��� 7� 7�7�!�m�m�7�7�3�A�3�6F�G����F�{� $�������$�2�2�4�"%�-�-�";�";�J�"G�G�+.�7�7�+<�+<�U�[�[�+I��(�15��.����(�(�*��i��.2�h�h�.?�.?�.A��+����(�(�*��+�+�3�/3�/B�/B�D�,����,�,�T�-@�-@�A��j�� $�������#(�;�;�� $������� �.�.�0�),���);�);� %���T�-@�-@�$�(�(�BU�BU�*�J�!�H�H�,�,�.�!&�!4�!4�!6�"%�-�-�";�";�<T�"U�U�)-�)<�)<�J��(�(�/�/� $��� $� 3� 3� $��� $� 1� 1� $�
�
� $� 3� 3� $� 0� 0� $� 6� 6�	��-1��3�,?��)�#&�=�=�#:�#:�4�;L�;L�h�#W���.8��+��k�)��+�+�-�!�m�m�7�7�;�A�3�a�@���������u�%��
�
��c��d�}�}�(�(�	2�&*�h�h�n�n�&6�#�X�{��~�'�����*�*��x��f�=�=��B������"�B��#�#�B�'�T�1��	2�s �B8R'�;O,R'�'T8�A/T3�3T8)FTNNNNN)r|N)r
rrrrr�r�rl�
RdataClass�transaction�Transaction�boolr	rrsrr �Namer�rn�	RdataTyperRrXr]rzrr�r�r�rrrr,r,Xs0��2�$�7;�.2�#'�=A�:>�%)�0A�
�]�]�
$�
$�0A����*�*�0A��_�_�
(�
(�	0A�
�0A� ��h�s�m� 3�4�
0A��S�X�X�]�]�+�0A��C�=�0A� ���� 9� 9�:�0A��s�}�}�6�6�7�0A��c�]�0A�d��x$�t+.�#�+.�%��S�#�s�C�0G�*H�+.�ZC(�Jb2rr,c�`��eZdZ�fd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Z�xZS)
�RRsetsReaderTransactionc�>��|rJ�t�|�|||�i|_yr<)�superrR�	rdatasets)rPr@�replacement�	read_only�	__class__s    �rrRz RRsetsReaderTransaction.__init__+s#�����}�
����+�y�9���rc�>�|jj|||f�Sr<)r�rT�rPr rv�coverss    r�
_get_rdatasetz%RRsetsReaderTransaction._get_rdataset0s���~�~�!�!�4���"8�9�9rc���g}|jj�D] \\}}}}||k(s�|j|��"t|�dk(rytj
j
�}||_|S�Nr)r��itemsr�r�rr�Node)rPr r��
rdataset_namerQr!rs       r�	_get_nodez!RRsetsReaderTransaction._get_node3sq���	�/3�~�~�/C�/C�/E�	+�+�!�]�A�q�8��}�$�� � ��*�	+��y�>�Q����x�x�}�}���"����rc�P�||j||j|jf<yr<)r�rvr�)rPr r!s   r�
_put_rdatasetz%RRsetsReaderTransaction._put_rdataset>s��CK�����h�o�o�x���?�@rc��g}|jD]}|d|k(s�|j|��t|�dkDr|D]}|j|=�yyr�)r�r�r�)rPr �remove�keys    r�_delete_namez$RRsetsReaderTransaction._delete_nameAs^�����>�>�	#�C��1�v��~��
�
�c�"�	#��v�;��?��
(���N�N�3�'�
(�rc�D�	|j|||f=y#t$rYywxYwr<)r��KeyErrorr�s    r�_delete_rdatasetz(RRsetsReaderTransaction._delete_rdatasetKs,��	�����f�f�5�6���	��	�s��	�c�<�|jD]
\}}}||k(s�
yy�NTF)r�)rPr r�rQs    r�_name_existsz$RRsetsReaderTransaction._name_existsQs*���~�~�	�G�A�q�!��D�y��	�rc�2�t|j�dkDSr�)r�r��rPs r�_changedz RRsetsReaderTransaction._changedWs���4�>�>�"�Q�&�&rc�v�|r�|j�r�g}|jj�D]k\\}}}}tjj||j|j|j�}|j|�|j|��m|jj|�yyyr<)
r�r�r�r�rrset�RRsetr.rvr��updater�r@�
set_rrsets)rP�commit�rrsetsr rQr!rs       r�_end_transactionz(RRsetsReaderTransaction._end_transactionZs����d�m�m�o��F�*.�.�.�*>�*>�*@�
%�&���q�!�h��	�	����(�*�*�H�O�O�X�_�_������X�&��
�
�e�$�
%�
�L�L�#�#�F�+�&�6rc��yr<r)rP�origins  rr�z#RRsetsReaderTransaction._set_origines��rc��t�r<��NotImplementedErrorr�s r�_iterate_rdatasetsz*RRsetsReaderTransaction._iterate_rdatasetsh���!�!rc��t�r<rr�s r�_iterate_namesz&RRsetsReaderTransaction._iterate_nameskrr)r
rrrRr�r�r�r�r�r�r�rr�r
r�
__classcell__)r�s@rr�r�*s@����
:�	�L�(���'�	,�
�"�"rr�c��eZdZejj
dejjfd�Zd�Z	d	d�Z
d�Zd�Zd�Z
y)
�RRSetsReaderManagerFc�<�||_||_||_g|_yr<)r	rCr.r)rPr	rCr.s    rrRzRRSetsReaderManager.__init__ps �����$��������rc��t�r<rr�s r�readerzRRSetsReaderManager.readerxrrc�(�|dusJ�t|dd�Sr�)r�)rPr�s  r�writerzRRSetsReaderManager.writer{s���d�"�"�"�&�t�T�5�9�9rc��|jSr<)r.r�s r�	get_classzRRSetsReaderManager.get_classs���|�|�rc��|jrtjj}n|j}|j|j|fSr<)rCrr �emptyr	)rP�	effectives  rrAz&RRSetsReaderManager.origin_information�s4���?�?������I����I����T�_�_�i�8�8rc��||_yr<)r)rPrs  rrzRRSetsReaderManager.set_rrsets�s	����rN)F)r
rrrr �rootrl�INrRrrrrArrrrrros9���X�X�]�]�u�c�n�n�>O�>O��"�:��9�rrF�textr rhr.�default_rdclassrvr5r�r	rCr|c
���t|t�r9tjj	|tjj
|�}t|t�r!tjj	|||�}t|t�rtjj	|�}t|t�rtjj	|�}|�*tjjj|�}nd}tjjj|�}|�*tjjj|�}nd}t||	|�}
|
jd�5}tjj|d|��}t!|||d|||||��	}
|
j#�ddd�|
j$S#1swY|
j$SxYw)a�	Read one or more rrsets from the specified text, possibly subject
    to restrictions.

    *text*, a file object or a string, is the input to process.

    *name*, a string, ``dns.name.Name``, or ``None``, is the owner name of
    the rrset.  If not ``None``, then the owner name is "forced", and the
    input must not specify an owner name.  If ``None``, then any owner names
    are allowed and must be present in the input.

    *ttl*, an ``int``, string, or None.  If not ``None``, the the TTL is
    forced to be the specified value and the input must not specify a TTL.
    If ``None``, then a TTL may be specified in the input.  If it is not
    specified, then the *default_ttl* will be used.

    *rdclass*, a ``dns.rdataclass.RdataClass``, string, or ``None``.  If
    not ``None``, then the class is forced to the specified value, and the
    input must not specify a class.  If ``None``, then the input may specify
    a class that matches *default_rdclass*.  Note that it is not possible to
    return rrsets with differing classes; specifying ``None`` for the class
    simply allows the user to optionally type a class as that may be convenient
    when cutting and pasting.

    *default_rdclass*, a ``dns.rdataclass.RdataClass`` or string.  The class
    of the returned rrsets.

    *rdtype*, a ``dns.rdatatype.RdataType``, string, or ``None``.  If not
    ``None``, then the type is forced to the specified value, and the
    input must not specify a type.  If ``None``, then a type must be present
    for each RR.

    *default_ttl*, an ``int``, string, or ``None``.  If not ``None``, then if
    the TTL is not forced and is not specified, then this value will be used.
    if ``None``, then if the TTL is not forced an error will occur if the TTL
    is not specified.

    *idna_codec*, a ``dns.name.IDNACodec``, specifies the IDNA
    encoder/decoder.  If ``None``, the default IDNA 2003 encoder/decoder
    is used.  Note that codecs only apply to the owner name; dnspython does
    not do IDNA for names in rdata, as there is no IDNA zonefile format.

    *origin*, a string, ``dns.name.Name``, or ``None``, is the origin for any
    relative names in the input, and also the origin to relativize to if
    *relativize* is ``True``.

    *relativize*, a bool.  If ``True``, names are relativized to the *origin*;
    if ``False`` then any relative names in the input are made absolute by
    appending the *origin*.
    NTz<input>)r�F)r0r1r2r3r4r5)�
isinstancersrr rirrhrlr��makernr�rrr�r�r,r�r)r!r rhr.r"rvr5r�r	rCr@rr-rs              r�read_rrsetsr&�s���z�&�#�����#�#�F�C�H�H�M�M�:�F���$����x�x�!�!�$��
�;���#�s���g�g����$���+�s�#��g�g�'�'��4�����.�.�+�+�0�0��9�����n�n�/�/�4�4�_�E�O�
�����(�(�-�-�f�5����!�&�*�o�F�G�	����	�
���m�m�%�%�d�I�*�%�M������"���!��#�

��	���
�
��>�>��
��>�>��s
�<AG�G+)6rr�rp�typingrrrrrrr	�
dns.exceptionr�
dns.grange�dns.name�dns.node�	dns.rdata�dns.rdataclass�
dns.rdatatype�dns.rdtypes.ANY.SOA�	dns.rrset�
dns.tokenizer�dns.transaction�dns.ttlr[�DNSExceptionrrr$r�r�r r�r�r��SavedStateTyper*r,r�r�r��TransactionManagerrrlr rrsr�rnr��	IDNACodecrrr&rrr�<module>r8sV��$�	�
�C�C�C��������������C�M�M�.�.��,��
�
�2�2�,�
�.��M�M����S�X�X�]�]���S�X�X�]�]���S�M�����
�	��
�O2�O2�dB"�c�o�o�9�9�B"�J�#�/�/�<�<��@15��?B�~�~�?P�?P�=@�^�^�=N�=N�<@�-1�/3�25�(�(�-�-��]�

�]�
�5�������+�,�
-�]�
�#��]��e�C�N�N�5�5�s�:�;�
<�	]�
�3�>�>�4�4�c�9�:�]�
�U�3�=�=�2�2�C�7�8�9�
]��%��S��/�*�]�����+�+�,�]�
�U�3�8�8�=�=�#�-�.�/�]��]�
�#�)�)�/�/��]r

Zerion Mini Shell 1.0