509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
 Ü³jÍ’ ã               @   s  d dl mZ edákr&dd„ Zeƒ Z[n"edâkr@dd„ Zeƒ Z[nd dlZ[yeZW n ek
rf   Y nX yd dlZ	W n e
k
r�   d dl	Z	Y nX dãd
d„Zdd„ Zdd„ Zdd„ ZyeZd	ZW n( e	jk
rè   G dd„ dƒZd ZY nX dd„ ZejZG dd„ deƒZejZeeƒ ejZejZejZejZejZejZejZejZejZejZej Z ej!Z!ej"Z"ej#Z#ej$Z$ej%Z%ej&Z&ej'Z'ej(Z(ej)Z)ej*Z*ej+Z+ej,Z,ej-Z-ej.Z.ej/Z/ej0Z0ej1Z1ej2Z2ej3Z3ej4Z4ej5Z5ej6Z6ej7Z7ej8Z8ej9Z9ej:Z:ej;Z;ej<Z<ej=Z=ej>Z>ej?Z?ej@Z@ejAZAejBZBejCZCejDZDejEZEejFZFejGZGejHZHejIZIejJZJejKZKejLZLejMZMejNZNejOZOejPZPejQZQejRZRejSZSejTZTejUZUejVZVejWZWejXZXdd„ ZYejYZYdd„ ZZejZZZdd„ Z[ej[Z[G dd„ deƒZ\ej]Z]e]e\ƒ d d!„ Z^ej^Z^d"d#„ Z_ej_Z_d$d%„ Z`ej`Z`G d&d'„ d'eƒZaejbZbebeaƒ G d(d)„ d)eƒZcejdZdedecƒ G d*d+„ d+eƒZeejfZfefeeƒ G d,d-„ d-ƒZgG d.d/„ d/ƒZhG d0d1„ d1ƒZid2d3„ ZjejjZjd4d5„ ZkejkZkd6d7„ ZlejlZld8d9„ ZmejmZmG d:d;„ d;eƒZnejoZoeoenƒ G d<d=„ d=eƒZpejqZqeqepƒ G d>d?„ d?eƒZrejsZseserƒ G d@dA„ dAƒZtG dBdC„ dCƒZudDdE„ ZvejvZvdFdG„ ZwejwZwG dHdI„ dIeƒZxejyZyeyexƒ dJdK„ ZzejzZzdLdM„ Z{ej{Z{dNdO„ Z|ej|Z|dPdQ„ Z}ej}Z}dRdS„ Z~ej~Z~dTdU„ ZejZdVdW„ Z€ej€Z€G dXdY„ dYeƒZ�ej‚Z‚e‚e�ƒ G dZd[„ d[eƒZƒej„Z„e„eƒƒ G d\d]„ d]eƒZ…ej†Z†e†e…ƒ G d^d_„ d_eƒZ‡ejˆZˆeˆe‡ƒ d`da„ Z‰ej‰Z‰dbdc„ ZŠejŠZŠG ddde„ deeƒZ‹ejŒZŒeŒe‹ƒ dfdg„ Z�ej�Z�G dhdi„ dieƒZŽej�Z�e�eŽƒ djdk„ Z�ej�Z�G dldm„ dmeƒZ‘ej’Z’e’e‘ƒ ej“Z“ej”Z”ej•Z•ej–Z–ej—Z—ej˜Z˜ej™Z™ejšZšej›Z›ejœZœej�Z�ejžZžejŸZŸej Z ej¡Z¡ej¢Z¢ej£Z£ej¤Z¤ej¥Z¥ej¦Z¦G dndo„ doƒZ§G dpdq„ dqƒZ¨drds„ Z©ej©Z©dtdu„ ZªejªZªdvdw„ Z«ej«Z«dxdy„ Z¬ej¬Z¬dzd{„ Z­ej­Z­d|d}„ Z®ej®Z®d~d„ Z¯ej¯Z¯d€d�„ Z°ej°Z°d‚dƒ„ Z±ej±Z±G d„d…„ d…eƒZ²ej³Z³e³e²ƒ G d†d‡„ d‡eƒZ´ejµZµeµe´ƒ G dˆd‰„ d‰eƒZ¶ej·Z·e·e¶ƒ G dŠd‹„ d‹eƒZ¸ej¹Z¹e¹e¸ƒ G dŒd�„ d�eƒZºej»Z»e»eºƒ G dŽd�„ d�eƒZ¼ej½Z½e½e¼ƒ d�d‘„ Z¾ej¾Z¾d’d“„ Z¿ej¿Z¿d”d•„ ZÀejÀZÀd–d—„ ZÁejÁZÁd˜d™„ ZÂejÂZÂejÃZÃejÄZÄejÅZÅejÆZÆejÇZÇejÈZÈejÉZÉejÊZÊejËZËejÌZÌejÍZÍejÎZÎejÏZÏejÐZÐejÑZÑejÒZÒejÓZÓejÔZÔejÕZÕejÖZÖej×Z×ejØZØejÙZÙejÚZÚejÛZÛejÜZÜejÝZÝejÞZÞejßZßejàZàejáZáejâZâejãZãejäZäejåZåejæZæejçZçejèZèdšd›„ ZéejéZéG dœd�„ d�ƒZêdždŸ„ ZëejëZëd d¡„ ZìejìZìd¢d£„ ZíejíZíd¤d¥„ ZîejîZîd¦d§„ ZïejïZïd¨d©„ ZðejðZðdªd«„ ZñejñZñd¬d­„ ZòejòZòd®d¯„ ZóejóZód°d±„ ZôejôZôd²d³„ ZõejõZõd´dµ„ ZöejöZöd¶d·„ Z÷ej÷Z÷d¸d¹„ ZøejøZødºd»„ ZùejùZùd¼d½„ ZúejúZúd¾d¿„ ZûejûZûdÀdÁ„ ZüejüZüdÂdÃ„ ZýejýZýdÄdÅ„ ZþejþZþdÆdÇ„ ZÿejÿZÿdÈdÉ„ �Z e�j �Z dÊdË„ �Ze�j�ZdÌdÍ„ �Ze�j�ZdädÏdÐ„�ZdÑdÒ„ �Ze�j�ZdÓdÔ„ �Ze�j�ZdÕdÖ„ �Ze�j�Zd×dØ„ �Ze�j�ZdÙdÚ„ �Ze�j�ZdÛdÜ„ �Z	e�j	�Z	dÝdÞ„ �Z
e�j
�Z
dßdà„ �Ze�j�ZdS )åé    )Úversion_infoé   é   c              C   sT   dd l } tjdƒd }dj|dfƒjdƒ}y
| j|ƒS  tk
rN   | jdƒS X d S )Nr   Ú.Ú_unboundmodule)Ú	importlibÚ__name__Ú
rpartitionÚjoinÚlstripÚimport_moduleÚImportError)r   ZpkgZmname© r   ú%/usr/lib64/python3.6/unboundmodule.pyÚswig_import_helper	   s    
r   é   c              C   s~   ddl m}  dd l}d }y|jd| tƒgƒ\}}}W n tk
rP   dd l}|S X z|jd|||ƒ}W d |d k	rx|jƒ  X |S )Nr   )Údirnamer   )	Zos.pathr   ÚimpÚfind_moduleÚ__file__r   r   Úload_moduleÚclose)r   r   ÚfpÚpathnameÚdescriptionr   Z_modr   r   r   r      s    
Né   c             C   sˆ   |dkr| j j|ƒS |dkr8t|ƒjdkr8|| j|< d S |jj|d ƒ}|rT|| |ƒS |sxtrltj	| ||ƒ q„|| j|< nt
d|  ƒ‚d S )NÚthisownÚthisZSwigPyObjectzYou cannot add attributes to %s)r   ÚownÚtyper   Ú__dict__Ú__swig_setmethods__ÚgetÚ	_newclassÚobjectÚ__setattr__ÚAttributeError)ÚselfÚ
class_typeÚnameÚvalueZstaticÚmethodr   r   r   Ú_swig_setattr_nondynamic3   s    

r,   c             C   s   t | |||dƒS )Nr   )r,   )r'   r(   r)   r*   r   r   r   Ú_swig_setattrF   s    r-   c             C   sB   |dkr| j jƒ S |jj|d ƒ}|r,|| ƒS td|j|f ƒ‚d S )Nr   z!'%s' object has no attribute '%s')r   r   Ú__swig_getmethods__r"   r&   r   )r'   r(   r)   r+   r   r   r   Ú_swig_getattrJ   s    
r/   c             C   sD   yd| j jƒ  }W n tjk
r,   d}Y nX d| jj| jj|f S )Nz	proxy of Ú z<%s.%s; %s >)r   Ú__repr__Ú__builtin__Ú	ExceptionÚ	__class__Ú
__module__r   )r'   Zstrthisr   r   r   Ú
_swig_reprS   s
    
r6   c               @   s   e Zd ZdS )Ú_objectN)r   r5   Ú__qualname__r   r   r   r   r7   ^   s   r7   c             C   s   t j| |ƒS )N)r   ÚGetNameAsLabelList)r)   Úlenr   r   r   r9   c   s    r9   c               @   s²   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< er<ee	j
ƒZe	jed< erTee	jƒZdd„ ZeeƒZdd	„ ZeeƒZee	jƒZee	jƒZd
d„ ZeeƒZdd„ Ze	jZdd„ ZdS )Ú
query_infoc             C   s   t | t||ƒS )N)r-   r;   )r'   r)   r*   r   r   r   Ú<lambda>h   s    zquery_info.<lambda>c             C   s   t | t|ƒS )N)r/   r;   )r'   r)   r   r   r   r<   j   s    ÚqtypeÚqclassc             C   s
   t | jƒS )N)Úsldns_wire2str_typer=   )r'   r   r   r   Ú_get_qtype_strs   s    zquery_info._get_qtype_strc             C   s
   t | jƒS )N)Úsldns_wire2str_classr>   )r'   r   r   r   Ú_get_qclass_strv   s    zquery_info._get_qclass_strc             C   s
   t | jƒS )N)Ú
dnameAsStrÚqname)r'   r   r   r   Ú_get_qname_str}   s    zquery_info._get_qname_strc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_query_infor   Úappendr2   r3   )r'   r   r   r   r   Ú__init__�   s
    zquery_info.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   ˆ   s    N)r   r5   r8   r!   r%   r.   Ú__getattr__r6   r1   r   Zquery_info_qtype_getr#   Ú_swig_propertyr=   Zquery_info_qclass_getr>   r@   ÚpropertyZ	qtype_strrB   Z
