Ë
    <@‹gµÃ  ã                   ó.  — U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZ d dlZd dlmZ d dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZm Z  d dl!m"Z"m#Z#m$Z$m%Z%m&Z& 	 d dl'm(Z) d dl*m+Z, 	 d dl.Z.	 d dl/Z/d dl0Z0d d	l/m1Z2 d d
l/m3Z4 	 d dl5Z5d dl5m6Z7 d dl5m8Z9 	 d dl:Z:d dl:m;Z< 	 e=e>d<   e:j~                  Z@eAe>d<   eAe>d<   eAe>d<   e@j…                  d«      D � cg c]
  }  eA| «      ‘Œ c} \  ZCZDZEeCeDeEfdk  r"ejŒ                  j�                  de@›d�«       dZ:	 	 d dlImJZJ d dlKmLZLmMZM d„ ZNdededdfd„ZOdededdfd„ZP G d„ deQ«      ZR G d „ d!eR«      ZS G d"„ d#eR«      ZT G d$„ d%e$«      ZU G d&„ d'eR«      ZV G d(„ d)eR«      ZW G d*„ d+eR«      ZX G d,„ d-eR«      ZY G d.„ d/eR«      ZZy# e-$ r Y �Œ<w xY w# e-$ r dZ.Y �ŒEw xY w# e-$ r dZ/dZ0Y �Œ@w xY w# e-$ r dZ5Y �Œ=w xY wc c} w # eH$ r Y ŒÎw xY w# e-$ r dZ:Y ŒÛw xY w# e-$ r dZJY Œáw xY w)0é    )ÚBytesION)ÚHTTPResponse)Ú_util)ÚRequestMetrics)ÚAPIConnectionError)ÚAnyÚDictÚIterableÚListÚMappingÚMutableMappingÚOptionalÚTupleÚClassVarÚUnionÚcastÚoverloadÚAsyncIterable)ÚLiteralÚNoReturnÚ	TypedDictÚ	AwaitableÚNever)ÚTimeout)ÚClient)ÚClientTimeout)ÚStreamReader)ÚSessionÚversionÚmajorÚminorÚpatchú.)r   é   r$   z�Warning: the Stripe library requires that your Python "requests" library be newer than version 0.8.8, but your "requests" library is version a#  . Stripe will fall back to an alternate HTTP library so everything should work. We recommend upgrading your "requests" library. If you have any questions, please contact support@stripe.com. (HINT: running "pip install -U requests" should upgrade your requests library to the latest version.))Úurlfetch)ÚurlparseÚParseResultc                  óT   — t        t        t        j                  «       dz  «      «      S )Niè  )ÚintÚroundÚtime© ó    úR/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_http_client.pyÚ_now_msr/   t   s   € ÜŒu”T—Y‘Y“[ 4Ñ'Ó(Ó)Ð)r-   ÚargsÚkwargsÚreturnÚ
HTTPClientc                  ól   — t         rt        }n t        rt        }nt        rt
        }nt        } || i |¤ŽS ©N)r%   ÚUrlFetchClientÚrequestsÚRequestsClientÚpycurlÚPycurlClientÚUrllib2Client©r0   r1   Úimpls      r.   Únew_default_http_clientr>   x   s/   € ÝÜ‰Ý	Ü‰Ý	Ü‰äˆá�Ð ˜Ñ Ð r-   c                  óR   — t         rt        }nt        rt        }nt        } || i |¤ŽS r5   )ÚhttpxÚHTTPXClientÚaiohttpÚAIOHTTPClientÚNoImportFoundAsyncClientr<   s      r.   Únew_http_client_async_fallbackrE   …   s'   € ÝÜ‰Ý	Ü‰ä'ˆá�Ð ˜Ñ Ð r-   c                   ó¸  — e Zd ZU ee   ed<    G d„ de«      ZdZdZ	dZ
ee   ed<   eed<   	 	 	 d3dedeeeef      ded    fd„Zdeeeeeeeef      f      dee   dedee   fd„Z	 d4deeeeeeef   f      fd„Z	 d4dedeeeeeeef   f      defd„Zdedefd„Zdeeef   deeef   fd„Zd„ Z	 	 d5d
dœdededeeef   dedee   d eee      deeeeeef   f   fd!„Z	 	 d5d
dœdededeeef   d eee      deeeeeef   f   f
d"„Zd
dœdededeeef   ded#edee   d eee      deeeeeef   f   fd$„Z	 d4d
dœdededeeeef      ded eee      deeeeeef   f   fd%„Z	 d4d
dœdededeeeef      ded eee      deeeeeef   f   fd&„Z d'„ Z!	 	 d5d
dœdededeeef   dee   d eee      deeeef   fd(„Z"	 	 d5d
dœdededeeef   d eee      dee#e$   eef   f
d)„Z%e&d
dœdededeeef   d#e'd*   dee   d eee      deeeeeef   f   fd+„«       Z(e&d
dœdededeeef   d#e'd	   dee   d eee      dee#e$   eeeef   f   fd,„«       Z(d
dœdededeeef   d#edee   d eee      deeeeeef   f   fd-„Z(	 d4dededeeef   dee$eeeef   f   fd.„Z)	 d4dededeeef   dee#e$   eeeef   f   fd/„Z*d0„ Z+d1ede,d
   fd2„Z-y
)6r3   Únamec                   ó.   — e Zd ZU ee   ed<   ee   ed<   y)úHTTPClient._ProxyÚhttpÚhttpsN)Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚ__annotations__r,   r-   r.   Ú_ProxyrI   “   s   … Ø�s‰mÓØ˜‰}Ôr-   rQ   é   ç      à?é<   Ú_proxyÚ_verify_ssl_certsTNÚverify_ssl_certsÚproxyÚasync_fallback_clientc                 óè   — || _         |r0t        |t        «      r||dœ}t        |t        «      st	        d«      ‚|r|j                  «       nd | _        || _        t        j                  «       | _
        y )N)rJ   rK   zqProxy(ies) must be specified as either a string URL or a dict() with string URL under the https and/or http keys.)rV   Ú
isinstancerO   ÚdictÚ
ValueErrorÚcopyrU   Ú_async_fallback_clientÚ	threadingÚlocalÚ_thread_local)ÚselfrW   rX   rY   s       r.   Ú__init__zHTTPClient.__init__�   si   € ð "2ˆÔÙÜ˜%¤Ô%Ø!&°Ñ7�Ü˜e¤TÔ*Ü ðóð ñ ',�e—j‘j”l°ˆŒØ&;ˆÔ#ä&Ÿ_™_Ó.ˆÕr-   ÚresponseÚapi_connection_errorÚnum_retriesÚmax_network_retriesc                 ó”   — |�|nd}||k\  ry|€|€J ‚|j                   S |\  }}}|�d|v r|d   dk(  ry|d   dk(  ry|dk(  ry|dk\  ryy)	Nr   Fzstripe-should-retryÚfalseÚtrueTi™  iô  ©Úshould_retry)rc   re   rf   rg   rh   Ú_Ústatus_codeÚrheaderss           r.   Ú_should_retryzHTTPClient._should_retry¶   s�   € ð $7Ð#BÑÈð 	ð Ð-Ò-ØàÐð
 (Ð3Ð3Ð3Ø'×4Ñ4Ð4à#+Ñ ˆˆ;˜ð ÐÐ$9¸XÑ$EØÐ-Ñ.°'Ò9ØØÐ-Ñ.°&Ò8Øð ˜#ÒØð ˜#ÒØàr-   c                 ó\   — |€y |\  }}}	 t        |d   «      S # t        t        f$ r Y y w xY w)Nzretry-after)r)   ÚKeyErrorr]   )rc   re   rn   rp   s       r.   Ú_retry_after_headerzHTTPClient._retry_after_headerå   sD   € ð ÐØØ!‰ˆˆ1ˆhð	Ü�x Ñ.Ó/Ð/øÜœ*Ð%ò 	Ùð	ús   ‹ ™+ª+r2   c                 ó&  — t        t        j                  d|dz
  z  z  t        j                  «      }| j	                  |«      }t        t        j                  |«      }| j                  |«      xs d}|t        j                  k  rt        ||«      }|S )zÀ
        Apply exponential backoff with initial_network_retry_delay on the number of num_retries so far as inputs.
        Do not allow the number to exceed `max_network_retry_delay`.
        é   é   r   )Úminr3   ÚINITIAL_DELAYÚ	MAX_DELAYÚ_add_jitter_timeÚmaxrt   ÚMAX_RETRY_AFTER)rc   rg   re   Úsleep_secondsÚretry_afters        r.   Ú_sleep_time_secondszHTTPClient._sleep_time_secondsñ   s‹   € ô Ü×$Ñ$¨¨k¸A©oÑ(>Ñ?Ü× Ñ ó
ˆð
 ×-Ñ-¨mÓ<ˆô œJ×4Ñ4°mÓDˆð ×.Ñ.¨xÓ8Ò=¸AˆØœ*×4Ñ4Ò4Ü ¨]Ó;ˆMàÐr-   r~   c                 óD   — |ddt        j                  dd«      z   z  z  }|S )z–
        Randomize the value in `[(sleep_seconds/ 2) to (sleep_seconds)]`.
        Also separated method here to isolate randomness for tests
        rS   rw   r   )ÚrandomÚuniform)rc   r~   s     r.   r{   zHTTPClient._add_jitter_time  s)   € ð
 	˜ ¤F§N¡N°1°aÓ$8Ñ 8Ñ9Ñ9ˆØÐr-   Úheadersc                 óÆ   — t        | j                  dd «      }t        j                  r9|r7d|j	                  «       i}t        |«      }t        j                  |«      |d<   |S |S )NÚlast_request_metricszX-Stripe-Client-Telemetry)Úgetattrrb   ÚstripeÚenable_telemetryÚpayloadr\   ÚjsonÚdumps)rc   r„   r†   Ú	telemetryÚrets        r.   Ú_add_telemetry_headerz HTTPClient._add_telemetry_header  sj   € ô  'Ø×ÑÐ 6¸ó 
