ó
Ë½÷Xc           @` sx  d  d l  m Z m Z m Z d  d l Z d  d l Z d  d l m Z d  d l	 Z	 d  d l
 Z
 d  d l Z i d d 6d d 6d d	 6d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6Z i d d  6d  d 6d! d 6d" d	 6d# d 6d$ d 6d% d 6d& d 6d' d 6d( d 6d) d* 6d+ d, 6d- d. 6d/ d0 6Z i  Z d1 „  Z d2 „  Z d3 „  Z d4 „  Z d5 „  Z d6 „  Z d7 „  Z d8 „  Z d9 „  Z d: „  Z d; „  Z d< „  Z d= „  Z d> e f d? „  ƒ  YZ d@ e f dA „  ƒ  YZ dB „  Z dC „  Z  dD „  Z! dE „  Z" dF „  Z# dG „  Z$ dH „  Z% dI „  Z& dJ „  Z' dK „  Z( dL „  Z) dM e* f dN „  ƒ  YZ+ d e- d e- dO „ Z. d S(P   i    (   t   divisiont   print_functiont   absolute_importN(   t   asstrs   >u1i   s   >i2i   s   >i4i   s   >f4i   s   >f8i   s   >c8i   s   |Oi   i   s   >c16i	   i
   i   s   >u2i   s   >u4i   s   >i8i   s   >u8i   t   START_MARKERt   COMMON_VARIABLEt   VARIABLEt   SYSTEM_VARIABLEt
   END_MARKERt	   TIMESTAMPt   COMPILEDt   IDENTIFICATIONt   VERSIONt   HEAP_HEADERt	   HEAP_DATAi   t	   PROMOTE64i   t   NOTICEi   t   DESCRIPTIONi   c         C` s<   |  j  ƒ  } | d d k r8 |  j | d | d ƒ n  d S(   s+   Align to the next 32-bit position in a filei   i    N(   t   tellt   seek(   t   ft   pos(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt	   _align_32L   s    c         C` s   |  j  | ƒ d S(   s   Skip `n` bytesN(   t   read(   R   t   n(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _skip_bytesU   s    c         C` s   |  j  | ƒ S(   s   Read the next `n` bytes(   R   (   R   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_bytes[   s    c         C` s*   t  j t j d |  j d ƒ d  ƒ d ƒ S(   s   Read a single bytes   >Bi   i   i    (   t   npt   uint8t   structt   unpackR   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt
   _read_byte`   s    c         C` s&   t  j t j d |  j d ƒ ƒ d ƒ S(   s   Read a signed 32-bit integers   >li   i    (   R   t   int32R   R   R   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt
   _read_longe   s    c         C` s-   t  j t j d |  j d ƒ d d !ƒ d ƒ S(   s   Read a signed 16-bit integers   >hi   i   i    (   R   t   int16R   R   R   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_int16j   s    c         C` s&   t  j t j d |  j d ƒ ƒ d ƒ S(   s   Read a signed 32-bit integers   >ii   i    (   R   R    R   R   R   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_int32o   s    c         C` s&   t  j t j d |  j d ƒ ƒ d ƒ S(   s   Read a signed 64-bit integers   >qi   i    (   R   t   int64R   R   R   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_int64t   s    c         C` s-   t  j t j d |  j d ƒ d d !ƒ d ƒ S(   s   Read an unsigned 16-bit integers   >Hi   i   i    (   R   t   uint16R   R   R   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_uint16y   s    c         C` s&   t  j t j d |  j d ƒ ƒ d ƒ S(   s   Read an unsigned 32-bit integers   >Ii   i    (   R   t   uint32R   R   R   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_uint32~   s    c         C` s&   t  j t j d |  j d ƒ ƒ d ƒ S(   s   Read an unsigned 64-bit integers   >Qi   i    (   R   t   uint64R   R   R   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_uint64ƒ   s    c         C` s&   t  j t j d |  j d ƒ ƒ d ƒ S(   s   Read a 32-bit floats   >fi   i    (   R   t   float32R   R   R   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_float32ˆ   s    c         C` s&   t  j t j d |  j d ƒ ƒ d ƒ S(   s   Read a 64-bit floats   >di   i    (   R   t   float64R   R   R   (   R   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_float64   s    t   Pointerc           B` s   e  Z d  Z d „  Z RS(   s   Class used to define pointersc         C` s   | |  _  d  S(   N(   t   index(   t   selfR2   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   __init__•   s    	(   t   __name__t
   __module__t   __doc__R4   (    (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyR1   ’   s   t   ObjectPointerc           B` s   e  Z d  Z RS(   s$   Class used to define object pointers(   R5   R6   R7   (    (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyR8   š   s   c         C` sJ   t  |  ƒ } | d k r@ t |  | ƒ } t |  ƒ t | ƒ } n d } | S(   s   Read a stringi    t    (   R!   R   R   R   (   R   t   lengtht   chars(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_stringŸ   s    
c         C` sJ   t  |  ƒ } | d k r@ t  |  ƒ } t |  | ƒ } t |  ƒ n d } | S(   s.   Read a data string (length is specified twice)i    R9   (   R!   R   R   (   R   R:   t   string_data(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_string_data«   s    c         C` sÖ  | d k r7 t  |  ƒ d k r- t d ƒ ‚ n  t |  ƒ S| d k rM t |  ƒ S| d k rc t  |  ƒ S| d k ry t |  ƒ S| d k r t |  ƒ S| d k rÈ t |  ƒ } t |  ƒ } t j | | d ƒ S| d	 k rÞ t |  ƒ S| d
 k rù t d ƒ ‚ nÙ | d k r2t |  ƒ } t |  ƒ } t j	 | | d ƒ S| d k rNt
 t  |  ƒ ƒ S| d k rjt t  |  ƒ ƒ S| d k r€t |  ƒ S| d k r–t |  ƒ S| d k r¬t |  ƒ S| d k rÂt |  ƒ St d | ƒ ‚ d S(   s*   Read a variable with a specified data typei   s*   Error occurred while reading byte variablei   i   i   i   i   y              ð?i   i   s'   Should not be here - please report thisi	   i
   i   i   i   i   i   s)   Unknown IDL type: %i - please report thisN(   R$   t	   ExceptionR   R#   R.   R0   R   t	   complex64R>   t
   complex128R1   R8   R(   R*   R&   R,   (   R   t   dtypet   realt   imag(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt
   _read_data·   sJ    









c   
      C` sé  | d } | d } g  } x¥ | D] } | d s; | d rh | j  | d j ƒ  | d f t j f ƒ q! | d t k rª | j  | d j ƒ  | d f t | d f ƒ q! t d | d ƒ ‚ q! Wt j | f d | ƒ} xÄ t | ƒ D]¶ } x­ | D]¥ } | d } | d rGt |  | d	 | d | d
 | d ƒ | | d | <qô | d r~t	 |  | | d	 | d ƒ | | d | <qô t
 |  | ƒ | | d | <qô Wqç W| d d k rå| d t | d ƒ  }	 |	 j ƒ  | j |	 ƒ } n  | S(   s   
    Read a structure, with the array and structure descriptors given as
    `array_desc` and `structure_desc` respectively.
    t	   nelementst   tagtablet	   structuret   arrayt   namet   typecodes    Variable type %i not implementedRB   t   arrtablet   structtablet   ndimsi   t   dims(   t   appendt   lowerR   t   object_t
   DTYPE_DICTR?   t   recarrayt   ranget   _read_structuret   _read_arrayRE   t   intt   reverset   reshape(
   R   t
   array_desct   struct_desct   nrowst   columnsRB   t   colRH   t   iRO   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyRV   á   s8    

-

$
	$#
c   	   
   C` sc  | d k rp | d k rG t  |  ƒ } | | d
 k rG t j d ƒ qG n  t j |  j | d
 ƒ d t | ƒ} n¡ | d k r¶ t j |  j | d
 d ƒ d t | ƒd d d … } n[ g  } x: t | d ƒ D]( } | } t |  | ƒ } | j	 | ƒ qÍ Wt j
 | d t j ƒ} | d d k rU| d t | d ƒ  } | j ƒ  | j | ƒ } n  t |  ƒ | S(   s`   
    Read an array of type `typecode`, with the array descriptor given as
    `array_desc`.
    i   i   i   i   i   i	   i   i   i   t   nbytess.   Not able to verify number of bytes from headerRB   i   i   NRF   RN   RO   (	   i   i   i   i   i   i	   i   i   i   (   i   i   (   R$   t   warningst   warnR   t
   fromstringR   RS   RU   RE   RP   RI   RR   RX   RY   RZ   R   (	   R   RK   R[   Ra   RI   R`   RB   t   dataRO   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyRW     s,    

c         C` s,  i t  |  ƒ d 6} t |  ƒ } | t |  ƒ d4 7} t |  d ƒ | d t k rg t d | d ƒ ‚ n  t | d | d <| d d5 k r°| d d k r¬ t |  ƒ | d <n t  |  ƒ | d	 <t |  d ƒ t |  ƒ } | d
 d k r| |  j ƒ  k rd6 | d <q­t	 d ƒ ‚ qt  |  ƒ } | d k r:t d ƒ ‚ n  | d ret
 |  | d | d ƒ | d <q| d rt |  | d
 | d ƒ | d <q| d
 } t |  | ƒ | d <nk| d d k r t |  d7 ƒ t |  ƒ | d <t |  ƒ | d <t |  ƒ | d <n| d d k rSt  |  ƒ | d <t |  ƒ | d <t |  ƒ | d <t |  ƒ | d <nÈ| d d k r–t |  ƒ | d <t |  ƒ | d  <t |  ƒ | d! <n…| d d" k r¹t |  ƒ | d# <nb| d d$ k rÜt |  ƒ | d% <n?| d d& k r;t  |  ƒ | d' <g  | d( <xt | d' ƒ D] } | d( j t  |  ƒ ƒ qWnà | d d) k rªt  |  ƒ | d* <t |  ƒ | d+ <g  | d, <x£ t | d* ƒ D] } | d, j t |  ƒ ƒ q†Wnq | d d- k rÇt | d. <nT | d d/ k rçt j d0 ƒ n4 | d d1 k rt j d2 ƒ n t d3 | d ƒ ‚ |  j | ƒ | S(8   s!   Function to read in a full recordt   rectypei   i    i   s   Unknown RECTYPE: %iR   R   t   varnamet
   heap_indexRK   i    Re   s   Unexpected type code: 0i   s   VARSTART is not 7RH   R[   R\   RI   R	   i   t   datet   usert   hostR   t   formatt   archt   ost   releaset   IDENTIFICATONt   authort   titlet   idcodeR   t   noticeR   t   descriptionR   t   nvaluest   indicest   COMMONBLOCKt   nvarsRJ   t   varnamesR   t   endt   UNKNOWNs   Skipping UNKNOWN recordR   s   Skipping SYSTEM_VARIABLE records$   record['rectype']=%s not implementedI       (   s   VARIABLER   Ni   (   R!   R*   R   t   RECTYPE_DICTR?   R<   t   _read_typedescR   t   Nonet
   ValueErrorRV   RW   RE   R>   RU   RP   t   TrueRb   Rc   R   (   R   t   recordt   nextrect   rectypedesct   varstartRB   R`   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   _read_record=  s†    




c         C` sÁ   i t  |  ƒ d 6t  |  ƒ d 6} | d d @d k rC t d ƒ ‚ n  | d d @d k | d <| d d @d k | d <| d r  t |  ƒ | d	 <t |  ƒ | d
 <n | d r½ t |  ƒ | d	 <n  | S(   s%   Function to read in a type descriptorRK   t   varflagsi   s    System variables not implementedi   RI   i    RH   R[   R\   (   R!   R?   t   _read_arraydesct   _read_structdesc(   R   t   typedesc(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyR~   ®  s     

c         C` s«  i t  |  ƒ d 6} | d d k r¼ t |  d ƒ t  |  ƒ | d <t  |  ƒ | d <t  |  ƒ | d <t |  d ƒ t  |  ƒ | d <g  | d <xt | d ƒ D] } | d j t  |  ƒ ƒ q˜ Wnë | d d	 k r“t j d
 ƒ t |  d ƒ t |  ƒ | d <t |  ƒ | d <t  |  ƒ | d <t |  d ƒ d | d <g  | d <xm t | d ƒ D]D } t  |  ƒ } | d k rut d ƒ ‚ n  | d j t  |  ƒ ƒ qHWn t d | d ƒ ‚ | S(   s'   Function to read in an array descriptort   arrstarti   i   Ra   RF   RN   t   nmaxRO   i   s$   Using experimental 64-bit array readi    s   Expected a zero in ARRAY_DESCs   Unknown ARRSTART: %i(   R!   R   RU   RP   Rb   Rc   R,   R?   (   R   t	   arraydesct   dt   v(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyRˆ   Â  s6    


c         C` sw  i  } t  |  ƒ } | d k r- t d ƒ ‚ n  t |  ƒ | d <t  |  ƒ } t  |  ƒ | d <t  |  ƒ | d <| d @| d <| d @| d	 <| d
 @| d <| d sFg  | d <x/ t | d ƒ D] } | d j t |  ƒ ƒ q¸ Wx" | d D] } t |  ƒ | d <qä Wi  | d <x7 | d D]+ } | d rt |  ƒ | d | d <qqWi  | d <x7 | d D]+ } | d rWt |  ƒ | d | d <qWqWW| d	 sš| d r5t |  ƒ | d <t  |  ƒ | d <g  | d <x/ t | d ƒ D] } | d j t |  ƒ ƒ qÕWg  | d <x2 t | d ƒ D] } | d j t |  ƒ ƒ qWn  | t | d <n- | d t k ret d ƒ ‚ n  t | d } | S(   s*   Function to read in a structure descriptori	   s   STRUCTSTART should be 9RJ   t   ntagsRa   i   t   predefi   t   inheritsi   t   is_superRG   RL   RI   RM   RH   t	   classnamet   nsupclassest   supclassnamest   supclasstables"   PREDEF=1 but can't find definition(	   R!   R?   R<   RU   RP   t   _read_tagdescRˆ   R‰   t   STRUCT_DICT(   R   t
   structdesct   structstartR‘   t   tt   tagt   s(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyR‰   ó  sN    







c         C` s’   i t  |  ƒ d 6} | d d k r6 t |  ƒ | d <n  t  |  ƒ | d <t  |  ƒ } | d @d k | d <| d @d k | d <| d t k | d <| S(	   s$   Function to read in a tag descriptort   offsetiÿÿÿÿRK   i   RI   i    RH   t   scalar(   R!   R,   RS   (   R   t   tagdesct   tagflags(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyR˜   .  s    c         C` sþ  t  |  t ƒ r x] t  |  t ƒ rn |  j d k r9 d  }  q |  j | k rX | |  j }  q t j d ƒ d  }  q Wt |  | ƒ \ } } | r“ | }  n  t |  f St  |  t j	 j
 j ƒ rxB t |  ƒ D]4 \ } } t | | ƒ \ } } | rÂ | |  | <qÂ qÂ Wt |  f St  |  t j	 j
 j ƒ rkxB t |  ƒ D]4 \ } } t | | ƒ \ } } | r)| |  | <q)q)Wt |  f St  |  t j ƒ rð|  j j t j k ræxQ t |  j ƒ D]= } t |  j | ƒ | ƒ \ } } | r¢|  j | | ƒ q¢q¢Wn  t |  f St |  f Sd  S(   Ni    sN   Variable referenced by pointer not found in heap: variable will be set to None(   t
   isinstanceR1   R2   R   Rb   Rc   t   _replace_heapR   R   t   coret   recordsRT   t	   enumeratet   FalseR‚   t   ndarrayRB   t   typeRR   RU   t   sizet   itemt   itemset(   t   variablet   heapt   replacet   newt   irR‚   t   ivt   value(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyR¤   A  s@    	
	



t   AttrDictc           B` s>   e  Z d  Z i  d „ Z d „  Z d „  Z e Z e Z e Z RS(   s.  
    A case-insensitive dictionary with access via item, attribute, and call
    notations:

        >>> d = AttrDict()
        >>> d['Variable'] = 123
        >>> d['Variable']
        123
        >>> d.Variable
        123
        >>> d.variable
        123
        >>> d('VARIABLE')
        123
    c         C` s   t  j |  | ƒ d  S(   N(   t   dictR4   (   R3   t   init(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyR4   ”  s    c         C` s   t  t |  ƒ j | j ƒ  ƒ S(   N(   t   superRµ   t   __getitem__RQ   (   R3   RJ   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyR¹   —  s    c         C` s   t  t |  ƒ j | j ƒ  | ƒ S(   N(   R¸   Rµ   t   __setitem__RQ   (   R3   t   keyR´   (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyRº   š  s    (	   R5   R6   R7   R4   R¹   Rº   t   __getattr__t   __setattr__t   __call__(    (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyRµ   ƒ  s   		c      	   C` sB  g  } | s | r i  } n	 t  ƒ  } t |  d ƒ } t | d ƒ } | d k ra t d | ƒ ‚ n  t | d ƒ }	 |	 d k r n |	 d k r| rž t d ƒ n  | r¶ t | d ƒ }
 n t j d	 d
 ƒ }
 | râ t d |
 j ƒ n  |
 j d ƒ x}t	 rnt
 | ƒ } |
 j t j d t | ƒ ƒ ƒ t | ƒ } | t | ƒ d< 7} | j d ƒ } t | d k rÁ|
 j t j d t | ƒ d= ƒ ƒ |
 j t j d t | | d> d? ƒ ƒ ƒ |
 j | ƒ Pn  | j ƒ  } t j | j | | ƒ ƒ } |
 j ƒ  t | ƒ d } |
 j t j d t | d@ ƒ ƒ ƒ |
 j t j d t | | dA dB ƒ ƒ ƒ |
 j | ƒ |
 j | ƒ qò W| j ƒ  |
 } | j d ƒ n t d |	 ƒ ‚ x@ t	 rát | ƒ } | j | ƒ d | k r¢| d rÞPqÞq¢q¢W| j ƒ  i  } x3 | D]+ } | d d k rù| d | | d <qùqùWxe | D]] } | d d k r/t | d | ƒ \ } } | rq| | d <n  | d | | d j ƒ  <q/q/W| rxf | D]^ } | d d k rt d d ƒ t d | d ƒ t d  | d! ƒ t d" | d# ƒ PqqWxx | D]p } | d d$ k rt d d ƒ t d% | d& ƒ t d' | d( ƒ t d) | d* ƒ t d+ | d, ƒ PqqWxf | D]^ } | d d- k rt d d ƒ t d. | d/ ƒ t d0 | d1 ƒ t d2 | d3 ƒ PqqWxB | D]: } | d d4 k rêt d d ƒ t d5 | d6 ƒ PqêqêWt d d ƒ t d7 t | ƒ ƒ g  | D] } | d ^ qQ} x@ t | ƒ D]2 } | d k rtt d8 | j | ƒ | f ƒ qtqtWt d d ƒ d | k rt d9 ƒ x, | D]$ } t d: | t | | ƒ f ƒ qÕWt d d ƒ qn  | r:x | D] } | | | | <qW| S| Sd; S(C   s  
    Read an IDL .sav file.

    Parameters
    ----------
    file_name : str
        Name of the IDL save file.
    idict : dict, optional
        Dictionary in which to insert .sav file variables.
    python_dict : bool, optional
        By default, the object return is not a Python dictionary, but a
        case-insensitive dictionary with item, attribute, and call access
        to variables. To get a standard Python dictionary, set this option
        to True.
    uncompressed_file_name : str, optional
        This option only has an effect for .sav files written with the
        /compress option. If a file name is specified, compressed .sav
        files are uncompressed to this file. Otherwise, readsav will use
        the `tempfile` module to determine a temporary filename
        automatically, and will remove the temporary file upon successfully
        reading it in.
    verbose : bool, optional
        Whether to print out information about the save file, including
        the records read, and available variables.

    Returns
    -------
    idl_dict : AttrDict or dict
        If `python_dict` is set to False (default), this function returns a
        case-insensitive dictionary with item, attribute, and call access
        to variables. If `python_dict` is set to True, this function
        returns a Python dictionary with all variable names in lowercase.
        If `idict` was specified, then variables are written to the
        dictionary specified, and the updated dictionary is returned.

    t   rbi   t   SRs   Invalid SIGNATURE: %st    t    s   IDL Save file is compresseds   w+bt   suffixs   .savs    -> expanding to %st   SR s   >li    i   R   s   >Ii   s   Invalid RECFMT: %sR{   Rf   R   Re   Rh   R   Rg   R	   t   -i2   s   Date: %sRi   s   User: %sRj   s   Host: %sRk   R   s
   Format: %sRl   s   Architecture: %sRm   s   Operating System: %sRn   s   IDL Version: %sRo   Rp   s
   Author: %sRq   s	   Title: %sRr   s   ID Code: %sRs   R   s   Description: %sRu   s&   Successfully read %i records of which:s    - %i are of type %ss   Available variables:s
    - %s [%s]NI       I       I       I       I       I       I       (   Rµ   t   openR   R?   t   printt   tempfilet   NamedTemporaryFileRJ   t   writeR   R!   R   t   packRX   R*   R   R}   R   t   zlibt
   decompresst   lent   closeR   R†   RP   R¤   RQ   t   sett   countRª   (   t	   file_namet   idictt   python_dictt   uncompressed_file_namet   verboseR¦   t	   variablesR   t	   signaturet   recfmtt   foutRf   Rƒ   t   unknownR   t
   rec_stringt   rR¯   R°   R±   R‚   t   rectypest   rtt   var(    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   readsav¢  sÒ    (			#+#+
	

$
"(/   t
   __future__R    R   R   R   t   numpyR   t   numpy.compatR   RÈ   RÌ   Rb   RS   R}   R™   R   R   R   R   R!   R#   R$   R&   R(   R*   R,   R.   R0   t   objectR1   R8   R<   R>   RE   RV   RW   R†   R~   Rˆ   R‰   R˜   R¤   R¶   Rµ   R   R¨   Rá   (    (    (    s+   /tmp/pip-build-7oUkmx/scipy/scipy/io/idl.pyt   <module>   s‚   



																	*	-	/	q		1	;		B