qclass_strÚ
_get_qnamerD   Ú_get_qname_componentsZ
qname_listrE   Z	qname_strrG   Zdelete_query_infoÚ__swig_destroy__Ú__del__r   r   r   r   r;   f   s,   





r;   c             C   s
   t j| ƒS )N)r   rK   )Úqr   r   r   rK   Ð   s    rK   c             C   s
   t j| ƒS )N)r   rL   )rO   r   r   r   rL   Ô   s    rL   c             C   s
   t j| ƒS )N)r   rC   )Údnamer   r   r   rC   Ø   s    rC   c               @   sÊ   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< er<ee	j
ƒZe	jed< erTee	jƒZe	jed< erlee	jƒZdd„ ZeeƒZd	d
„ ZeeƒZee	jƒZee	jƒZdd„ ZeeƒZdd„ Ze	jZdd„ Z dS )Úpacked_rrset_keyc             C   s   t | t||ƒS )N)r-   rQ   )r'   r)   r*   r   r   r   r<   Ý   s    zpacked_rrset_key.<lambda>c             C   s   t | t|ƒS )N)r/   rQ   )r'   r)   r   r   r   r<   ß   s    Úflagsr   Úrrset_classc             C   s   t tj| jƒƒS )N)r?   r   Úntohsr   )r'   r   r   r   Ú_get_type_strë   s    zpacked_rrset_key._get_type_strc             C   s   t tj| jƒƒS )N)rA   r   rT   rS   )r'   r   r   r   Ú_get_class_strî   s    zpacked_rrset_key._get_class_strc             C   s
   t | jƒS )N)rC   rP   )r'   r   r   r   Ú_get_dname_strõ   s    zpacked_rrset_key._get_dname_strc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_packed_rrset_keyr   rF   r2   r3   )r'   r   r   r   r   rG   ù   s
    zpacked_rrset_key.__init__c             C   s   d S )Nr   )r'   r   r   r   r<      s    N)!r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zpacked_rrset_key_flags_getr#   rI   rR   Zpacked_rrset_key_type_getr   Z packed_rrset_key_rrset_class_getrS   rU   rJ   Ztype_strrV   Zrrset_class_strÚ
_get_dnamerP   Ú_get_dname_componentsÚ
dname_listrW   Ú	dname_strrG   Zdelete_packed_rrset_keyrM   rN   r   r   r   r   rQ   Û   s2   







rQ   c             C   s
   t j| ƒS )N)r   rT   )Znetshortr   r   r   rT     s    rT   c             C   s
   t j| ƒS )N)r   rX   )Úkr   r   r   rX   	  s    rX   c             C   s
   t j| ƒS )N)r   rY   )r\   r   r   r   rY     s    rY   c               @   s°   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZdd„ Ze	jZd	d„ Zd
S )Úub_packed_rrset_keyc             C   s   t | t||ƒS )N)r-   r]   )r'   r)   r*   r   r   r   r<     s    zub_packed_rrset_key.<lambda>c             C   s   t | t|ƒS )N)r/   r]   )r'   r)   r   r   r   r<     s    ÚentryÚidÚrkc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_ub_packed_rrset_keyr   rF   r2   r3   )r'   r   r   r   r   rG   #  s
    zub_packed_rrset_key.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   *  s    N)r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zub_packed_rrset_key_entry_setZub_packed_rrset_key_entry_getr#   rI   r^   Zub_packed_rrset_key_id_setZub_packed_rrset_key_id_getr_   Zub_packed_rrset_key_rk_setZub_packed_rrset_key_rk_getr`   rG   Zdelete_ub_packed_rrset_keyrM   rN   r   r   r   r   r]     s(   





r]   c               @   sL  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZe	jed	< e	jed	< e�r
ee	je	jƒZe	jed
< e	jed
< e�r2ee	je	jƒZ dd„ Z!e	j"Z#dd„ Z$dS )Úlruhash_entryc             C   s   t | t||ƒS )N)r-   ra   )r'   r)   r*   r   r   r   r<   0  s    zlruhash_entry.<lambda>c             C   s   t | t|ƒS )N)r/   ra   )r'   r)   r   r   r   r<   2  s    ÚlockÚoverflow_nextÚlru_nextÚlru_prevÚhashÚkeyÚdatac             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_lruhash_entryr   rF   r2   r3   )r'   r   r   r   r   rG   Q  s
    zlruhash_entry.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   X  s    N)%r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zlruhash_entry_lock_setZlruhash_entry_lock_getr#   rI   rb   Zlruhash_entry_overflow_next_setZlruhash_entry_overflow_next_getrc   Zlruhash_entry_lru_next_setZlruhash_entry_lru_next_getrd   Zlruhash_entry_lru_prev_setZlruhash_entry_lru_prev_getre   Zlruhash_entry_hash_setZlruhash_entry_hash_getrf   Zlruhash_entry_key_setZlruhash_entry_key_getrg   Zlruhash_entry_data_setZlruhash_entry_data_getrh   rG   Zdelete_lruhash_entryrM   rN   r   r   r   r   ra   .  sH   













ra   c               @   s,  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZd	d
„ ZeeƒZdd„ ZeeƒZdd„ Z ee ƒZ!dd„ Z"e	j#Z$dd„ Z%dS )Úpacked_rrset_datac             C   s   t | t||ƒS )N)r-   ri   )r'   r)   r*   r   r   r   r<   ^  s    zpacked_rrset_data.<lambda>c             C   s   t | t|ƒS )N)r/   ri   )r'   r)   r   r   r   r<   `  s    ÚttlÚcountÚrrsig_countÚtrustÚsecurityc             C   s   t | ƒS )N)ÚRRSetData_RRLen)r'   r   r   r   Ú_get_data_rr_lenw  s    z"packed_rrset_data._get_data_rr_lenc             C   s   t | ƒS )N)ÚRRSetData_RRTTL)r'   r   r   r   Ú_get_data_rr_ttly  s    z"packed_rrset_data._get_data_rr_ttlc             C   s   t | ƒS )N)ÚRRSetData_RRData)r'   r   r   r   Ú_get_data_rr_data{  s    z#packed_rrset_data._get_data_rr_datac             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_packed_rrset_datar   rF   r2   r3   )r'   r   r   r   r   rG     s
    zpacked_rrset_data.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   †  s    N)&r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zpacked_rrset_data_ttl_setZpacked_rrset_data_ttl_getr#   rI   rj   Zpacked_rrset_data_count_setZpacked_rrset_data_count_getrk   Z!packed_rrset_data_rrsig_count_setZ!packed_rrset_data_rrsig_count_getrl   Zpacked_rrset_data_trust_setZpacked_rrset_data_trust_getrm   Zpacked_rrset_data_security_setZpacked_rrset_data_security_getrn   rp   rJ   Zrr_lenrr   Zrr_ttlrt   Zrr_datarG   Zdelete_packed_rrset_datarM   rN   r   r   r   r   ri   \  sD   









ri   c               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ro   c             C   s
   || _ d S )N)Úobj)r'   ru   r   r   r   rG   Œ  s    zRRSetData_RRLen.__init__c             C   s   t j| j|ƒS )N)r   rp   ru   )r'   Úindexr   r   r   Ú__getitem__�  s    zRRSetData_RRLen.__getitem__c             C   s   | j j| j j S )N)ru   rk   rl   )r'   r   r   r   Ú__len__Ž  s    zRRSetData_RRLen.__len__N)r   r5   r8   rG   rw   rx   r   r   r   r   ro   ‹  s   ro   c               @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
rq   c             C   s
   || _ d S )N)ru   )r'   ru   r   r   r   rG   �  s    zRRSetData_RRTTL.__init__c             C   s   t j| j|ƒS )N)r   rr   ru   )r'   rv   r   r   r   rw   ‘  s    zRRSetData_RRTTL.__getitem__c             C   s   t j| j||ƒ d S )N)r   Ú_set_data_rr_ttlru   )r'   rv   r*   r   r   r   Ú__setitem__’  s    zRRSetData_RRTTL.__setitem__c             C   s   | j j| j j S )N)ru   rk   rl   )r'   r   r   r   rx   “  s    zRRSetData_RRTTL.__len__N)r   r5   r8   rG   rw   rz   rx   r   r   r   r   rq   �  s   rq   c               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )rs   c             C   s
   || _ d S )N)ru   )r'   ru   r   r   r   rG   •  s    zRRSetData_RRData.__init__c             C   s   t j| j|ƒS )N)r   rt   ru   )r'   rv   r   r   r   rw   –  s    zRRSetData_RRData.__getitem__c             C   s   | j j| j j S )N)ru   rk   rl   )r'   r   r   r   rx   —  s    zRRSetData_RRData.__len__N)r   r5   r8   rG   rw   rx   r   r   r   r   rs   ”  s   rs   c             C   s   t j| |ƒS )N)r   rp   )ÚdÚidxr   r   r   rp   š  s    rp   c             C   s   t j| ||ƒS )N)r   ry   )r{   r|   rj   r   r   r   ry   ž  s    ry   c             C   s   t j| |ƒS )N)r   rr   )r{   r|   r   r   r   rr   ¢  s    rr   c             C   s   t j| |ƒS )N)r   rt   )r{   r|   r   r   r   rt   ¦  s    rt   c               @   sä  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZe	jed	< e	jed	< e�r