Ðô ×"Ò"Ñ';à&Ð(<×(DÑ(DÓ(FðˆIô �w“-ˆCÜ/3¯z©z¸)Ó/DˆCÐ+Ñ,ØˆJØˆr-   c                 óš   — |\  }}}d|v rAt         j                  r0|d   }t        «       |z
  }t        |||¬«      | j                  _        y y y )Nz
Request-Id©Úusage)rˆ   r‰   r/   r   rb   r†   )rc   re   Úrequest_startr’   rn   rp   Ú
request_idÚrequest_duration_mss           r.   Ú_record_request_metricsz"HTTPClient._record_request_metrics"  sX   € Ø!‰ˆˆ1ˆhØ˜8Ñ#¬×(?Ò(?Ø! ,Ñ/ˆJÜ")£)¨mÑ";ÐÜ6DØÐ/°uô7ˆD×ÑÕ3ð )@Ð#r-   )Ú_usageÚmethodÚurlÚ	post_datar—   c          	      ó2   — | j                  ||||d||¬«      S ©NF©Úis_streamingrh   r—   ©Ú_request_with_retries_internal©rc   r˜   r™   r„   rš   rh   r—   s          r.   Úrequest_with_retrieszHTTPClient.request_with_retries+  s1   € ð ×2Ñ2ØØØØØØ 3Øð 3ó 
ð 	
r-   c          	      ó2   — | j                  ||||d||¬«      S ©NTr�   rŸ   r¡   s          r.   Úrequest_stream_with_retriesz&HTTPClient.request_stream_with_retries?  s1   € ð ×2Ñ2ØØØØØØ 3Øð 3ó 
ð 	
r-   rž   c                ó  — | j                  |«      }d}	 t        «       }		 |r| j                  ||||«      }
n| j                  ||||«      }
d }| j                  |
|||«      rm|r"t        j                  d|j                  z  «       |dz  }| j                  ||
«      }t        j                  d||||fz  «       t        j                  |«       n|
�| j                  |
|	|¬«       |
S |€J ‚|‚ŒØ# t        $ r}|}d }
Y d }~Œ²d }~ww xY w©Nr   z Encountered a retryable error %srw   zBInitiating retry %i for request %s %s after sleeping %.2f seconds.r‘   )r�   r/   Úrequest_streamÚrequestr   rq   r   Úlog_infoÚuser_messager€   r+   Úsleepr–   ©rc   r˜   r™   r„   rš   rž   rh   r—   rg   r“   re   Úconnection_errorÚeÚ
sleep_times                 r.   r    z)HTTPClient._request_with_retries_internalS  sH  € ð ×,Ñ,¨WÓ5ˆàˆàÜ#›IˆMð
 ÙØ#×2Ñ2Ø  W¨ió ‘Hð  $Ÿ|™|¨F°C¸À)ÓL�HØ#'Ð ð
 ×!Ñ!ØÐ*¨KÐ9Lôñ $Ü—N‘NØ:Ø*×7Ñ7ñ8ôð ˜qÑ �Ø!×5Ñ5°kÀ8ÓL�
Ü—‘ð1à&¨°°ZÐ@ñAôô —
‘
˜:Õ&àÐ'Ø×0Ñ0Ø  -°vð 1ô ð $�Oà+Ð7Ð7Ð7Ø*Ð*ðU øô &ò  Ø#$Ð Ø•ûð ús    -C- Ã-	DÃ6C?Ã?Dc                ó   — t        d«      ‚)Nz.HTTPClient subclasses must implement `request`©ÚNotImplementedError©rc   r˜   r™   r„   rš   r—   s         r.   r©   zHTTPClient.requestŽ  s   € ô "Ø<ó
ð 	
r-   c                ó   — t        d«      ‚)Nz5HTTPClient subclasses must implement `request_stream`r²   r´   s         r.   r¨   zHTTPClient.request_stream›  s   € ô "ØCó
ð 	
r-   c                 ó   — t        d«      ‚)Nz,HTTPClient subclasses must implement `close`r²   ©rc   s    r.   ÚclosezHTTPClient.close¨  s   € Ü!Ø:ó
ð 	
r-   c          	   ƒ   óN   K  — | j                  ||||d||¬«      ƒ d {  –—† S 7 Œ­wrœ   ©Ú$_request_with_retries_internal_asyncr¡   s          r.   Úrequest_with_retries_asyncz%HTTPClient.request_with_retries_async­  s?   è ø€ ð ×>Ñ>ØØØØØØ 3Øð ?ó 
÷ 
ð 	
ð 
úó   ‚%ž#Ÿ%c          	   ƒ   óN   K  — | j                  ||||d||¬«      ƒ d {  –—† S 7 Œ­wr¤   rº   r¡   s          r.   Ú!request_stream_with_retries_asyncz,HTTPClient.request_stream_with_retries_asyncÁ  s?   è ø€ ð ×>Ñ>ØØØØØØ 3Øð ?ó 
÷ 
ð 	
ð 
úr½   Fc             ƒ   ó   K  — y ­wr5   r,   ©rc   r˜   r™   r„   rš   rž   rh   r—   s           r.   r»   z/HTTPClient._request_with_retries_internal_asyncÕ  s   è ø€ ð .1ùó   ‚c             ƒ   ó   K  — y ­wr5   r,   rÁ   s           r.   r»   z/HTTPClient._request_with_retries_internal_asyncâ  s   è ø€ ð ?BùrÂ   c             ƒ   óJ  K  — | j                  |«      }d}	 t        «       }		 |r| j                  ||||«      ƒ d {  –—† }
n| j                  ||||«      ƒ d {  –—† }
d }| j                  |
|||«      rq|r"t        j                  d|j                  z  «       |dz  }| j                  ||
«      }t        j                  d||||fz  «       | j                  |«      ƒ d {  –—†  n|
�| j                  |
|	|¬«       |
S |€J ‚|‚Œì7 ŒÇ7 Œ¬# t        $ r}|}d }
Y d }~Œºd }~ww xY w7 ŒB­wr§   )r�   r/   Úrequest_stream_asyncÚrequest_asyncr   rq   r   rª   r«   r€   Úsleep_asyncr–   r­   s                 r.   r»   z/HTTPClient._request_with_retries_internal_asyncï  su  è ø€ ð ×,Ñ,¨WÓ5ˆàˆàÜ#›IˆMð ÙØ%)×%>Ñ%>Ø  W¨ió&÷  ‘Hð &*×%7Ñ%7Ø  W¨ió&÷  �Hð $(Ð ð
 ×!Ñ!ØÐ*¨KÐ9Lôñ $Ü—N‘NØ:Ø*×7Ñ7ñ8ôð ˜qÑ �Ø!×5Ñ5°kÀ8ÓL�
Ü—‘ð1à&¨°°ZÐ@ñAôð ×&Ñ& zÓ2×2Ñ2àÐ'Ø×0Ñ0Ø  -°vð 1ô ð $�Oà+Ð7Ð7Ð7Ø*Ð*ðY ð
 øð ùô &ò  Ø#$Ð Ø•ûð úð* 3ús]   ‚D#¢D »D¼D ÁDÁD ÁA?D#ÃD!Ã$D#ÄD ÄD Ä	DÄDÄD#ÄDÄD#c              ƒ   óˆ   K  — | j                   �&| j                   j                  ||||«      ƒ d {  –—† S t        d«      ‚7 Œ­w)Nz4HTTPClient subclasses must implement `request_async`)r_   rÆ   r³   ©rc   r˜   r™   r„   rš   s        r.   rÆ   zHTTPClient.request_async,  sR   è ø€ ð ×&Ñ&Ð2Ø×4Ñ4×BÑBØ˜˜W ió÷ ð ô "ØBó
