£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

^c           @   s^   d  d l  Z  d  d l Z d e f d     YZ d d d     YZ d   Z d   Z e   d S(	   iNt   Killedc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyR       s   t	   Generatorc           B   s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   ss   t  j   |  _ t  j   |  _ |  j j   |  j j   | |  _ | |  _ d |  _ d |  _ t  j	 |  j
 d  d  S(   Ni    (    (   t   threadt   allocate_lockt   getlockt   putlockt   acquiret   funct   argst   donet   killedt   start_new_threadt   _start(   t   selfR	   R
   (    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyt   __init__   s    				c         C   sy   zO |  j  j   |  j sN y t |  j |  f |  j  WqN t k
 rJ qN Xn  Wd  |  j st d |  _ |  j j	   n  Xd  S(   Ni   (
   R   R   R   t   applyR	   R
   R    R   R   t   release(   R   (    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyR      s    			c         C   sN   |  j  r t d  n  | |  _ |  j j   |  j j   |  j  rJ t  n  d  S(   Ns    put() called on killed generator(   R   t	   TypeErrort   valueR   R   R   R   R    (   R   R   (    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyt   put%   s    			c         C   sH   |  j  r t d  n  |  j j   |  j j   |  j rA t  n  |  j S(   Ns    get() called on killed generator(	   R   R   R   R   R   R   R   t   EOFErrorR   (   R   (    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyt   get/   s    			c         C   s/   |  j  r t d  n  d |  _  |  j j   d  S(   Ns!   kill() called on killed generatori   (   R   R   R   R   (   R   (    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyt   kill9   s    		c         C   s   t  |  j |  j  S(   N(   R   R	   R
   (   R   (    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyt   clone@   s    (   R   R   R   R   R   R   R   R   (    (    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyR   	   s   			
	
	c   
      C   s   d \ } } } } } x | | d | d | d } } } | | | | | | | | | | f \ } } } } | | | | } }	 xU | |	 k r |  j  t |   d | | d | | } } | | | | } }	 q Wq Wd  S(   Nl    l    l    l    l   
 (   l    l    l    l    l    (   R   t   int(
   t   gt   kt   at   bt   a1t   b1t   pt   qt   dt   d1(    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyt   piC   s    $6c          C   s   t  t d  }  |  j   t  t d  }  x t d  D] } |  j   Gq5 WH|  j   } |  j   x | j   Gt j j   qc Wd  S(   Ni
   (    (    (	   R   R%   R   t   rangeR   R   t   syst   stdoutt   flush(   R   t   it   h(    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyt   testP   s    
 

(    (   R'   R   t	   ExceptionR    R   R%   R,   (    (    (    s.   /usr/lib64/python2.7/Demo/threads/Generator.pyt   <module>   s   :		