ee	je	jƒZe	jed
< e	jed
< e�r2ee	je	jƒZ e	j!ed< e	j"ed< e�rZee	j"e	j!ƒZ#e	j$ed< e	j%ed< e�r‚ee	j%e	j$ƒZ&e	j'ed< e	j(ed< e�rªee	j(e	j'ƒZ)dd„ Z*e+e*ƒZ,dd„ Z-e+e-ƒZ.dd„ Z/e	j0Z1dd„ Z2dS )Ú
reply_infoc             C   s   t | t||ƒS )N)r-   r}   )r'   r)   r*   r   r   r   r<   «  s    zreply_info.<lambda>c             C   s   t | t|ƒS )N)r/   r}   )r'   r)   r   r   r   r<   ­  s    rR   Úqdcountrj   Úprefetch_ttlÚauthoritativern   Úan_numrrsetsÚns_numrrsetsÚar_numrrsetsÚrrset_countc             C   s   t | ƒS )N)ÚReplyInfo_Ref)r'   r   r   r   Ú_rrset_ref_getØ  s    zreply_info._rrset_ref_getc             C   s   t | ƒS )N)ÚReplyInfo_RRSet)r'   r   r   r   Ú_rrset_rrsets_getÛ  s    zreply_info._rrset_rrsets_getc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_reply_infor   rF   r2   r3   )r'   r   r   r   r   rG   ß  s
    zreply_info.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   æ  s    N)3r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zreply_info_flags_setZreply_info_flags_getr#   rI   rR   Zreply_info_qdcount_setZreply_info_qdcount_getr~   Zreply_info_ttl_setZreply_info_ttl_getrj   Zreply_info_prefetch_ttl_setZreply_info_prefetch_ttl_getr   Zreply_info_authoritative_setZreply_info_authoritative_getr€   Zreply_info_security_setZreply_info_security_getrn   Zreply_info_an_numrrsets_setZreply_info_an_numrrsets_getr�   Zreply_info_ns_numrrsets_setZreply_info_ns_numrrsets_getr‚   Zreply_info_ar_numrrsets_setZreply_info_ar_numrrsets_getrƒ   Zreply_info_rrset_count_setZreply_info_rrset_count_getr„   r†   rJ   Úrefrˆ   ZrrsetsrG   Zdelete_reply_inforM   rN   r   r   r   r   r}   ©  sh   



















r}   c               @   sŠ   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZdd„ Ze	jZdd„ Zd	S )
Ú	rrset_refc             C   s   t | t||ƒS )N)r-   rŠ   )r'   r)   r*   r   r   r   r<   ì  s    zrrset_ref.<lambda>c             C   s   t | t|ƒS )N)r/   rŠ   )r'   r)   r   r   r   r<   î  s    rg   r_   c             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_rrset_refr   rF   r2   r3   )r'   r   r   r   r   rG   ù  s
    zrrset_ref.__init__c             C   s   d S )Nr   )r'   r   r   r   r<      s    N)r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zrrset_ref_key_setZrrset_ref_key_getr#   rI   rg   Zrrset_ref_id_setZrrset_ref_id_getr_   rG   Zdelete_rrset_refrM   rN   r   r   r   r   rŠ   ê  s    



rŠ   c               @   sŠ   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZdd„ Ze	jZdd„ Zd	S )
Údns_msgc             C   s   t | t||ƒS )N)r-   r‹   )r'   r)   r*   r   r   r   r<     s    zdns_msg.<lambda>c             C   s   t | t|ƒS )N)r/   r‹   )r'   r)   r   r   r   r<     s    ÚqinfoÚrepc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_dns_msgr   rF   r2   r3   )r'   r   r   r   r   rG     s
    zdns_msg.__init__c             C   s   d S )Nr   )r'   r   r   r   r<     s    N)r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zdns_msg_qinfo_setZdns_msg_qinfo_getr#   rI   rŒ   Zdns_msg_rep_setZdns_msg_rep_getr�   rG   Zdelete_dns_msgrM   rN   r   r   r   r   r‹     s    



r‹   c               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )r‡   c             C   s
   || _ d S )N)ru   )r'   ru   r   r   r   rG      s    zReplyInfo_RRSet.__init__c             C   s   t j| j|ƒS )N)r   rˆ   ru   )r'   rv   r   r   r   rw   !  s    zReplyInfo_RRSet.__getitem__c             C   s   | j jS )N)ru   r„   )r'   r   r   r   rx   "  s    zReplyInfo_RRSet.__len__N)r   r5   r8   rG   rw   rx   r   r   r   r   r‡     s   r‡   c               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )r…   c             C   s
   || _ d S )N)ru   )r'   ru   r   r   r   rG   %  s    zReplyInfo_Ref.__init__c             C   s   t j| j|ƒS )N)r   r†   ru   )r'   rv   r   r   r   rw   &  s    zReplyInfo_Ref.__getitem__c             C   s   | j jS )N)ru   r„   )r'   r   r   r   rx   '  s    zReplyInfo_Ref.__len__N)r   r5   r8   rG   rw   rx   r   r   r   r   r…   $  s   r…   c             C   s   t j| |ƒS )N)r   rˆ   )Úrr|   r   r   r   rˆ   *  s    rˆ   c             C   s   t j| |ƒS )N)r   r†   )rŽ   r|   r   r   r   r†   .  s    r†   c               @   sž   e Zd Zi Zdd„ Zi Zdd„ ZeZdd„ Z	e
e	ƒZdd„ Ze
eƒZdd	„ Ze
eƒZd
d„ Ze
eƒZdd„ Ze
eƒZdd„ Ze
eƒZdd„ ZejZdd„ ZdS )Úsockaddr_storagec             C   s   t | t||ƒS )N)r-   r�   )r'   r)   r*   r   r   r   r<   3  s    zsockaddr_storage.<lambda>c             C   s   t | t|ƒS )N)r/   r�   )r'   r)   r   r   r   r<   5  s    c             C   s   t | ƒS )N)Ú_sockaddr_storage_family)r'   r   r   r   Ú_family_get8  s    zsockaddr_storage._family_getc             C   s   t | ƒS )N)Ú_sockaddr_storage_addr)r'   r   r   r   Ú	_addr_get;  s    zsockaddr_storage._addr_getc             C   s   t | ƒS )N)Ú_sockaddr_storage_raw_addr)r'   r   r   r   Ú_raw_addr_get>  s    zsockaddr_storage._raw_addr_getc             C   s   t | ƒS )N)Ú_sockaddr_storage_port)r'   r   r   r   Ú	_port_getA  s    zsockaddr_storage._port_getc             C   s   t | ƒS )N)Ú_sockaddr_storage_flowinfo)r'   r   r   r   Ú_flowinfo_getD  s    zsockaddr_storage._flowinfo_getc             C   s   t | ƒS )N)Ú_sockaddr_storage_scope_id)r'   r   r   r   Ú_scope_id_getG  s    zsockaddr_storage._scope_id_getc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_sockaddr_storager   rF   r2   r3   )r'   r   r   r   r   rG   K  s
    zsockaddr_storage.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   R  s    N)r   r5   r8   r!   r%   r.   rH   r6   r1   r‘   rJ   Úfamilyr“   Úaddrr•   Zraw_addrr—   Úportr™   Zflowinfor›   Zscope_idrG   r   Zdelete_sockaddr_storagerM   rN   r   r   r   r   r�   1  s(   r�   c             C   s
   t j| ƒS )N)r   Ú_sockaddr_storage_len)Ússr   r   r   rŸ   W  s    rŸ   c             C   s
   t j| ƒS )N)r   r�   )r    r   r   r   r�   [  s    r�   c             C   s
   t j| ƒS )N)r   r’   )r    r   r   r   r’   _  s    r’   c             C   s
   t j| ƒS )N)r   r”   )r    r   r   r   r”   c  s    r”   c             C   s
   t j| ƒS )N)r   r–   )r    r   r   r   r–   g  s    r–   c             C   s
   t j| ƒS )N)r   r˜   )r    r   r   r   r˜   k  s    r˜   c             C   s
   t j| ƒS )N)r   rš   )r    r   r   r   rš   o  s    rš   c               @   sd   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZdd„ Ze	jZdd„ ZdS )	Ú
mesh_statec             C   s   t | t||ƒS )N)r-   r¡   )r'   r)   r*   r   r   r   r<   t  s    zmesh_state.<lambda>c             C   s   t | t|ƒS )N)r/   r¡   )r'   r)   r   r   r   r<   v  s    Ú
reply_listc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_mesh_stater   rF   r2   r3   )r'   r   r   r   r   rG   }  s
    zmesh_state.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   „  s    N)r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zmesh_state_reply_list_setZmesh_state_reply_list_getr#   rI   r¢   rG   Zdelete_mesh_staterM   rN   r   r   r   r   r¡   r  s   

r¡   c               @   sŠ   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZdd„ Ze	jZdd„ Zd	S )
Ú
mesh_replyc             C   s   t | t||ƒS )N)r-   r£   )r'   r)   r*   r   r   r   r<   Š  s    zmesh_reply.<lambda>c             C   s   t | t|ƒS )N)r/   r£   )r'   r)   r   r   r   r<   Œ  s    ÚnextÚquery_replyc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_mesh_replyr   rF   r2   r3   )r'   r   r   r   r   rG   —  s
    zmesh_reply.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   ž  s    N)r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zmesh_reply_next_setZmesh_reply_next_getr#   rI   r¤   Zmesh_reply_query_reply_setZmesh_reply_query_reply_getr¥   rG   Zdelete_mesh_replyrM   rN   r   r   r   r   r£   ˆ  s    



r£   c               @   s”   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZdd„ ZeeƒZdd„ ZeeƒZd	d
„ ZeeƒZdd„ Ze	jZdd„ ZdS )Ú
comm_replyc             C   s   t | t||ƒS )N)r-   r¦   )r'   r)   r*   r   r   r   r<   ¤  s    zcomm_reply.<lambda>c             C   s   t | t|ƒS )N)r/   r¦   )r'   r)   r   r   r   r<   ¦  s    Ú_addrc             C   s
   t | jƒS )N)r’   r§   )r'   r   r   r   r“   ­  s    zcomm_reply._addr_getc             C   s
   t | jƒS )N)r–   r§   )r'   r   r   r   r—   °  s    zcomm_reply._port_getc             C   s
   t | jƒS )N)r�   r§   )r'   r   r   r   r‘   ³  s    zcomm_reply._family_getc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_comm_replyr   rF   r2   r3   )r'   r   r   r   r   rG   ·  s
    zcomm_reply.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   ¾  s    N)r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zcomm_reply__addr_setZcomm_reply__addr_getr#   rI   r§   r“   rJ   r�   r—   rž   r‘   rœ   rG   Zdelete_comm_replyrM   rN   r   r   r   r   r¦   ¢  s$   

r¦   c               @   sö   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZdd	„ ZeeƒZd
d„ ZeeƒZdd„ Ze	jZdd„ Z dS )Úedns_optionc             C   s   t | t||ƒS )N)r-   r¨   )r'   r)   r*   r   r   r   r<   Ä  s    zedns_option.<lambda>c             C   s   t | t|ƒS )N)r/   r¨   )r'   r)   r   r   r   r<   Æ  s    Ú_nextÚ	_opt_codeÚ_opt_lenÚ	_opt_datac             C   s   t | ƒS )N)Ú_edns_option_opt_code_get)r'   r   r   r   Ú_opt_code_getÙ  s    zedns_option._opt_code_getc             C   s   t | ƒS )N)Ú_edns_option_opt_data_get)r'   r   r   r   Ú_opt_data_getÜ  s    zedns_option._opt_data_getc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_edns_optionr   rF   r2   r3   )r'   r   r   r   r   rG   à  s
    zedns_option.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   ç  s    N)!r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zedns_option__next_setZedns_option__next_getr#   rI   r©   Zedns_option__opt_code_setZedns_option__opt_code_getrª   Zedns_option__opt_len_setZedns_option__opt_len_getr«   Zedns_option__opt_data_setZedns_option__opt_data_getr¬   r®   rJ   Úcoder°   rh   rG   Zdelete_edns_optionrM   rN   r   r   r   r   r¨   Â  s8   