ð 	
ðúó   ‚.A°A ±Ac              ƒ   óˆ   K  — | j                   �&| j                   j                  ||||«      ƒ d {  –—† S t        d«      ‚7 Œ­w)Nz;HTTPClient subclasses must implement `request_stream_async`)r_   rÅ   r³   rÉ   s        r.   rÅ   zHTTPClient.request_stream_async7  sR   è ø€ ð ×&Ñ&Ð2Ø×4Ñ4×IÑIØ˜˜W ió÷ ð ô "ØIó
ð 	
ðúrÊ   c              ƒ   ó€   K  — | j                   �"| j                   j                  «       ƒ d {  –—† S t        d«      ‚7 Œ­w)Nz2HTTPClient subclasses must implement `close_async`)r_   Úclose_asyncr³   r·   s    r.   rÍ   zHTTPClient.close_asyncB  s@   è ø€ Ø×&Ñ&Ð2Ø×4Ñ4×@Ñ@ÓB×BÐBÜ!Ø@ó
ð 	
ð Cús   ‚*>¬<­>Úsecsc                 óf   — | j                   �| j                   j                  |«      S t        d«      ‚)Nz,HTTPClient subclasses must implement `sleep`)r_   rÇ   r³   ©rc   rÎ   s     r.   rÇ   zHTTPClient.sleep_asyncI  s5   € Ø×&Ñ&Ð2Ø×.Ñ.×:Ñ:¸4Ó@Ð@Ü!Ø:ó
ð 	
r-   ©TNNr5   )NN).rL   rM   rN   r   rO   rP   r   rQ   rz   ry   r}   r   Úboolr   rd   r   r   r)   r   r   rq   rt   Úfloatr€   r{   r�   r–   r   r¢   r¥   r    r©   r¨   r¸   r¼   r   Úbytesr¿   r   r   r»   rÆ   rÅ   rÍ   r   rÇ   r,   r-   r.   r3   r3   �   s  … Ø
�3‰-Óô�ô ð €IØ€MØ€OØ�VÑÓØÓð "&Ø.2Ø8<ñ	/àð/ð ˜˜c 6˜kÑ*Ñ+ð/ð  (¨Ñ5ó	/ð2-à˜5  c¨8°G¸CÀ¸HÑ4EÑ+FÐ!FÑGÑHð-ð 'Ð'9Ñ:ð-ð ð	-ð
 & c™]ó-ð` HLñ
Ø   s¨C°¸¸c¸Ñ1BÐ'BÑ!CÑDó
ð BFñàðð ˜5  c¨7°3¸°8Ñ+<Ð!<Ñ=Ñ>ðð 
ó	ð4¨eð ¸ó ðØ˜s C˜xÑ(ðà	��c�Ñ	óòð Ø-1ð
ð '+ò
àð
ð ð
ð ˜˜c˜Ñ"ð	
ð
 ð
ð & c™]ð
ð ˜˜c™Ñ#ð
ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ó
ð2 Ø ð
ð '+ò
àð
ð ð
ð ˜˜c˜Ñ"ð	
ð ˜˜c™Ñ#ð
ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ó
ð: '+ò9+àð9+ð ð9+ð ˜˜c˜Ñ"ð	9+ð
 ð9+ð ð9+ð & c™]ð9+ð ˜˜c™Ñ#ð9+ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ó9+ð@ ð
ð '+ò
àð
ð ð
ð ˜' # s (Ñ+Ñ,ð	
ð
 ð
ð ˜˜c™Ñ#ð
ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ó
ð$ ð
ð '+ò
àð
ð ð
ð ˜' # s (Ñ+Ñ,ð	
ð
 ð
ð ˜˜c™Ñ#ð
ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ó
ò
ð Ø-1ð
ð '+ò
àð
ð ð
ð ˜˜c˜Ñ"ð	
ð & c™]ð
ð ˜˜c™Ñ#ð
ð 
ˆs�C˜ˆ}Ñ	ó
ð2 Ø ð
ð '+ò
àð
ð ð
ð ˜˜c˜Ñ"ð	
ð ˜˜c™Ñ#ð
ð 
ˆ}˜UÑ# S¨#Ð-Ñ	.ó
ð( ð '+ò
1àð
1ð ð
1ð ˜˜c˜Ñ"ð	
1ð ˜e‘nð
1ð & c™]ð
1ð ˜˜c™Ñ#ð
1ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ò
1ó ð
1ð ð '+ò
Bàð
Bð ð
Bð ˜˜c˜Ñ"ð	
Bð ˜d‘mð
Bð & c™]ð
Bð ˜˜c™Ñ#ð
Bð 
ˆ}˜UÑ# S¨'°#°s°(Ñ*;Ð;Ñ	<ò
Bó ð
Bð* '+ò;+àð;+ð ð;+ð ˜˜c˜Ñ"ð	;+ð ð;+ð & c™]ð;+ð ˜˜c™Ñ#ð;+ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ó;+ð| LPñ	
Øð	
Ø #ð	
Ø.5°c¸3°hÑ.?ð	
à	ˆu�c˜7 3¨ 8Ñ,Ð,Ñ	-ó	
ð LPñ	
Øð	
Ø #ð	
Ø.5°c¸3°hÑ.?ð	
à	ˆ}˜UÑ# S¨'°#°s°(Ñ*;Ð;Ñ	<ó	
ò
ð
 ð 
¨)°D©/ô 
r-   c                   óþ  ‡ — e Zd ZdZ	 	 	 	 	 ddeded   dedeeee	j                  f      dee	   f
ˆ fd	„Z	 dd
ededeeeef      deeeeeef   f   fd„Z	 dd
ededeeeef      deeeeeef   f   fd„Zed
ededeeeef      ded   deeeeeef   f   f
d„«       Zed
ededeeeef      ded   deeeeeef   f   f
d„«       Zd
ededeeeef      dedeeeef   eeeef   f   f
d„Zdedefd„Zd„ Zˆ xZS )r8   r7   TÚtimeoutÚsessionÚRequestsSessionrW   rX   rY   c                 ót   •— t         t        | �  |||¬«       || _        || _        t
        €J ‚t
        | _        y ©N©rW   rX   rY   )Úsuperr8   rd   Ú_sessionÚ_timeoutr7   )rc   rÖ   r×   rW   rX   rY   r1   Ú	__class__s          €r.   rd   zRequestsClient.__init__T  sE   ø€ ô 	Œn˜dÑ,Ø-ØØ"7ð 	-ô 	
ð
  ˆŒØˆŒäÐ#Ð#Ð#Ü ˆ�r-   r˜   r™   r„   r2   c                 ó.   — | j                  ||||d¬«      S ©NF©rž   ©Ú_request_internalrÉ   s        r.   r©   zRequestsClient.requesth  s'   € ð ×%Ñ%Ø�C˜ )¸%ð &ó 
ð 	
r-   c                 ó.   — | j                  ||||d¬«      S ©NTrâ   rã   rÉ   s        r.   r¨   zRequestsClient.request_streams  s'   € ð ×%Ñ%Ø�C˜ )¸$ð &ó 
ð 	
r-   rž   c                  ó   — y r5   r,   ©rc   r˜   r™   r„   rš   rž   s         r.   rä   z RequestsClient._request_internal~  ó   € ð .1r-   Fc                  ó   — y r5   r,   rè   s         r.   rä   z RequestsClient._request_internalˆ  s   € ð 03r-   c                 ó¬  — i }| j                   rt        j                  |d<   nd|d<   | j                  r| j                  |d<   |rd|d<   t	        | j
                  dd «      €7| j                  xs | j                  j                  «       | j
                  _	        	 	  t        d| j
                  j                  «      j                  ||f||| j                  dœ|¤Ž}|r|j                  }	n|j                  }	|j                   }
	
j&                  fS # t        $ r}t        d	|›�«      ‚d }~ww xY w# t"        $ r}| j%                  |«       Y d }~ŒMd }~ww xY w)
NÚverifyFÚproxiesTÚstreamr×   rØ   )r„   ÚdatarÖ   a  Warning: It looks like your installed version of the "requests" library is not compatible with Stripe's usage thereof. (HINT: The most likely cause is that your "requests" library is out of date. You can fix that by running "pip install -U requests".) The underlying error was: )rV   rˆ   Úca_bundle_pathrU   r‡   rb   rÝ   r7   r   r×   r   r©   rÞ   Ú	TypeErrorÚrawÚcontentro   Ú	ExceptionÚ_handle_request_errorr„   )rc   r˜   r™   r„   rš   rž   r1   Úresultr¯   ró   ro   s              r.   rä   z RequestsClient._request_internal’  se  € ð ˆØ×!Ò!Ü%×4Ñ4ˆF�8Òà$ˆF�8Ñà�;Š;Ø $§¡ˆF�9ÑáØ#ˆF�8Ñä�4×%Ñ% y°$Ó7Ð?à—‘Ò8 §¡×!6Ñ!6Ó!8ð ×ÑÔ&ð"	*ððœØ% t×'9Ñ'9×'AÑ'Aóç‘'ØØð		ð
 $Ø"Ø ŸM™Mñ	ð ñ	�ñ( Ø Ÿ*™*‘ð
 !Ÿ.™.�à ×,Ñ,ˆKð ˜ V§^¡^Ð3Ð3øô1 ò Ýñ 34ð6óð ûðûô& ò 	*ð ×&Ñ& q×)Ñ)ûð	*ús7   ÂA D Ã'D/ Ä	D,ÄD'Ä'D,Ä,D/ Ä/	EÄ8EÅEr¯   c                 ó  — t        || j                  j                  j                  «      r)d}t	        |«      j
                  ›dt        |«      ›�}d}�nt        || j                  j                  j                  | j                  j                  j                  f«      r(d}t	        |«      j
                  ›dt        |«      ›�}d}n‘t        || j                  j                  j                  «      r(d}t	        |«      j
                  ›dt        |«      ›�}d}n?d}dt	        |«      j
                  ›d�}t        |«      r|d	t        |«      ›�z  }n|d
z  }d}t        j                  |«      d|›d�z   }t        ||¬«      |‚)Nú®Could not verify Stripe's SSL certificate.  Please make sure that your network is not intercepting certificates.  If this problem persists, let us know at support@stripe.com.ú: FziUnexpected error communicating with Stripe.  If this problem persists, let us know at support@stripe.com.Tz§Unexpected error communicating with Stripe. It looks like there's probably a configuration issue locally.  If this problem persists, let us know at support@stripe.com.úA ú was raisedz with error message z with no error messageú

(Network error: ú)rl   )r[   r7   Ú
exceptionsÚSSLErrorÚtyperL   rO   r   ÚConnectionErrorÚRequestExceptionÚtextwrapÚfillr   ©rc   r¯   ÚmsgÚerrrm   s        r.   rõ   z$RequestsClient._handle_request_errorÑ  sT  € ô �a˜Ÿ™×1Ñ1×:Ñ:Ô;ð&ð ô # 1›g×.Ó.´°A´Ð7ˆCØ ŠLäØà—‘×(Ñ(×0Ñ0Ø—‘×(Ñ(×8Ñ8ðô
ð&ð ô
 # 1›g×.Ó.´°A´Ð7ˆCØ‰Lä˜˜4Ÿ=™=×3Ñ3×DÑDÔEð&ð ô
 # 1›g×.Ó.´°A´Ð7ˆCØ ‰Lð.ñ ô (,¨A£w×'7Ó'7Ð9ˆCÜ�1ŒvÙ´3°q´6Ð;Ñ;‘àÐ/Ñ/�Ø ˆLä�m‰m˜CÔ ÂÐ#EÑEˆÜ  °<Ô@ÀaÐGr-   c                 ó|   — t        | j                  dd «      �%| j                  j                  j                  «        y y )Nr×   )r‡   rb   r×   r¸   r·   s    r.   r¸   zRequestsClient.close  s5   € Ü�4×%Ñ% y°$Ó7ÐCØ×Ñ×&Ñ&×,Ñ,Õ.ð Dr-   )éP   NTNNr5   )rL   rM   rN   rG   r)   r   rÒ   r   rO   r3   rQ   rd   r   r   rÔ   r©   r   r¨   r   r   rä   rô   r   rõ   r¸   Ú__classcell__©rß   s   @r.   r8   r8   Q  sh  ø„ Ø€Dð Ø/3Ø!%Ø9=Ø6:ñ!àð!ð Ð+Ñ,ð!ð ð	!ð
 ˜˜c :×#4Ñ#4Ð4Ñ5Ñ6ð!ð  (¨
Ñ3õ!ð2 ñ	
àð	
ð ð	
ð ˜' # s (Ñ+Ñ,ð		
ð 
ˆu�c˜7 3¨ 8Ñ,Ð,Ñ	-ó	
ð  ñ	
àð	
ð ð	
ð ˜' # s (Ñ+Ñ,ð		
ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ó	
ð ð1àð1ð ð1ð ˜' # s (Ñ+Ñ,ð	1ð ˜d‘mð1ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ò1ó ð1ð ð3àð3ð ð3ð ˜' # s (Ñ+Ñ,ð	3ð ˜e‘nð3ð 
ˆu�c˜7 3¨ 8Ñ,Ð,Ñ	-ò3ó ð3ð=4àð=4ð ð=4ð ˜' # s (Ñ+Ñ,ð	=4ð ð=4ð 
ˆu�U˜C�ZÑ  # w¨s°C¨xÑ'8Ð8Ñ	9ó=4ð~3H yð 3H°Xó 3Höj/r-   r8   c                   ó’  ‡ — e Zd ZdZ	 	 	 	 ddedeej                     dedee   fˆ fd„Z		 dde
d	e
d
ee
e
f   dee
eee
e
f   f   fd„Z	 dde
d	e
d
ee
e
f   deeeee
e
f   f   fd„Zede
d	e
d
ee
e
f   ded   deeeef   f
d„«       Zede
d	e
d
ee
e
f   ded   dee
eef   f
d„«       Zde
d	e
d
ee
e
f   fd„Zded	e
defd„Zd„ Zˆ xZS )r6   r%   TrW   rX   ÚdeadlinerY   c                 óŽ   •— t         t        | �  |||¬«       |rt        d«      ‚|| _        || _        t        €J ‚t        | _        y )NrÛ   z–No proxy support in urlfetch library. Set stripe.default_http_client to either RequestsClient, PycurlClient, or Urllib2Client instance to use a proxy.)rÜ   r6   rd   r]   rV   Ú	_deadliner%   )rc   rW   rX   r  rY   rß   s        €r.   rd   zUrlFetchClient.__init__  s`   ø€ ô 	Œn˜dÑ,Ø-ØØ"7ð 	-ô 	
ñ ÜðJóð ð "2ˆÔð "ˆŒäÐ#Ð#Ð#Ü ˆ�r-   r˜   r™   r„   r2   c                 ó.   — | j                  ||||d¬«      S rá   rã   rÉ   s        r.   r©   zUrlFetchClient.request,  ó'   € ð ×%Ñ%Ø�C˜ )¸%ð &ó 
ð 	
r-   c                 ó.   — | j                  ||||d¬«      S ræ   rã   rÉ   s        r.   r¨   zUrlFetchClient.request_stream3  ó'   € ð ×%Ñ%Ø�C˜ )¸$ð &ó 
ð 	
r-   rž   c                  ó   — y r5   r,   rè   s         r.   rä   z UrlFetchClient._request_internal:  ó   € ð $'r-   Fc                  ó   — y r5   r,   rè   s         r.   rä   z UrlFetchClient._request_internalD  ó   € ð  #r-   c                 ó¦  — 	 | j                   j                  |||| j                  | j                  |¬«      }|r=t        j                  j                  t        j                  j                  «      «      }nj                  }||j                  |j                  fS # | j                   j                  $ r}| j                  ||«       Y d }~Œ”d }~ww xY w)N)r™   r˜   r„   Úvalidate_certificater  rŠ   )r%   ÚfetchrV   r  ÚErrorrõ   r   Úior   rO   Úencoderó   ro   r„   )	rc   r˜   r™   r„   rš   rž   rö   r¯   ró   s	            r.   rä   z UrlFetchClient._request_internalN  s³   € ð	/Ø—]‘]×(Ñ(ØØØð &*×%;Ñ%;ØŸ™Ø!ð )ó 
ˆFñ ä—h‘h×&Ñ&¤s§z¡z°&·.±.Ó'AÓB‰Gà—n‘nˆGà˜×*Ñ*¨F¯N©NÐ:Ð:øð �}‰}×"Ñ"ò 	/Ø×&Ñ& q¨#×.Ñ.ûð	/ús   ‚5B ÂCÂ4CÃCr¯   c                 óF  — t        || j                  j                  «      rd|›d�}nHt        || j                  j                  «      rd}n%t        || j                  j                  «      rd}nd}t        j                  |«      dz   t        |«      z   dz   }t        |«      |‚)Nz6The Stripe library attempted to fetch an invalid URL (zg). This is likely due to a bug in the Stripe Python bindings. Please let us know at support@stripe.com.z0There was a problem retrieving data from Stripe.z�There was a problem receiving all of your data from Stripe.  This is likely due to a bug in Stripe. Please let us know at support@stripe.com.úhUnexpected error communicating with Stripe. If this problem persists, let us know at support@stripe.com.rü   rý   )	r[   r%   ÚInvalidURLErrorÚDownloadErrorÚResponseTooLargeErrorr  r  rO   r   )rc   r¯   r™   r  s       r.   rõ   z$UrlFetchClient._handle_request_errorm  sš   € Ü�a˜Ÿ™×6Ñ6Õ7ò
 -0ð2ñ ô ˜˜4Ÿ=™=×6Ñ6Ô7ØD‰CÜ˜˜4Ÿ=™=×>Ñ>Ô?ð<ñ ðGð ô
 �m‰m˜CÓ Ð#9Ñ9¼CÀ»FÑBÀSÑHˆÜ  Ó%¨1Ð,r-   c                  ó   — y r5   r,   r·   s    r.   r¸   zUrlFetchClient.close†  ó   € Ør-   )TNé7   Nr5   )rL   rM   rN   rG   rÒ   r   r3   rQ   r)   rd   rO   r   r   r©   r   r¨   r   r   r   rä   rô   r   rõ   r¸   r
  r  s   @r.   r6   r6     sç  ø„ Ø€Dð "&Ø-1ØØ6:ñ!àð!ð ˜
