ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3
$Wk                 @   sl   d Z ddlZddlZddlZddlZddlmZ G dd dejj	Z
dddZd	d
 ZdddZdd ZdS )z)DNS RRsets (an RRset is a named rdataset)    N   )string_typesc                   s   e Zd ZdZddgZejjdf fdd	Z fddZ	d	d
 Z
dd Z fddZd fdd	Zd fdd	Zd fdd	Zdd Z  ZS )RRseta6  A DNS RRset (named rdataset).

    RRset inherits from Rdataset, and RRsets can be treated as
    Rdatasets in most cases.  There are, however, a few notable
    exceptions.  RRsets have different to_wire() and to_text() method
    arguments, reflecting the fact that RRsets always have an owner
    name.
    namedeletingNc                s$   t t| j||| || _|| _dS )zCreate a new RRset.N)superr   __init__r   r   )selfr   rdclassrdtypecoversr   )	__class__ /usr/lib/python3.6/rrset.pyr   '   s    zRRset.__init__c                s"   t t| j }| j|_| j|_|S )N)r   r   _cloner   r   )r	   obj)r   r   r   r   /   s    zRRset._clonec             C   s   | j dkrd}ndtjj| j  d }| jd k	rDdtjj| j }nd}dt| j d tjj| j d tjj| j	 | | d S )	Nr    ()z delete=z<DNS  z RRset>)
r   dns	rdatatypeto_textr   
rdataclassstrr   r
   r   )r	   ZctextZdtextr   r   r   __repr__5   s    

zRRset.__repr__c             C   s   | j  S )N)r   )r	   r   r   r   __str__B   s    zRRset.__str__c                s.   t |tsdS | j|jkrdS tt| j|S )zcTwo RRsets are equal if they have the same name and the same
        rdataset

        @rtype: boolF)
isinstancer   r   r   __eq__)r	   other)r   r   r   r   E   s
    
zRRset.__eq__c                s4   t t| j|||sdS | j|ks,| j|kr0dS dS )zaReturns True if this rrset matches the specified class, type,
        covers, and deletion state.FT)r   r   matchr   r   )r	   r   r
   r   r   r   )r   r   r   r    P   s
    zRRset.matchTc                s   t t| j| j||| jf|S )a  Convert the RRset into DNS master file format.

        @see: L{dns.name.Name.choose_relativity} for more information
        on how I{origin} and I{relativize} determine the way names
        are emitted.

        Any additional keyword arguments are passed on to the rdata
        to_text() method.

        @param origin: The origin for relative names, or None.
        @type origin: dns.name.Name object
        @param relativize: True if names should names be relativized
        @type relativize: bool)r   r   r   r   r   )r	   originZ
relativizekw)r   r   r   r   Z   s    zRRset.to_textc                s    t t| j| j|||| jf|S )z!Convert the RRset to wire format.)r   r   to_wirer   r   )r	   filecompressr!   r"   )r   r   r   r#   l   s    zRRset.to_wirec             C   s   t jj| jt| S )zYConvert an RRset into an Rdataset.

        @rtype: dns.rdataset.Rdataset object
        )r   rdatasetfrom_rdata_listttllist)r	   r   r   r   to_rdatasetr   s    zRRset.to_rdataset)N)NT)NN)__name__
__module____qualname____doc__	__slots__r   r   ZNONEr   r   r   r   r   r    r   r#   r*   __classcell__r   r   )r   r   r      s   	
r   c       	      C   s   t | trtjj| d|d} t |tr2tjj|}t |trHtjj|}t| ||}|j| x*|D ]"}tj	j|j
|j|}|j| qdW |S )zCreate an RRset with the specified name, TTL, class, and type, and with
    the specified list of rdatas in text format.

    @rtype: dns.rrset.RRset object
    N)
idna_codec)r   r   r   r   	from_textr   r   r   
update_ttlZrdatar
   r   add)	r   r(   r
   r   text_rdatasr1   rtrdr   r   r   from_text_listz   s    




r9   c             G   s   t | ||||S )zCreate an RRset with the specified name, TTL, class, and type and with
    the specified rdatas in text format.

    @rtype: dns.rrset.RRset object
    )r9   )r   r(   r
   r   r5   r   r   r   r2      s    r2   c             C   sr   t | trtjj| d|d} t|dkr0tdd}x8|D ]0}|dkr`t| |j|j	}|j
| |j| q:W |S )zCreate an RRset with the specified name and TTL, and with
    the specified list of rdata objects.

    @rtype: dns.rrset.RRset object
    N)r1   r   zrdata list must not be empty)r   r   r   r   r2   len
ValueErrorr   r
   r   r3   r4   )r   r(   rdatasr1   r6   r8   r   r   r   r'      s    


r'   c             G   s   t | ||S )zCreate an RRset with the specified name and TTL, and with
    the specified rdata objects.

    @rtype: dns.rrset.RRset object
    )r'   )r   r(   r<   r   r   r   
from_rdata   s    r=   )N)N)r.   Zdns.namer   Zdns.rdatasetZdns.rdataclassZdns.rendererZ_compatr   r&   ZRdatasetr   r9   r2   r'   r=   r   r   r   r   <module>   s   a