r¨   c             C   s
   t j| ƒS )N)r   r­   )Úoptionr   r   r   r­   ì  s    r­   c             C   s
   t j| ƒS )N)r   r¯   )r²   r   r   r   r¯   ð  s    r¯   c               @   s¼  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZe	jed	< e	jed	< e�r
ee	je	jƒZe	jed
< e	jed
< e�r2ee	je	jƒZ e	j!ed< e	j"ed< e�rZee	j"e	j!ƒZ#e	j$ed< e	j%ed< e�r‚ee	j%e	j$ƒZ&dd„ Z'e(e'ƒZ)dd„ Z*e(e*ƒZ+dd„ Z,e	j-Z.dd„ Z/dS )Ú	edns_datac             C   s   t | t||ƒS )N)r-   r³   )r'   r)   r*   r   r   r   r<   õ  s    zedns_data.<lambda>c             C   s   t | t|ƒS )N)r/   r³   )r'   r)   r   r   r   r<   ÷  s    Úedns_presentÚ	ext_rcodeÚedns_versionÚbitsÚudp_sizeÚopt_list_inÚopt_list_outÚopt_list_inplace_cb_outÚpadding_block_sizec             C   s
   t | jƒS )N)ÚEdnsOptsListIterÚopt_list)r'   r   r   r   Ú_opt_list_iter  s    zedns_data._opt_list_iterc             C   s   t | ƒS )N)Ú_edns_data_opt_list_get)r'   r   r   r   Ú	_opt_list   s    zedns_data._opt_listc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_edns_datar   rF   r2   r3   )r'   r   r   r   r   rG   $  s
    zedns_data.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   +  s    N)0r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zedns_data_edns_present_setZedns_data_edns_present_getr#   rI   r´   Zedns_data_ext_rcode_setZedns_data_ext_rcode_getrµ   Zedns_data_edns_version_setZedns_data_edns_version_getr¶   Zedns_data_bits_setZedns_data_bits_getr·   Zedns_data_udp_size_setZedns_data_udp_size_getr¸   Zedns_data_opt_list_in_setZedns_data_opt_list_in_getr¹   Zedns_data_opt_list_out_setZedns_data_opt_list_out_getrº   Z%edns_data_opt_list_inplace_cb_out_setZ%edns_data_opt_list_inplace_cb_out_getr»   Z edns_data_padding_block_size_setZ edns_data_padding_block_size_getr¼   r¿   rJ   Zopt_list_iterrÁ   r¾   rG   Zdelete_edns_datarM   rN   r   r   r   r   r³   ó  s`   

















r³   c             C   s
   t j| ƒS )N)r   rÀ   )Zednsr   r   r   rÀ   0  s    rÀ   c               @   s¤  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZe	jed	< e	jed	< e�r
ee	je	jƒZe	jed
< e	jed
< e�r2ee	je	jƒZ e	j!ed< e	j"ed< e�rZee	j"e	j!ƒZ#e	j$ed< e	j%ed< e�r‚ee	j%e	j$ƒZ&e	j'ed< e	j(ed< e�rªee	j(e	j'ƒZ)e	j*ed< e	j+ed< e�rÒee	j+e	j*ƒZ,e	j-ed< e	j.ed< e�rúee	j.e	j-ƒZ/e	j0ed< e	j1ed< e�r"ee	j1e	j0ƒZ2e	j3ed< e	j4ed< e�rJee	j4e	j3ƒZ5e	j6ed< e	j7ed< e�rree	j7e	j6ƒZ8e	j9ed< e	j:ed< e�ršee	j:e	j9ƒZ;e	j<ed< e	j=ed< e�rÂee	j=e	j<ƒZ>e	j?ed< e	j@ed< e�rêee	j@e	j?ƒZAe	jBed< e	jCed< e�ree	jCe	jBƒZDe	jEed< e	jFed< e�r:ee	jFe	jEƒZGe	jHed< e	jIed< e�rbee	jIe	jHƒZJe	jKed< e	jLed< e�rŠee	jLe	jKƒZMe	jNed< e	jOed< e�r²ee	jOe	jNƒZPe	jQed< e	jRed< e�rÚee	jRe	jQƒZSe	jTed< e	jUed< e�ree	jUe	jTƒZVe	jWed< e	jXed< e�r*ee	jXe	jWƒZYe	jZed< e	j[ed< e�rRee	j[e	jZƒZ\e	j]ed< e	j^ed< e�rzee	j^e	j]ƒZ_d d!„ Z`eae`ƒZbd"d#„ Zce	jdZed$d„ Zfd%S )&Ú
module_envc             C   s   t | t||ƒS )N)r-   rÂ   )r'   r)   r*   r   r   r   r<   5  s    zmodule_env.<lambda>c             C   s   t | t|ƒS )N)r/   rÂ   )r'   r)   r   r   r   r<   7  s    ÚcfgÚ	msg_cacheÚrrset_cacheÚinfra_cacheÚ	key_cacheÚ
send_queryÚdetach_subsÚ
attach_subÚkill_subÚdetect_cycleÚscratchÚscratch_bufferÚworkerÚmeshÚallocÚrndÚ_nowÚ_now_tvÚneed_to_validateÚanchorsÚ	neg_cacheÚprobe_timerÚfwdsÚhintsÚmodinfoÚinplace_cb_listsÚedns_known_optionsÚedns_known_options_numc             C   s   t | ƒS )N)Ú_module_env_now_get)r'   r   r   r   Ú_now_getª  s    zmodule_env._now_getc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_module_envr   rF   r2   r3   )r'   r   r   r   r   rG   ®  s
    zmodule_env.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   µ  s    N)gr   r5   r8   r!   r%   r.   rH   r6   r1   r   Zmodule_env_cfg_setZmodule_env_cfg_getr#   rI   rÃ   Zmodule_env_msg_cache_setZmodule_env_msg_cache_getrÄ   Zmodule_env_rrset_cache_setZmodule_env_rrset_cache_getrÅ   Zmodule_env_infra_cache_setZmodule_env_infra_cache_getrÆ   Zmodule_env_key_cache_setZmodule_env_key_cache_getrÇ   Zmodule_env_send_query_setZmodule_env_send_query_getrÈ   Zmodule_env_detach_subs_setZmodule_env_detach_subs_getrÉ   Zmodule_env_attach_sub_setZmodule_env_attach_sub_getrÊ   Zmodule_env_kill_sub_setZmodule_env_kill_sub_getrË   Zmodule_env_detect_cycle_setZmodule_env_detect_cycle_getrÌ   Zmodule_env_scratch_setZmodule_env_scratch_getrÍ   Zmodule_env_scratch_buffer_setZmodule_env_scratch_buffer_getrÎ   Zmodule_env_worker_setZmodule_env_worker_getrÏ   Zmodule_env_mesh_setZmodule_env_mesh_getrÐ   Zmodule_env_alloc_setZmodule_env_alloc_getrÑ   Zmodule_env_rnd_setZmodule_env_rnd_getrÒ   Zmodule_env__now_setZmodule_env__now_getrÓ   Zmodule_env__now_tv_setZmodule_env__now_tv_getrÔ   Zmodule_env_need_to_validate_setZmodule_env_need_to_validate_getrÕ   Zmodule_env_anchors_setZmodule_env_anchors_getrÖ   Zmodule_env_neg_cache_setZmodule_env_neg_cache_getr×   Zmodule_env_probe_timer_setZmodule_env_probe_timer_getrØ   Zmodule_env_fwds_setZmodule_env_fwds_getrÙ   Zmodule_env_hints_setZmodule_env_hints_getrÚ   Zmodule_env_modinfo_setZmodule_env_modinfo_getrÛ   Zmodule_env_inplace_cb_lists_setZmodule_env_inplace_cb_lists_getrÜ   Z!module_env_edns_known_options_setZ!module_env_edns_known_options_getrÝ   Z%module_env_edns_known_options_num_setZ%module_env_edns_known_options_num_getrÞ   rà   rJ   ZnowrG   Zdelete_module_envrM   rN   r   r   r   r   rÂ   3  sô   























































rÂ   c             C   s
   t j| ƒS )N)r   rß   )Úenvr   r   r   rß   º  s    rß   c               @   sü  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZe	jed	< e	jed	< e�r