×)Ñ)Ñ*ð!ð ð	!ð
  (¨
Ñ3õ!ð> LPñ
Øð
Ø #ð
Ø.5°c¸3°hÑ.?ð
à	ˆs�C˜  c Ñ*Ð*Ñ	+ó
ð LPñ
Øð
Ø #ð
Ø.5°c¸3°hÑ.?ð
à	ˆw˜˜W S¨# XÑ.Ð.Ñ	/ó
ð ð'àð'ð ð'ð ˜˜c˜Ñ"ð	'ð ˜d‘mð'ð 
ˆw˜˜SÐ Ñ	!ò'ó ð'ð ð#àð#ð ð#ð ˜˜c˜Ñ"ð	#ð ˜e‘nð#ð 
ˆs�C˜ˆ}Ñ	ò#ó ð#ð;àð;ð ð;ð ˜˜c˜Ñ"ó	;ð>- yð -°sð -¸xó -ö2r-   r6   c                   ó.   — e Zd ZU ee   ed<   ee   ed<   y)rQ   rJ   rK   N©rL   rM   rN   r   r'   rP   r,   r-   r.   rQ   rQ   Š  s   … Ø
�;Ñ
ÓØ�KÑ Ô r-   rQ   c                   óê  ‡ — e Zd ZU  G d„ ded¬«      ZdZee   ed<   	 	 	 dded	ee	j                     d
ee	   fˆ fd„Zd„ Z	 ddeeef   deeeeeef   f   fd„Z	 ddeeef   deeeeeef   f   fd„Zedededeeef   ded   deeeef   f
d„«       Zedededeeef   ded   deeeeeef   f   f
d„«       Zdededeeef   deeeef   eeeef   f   fd„Zdedefd„Zdee   fd„Zd„ Zˆ xZS )r:   c                   ó.   — e Zd ZU ee   ed<   ee   ed<   y)úPycurlClient._ParsedProxyrJ   rK   Nr'  r,   r-   r.   Ú_ParsedProxyr*  �  s   … Ø�{Ñ#Ó#Ø˜Ñ$Ô$r-   r+  F)Útotalr9   Ú_parsed_proxyTrW   rX   rY   c                 óF  •— t         t        | �  |||¬«       t        €J ‚t        | _        t        j                  «       | _        i | _        | j                  rK| j                  }|j                  «       D ]+  \  }}t        t        t        |«      «      | j                  |<   Œ- y y rÚ   )rÜ   r:   rd   r9   ÚCurlÚ_curlr-  rU   Úitemsr&   r   rO   )rc   rW   rX   rY   Úproxy_ÚschemeÚvaluerß   s          €r.   rd   zPycurlClient.__init__—  sœ   ø€ ô 	Œl˜DÑ*Ø-ØØ"7ð 	+ô 	
ô Ð!Ð!Ð!ÜˆŒä—[‘[“]ˆŒ
àˆÔð �;Š;Ø—[‘[ˆFØ!'§¡£ò H‘�˜ô .6´d¼3ÀÓ6FÓ-G�×"Ñ" 6Ò*ñHð r-   c                 ó´   — d|vri S |j                  dd«      d   }t        j                  |«      }t        d„ t        |«      j	                  «       D «       «      S )Nz
rw   c              3   óF   K  — | ]  \  }}|j                  «       |f–— Œ y ­wr5   ©Úlower©Ú.0ÚkÚvs      r.   ú	<genexpr>z-PycurlClient.parse_headers.<locals>.<genexpr>·  s   è ø€ ÒE¡t q¨!�Q—W‘W“Y ”NÑEùó   ‚!)ÚsplitÚemailÚmessage_from_stringr\   r1  )rc   rï   Úraw_headersr„   s       r.   Úparse_headerszPycurlClient.parse_headers²  sR   € Ø˜ÑØˆIØ—j‘j ¨Ó+¨AÑ.ˆÜ×+Ñ+¨KÓ8ˆÜÑE¬t°G«}×/BÑ/BÓ/DÔEÓEÐEr-   r„   r2   c                 ó.   — | j                  ||||d¬«      S rá   rã   rÉ   s        r.   r©   zPycurlClient.request¹  r  r-   c                 ó.   — | j                  ||||d¬«      S ræ   rã   rÉ   s        r.   r¨   zPycurlClient.request_streamÀ  r  r-   r˜   r™   rž   c                  ó   — y r5   r,   rè   s         r.   rä   zPycurlClient._request_internalÇ  r  r-   c                  ó   — y r5   r,   rè   s         r.   rä   zPycurlClient._request_internalÑ  ré   r-   c           
      ó\
  — t         j                  j                  «       }t         j                  j                  «       }| j                  j	                  «        | j                  |«      }|rí|j                  r:| j                  j                  | j                  j                  |j                  «       |j                  r:| j                  j                  | j                  j                  |j                  «       |j                  s|j                  rI| j                  j                  | j                  j                  |j                  ›d|j                  ›�«       |dk(  r1| j                  j                  | j                  j                  d«       n¤|dk(  ra| j                  j                  | j                  j                   d«       | j                  j                  | j                  j"                  |«       n>| j                  j                  | j                  j$                  |j'                  «       «       | j                  j                  | j                  j(                  |«       | j                  j                  | j                  j*                  |j,                  «       | j                  j                  | j                  j.                  |j,                  «       | j                  j                  | j                  j0                  d«       | j                  j                  | j                  j2                  d«       | j                  j                  | j                  j4                  d«       | j                  j                  | j                  j6                  t9        |«      j;                  «       D �	�
cg c]  \  }	}
|	›d|
›�‘Œ c}
}	«       | j<                  r?| j                  j                  | j                  j>                  t@        jB                  «       n0| j                  j                  | j                  jD                  d«       	 | j                  jG                  «        |r|jM                  d	«       |}n|jO                  «       jQ                  d
«      }| j                  jS                  | j                  jT                  «      }| jW                  |jO                  «       jQ                  d
«      «      }|||fS c c}
}	w # | j                  jH                  $ r}| jK                  |«       Y d }~ŒÌd }~ww xY w)Nú:Úgetrw   Úposté   r	  rù   Fr   úutf-8),r   r  r   r0  ÚresetÚ
_get_proxyÚhostnameÚsetoptr9   ÚPROXYÚportÚ	PROXYPORTÚusernameÚpasswordÚPROXYUSERPWDÚHTTPGETÚPOSTÚ
POSTFIELDSÚCUSTOMREQUESTÚupperÚURLÚWRITEFUNCTIONÚwriteÚHEADERFUNCTIONÚNOSIGNALÚCONNECTTIMEOUTÚTIMEOUTÚ
HTTPHEADERr\   r1  rV   ÚCAINFOrˆ   rð   ÚSSL_VERIFYHOSTÚperformÚerrorrõ   ÚseekÚgetvalueÚdecodeÚgetinfoÚRESPONSE_CODErC  )rc   r˜   r™   r„   rš   rž   Úbrp   rX   r;  r<  r¯   ÚrcontentÚrcodes                 r.   rä   zPycurlClient._request_internalÛ  sv  € ô �H‰H×ÑÓˆÜ—8‘8×#Ñ#Ó%ˆð 	�
‰
×ÑÔà—‘ Ó$ˆÙØ�~Š~Ø—
‘
×!Ñ! $§+¡+×"3Ñ"3°U·^±^ÔDØ�zŠzØ—
‘
×!Ñ! $§+¡+×"7Ñ"7¸¿¹ÔDØ�~Š~ §¢Ø—
‘
×!Ñ!Ø—K‘K×,Ñ,Ø$Ÿ~›~¨u¯~ª~Ð>ôð
 �UŠ?Ø�J‰J×Ñ˜dŸk™k×1Ñ1°1Õ5Ø�vÒØ�J‰J×Ñ˜dŸk™k×.Ñ.°Ô2Ø�J‰J×Ñ˜dŸk™k×4Ñ4°iÕ@à�J‰J×Ñ˜dŸk™k×7Ñ7¸¿¹»ÔHð 	�
‰
×Ñ˜$Ÿ+™+Ÿ/™/¨3Ô/à�
‰
×Ñ˜$Ÿ+™+×3Ñ3°Q·W±WÔ=Ø�
‰
×Ñ˜$Ÿ+™+×4Ñ4°h·n±nÔEØ�
‰
×Ñ˜$Ÿ+™+×.Ñ.°Ô2Ø�
‰
×Ñ˜$Ÿ+™+×4Ñ4°bÔ9Ø�
‰
×Ñ˜$Ÿ+™+×-Ñ-¨rÔ2Ø�
‰
×ÑØ�K‰K×"Ñ"Ü+/°«=×+>Ñ+>Ó+@×A¡4 1 aš™AÒÓAô	
ð ×!Ò!Ø�J‰J×Ñ˜dŸk™k×0Ñ0´&×2GÑ2GÕHà�J‰J×Ñ˜dŸk™k×8Ñ8¸%Ô@ð	*Ø�J‰J×ÑÔ ñ Ø�F‰F�1ŒIØ‰Hà—z‘z“|×*Ñ*¨7Ó3ˆHà—
‘
×"Ñ" 4§;¡;×#<Ñ#<Ó=ˆØ×$Ñ$ X×%6Ñ%6Ó%8×%?Ñ%?ÀÓ%HÓIˆà˜ Ð'Ð'ùó+ Bøð �{‰{× Ñ ò 	*Ø×&Ñ& q×)Ñ)ûð	*ús   Î+S1Ñ S7 Ó7T+ÔT&Ô&T+r¯   c                 ó¦  — |j                   d   | j                  j                  | j                  j                  | j                  j                  fv rd}d}nD|j                   d   | j                  j
                  | j                  j                  fv rd}d}nd}d}t        j                  |«      dz   |j                   d   z   d	z   }t        ||¬
«      |‚)Nr   záCould not connect to Stripe.  Please check your internet connection and try again.  If this problem persists, you should check Stripe's service status at https://twitter.com/stripestatus, or let us know at support@stripe.com.Trø   Fr  rü   rw   rý   rl   )
r0   r9   ÚE_COULDNT_CONNECTÚE_COULDNT_RESOLVE_HOSTÚE_OPERATION_TIMEOUTEDÚE_SSL_CACERTÚE_SSL_PEER_CERTIFICATEr  r  r   )rc   r¯   r  rm   s       r.   rõ   z"PycurlClient._handle_request_error#  sÖ   € Ø�6‰6�!‰9Ø�K‰K×)Ñ)Ø�K‰K×.Ñ.Ø�K‰K×-Ñ-ð
ñ 
ð&ð ð  ‰LØ�V‰V�A‰YØ�K‰K×$Ñ$Ø�K‰K×.Ñ.ð
ñ 
ð
&ð ð !‰LðGð ð !ˆLä�m‰m˜CÓ Ð#9Ñ9¸A¿F¹FÀ1¹IÑEÈÑKˆÜ  °<Ô@ÀaÐGr-   c                 ó°   — | j                   rJ| j                   }|r|j                  d«      d   nd }|r$|j                  ||j                  |dd «      «      S y )NrI  r   éÿÿÿÿ)r-  r?  rJ  )rc   r™   rX   r3  s       r.   rO  zPycurlClient._get_proxyF  sR   € Ø×ÒØ×&Ñ&ˆEÙ*-�S—Y‘Y˜s“^ AÒ&°4ˆFÙØ—y‘y ¨¯©°6¸!¸B°<Ó)@ÓAÐAØr-   c                  ó   — y r5   r,   r·   s    r.   r¸   zPycurlClient.closeN  r$  r-   rÑ   r5   ) rL   rM   rN   r   r+  rG   r   rP   rÒ   r3   rQ   rd   rC  r   rO   r   r)   r©   r   r¨   r   r   r   rä   r   rô   r   rõ   r'   rO  r¸   r
  r  s   @r.   r:   r:   �  s%  ø… ô%�y¨õ %ð €DØ˜LÑ)Ó)ð "&Ø-1Ø6:ñ	HàðHð ˜