ee	je	jƒZe	jed
< e	jed
< e�r2ee	je	jƒZ e	j!ed< e	j"ed< e�rZee	j"e	j!ƒZ#e	j$ed< e	j%ed< e�r‚ee	j%e	j$ƒZ&e	j'ed< e	j(ed< e�rªee	j(e	j'ƒZ)e	j*ed< e	j+ed< e�rÒee	j+e	j*ƒZ,e	j-ed< e	j.ed< e�rúee	j.e	j-ƒZ/e	j0ed< e	j1ed< e�r"ee	j1e	j0ƒZ2e	j3ed< e	j4ed< e�rJee	j4e	j3ƒZ5dd„ Z6dd„ Z7e8e7ƒZ9dd„ Z:e8e:ƒZ;dd„ Z<e8e<ƒZ=dd„ Z>e8e>ƒZ?dd„ Z@e8e@ƒZAdd„ ZBe8eBƒZCd d!„ ZDe8eDƒZEd"d#„ ZFe8eFƒZGd$d%„ ZHe8eHƒZId&d'„ ZJe	jKZLd(d„ ZMd)S )*Úmodule_qstatec             C   s   t | t||ƒS )N)r-   râ   )r'   r)   r*   r   r   r   r<   ¿  s    zmodule_qstate.<lambda>c             C   s   t | t|ƒS )N)r/   râ   )r'   r)   r   r   r   r<   Á  s    rŒ   Úquery_flagsÚ
is_primingÚ	is_valrecÚreplyÚ
return_msgÚreturn_rcodeÚregionÚcurmodÚprefetch_leewayrá   Ú	mesh_infoÚno_cache_lookupÚno_cache_storec             C   s   t j| ||ƒ dS )zSets the ext stateN)r   Ú_ext_state_set)r'   r_   Ústater   r   r   Úset_ext_stateü  s    zmodule_qstate.set_ext_statec             C   s   t | ƒS )N)ÚExtState)r'   r   r   r   Z__ext_state_get   s    zmodule_qstate.__ext_state_getc             C   s
   t | jƒS )N)r½   Úedns_opts_front_in)r'   r   r   r   Ú_edns_opts_front_in_iter  s    z&module_qstate._edns_opts_front_in_iterc             C   s
   t | jƒS )N)r½   Úedns_opts_back_out)r'   r   r   r   Ú_edns_opts_back_out_iter  s    z&module_qstate._edns_opts_back_out_iterc             C   s
   t | jƒS )N)r½   Úedns_opts_back_in)r'   r   r   r   Ú_edns_opts_back_in_iter  s    z%module_qstate._edns_opts_back_in_iterc             C   s
   t | jƒS )N)r½   Úedns_opts_front_out)r'   r   r   r   Ú_edns_opts_front_out_iter	  s    z'module_qstate._edns_opts_front_out_iterc             C   s   t | ƒS )N)Ú_edns_opts_front_in_get)r'   r   r   r   Ú_edns_opts_front_in  s    z!module_qstate._edns_opts_front_inc             C   s   t | ƒS )N)Ú_edns_opts_back_out_get)r'   r   r   r   Ú_edns_opts_back_out  s    z!module_qstate._edns_opts_back_outc             C   s   t | ƒS )N)Ú_edns_opts_back_in_get)r'   r   r   r   Ú_edns_opts_back_in  s    z module_qstate._edns_opts_back_inc             C   s   t | ƒS )N)Ú_edns_opts_front_out_get)r'   r   r   r   Ú_edns_opts_front_out  s    z"module_qstate._edns_opts_front_outc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_module_qstater   rF   r2   r3   )r'   r   r   r   r   rG     s
    zmodule_qstate.__init__c             C   s   d S )Nr   )r'   r   r   r   r<     s    N)Nr   r5   r8   r!   r%   r.   rH   r6   r1   r   Zmodule_qstate_qinfo_setZmodule_qstate_qinfo_getr#   rI   rŒ   Zmodule_qstate_query_flags_setZmodule_qstate_query_flags_getrã   Zmodule_qstate_is_priming_setZmodule_qstate_is_priming_geträ   Zmodule_qstate_is_valrec_setZmodule_qstate_is_valrec_getrå   Zmodule_qstate_reply_setZmodule_qstate_reply_getræ   Zmodule_qstate_return_msg_setZmodule_qstate_return_msg_getrç   Zmodule_qstate_return_rcode_setZmodule_qstate_return_rcode_getrè   Zmodule_qstate_region_setZmodule_qstate_region_getré   Zmodule_qstate_curmod_setZmodule_qstate_curmod_getrê   Z!module_qstate_prefetch_leeway_setZ!module_qstate_prefetch_leeway_getrë   Zmodule_qstate_env_setZmodule_qstate_env_getrá   Zmodule_qstate_mesh_info_setZmodule_qstate_mesh_info_getrì   Z!module_qstate_no_cache_lookup_setZ!module_qstate_no_cache_lookup_getrí   Z module_qstate_no_cache_store_setZ module_qstate_no_cache_store_getrî   rñ   Z_module_qstate__ext_state_getrJ   Z	ext_staterô   Zedns_opts_front_in_iterrö   Zedns_opts_back_out_iterrø   Zedns_opts_back_in_iterrú   Zedns_opts_front_out_iterrü   ró   rþ   rõ   r   r÷   r  rù   rG   Zdelete_module_qstaterM   rN   r   r   r   r   râ   ½  s¦   



























râ   c               @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )rò   c             C   s
   || _ d S )N)ru   )r'   ru   r   r   r   rG   7  s    zExtState.__init__c                s    dj ‡ fdd„tdtjƒD ƒƒS )Nz, c                s    g | ]}t jt jˆ j|ƒƒ‘qS r   )r   ÚstrextstateÚ_ext_state_getru   )Ú.0Úa)r'   r   r   ú
<listcomp>9  s    z$ExtState.__str__.<locals>.<listcomp>r   )r
   Úranger   ÚMODULE_COUNT)r'   r   )r'   r   Ú__str__8  s    zExtState.__str__c             C   s   t j| j|ƒS )N)r   r  ru   )r'   rv   r   r   r   rw   :  s    zExtState.__getitem__c             C   s   t j| j||ƒ d S )N)r   rï   ru   )r'   rv   r*   r   r   r   rz   ;  s    zExtState.__setitem__c             C   s   t jS )N)r   r	  )r'   r   r   r   rx   <  s    zExtState.__len__N)r   r5   r8   rG   r
  rw   rz   rx   r   r   r   r   rò   6  s
   rò   c               @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )r½   c             C   s   || _ d | _d S )N)Ú_currentÚ_temp)r'   ru   r   r   r   rG   ?  s    zEdnsOptsListIter.__init__c             C   s   | S )Nr   )r'   r   r   r   Ú__iter__B  s    zEdnsOptsListIter.__iter__c             C   s   | j ƒ S )zPython 3 compatibility)Ú	_get_next)r'   r   r   r   Ú__next__C  s    zEdnsOptsListIter.__next__c             C   s   | j ƒ S )zPython 2 compatibility)r  )r'   r   r   r   r¤   F  s    zEdnsOptsListIter.nextc             C   s0   t | jƒs(| j| _t| jƒ| _t| jƒS t‚d S )N)Úedns_opt_list_is_emptyr  r  Ú_p_p_edns_option_get_nextÚ_dereference_edns_optionÚStopIteration)r'   r   r   r   r  I  s
    

zEdnsOptsListIter._get_nextN)r   r5   r8   rG   r  r  r¤   r  r   r   r   r   r½   >  s
   r½   c             C   s   t j| |ƒS )N)r   r  )rO   r|   r   r   r   r  R  s    r  c             C   s   t j| ||ƒS )N)r   rï   )rO   r|   rð   r   r   r   rï   V  s    rï   c             C   s
   t j| ƒS )N)r   r  )Úoptr   r   r   r  Z  s    r  c             C   s
   t j| ƒS )N)r   r  )r  r   r   r   r  ^  s    r  c             C   s
   t j| ƒS )N)r   r  )r  r   r   r   r  b  s    r  c             C   s
   t j| ƒS )N)r   rû   )rO   r   r   r   rû   f  s    rû   c             C   s
   t j| ƒS )N)r   rý   )rO   r   r   r   rý   j  s    rý   c             C   s
   t j| ƒS )N)r   rÿ   )rO   r   r   r   rÿ   n  s    rÿ   c             C   s
   t j| ƒS )N)r   r  )rO   r   r   r   r  r  s    r  c               @   sŠ   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZdd„ Ze	jZdd„ Zd	S )
Úconfig_strlistc             C   s   t | t||ƒS )N)r-   r  )r'   r)   r*   r   r   r   r<   w  s    zconfig_strlist.<lambda>c             C   s   t | t|ƒS )N)r/   r  )r'   r)   r   r   r   r<   y  s    r¤   Ústrc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_config_strlistr   rF   r2   r3   )r'   r   r   r   r   rG   „  s
    zconfig_strlist.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   ‹  s    N)r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zconfig_strlist_next_setZconfig_strlist_next_getr#   rI   r¤   Zconfig_strlist_str_setZconfig_strlist_str_getr  rG   Zdelete_config_strlistrM   rN   r   r   r   r   r  u  s    



r  c               @   s°   e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZdd„ Ze	jZd	d„ Zd
S )Úconfig_str2listc             C   s   t | t||ƒS )N)r-   r  )r'   r)   r*   r   r   r   r<   ‘  s    zconfig_str2list.<lambda>c             C   s   t | t|ƒS )N)r/   r  )r'   r)   r   r   r   r<   “  s    r¤   r  Ústr2c             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_config_str2listr   rF   r2   r3   )r'   r   r   r   r   rG   ¢  s
    zconfig_str2list.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   ©  s    N)r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zconfig_str2list_next_setZconfig_str2list_next_getr#   rI   r¤   Zconfig_str2list_str_setZconfig_str2list_str_getr  Zconfig_str2list_str2_setZconfig_str2list_str2_getr  rG   Zdelete_config_str2listrM   rN   r   r   r   r   r  �  s(   





r  c               @   s´  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZe	jed	< e	jed	< e�r
ee	je	jƒZe	jed
< e	jed
< e�r2ee	je	jƒZ e	j!ed< e	j"ed< e�rZee	j"e	j!ƒZ#e	j$ed< e	j%ed< e�r‚ee	j%e	j$ƒZ&e	j'ed< e	j(ed< e�rªee	j(e	j'ƒZ)e	j*ed< e	j+ed< e�rÒee	j+e	j*ƒZ,e	j-ed< e	j.ed< e�rúee	j.e	j-ƒZ/e	j0ed< e	j1ed< e�r"ee	j1e	j0ƒZ2e	j3ed< e	j4ed< e�rJee	j4e	j3ƒZ5e	j6ed< e	j7ed< e�rree	j7e	j6ƒZ8e	j9ed< e	j:ed< e�ršee	j:e	j9ƒZ;e	j<ed< e	j=ed< e�rÂee	j=e	j<ƒZ>e	j?ed< e	j@ed< e�rêee	j@e	j?ƒZAe	jBed< e	jCed< e�ree	jCe	jBƒZDe	jEed< e	jFed< e�r:ee	jFe	jEƒZGe	jHed< e	jIed< e�rbee	jIe	jHƒZJe	jKed< e	jLed< e�rŠee	jLe	jKƒZMe	jNed< e	jOed< e�r²ee	jOe	jNƒZPe	jQed< e	jRed< e�rÚee	jRe	jQƒZSe	jTed< e	jUed< e�ree	jUe	jTƒZVe	jWed< e	jXed< e�r*ee	jXe	jWƒZYe	jZed< e	j[ed< e�rRee	j[e	jZƒZ\e	j]ed< e	j^ed< e�rzee	j^e	j]ƒZ_e	j`ed < e	jaed < e�r¢ee	jae	j`ƒZbe	jced!< e	jded!< e�rÊee	jde	jcƒZee	jfed"< e	jged"< e�ròee	jge	jfƒZhe	jied#< e	jjed#< e�ree	jje	jiƒZke	jled$< e	jmed$< e�rBee	jme	jlƒZne	joed%< e	jped%< e�rjee	jpe	joƒZqe	jred&< e	jsed&< e�r’ee	jse	jrƒZte	jued'< e	jved'< e�rºee	jve	juƒZwe	jxed(< e	jyed(< e�râee	jye	jxƒZze	j{ed)< e	j|ed)< e�r
ee	j|e	j{ƒZ}e	j~ed*< e	jed*< e�r2ee	je	j~ƒZ€e	j�ed+< e	j‚ed+< e�rZee	j‚e	j�ƒZƒe	j„ed,< e	j…ed,< e�r‚ee	j…e	j„ƒZ†e	j‡ed-< e	jˆed-< e�rªee	jˆe	j‡ƒZ‰e	jŠed.< e	j‹ed.< e�rÒee	j‹e	jŠƒZŒe	j�ed/< e	jŽed/< e�rúee	jŽe	j�ƒZ�e	j�ed0< e	j‘ed0< e�r"ee	j‘e	j�ƒZ’e	j“ed1< e	j”ed1< e�rJee	j”e	j“ƒZ•e	j–ed2< e	j—ed2< e�rree	j—e	j–ƒZ˜e	j™ed3< e	jšed3< e�ršee	jše	j™ƒZ›e	jœed4< e	j�ed4< e�rÂee	j�e	jœƒZže	jŸed5< e	j ed5< e�rêee	j e	jŸƒZ¡e	j¢ed6< e	j£ed6< e�ree	j£e	j¢ƒZ¤e	j¥ed7< e	j¦ed7< e�r:ee	j¦e	j¥ƒZ§e	j¨ed8< e	j©ed8< e�rbee	j©e	j¨ƒZªe	j«ed9< e	j¬ed9< e�rŠee	j¬e	j«ƒZ­e	j®ed:< e	j¯ed:< e�r²ee	j¯e	j®ƒZ°e	j±ed;< e	j²ed;< e�rÚee	j²e	j±ƒZ³e	j´ed<< e	jµed<< e�	ree	jµe	j´ƒZ¶e	j·ed=< e	j¸ed=< e�	r*ee	j¸e	j·ƒZ¹e	jºed>< e	j»ed>< e�	rRee	j»e	jºƒZ¼e	j½ed?< e	j¾ed?< e�	rzee	j¾e	j½ƒZ¿e	jÀed@< e	jÁed@< e�	r¢ee	jÁe	jÀƒZÂe	jÃedA< e	jÄedA< e�	rÊee	jÄe	jÃƒZÅe	jÆedB< e	jÇedB< e�	ròee	jÇe	jÆƒZÈe	jÉedC< e	jÊedC< e�
ree	jÊe	jÉƒZËe	jÌedD< e	jÍedD< e�
rBee	jÍe	jÌƒZÎe	jÏedE< e	jÐedE< e�
rjee	jÐe	jÏƒZÑe	jÒedF< e	jÓedF< e�
r’ee	jÓe	jÒƒZÔe	jÕedG< e	jÖedG< e�
rºee	jÖe	jÕƒZ×e	jØedH< e	jÙedH< e�
râee	jÙe	jØƒZÚe	jÛedI< e	jÜedI< e�r
ee	jÜe	jÛƒZÝe	jÞedJ< e	jßedJ< e�r2ee	jße	jÞƒZàe	jáedK< e	jâedK< e�rZee	jâe	jáƒZãe	jäedL< e	jåedL< e�r‚ee	jåe	jäƒZæe	jçedM< e	jèedM< e�rªee	jèe	jçƒZée	jêedN< e	jëedN< e�rÒee	jëe	jêƒZìe	jíedO< e	jîedO< e�rúee	jîe	jíƒZïe	jðedP< e	jñedP< e�r"ee	jñe	jðƒZòe	jóedQ< e	jôedQ< e�rJee	jôe	jóƒZõe	jöedR< e	j÷edR< e�rree	j÷e	jöƒZøe	jùedS< e	júedS< e�ršee	júe	jùƒZûdTdU„ Züe	jýZþdVd„ ZÿdWS )XÚconfig_filec             C   s   t | t||ƒS )N)r-   r  )r'   r)   r*   r   r   r   r<   ¯  s    zconfig_file.<lambda>c             C   s   t | t|ƒS )N)r/   r  )r'   r)   r   r   r   r<   ±  s    Ú	verbosityÚstat_intervalÚstat_cumulativeÚstat_extendedÚnum_threadsrž   Údo_ip4Údo_ip6Údo_udpÚdo_tcpÚoutgoing_num_portsÚoutgoing_num_tcpÚincoming_num_tcpÚoutgoing_avail_portsÚmsg_buffer_sizeÚmsg_cache_sizeÚmsg_cache_slabsÚnum_queries_per_threadÚjostle_timeÚrrset_cache_sizeÚrrset_cache_slabsÚhost_ttlÚinfra_cache_slabsÚinfra_cache_numhostsÚtarget_fetch_policyÚif_automaticÚnum_ifsÚifsÚnum_out_ifsÚout_ifsÚ
root_hintsÚstubsÚforwardsÚdonotqueryaddrsÚaclsÚdonotquery_localhostÚharden_short_bufsizeÚharden_large_queriesÚharden_glueÚharden_dnssec_strippedÚharden_referral_pathÚuse_caps_bits_for_idÚprivate_addressÚprivate_domainÚunwanted_thresholdÚ	chrootdirÚusernameÚ	directoryÚlogfileÚpidfileÚ
use_syslogÚhide_identityÚhide_versionÚidentityÚversionÚmodule_confÚtrust_anchor_file_listÚtrust_anchor_listÚtrusted_keys_file_listÚmax_ttlÚval_date_overrideÚ	bogus_ttlÚval_clean_additionalÚval_permissive_modeÚval_nsec3_key_iterationsÚkey_cache_sizeÚkey_cache_slabsÚneg_cache_sizeÚlocal_zonesÚlocal_zones_nodefaultÚ
local_dataÚremote_control_enableÚcontrol_ifsÚcontrol_portÚserver_key_fileÚserver_cert_fileÚcontrol_key_fileÚcontrol_cert_fileÚdo_daemonizeÚpython_scriptc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_config_filer   rF   r2   r3   )r'   r   r   r   r   rG   ô  s
    zconfig_file.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   û  s    N(   r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zconfig_file_verbosity_setZconfig_file_verbosity_getr#   rI   r  Zconfig_file_stat_interval_setZconfig_file_stat_interval_getr  Zconfig_file_stat_cumulative_setZconfig_file_stat_cumulative_getr  Zconfig_file_stat_extended_setZconfig_file_stat_extended_getr  Zconfig_file_num_threads_setZconfig_file_num_threads_getr  Zconfig_file_port_setZconfig_file_port_getrž   Zconfig_file_do_ip4_setZconfig_file_do_ip4_getr  Zconfig_file_do_ip6_setZconfig_file_do_ip6_getr   Zconfig_file_do_udp_setZconfig_file_do_udp_getr!  Zconfig_file_do_tcp_setZconfig_file_do_tcp_getr"  Z"config_file_outgoing_num_ports_setZ"config_file_outgoing_num_ports_getr#  Z config_file_outgoing_num_tcp_setZ config_file_outgoing_num_tcp_getr$  Z config_file_incoming_num_tcp_setZ config_file_incoming_num_tcp_getr%  Z$config_file_outgoing_avail_ports_setZ$config_file_outgoing_avail_ports_getr&  Zconfig_file_msg_buffer_size_setZconfig_file_msg_buffer_size_getr'  Zconfig_file_msg_cache_size_setZconfig_file_msg_cache_size_getr(  Zconfig_file_msg_cache_slabs_setZconfig_file_msg_cache_slabs_getr)  Z&config_file_num_queries_per_thread_setZ&config_file_num_queries_per_thread_getr*  Zconfig_file_jostle_time_setZconfig_file_jostle_time_getr+  Z config_file_rrset_cache_size_setZ config_file_rrset_cache_size_getr,  Z!config_file_rrset_cache_slabs_setZ!config_file_rrset_cache_slabs_getr-  Zconfig_file_host_ttl_setZconfig_file_host_ttl_getr.  Z!config_file_infra_cache_slabs_setZ!config_file_infra_cache_slabs_getr/  Z$config_file_infra_cache_numhosts_setZ$config_file_infra_cache_numhosts_getr0  Z#config_file_target_fetch_policy_setZ#config_file_target_fetch_policy_getr1  Zconfig_file_if_automatic_setZconfig_file_if_automatic_getr2  Zconfig_file_num_ifs_setZconfig_file_num_ifs_getr3  Zconfig_file_ifs_setZconfig_file_ifs_getr4  Zconfig_file_num_out_ifs_setZconfig_file_num_out_ifs_getr5  Zconfig_file_out_ifs_setZconfig_file_out_ifs_getr6  Zconfig_file_root_hints_setZconfig_file_root_hints_getr7  Zconfig_file_stubs_setZconfig_file_stubs_getr8  Zconfig_file_forwards_setZconfig_file_forwards_getr9  Zconfig_file_donotqueryaddrs_setZconfig_file_donotqueryaddrs_getr:  Zconfig_file_acls_setZconfig_file_acls_getr;  Z$config_file_donotquery_localhost_setZ$config_file_donotquery_localhost_getr<  Z$config_file_harden_short_bufsize_setZ$config_file_harden_short_bufsize_getr=  Z$config_file_harden_large_queries_setZ$config_file_harden_large_queries_getr>  Zconfig_file_harden_glue_setZconfig_file_harden_glue_getr?  Z&config_file_harden_dnssec_stripped_setZ&config_file_harden_dnssec_stripped_getr@  Z$config_file_harden_referral_path_setZ$config_file_harden_referral_path_getrA  Z$config_file_use_caps_bits_for_id_setZ$config_file_use_caps_bits_for_id_getrB  Zconfig_file_private_address_setZconfig_file_private_address_getrC  Zconfig_file_private_domain_setZconfig_file_private_domain_getrD  Z"config_file_unwanted_threshold_setZ"config_file_unwanted_threshold_getrE  Zconfig_file_chrootdir_setZconfig_file_chrootdir_getrF  Zconfig_file_username_setZconfig_file_username_getrG  Zconfig_file_directory_setZconfig_file_directory_getrH  Zconfig_file_logfile_setZconfig_file_logfile_getrI  Zconfig_file_pidfile_setZconfig_file_pidfile_getrJ  Zconfig_file_use_syslog_setZconfig_file_use_syslog_getrK  Zconfig_file_hide_identity_setZconfig_file_hide_identity_getrL  Zconfig_file_hide_version_setZconfig_file_hide_version_getrM  Zconfig_file_identity_setZconfig_file_identity_getrN  Zconfig_file_version_setZconfig_file_version_getrO  Zconfig_file_module_conf_setZconfig_file_module_conf_getrP  Z&config_file_trust_anchor_file_list_setZ&config_file_trust_anchor_file_list_getrQ  Z!config_file_trust_anchor_list_setZ!config_file_trust_anchor_list_getrR  Z&config_file_trusted_keys_file_list_setZ&config_file_trusted_keys_file_list_getrS  Zconfig_file_max_ttl_setZconfig_file_max_ttl_getrT  Z!config_file_val_date_override_setZ!config_file_val_date_override_getrU  Zconfig_file_bogus_ttl_setZconfig_file_bogus_ttl_getrV  Z$config_file_val_clean_additional_setZ$config_file_val_clean_additional_getrW  Z#config_file_val_permissive_mode_setZ#config_file_val_permissive_mode_getrX  Z(config_file_val_nsec3_key_iterations_setZ(config_file_val_nsec3_key_iterations_getrY  Zconfig_file_key_cache_size_setZconfig_file_key_cache_size_getrZ  Zconfig_file_key_cache_slabs_setZconfig_file_key_cache_slabs_getr[  Zconfig_file_neg_cache_size_setZconfig_file_neg_cache_size_getr\  Zconfig_file_local_zones_setZconfig_file_local_zones_getr]  Z%config_file_local_zones_nodefault_setZ%config_file_local_zones_nodefault_getr^  Zconfig_file_local_data_setZconfig_file_local_data_getr_  Z%config_file_remote_control_enable_setZ%config_file_remote_control_enable_getr`  Zconfig_file_control_ifs_setZconfig_file_control_ifs_getra  Zconfig_file_control_port_setZconfig_file_control_port_getrb  Zconfig_file_server_key_file_setZconfig_file_server_key_file_getrc  Z config_file_server_cert_file_setZ config_file_server_cert_file_getrd  Z config_file_control_key_file_setZ config_file_control_key_file_getre  Z!config_file_control_cert_file_setZ!config_file_control_cert_file_getrf  Zconfig_file_do_daemonize_setZconfig_file_do_daemonize_getrg  Zconfig_file_python_script_setZconfig_file_python_script_getrh  rG   Zdelete_config_filerM   rN   r   r   r   r   r  ­  s�  































































































































































r  c               @   sp  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZe	jed	< e	jed	< e�r
ee	je	jƒZe	jed
< e	jed
< e�r2ee	je	jƒZ e!e	j"ƒZ#e!e	j$ƒZ%dd„ Z&e!e&ƒZ'dd„ Z(e	j)Z*dd„ Z+dS )Ú
delegpt_nsc             C   s   t | t||ƒS )N)r-   ri  )r'   r)   r*   r   r   r   r<     s    zdelegpt_ns.<lambda>c             C   s   t | t|ƒS )N)r/   ri  )r'   r)   r   r   r   r<     s    r¤   ÚresolvedÚgot4Úgot6ÚlameÚdone_pside4Údone_pside6c             C   s
   t | jƒS )N)rC   rP   )r'   r   r   r   rW   &  s    zdelegpt_ns._get_dname_strc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_delegpt_nsr   rF   r2   r3   )r'   r   r   r   r   rG   *  s
    zdelegpt_ns.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   1  s    N),r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zdelegpt_ns_next_setZdelegpt_ns_next_getr#   rI   r¤   Zdelegpt_ns_resolved_setZdelegpt_ns_resolved_getrj  Zdelegpt_ns_got4_setZdelegpt_ns_got4_getrk  Zdelegpt_ns_got6_setZdelegpt_ns_got6_getrl  Zdelegpt_ns_lame_setZdelegpt_ns_lame_getrm  Zdelegpt_ns_done_pside4_setZdelegpt_ns_done_pside4_getrn  Zdelegpt_ns_done_pside6_setZdelegpt_ns_done_pside6_getro  rJ   Ú_get_dpns_dnamerP   Ú_get_dpns_dname_componentsrZ   rW   r[   rG   Zdelete_delegpt_nsrM   rN   r   r   r   r   ri  ÿ  sP   