×)Ñ)Ñ*ðHð  (¨
Ñ3õ	Hò6Fð BFñ
Ø$+¨C°¨HÑ$5ð
à	ˆs�C˜  c Ñ*Ð*Ñ	+ó
ð BFñ
Ø$+¨C°¨HÑ$5ð
à	ˆw˜˜W S¨# XÑ.Ð.Ñ	/ó
ð ð'àð'ð ð'ð ˜˜c˜Ñ"ð	'ð ˜d‘mð'ð 
ˆw˜˜SÐ Ñ	!ò'ó ð'ð ð1àð1ð ð1ð ˜˜c˜Ñ"ð	1ð ˜e‘nð1ð 
ˆs�C˜  c Ñ*Ð*Ñ	+ò1ó ð1ðF(àðF(ð ðF(ð ˜˜c˜Ñ"ð	F(ð 
ˆu�S˜'�\Ñ" C¨°°c°Ñ):Ð:Ñ	;óF(ðP!H yð !H°Xó !HðF ¨+Ñ!6ó ör-   r:   c                   óˆ  ‡ — e Zd ZdZ	 	 	 ddedeej                     dee   fˆ fd„Z	 dde	de	d	e
e	e	f   d
ee	ee
e	e	f   f   fd„Z	 dde	de	d	e
e	e	f   d
eeee
e	e	f   f   fd„Zede	de	d	e
e	e	f   ded   d
ee	eef   f
d„«       Zede	de	d	e
e	e	f   ded   d
eeeef   f
d„«       Zde	de	d	e
e	e	f   fd„Zded
efd„Zd„ Zˆ xZS )r;   zurllib.requestTrW   rX   rY   c                 ó  •— t         t        | �  |||¬«       d | _        | j                  rUt        j                  t        t        t        t        f   | j                  «      «      }t        j                  |«      | _        y y rÚ   )rÜ   r;   rd   Ú_openerrU   ÚurllibrequestÚProxyHandlerr   r	   rO   Úbuild_opener)rc   rW   rX   rY   Úproxy_handlerrß   s        €r.   rd   zUrllib2Client.__init__U  ss   ø€ ô 	Œm˜TÑ+Ø-ØØ"7ð 	,ô 	
ð ˆŒØ�;Š;ô *×6Ñ6Ü”Tœ#œs˜(‘^ T§[¡[Ó1óˆMô )×5Ñ5°mÓDˆD�Lð r-   r˜   r™   r„   r2   c                 ó.   — | j                  ||||d¬«      S rá   rã   rÉ   s        r.   r©   zUrllib2Client.requestj  r  r-   c                 ó.   — | j                  ||||d¬«      S ræ   rã   rÉ   s        r.   r¨   zUrllib2Client.request_streamq  r  r-   rž   Fc                  ó   — y r5   r,   rè   s         r.   rä   zUrllib2Client._request_internalx  r  r-   c                  ó   — y r5   r,   rè   s         r.   rä   zUrllib2Client._request_internal‚  s   € ð ),r-   c           	      ó0  ‡— t        |t        «      r|j                  d«      }t        j                  ||t        t        t        t        f   |«      «      }‰dvr
ˆfd„|_        	 | j                  r| j                  j                  |«      nt        j                  |«      }|r|}n|j                  «       }|j                  }	t        |j                  «       «      }t        d„ t)        t        |«      j+                  «       «      D «       «      }	|fS # t        j                   $ r?}
|
j                  }	|
j                  «       }t        |
j                  «       «      }Y d }
~
Œ„d }
~
wt        j"                  t$        f$ r}
| j'                  |
«       Y d }
~
Œ¶d }
~
ww xY w)NrM  )rJ  rK  c                  ó$   •— ‰ j                  «       S r5   )r\  )r˜   s   €r.   ú<lambda>z1Urllib2Client._request_internal.<locals>.<lambda>œ  s   ø€  V§\¡\£^€ r-   c              3   óF   K  — | ]  \  }}|j                  «       |f–— Œ y ­wr5   r7  r9  s      r.   r=  z2Urllib2Client._request_internal.<locals>.<genexpr>´  s   è ø€ ÒI¡T Q¨�1—7‘7“9˜a”.ÑIùr>  )r[   rO   r  r}  ÚRequestr   r   Ú
get_methodr|  ÚopenÚurlopenÚreadÚcoder\   ÚinfoÚurlliberrorÚ	HTTPErrorÚURLErrorr]   rõ   Úiterr1  )rc   r˜   r™   r„   rš   rž   Úreqre   ro  rp  r¯   Úlhs    `          r.   rä   zUrllib2Client._request_internalŒ  sK  ø€ ô �i¤Ô%Ø!×(Ñ(¨Ó1ˆIä×#Ñ#Ø�œD¤´´S°Ñ!9¸7ÓCó
ˆð ˜Ñ(Û3ˆCŒNð	*ð
 —<’<ð —‘×!Ñ! #Ô&ä"×*Ñ*¨3Ó/ð ñ Ø#‘à#Ÿ=™=›?�à—M‘MˆEÜ˜8Ÿ=™=›?Ó+ˆGô ÑI¬T´$°w³-×2EÑ2EÓ2GÓ-HÔIÓIˆØ˜ Ð"Ð"øô ×$Ñ$ò 	%Ø—F‘FˆEØ—v‘v“xˆHÜ˜1Ÿ6™6›8“n�GûÜ×$Ñ$¤jÐ1ò 	*Ø×&Ñ& q×)Ñ)ûð	*ús%   Á$A6D ÄFÄ$5EÅFÅ:FÆFr¯   c                 ól   — d}t        j                  |«      dz   t        |«      z   dz   }t        |«      |‚)Nr  rü   rý   )r  r  rO   r   )rc   r¯   r  s      r.   rõ   z#Urllib2Client._handle_request_error·  s>   € ðKð 	ô �m‰m˜CÓ Ð#9Ñ9¼CÀ»FÑBÀSÑHˆÜ  Ó%¨1Ð,r-   c                  ó   — y r5   r,   r·   s    r.   r¸   zUrllib2Client.close¿  r$  r-   rÑ   r5   )rL   rM   rN   rG   rÒ   r   r3   rQ   rd   rO   r   r   r)   r©   r   r¨   r   r   r   rä   rô   r   rõ   r¸   r
  r  s   @r.   r;   r;   R  sØ  ø„ Ø€Dð "&Ø-1Ø6:ñ	EàðEð ˜
×)Ñ)Ñ*ðEð  (¨
Ñ3õ	Eð, LPñ
Øð
Ø #ð
Ø.5°c¸3°hÑ.?ð
à	ˆs�C˜  c Ñ*Ð*Ñ	+ó
ð LPñ
Øð
Ø #ð
Ø.5°c¸3°hÑ.?ð
à	ˆ|˜S '¨#¨s¨(Ñ"3Ð3Ñ	4ó
ð ð#àð#ð ð#ð ˜˜c˜Ñ"ð	#ð ˜e‘nð#ð 
ˆs�C˜ˆ}Ñ	ò#ó ð#ð ð,àð,ð ð,ð ˜˜c˜Ñ"ð	,ð ˜d‘mð,ð 
ˆ|˜S #Ð%Ñ	&ò,ó ð,ð)#àð)#ð ð)#ð ˜˜c˜Ñ"ó	)#ðV- yð -°Xó -ör-   r;   c                   óŒ  ‡ — e Zd ZU dZed   ed<   	 	 ddeeedf      fˆ fd„Zd„ Z	de
d	e
d
ee
e
f   fd„Z	 dde
d	e
d
ee
e
f   deeeee
e
f   f   fd„Z	 dde
d	e
d
ee
e
f   deeeee
e
f   f   fd„Zdedefd„Z	 dde
d	e
d
ee
e
f   deee   eee
e
f   f   fd„Z	 dde
d	e
d
ee
e
f   deee   eee
e
f   f   fd„Zd„ Zd„ Zˆ xZS )rA   r@   ÚHTTPXClientTypeÚ_clientrÖ   ÚHTTPXTimeoutc                 óš  •— t        t        | �
  di |¤Ž t        €t	        d«      ‚t
        €t	        d«      ‚t        | _        t
        | _        i }| j                  r(t        j                  t        j                  ¬«      |d<   nd|d<   t        j                  di |¤Ž| _        d | _        |rt        j                  di |¤Ž| _        || _        y )NzPUnexpected: tried to initialize HTTPXClient but the httpx module is not present.zPUnexpected: tried to initialize HTTPXClient but the anyio module is not present.©Úcafilerì   Fr,   )rÜ   rA   rd   r@   ÚImportErrorÚanyiorV   ÚsslÚcreate_default_contextrˆ   rð   ÚAsyncClientÚ_client_asyncrš  r   rÞ   )rc   rÖ   Úallow_sync_methodsr1   rß   s       €r.   rd   zHTTPXClient.__init__È  sÅ   ø€ ô 	Œk˜4Ñ)Ñ3¨FÒ3äˆ=ÜØbóð ô ˆ=ÜØbóð ô ˆŒ
ÜˆŒ
àˆØ×!Ò!Ü"×9Ñ9Ü×,Ñ,ô ˆF�8Òð  %ˆF�8Ñä"×.Ñ.Ñ8°Ñ8ˆÔØˆŒÙÜ Ÿ<™<Ñ1¨&Ñ1ˆDŒLØˆ�r-   c                 ó8   — | j                   j                  |«      S r5   )r   r¬   rÐ   s     r.   rÇ   zHTTPXClient.sleep_asyncë  s   € Ø�z‰z×Ñ Ó%Ð%r-   r˜   r™   r„   c                 ó�   — i }| j                   r| j                   |d<   | j                  r| j                  |d<   ||f||xs i dœ|¥gS )Nrí   rÖ   )r„   rï   )rU   rÞ   )rc   r˜   r™   r„   rš   r1   s         r.   Ú_get_request_args_kwargsz$HTTPXClient._get_request_args_kwargsî  sU   € ð ˆà�;Š;Ø $§¡ˆF�9Ñà�=Š=Ø $§¡ˆF�9Ñà�SˆMØ¨ª°bÑC¸FÐCð
ð 	
r-   r2   c                 ó8  — | j                   €t        d«      ‚| j                  ||||«      \  }}	  | j                   j                  |i |¤Ž}j                  }	|j                  }
|j                  }|	|
|fS # t        $ r}| j                  |«       Y d }~ŒHd }~ww xY w)NzqStripe: HTTPXClient was initialized with allow_sync_methods=False, so it cannot be used for synchronous requests.)	rš  ÚRuntimeErrorr¨  r©   rô   rõ   ró   ro   r„   ©rc   r˜   r™   r„   rš   r0   r1   re   r¯   ró   ro   Úresponse_headerss               r.   r©   zHTTPXClient.requestý  sµ   € ð �<‰<ÐÜðAóð ð ×4Ñ4Ø�C˜ )ó
‰ˆˆfð	*Ø+�t—|‘|×+Ñ+¨TÐ<°VÑ<ˆHð ×"Ñ"ˆØ×*Ñ*ˆØ#×+Ñ+ÐØ˜Ð%5Ð5Ð5øô ò 	*Ø×&Ñ& q×)Ñ)ûð	*ús   °A5 Á5	BÁ>BÂBc              ƒ   ó&  K  — | j                  ||||«      \  }}	  | j                  j                  |i |¤Žƒ d {  –—† }j
                  }	|j                  }
|j                  }|	|
|fS 7 Œ-# t        $ r}| j	                  |«       Y d }~ŒJd }~ww xY w­wr5   )r¨  r¤  r©   rô   rõ   ró   ro   r„   r«  s               r.   rÆ   zHTTPXClient.request_async  s¢   è ø€ ð ×4Ñ4Ø�C˜ )ó
‰ˆˆfð	*Ø7˜T×/Ñ/×7Ñ7¸ÐHÀÑH×HˆHð ×"Ñ"ˆØ×*Ñ*ˆØ#×+Ñ+ÐØ˜Ð%5Ð5Ð5ð IùÜò 	*Ø×&Ñ& q×)Ñ)ûð	*üó=   ‚B›A* ºA(»A* ¿)BÁ(A* Á*	BÁ3B	ÂBÂ	BÂBr¯   c                 ó�   — d}dt        |«      j                  ›d�}d}t        j                  |«      d|›d�z   }t	        ||¬«      |‚©Nr  rú   rû   Trü   rý   rl   ©r   rL   r  r  r   r  s        r.   rõ   z!HTTPXClient._handle_request_error*  óK   € ðCñ 	ô $(¨£7×#3Ó#3Ð5ˆØˆä�m‰m˜CÔ ÂÐ#EÑEˆÜ  °<Ô@ÀaÐGr-   c                 óv  — | j                   €t        d«      ‚| j                  ||||«      \  }}	 | j                   j                   | j                  j
                  |i |¤Žd¬«      }j                  «       }	|j                  }
|j                  }|	|
|fS # t        $ r}| j                  |«       Y d }~ŒLd }~ww xY w)NztStripe: HTTPXClient was not initialized with allow_sync_methods=True, so it cannot be used for synchronous requests.T©r©   rî   )rš  rª  r¨  Úsendr¤  Úbuild_requestrô   rõ   Ú
iter_bytesro   r„   ©rc   r˜   r™   r„   rš   r0   r1   re   r¯   ró   ro   s              r.   r¨   zHTTPXClient.request_stream5  sÒ   € ð �<‰<ÐÜðAóð ð ×4Ñ4Ø�C˜ )ó
‰ˆˆfð	*Ø—|‘|×(Ñ(Ø8˜×*Ñ*×8Ñ8¸$ÐIÀ&ÑIØð )ó ˆHð ×%Ñ%Ó'ˆØ×*Ñ*ˆØ×"Ñ"ˆà˜ WÐ,Ð,øô ò 	*Ø×&Ñ& q×)Ñ)ûð	*ús   °7B Â	B8ÂB3Â3B8c              ƒ   ód  K  — | j                  ||||«      \  }}	 | j                  j                   | j                  j                  |i |¤Žd¬«      ƒ d {  –—† }j                  «       }	|j                  }
|j                  }|	|
|fS 7 Œ1# t        $ r}| j                  |«       Y d }~ŒNd }~ww xY w­w)NTr´  )	r¨  r¤  rµ  r¶  rô   rõ   Úaiter_bytesro   r„   r¸  s              r.   rÅ   z HTTPXClient.request_stream_asyncM  sÂ   è ø€ ð ×4Ñ4Ø�C˜ )ó
‰ˆˆfð	*Ø!×/Ñ/×4Ñ4Ø8˜×*Ñ*×8Ñ8¸$ÐIÀ&ÑIØð 5ó ÷ ˆHð ×&Ñ&Ó(ˆØ×*Ñ*ˆØ×"Ñ"ˆà˜ WÐ,Ð,ðùô ò 	*Ø×&Ñ& q×)Ñ)ûð	*üs@   ‚B0›:B	 ÁBÁB	 Á-B0ÂB	 Â		B-ÂB(Â#B0Â(B-Â-B0c                 óR   — | j                   �| j                   j                  «        y y r5   )rš  r¸   r·   s    r.   r¸   zHTTPXClient.close`  s!   € Ø�<‰<Ð#Ø�L‰L×ÑÕ ð $r-   c              ƒ   óT   K  — | j                   j                  «       ƒ d {  –—†  y 7 Œ­wr5   )r¤  Úacloser·   s    r.   rÍ   zHTTPXClient.close_asyncd  s   è ø€ Ø× Ñ ×'Ñ'Ó)×)Ò)úó   ‚( &¡()r	  Fr5   )rL   rM   rN   rG   r   rP   r   rÓ   rd   rÇ   rO   r   r¨  r   rÔ   r)   r©   rÆ   rô   r   rõ   r
   r¨   r   rÅ   r¸   rÍ   r
  r  s   @r.   rA   rA   Ã  s½  ø… Ø€DàÐ'Ñ(Ó(ð ;=Ø ñ! à˜%  ~Ð 5Ñ6Ñ7õ! òF&ð