ri  c               @   s\  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZe	jed	< e	jed	< e�r
ee	je	jƒZe	jed
< e	jed
< e�r2ee	je	jƒZ dd„ Z!e"e!ƒZ#dd„ Z$e	j%Z&dd„ Z'dS )Údelegpt_addrc             C   s   t | t||ƒS )N)r-   rr  )r'   r)   r*   r   r   r   r<   7  s    zdelegpt_addr.<lambda>c             C   s   t | t|ƒS )N)r/   rr  )r'   r)   r   r   r   r<   9  s    Únext_resultÚnext_usableÚnext_targetÚattemptsÚsel_rttÚbogusrm  c             C   s   t | ƒS )N)Ú_delegpt_addr_addr_get)r'   r   r   r   r“   X  s    zdelegpt_addr._addr_getc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_delegpt_addrr   rF   r2   r3   )r'   r   r   r   r   rG   \  s
    zdelegpt_addr.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   c  s    N)(r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zdelegpt_addr_next_result_setZdelegpt_addr_next_result_getr#   rI   rs  Zdelegpt_addr_next_usable_setZdelegpt_addr_next_usable_getrt  Zdelegpt_addr_next_target_setZdelegpt_addr_next_target_getru  Zdelegpt_addr_attempts_setZdelegpt_addr_attempts_getrv  Zdelegpt_addr_sel_rtt_setZdelegpt_addr_sel_rtt_getrw  Zdelegpt_addr_bogus_setZdelegpt_addr_bogus_getrx  Zdelegpt_addr_lame_setZdelegpt_addr_lame_getrm  r“   rJ   r�   rG   Zdelete_delegpt_addrrM   rN   r   r   r   r   rr  5  sL   













rr  c               @   s˜  e Zd Zi Zdd„ Zi Zdd„ ZeZe	j
ed< e	jed< erJee	je	j
ƒZe	jed< e	jed< erpee	je	jƒZe	jed< e	jed< er–ee	je	jƒZe	jed< e	jed< er¼ee	je	jƒZe	jed< e	jed< erâee	je	jƒZe	jed	< e	jed	< e�r
ee	je	jƒZe	jed
< e	jed
< e�r2ee	je	jƒZ e	j!ed< e	j"ed< e�rZee	j"e	j!ƒZ#e$e	j%ƒZ&e$e	j'ƒZ(dd„ Z)e$e)ƒZ*dd„ Z+e	j,Z-dd„ Z.dS )Údelegptc             C   s   t | t||ƒS )N)r-   rz  )r'   r)   r*   r   r   r   r<   i  s    zdelegpt.<lambda>c             C   s   t | t|ƒS )N)r/   rz  )r'   r)   r   r   r   r<   k  s    ÚnamelabsÚnslistÚtarget_listÚusable_listÚresult_listrx  Úhas_parent_side_NSÚdp_type_mlcc             C   s
   t | jƒS )N)rC   rP   )r'   r   r   r   rW   ’  s    zdelegpt._get_dname_strc             C   s:   t jƒ }y| jj|ƒ W n tjk
r4   || _Y nX d S )N)r   Znew_delegptr   rF   r2   r3   )r'   r   r   r   r   rG   –  s
    zdelegpt.__init__c             C   s   d S )Nr   )r'   r   r   r   r<   �  s    N)/r   r5   r8   r!   r%   r.   rH   r6   r1   r   Zdelegpt_namelabs_setZdelegpt_namelabs_getr#   rI   r{  Zdelegpt_nslist_setZdelegpt_nslist_getr|  Zdelegpt_target_list_setZdelegpt_target_list_getr}  Zdelegpt_usable_list_setZdelegpt_usable_list_getr~  Zdelegpt_result_list_setZdelegpt_result_list_getr  Zdelegpt_bogus_setZdelegpt_bogus_getrx  Zdelegpt_has_parent_side_NS_setZdelegpt_has_parent_side_NS_getr€  Zdelegpt_dp_type_mlc_setZdelegpt_dp_type_mlc_getr�  rJ   Ú_get_dp_dnamerP   Ú_get_dp_dname_componentsrZ   rW   r[   rG   Zdelete_delegptrM   rN   r   r   r   r   rz  g  sX   

















rz  c             C   s
   t j| ƒS )N)r   r‚  )Údpr   r   r   r‚  ¢  s    r‚  c             C   s
   t j| ƒS )N)r   rƒ  )r„  r   r   r   rƒ  ¦  s    rƒ  c             C   s
   t j| ƒS )N)r   rp  )Údpnsr   r   r   rp  ª  s    rp  c             C   s
   t j| ƒS )N)r   rq  )r…  r   r   r   rq  ®  s    rq  c             C   s
   t j| ƒS )N)r   ry  )Útargetr   r   r   ry  ²  s    ry  c
       
      C   s   t j| |||||||||	ƒ
S )N)r   Úset_return_msg)
ÚqstateÚrr_nameÚrr_typeÚrr_classrR   Údefault_ttlÚquestionÚanswerÚ	authorityÚ
additionalr   r   r   r‡  Ü  s    r‡  c               @   s$   e Zd Zeddfdd„Zdd„ ZdS )Ú
DNSMessager   c             C   s:   || _ || _|| _|| _|| _g | _g | _g | _g | _dS )z0Query flags is a combination of PKT_xx constantsN)	r‰  rŠ  r‹  rŒ  rã   r�  rŽ  r�  r�  )r'   r‰  rŠ  r‹  rã   rŒ  r   r   r   rG   á  s    zDNSMessage.__init__c             C   sJ   t j|| j| j| j| j| j| j| j| j	| j
ƒ
}|rFt| j@ rFd|jj_|S )zReturns 1 if OKr   )r   r‡  r‰  rŠ  r‹  rã   rŒ  r�  rŽ  r�  r�  ÚPKT_AArç   r�   r€   )r'   rˆ  Zstatusr   r   r   r‡  í  s    
zDNSMessage.set_return_msgN)r   r5   r8   ÚRR_CLASS_INrG   r‡  r   r   r   r   r‘  à  s   r‘  c             C   s   t j| |||||||||	|
ƒS )N)r   Údns_cache_find_delegation)rá   rD   Zqnamelenr=   r>   ré   ÚmsgZtimenowZnoexpiredaboveZ	expiretopZexpiretoplenr   r   r   r”  ú  s    r”  c             C   s   t j| ||||ƒS )N)r   Úiter_dp_is_useless)rŒ   Zqflagsr„  Zsupports_ipv4Zsupports_ipv6r   r   r   r–  þ  s    r–  c             C   s   t j| |||ƒS )N)r   Úhints_lookup_stub)rÚ   rD   r>   r„  r   r   r   r—    s    r—  c             C   s   t j| ||ƒS )N)r   Úfind_delegation)rˆ  ZnmZnmlenr   r   r   r˜    s    r˜  c             C   s   t j| |ƒS )N)r   Úunbound_verbose)ÚlevelÚformatr   r   r   r™  
  s    r™  c             C   s
   t j| ƒS )N)r   Úunbound_log_info)r›  r   r   r   rœ    s    rœ  c             C   s
   t j| ƒS )N)r   Úunbound_log_err)r›  r   r   r   r�    s    r�  c             C   s
   t j| ƒS )N)r   Úunbound_log_warn)r›  r   r   r   rž    s    rž  c             C   s   t j| ||ƒS )N)r   Úlog_hex)r•  rh   Zlengthr   r   r   rŸ    s    rŸ  c             C   s   t j| ||ƒS )N)r   Úlog_dns_msg)r  rŒ   r�   r   r   r   r     s    r   c             C   s   t j| ||ƒS )N)r   Úlog_query_info)Úvr  Zqinfr   r   r   r¡  "  s    r¡  c             C   s
   t j| ƒS )N)r   Úregional_log_stats)rŽ   r   r   r   r£  &  s    r£  c             C   s
   t j| ƒS )N)r   Úlog_info)r  r   r   r   r¤  *  s    r¤  c             C   s
   t j| ƒS )N)r   Úlog_err)r  r   r   r   r¥  .  s    r¥  c             C   s
   t j| ƒS )N)r   Úlog_warn)r  r   r   r   r¦  2  s    r¦  c             C   s   t j| |ƒS )N)r   Úverbose)rš  r  r   r   r   r§  6  s    r§  c             C   s
   t j| ƒS )N)r   r?   )Zatyper   r   r   r?   :  s    r?   c             C   s
   t j| ƒS )N)r   rA   )Zaclassr   r   r   rA   >  s    rA   c             C   s   t j| |||ƒS )N)r   ÚstoreQueryInCache)rˆ  rŒ   ZmsgrepZis_referralr   r   r   r¨  B  s    r¨  c             C   s   t j| |ƒS )N)r   ÚinvalidateQueryInCache)rˆ  rŒ   r   r   r   r©  F  s    r©  c             C   s
   t j| ƒS )N)r   r  )Úsr   r   r   r  J  s    r  c             C   s
   t j| ƒS )N)r   Ústrmodulevent)Úer   r   r   r«  N  s    r«  c             C   s   t j| |ƒS )N)r   Úedns_opt_list_find)Úlistr±   r   r   r   r­  R  s    r­  c             C   s   t j| |||ƒS )N)r   Úedns_register_option)Zopt_codeÚbypass_cache_stageÚno_aggregationrá   r   r   r   r¯  V  s    r¯  Fc             C   s   t |||| ƒS )z/Wrapper function to provide keyword attributes.)r¯  )rá   r±   r°  r±  r   r   r   Úregister_edns_optionZ  s    r²  c             C   s   t j| |ƒS )N)r   Úedns_opt_list_remove)r®  r±   r   r   r   r³  a  s    r³  c             C   s   t j| |||ƒS )N)r   Úedns_opt_list_append)r®  r±   r:   ré   r   r   r   r´  e  s    r´  c             C   s   t j| ||||ƒS )N)r   Úinplace_cb_register)Úcbr   Zcbargrá   r_   r   r   r   rµ  i  s    rµ  c             C   s   t j| ||ƒS )N)r   Úregister_inplace_cb_reply)Úpy_cbrá   r_   r   r   r   r·  m  s    r·  c             C   s   t j| ||ƒS )N)r   Úregister_inplace_cb_reply_cache)r¸  rá   r_   r   r   r   r¹  q  s    r¹  c             C   s   t j| ||ƒS )N)r   Úregister_inplace_cb_reply_local)r¸  rá   r_   r   r   r   rº  u  s    rº  c             C   s   t j| ||ƒS )N)r   Ú"register_inplace_cb_reply_servfail)r¸  rá   r_   r   r   r   r»  y  s    r»  c             C   s   t j| ||ƒS )N)r   Úregister_inplace_cb_query)r¸  rá   r_   r   r   r   r¼  }  s    r¼  )r   r   r   )r   r   r   )r   )FF(  Úsysr   Z_swig_python_version_infor   r   rJ   rI   Ú	NameErrorÚbuiltinsr2   r   r,   r-   r/   r6   r$   r7   r#   r3   r9   r;   Zquery_info_swigregisterr“  ZRR_CLASS_CHZRR_CLASS_HSZRR_CLASS_NONEZRR_CLASS_ANYZ	RR_TYPE_AZ
RR_TYPE_NSZ
RR_TYPE_MDZ
RR_TYPE_MFZRR_TYPE_CNAMEZRR_TYPE_SOAZ
RR_TYPE_MBZ
RR_TYPE_MGZ
RR_TYPE_MRZRR_TYPE_NULLZRR_TYPE_WKSZRR_TYPE_PTRZRR_TYPE_HINFOZRR_TYPE_MINFOZ
RR_TYPE_MXZRR_TYPE_TXTZ
RR_TYPE_RPZRR_TYPE_AFSDBZRR_TYPE_X25ZRR_TYPE_ISDNZ
RR_TYPE_RTZRR_TYPE_NSAPZRR_TYPE_NSAP_PTRZRR_TYPE_SIGZRR_TYPE_KEYZ
RR_TYPE_PXZRR_TYPE_GPOSZRR_TYPE_AAAAZRR_TYPE_LOCZRR_TYPE_NXTZRR_TYPE_EIDZRR_TYPE_NIMLOCZRR_TYPE_SRVZRR_TYPE_ATMAZRR_TYPE_NAPTRZ
RR_TYPE_KXZRR_TYPE_CERTZ
RR_TYPE_A6ZRR_TYPE_DNAMEZRR_TYPE_SINKZRR_TYPE_OPTZRR_TYPE_APLZ
RR_TYPE_DSZRR_TYPE_SSHFPZRR_TYPE_IPSECKEYZRR_TYPE_RRSIGZRR_TYPE_NSECZRR_TYPE_DNSKEYZRR_TYPE_DHCIDZRR_TYPE_NSEC3ZRR_TYPE_NSEC3PARAMSZRR_TYPE_UINFOZRR_TYPE_UIDZRR_TYPE_GIDZRR_TYPE_UNSPECZRR_TYPE_TSIGZRR_TYPE_IXFRZRR_TYPE_AXFRZRR_TYPE_MAILBZRR_TYPE_MAILAZRR_TYPE_ANYZRR_TYPE_DLVrK   rL   rC   rQ   Zpacked_rrset_key_swigregisterrT   rX   rY   r]   Z ub_packed_rrset_key_swigregisterra   Zlruhash_entry_swigregisterri   Zpacked_rrset_data_swigregisterro   rq   rs   rp   ry   rr   rt   r}   Zreply_info_swigregisterrŠ   Zrrset_ref_swigregisterr‹   Zdns_msg_swigregisterr‡   r…   rˆ   r†   r�   Zsockaddr_storage_swigregisterrŸ   r�   r’   r”   r–   r˜   rš   r¡   Zmesh_state_swigregisterr£   Zmesh_reply_swigregisterr¦   Zcomm_reply_swigregisterr¨   Zedns_option_swigregisterr­   r¯   r³   Zedns_data_swigregisterrÀ   rÂ   Zmodule_env_swigregisterrß   râ   Zmodule_qstate_swigregisterr	  Z	QF_BIT_CDZ	QF_BIT_ADZQF_BIT_ZZ	QF_BIT_RAZ	QF_BIT_RDZ	QF_BIT_TCZ	QF_BIT_AAZ	QF_BIT_QRZRCODE_NOERRORZRCODE_FORMERRZRCODE_SERVFAILZRCODE_NXDOMAINZRCODE_NOTIMPLZRCODE_REFUSEDZRCODE_YXDOMAINZRCODE_YXRRSETZRCODE_NXRRSETZRCODE_NOTAUTHZRCODE_NOTZONErò   r½   r  rï   r  r  r  rû   rý   rÿ   r  r  Zconfig_strlist_swigregisterr  Zconfig_str2list_swigregisterr  Zconfig_file_swigregisterri  Zdelegpt_ns_swigregisterrr  Zdelegpt_addr_swigregisterrz  Zdelegpt_swigregisterr‚  rƒ  rp  rq  ry  ZMODULE_STATE_INITIALZMODULE_WAIT_REPLYZMODULE_WAIT_MODULEZMODULE_RESTART_NEXTZMODULE_WAIT_SUBQUERYZMODULE_ERRORZMODULE_FINISHEDZMODULE_EVENT_NEWZMODULE_EVENT_PASSZMODULE_EVENT_REPLYZMODULE_EVENT_NOREPLYZMODULE_EVENT_CAPSFAILZMODULE_EVENT_MODDONEZMODULE_EVENT_ERRORZsec_status_uncheckedZsec_status_bogusZsec_status_indeterminateZsec_status_insecureZsec_status_secureZ
NO_VERBOSEZVERB_OPSZVERB_DETAILZ
VERB_QUERYZ	VERB_ALGOZinplace_cb_replyZinplace_cb_reply_cacheZinplace_cb_reply_localZinplace_cb_reply_servfailZinplace_cb_queryZinplace_cb_edns_back_parsedZinplace_cb_types_totalZPKT_QRr’  ZPKT_TCZPKT_RDZPKT_CDZPKT_RAZPKT_ADr‡  r‘  r”  r–  r—  r˜  r™  rœ  r�  rž  rŸ  r   r¡  r£  r¤  r¥  r¦  r§  r?   rA   r¨  r©  r  r«  r­  r¯  r²  r³  r´  rµ  r·  r¹  rº  r»  r¼  r   r   r   r   Ú<module>   sì  
	
#&++>"&9 a  Q3/7





 