Øð
Ø #ð
Ø.5°c¸3°hÑ.?ó
ð( ñ6àð6ð ð6ð ˜˜c˜Ñ"ð	6ð 
ˆu�c˜7 3¨ 8Ñ,Ð,Ñ	-ó6ð< ñ6àð6ð ð6ð ˜˜c˜Ñ"ð	6ð 
ˆu�c˜7 3¨ 8Ñ,Ð,Ñ	-ó6ð(	H yð 	H°Xó 	Hð LPñ-Øð-Ø #ð-Ø.5°c¸3°hÑ.?ð-à	ˆx˜‰  W¨S°#¨XÑ%6Ð6Ñ	7ó-ð2 LPñ-Øð-Ø #ð-Ø.5°c¸3°hÑ.?ð-à	ˆ}˜UÑ# S¨'°#°s°(Ñ*;Ð;Ñ	<ó-ò&!ö*r-   rA   c                   óN  ‡ — e Zd ZdZ	 ddeeedf      fˆ fd„Zed„ «       Z	d„ Z
deeeeeef   f   fd„Zd	ed
edeeef   fd„Z	 dd	ed
edeeef   deeeeeef   f   fd„Zdedefd„Zdeee   eeeef   f   fd„Z	 dd	ed
edeeef   dedeeeef   f   fd„Zd„ Zd„ Zˆ xZS )rC   rB   rÖ   ÚAIOHTTPTimeoutc                 ój   •— t        t        | �
  di |¤Ž t        €t	        d«      ‚|| _        d | _        y )NzTUnexpected: tried to initialize AIOHTTPClient but the aiohttp module is not present.r,   )rÜ   rC   rd   rB   rŸ  rÞ   Ú_cached_session)rc   rÖ   r1   rß   s      €r.   rd   zAIOHTTPClient.__init__k  s=   ø€ ô 	Œm˜TÑ+Ñ5¨fÒ5äˆ?ÜØfóð ð  ˆŒØ#ˆÕr-   c                 ó@  — t         €J ‚| j                  €i }| j                  r>t        j                  t
        j                  ¬«      }t        j                  |¬«      |d<   nt        j                  d¬«      |d<   t        j                  di |¤Ž| _        | j                  S )Nr�  )r¡  Ú	connectorF)Ú
verify_sslr,   )	rB   rÂ  rV   r¡  r¢  rˆ   rð   ÚTCPConnectorÚClientSession)rc   r1   Ússl_contexts      r.   rÝ   zAIOHTTPClient._sessionx  s�   € äÐ"Ð"Ð"à×ÑÐ'ØˆFØ×%Ò%Ü!×8Ñ8Ü!×0Ñ0ô�ô '.×&:Ñ&:¸{Ô&K��{Ò#ä&-×&:Ñ&:ÀeÔ&L��{Ñ#ä#*×#8Ñ#8Ñ#B¸6Ñ#BˆDÔ à×#Ñ#Ð#r-   c                 ó,   — t        j                  |«      S r5   )Úasyncior¬   rÐ   s     r.   rÇ   zAIOHTTPClient.sleep_asyncŠ  s   € Ü�}‰}˜TÓ"Ð"r-   r2   c                 ó   — t        d«      ‚©Nz4AIOHTTPClient does not support synchronous requests.r²   r·   s    r.   r©   zAIOHTTPClient.request�  ó   € Ü!ØBó
ð 	
r-   r˜   r™   r„   c                 óð   — ||f}i }| j                   r<| j                   d   | j                   d   k7  rt        d«      ‚| j                   d   |d<   | j                  r| j                  |d<   ||d<   ||d<   ||fS )NrJ   rK   zDAIOHTTPClient does not support different proxies for HTTP and HTTPS.rX   rÖ   r„   rï   )rU   r]   rÞ   )rc   r˜   r™   r„   rš   r0   r1   s          r.   r¨  z&AIOHTTPClient._get_request_args_kwargs’  s‰   € ð ˜ˆ}ˆØˆØ�;Š;Ø�{‰{˜6Ñ" d§k¡k°'Ñ&:Ò:Ü ØZóð ð #Ÿk™k¨'Ñ2ˆF�7‰OØ�=Š=Ø $§¡ˆF�9Ñà#ˆˆyÑØ"ˆˆv‰Ø�Vˆ|Ðr-   c              ƒ   óŠ   K  — | j                  ||||¬«      ƒ d {  –—† \  }}}|j                  «       ƒ d {  –—† ||fS 7 Œ#7 Œ	­w)N)rš   )rÅ   r�  )rc   r˜   r™   r„   rš   ró   ro   r¬  s           r.   rÆ   zAIOHTTPClient.request_async¤  s[   è ø€ ð ×+Ñ+Ø�C˜¨Ið ,ó 
÷ 
ñ		
ØØØð
 —l‘l“n×$ {Ð4DÐDÐDð	
øð %ús   ‚A›?œA·A¸AÁAr¯   c                 ó�   — d}dt        |«      j                  ›d�}d}t        j                  |«      d|›d�z   }t	        ||¬«      |‚r°  r±  r  s        r.   rõ   z#AIOHTTPClient._handle_request_errorµ  r²  r-   c                 ó   — t        d«      ‚rÌ  r²   r·   s    r.   r¨   zAIOHTTPClient.request_streamÀ  rÍ  r-   ÚAIOHTTPStreamReaderc              ƒ   ó&  K  — | j                  ||||«      \  }}	  | j                  j                  |i |¤Žƒ d {  –—† }j
                  }	|j                  }
|j                  }|	|
|fS 7 Œ-# t        $ r}| j	                  |«       Y d }~ŒJd }~ww xY w­wr5   )r¨  rÝ   r©   rô   rõ   ró   Ústatusr„   r«  s               r.   rÅ   z"AIOHTTPClient.request_stream_asyncÅ  sž   è ø€ ð ×4Ñ4Ø�C˜ )ó
‰ˆˆfð	*Ø2˜TŸ]™]×2Ñ2°DÐC¸FÑC×CˆHð ×"Ñ"ˆØ—o‘oˆØ#×+Ñ+ÐØ˜Ð%5Ð5Ð5ð DùÜò 	*Ø×&Ñ& q×)Ñ)ûð	*ür®  c                  ó   — y r5   r,   r·   s    r.   r¸   zAIOHTTPClient.closeÕ  r$  r-   c              ƒ   óT   K  — | j                   j                  «       ƒ d {  –—†  y 7 Œ­wr5   )rÝ   r¸   r·   s    r.   rÍ   zAIOHTTPClient.close_asyncØ  s   è ø€ Ø�m‰m×!Ñ!Ó#×#Ò#úr¾  )r	  r5   )rL   rM   rN   rG   r   r   rÓ   rd   ÚpropertyrÝ   rÇ   r   rÔ   r)   r   rO   r©   r¨  rÆ   rô   r   rõ   r
   r¨   rÅ   r¸   rÍ   r
  r  s   @r.   rC   rC   h  so  ø„ Ø€Dð CEñ$Ø  eÐ-=Ð&=Ñ >Ñ?õ$ð ñ$ó ð$ò"#ð
˜˜u c¨7°3¸°8Ñ+<Ð<Ñ=ó 
ð
ØðØ #ðØ.5°c¸3°hÑ.?óð. ñEàðEð ðEð ˜˜c˜Ñ"ð	Eð 
ˆu�c˜7 3¨ 8Ñ,Ð,Ñ	-óEð"	H yð 	H°Xó 	Hð
  h¨u¡o°s¸GÀCÈÀHÑ<MÐ&MÑ Nó 
ð LPñ6Øð6Ø #ð6Ø.5°c¸3°hÑ.?ð6à	Ð$ c¨7°3¸°8Ñ+<Ð<Ñ	=ó6ò ö$r-   rC   c                   ó˜   ‡ — e Zd Zˆ fd„Zedefd„«       Z	 d
dededeeef   de	e
eeeef   f   fd„Z	 d
dededeeef   fd„Zd	„ Zˆ xZS )rD   c                 ó,   •— t        t        | �
  di |¤Ž y )Nr,   )rÜ   rD   rd   )rc   r1   rß   s     €r.   rd   z!NoImportFoundAsyncClient.__init__Ý  s   ø€ ÜÔ&¨Ñ6Ñ@¸Ó@r-   r2   c                  ó   — t        d«      ‚)NzÒImport httpx not found. To make async http requests,You must either install httpx or define your ownasync http client by subclassing stripe.HTTPClientand setting stripe.default_http_client to an instance of it.)rŸ  r,   r-   r.   Úraise_async_client_import_errorz8NoImportFoundAsyncClient.raise_async_client_import_errorà  s   € äðOó
ð 	
r-   r˜   r™   r„   c              ƒ   ó,   K  — | j                  «        y ­wr5   ©rÛ  rÉ   s        r.   rÆ   z&NoImportFoundAsyncClient.request_asyncë  ó   è ø€ ð 	×,Ñ,Õ.ùó   ‚c              ƒ   ó,   K  — | j                  «        y ­wr5   rÝ  rÉ   s        r.   rÅ   z-NoImportFoundAsyncClient.request_stream_asyncð  rÞ  rß  c              ƒ   ó,   K  — | j                  «        y ­wr5   rÝ  r·   s    r.   rÍ   z$NoImportFoundAsyncClient.close_asyncõ  s   è ø€ Ø×,Ñ,Õ.ùrß  r5   )rL   rM   rN   rd   Ústaticmethodr   rÛ  rO   r   r   rÔ   r)   rÆ   rÅ   rÍ   r
  r  s   @r.   rD   rD   Ü  s    ø„ ôAð ð
¨Uò 
ó ð
ð LPñ/Øð/Ø #ð/Ø.5°c¸3°hÑ.?ð/à	ˆu�c˜7 3¨ 8Ñ,Ð,Ñ	-ó/ð LPñ/Øð/Ø #ð/Ø.5°c¸3°hÑ.?ó/ö
/r-   rD   )[r  r   Úsysr  r@  r+   r‚   r`   r‹   rÊ  r¡  Úhttp.clientr   rˆ   r   Ústripe._request_metricsr   Ústripe._errorr   Útypingr   r	   r
   r   r   r   r   r   r   r   r   r   r   Útyping_extensionsr   r   r   r   r   Úurllib.requestr©   r}  Úurllib.errorrh  r�  rŸ  r9   r@   r   r   r›  r   r™  rB   r   rÀ  r   rÒ  r7   r   rØ   rO   rP   Ú__version__r   r)   r?  r    r!   r"   Ústderrr_  rô   Úgoogle.appengine.apir%   Úurllib.parser&   r'   r/   r>   rE   Úobjectr3   r8   r6   rQ   r:   r;   rA   rC   rD   )Úis   0r.   ú<module>rñ     sl  ðÞ Û 
Û Û Û Û Û Û Û Û 
Ý $ó Ý Ý 2Ý ,÷÷ ÷ õ ÷õ ð	Ý*Ý&ð
ÛðÛÛÝ-Ý/ð
ÛÝ7Ý;ðÛÝ3ðà‹Ø×&Ñ&ˆØ‹
Ø‹
Ø‹
Ø/6¯}©}¸SÓ/AÖB¨!™s 1�vÒBÑˆˆu�eð
 �5˜%Ð  9Ò,Ø�J‰J×Òò 6=ð?ô	ð ‰HðÝ-÷
 /ò*ð
! 3ð 
!°#ð 
!¸,ó 
!ð!¨#ð !¸ð !Àó !ô~
�ô ~
ôBw/�Zô w/ôt|�Zô |ô~!ˆYô !ô
@�:ô @ôFn�Jô nôbb*�*ô b*ôJq$�Jô q$ôh/˜zõ /øðS- ò 	âð	ûð ò ØƒFðûð ò Ø€EØƒEðûð ò ØƒGðüò  CøØò áðûð ò Ø‚Hðûð< ò Ø‚Hðús�   Á5F5 ÂG ÂG ÂG Â-
G= Â83G2 Ã+G-Ã:G2 Ä,H
 Æ5F>Æ=F>ÇGÇGÇ	GÇGÇG*Ç)G*Ç-G2 Ç2G:Ç9G:Ç=HÈHÈ
HÈH