U ��\=Q � @ s d dl mZ dZd dlmZ d dlZd dlZd dlZd dlZzd dl Z W n e k rd d dlZ Y nX d dlm Z mZ d dlmZ d dlZd dlmZ dZed d � e�d�D ��Zd dlZz ejZW n" ek r� d dlZejZY nX ze W n ek �r e ZZY nX ze W n ek �r2 e!Z Y nX ej"�rNe#Z$e$fdd �Z#[$dd� e%e �D �Z&z ej'Z(W n< ek �r� d dl)Z)d dl*Z*e*�+de*j,�Z-dd� Z(Y nX dZ.e/Z0dd� Z1dd� Z2G dd� de3�Z4e5e4j6�e7fZ8dd� Z9d�dd�Z:dd � Z;d!d"� Z<d#d$� Z=d%d&� Z>d�d'd(�Z?d)d*� Z@d+d,� ZAG d-d.� d.e3�ZBd/d0� ZCG d1d2� d2e3�ZDeD� ZEeEjFZFeEjGZHeEjIZJG d3d4� d4�ZKe5eK�ZLe5fZMej"�r�e5eLfZMd5d6d7d8d9d:d;d<hZNd=d>� ZOG d?d@� d@eP�ZQdAdB� ZRG dCdD� dDe3�ZSG dEdF� dFe3�ZTG dGdH� dHeT�ZUdIdJ� ZVG dKdL� dLeT�ZWG dMdN� dNeWeU�ZXdOdP� ZYdQdR� ZZdSdT� Z[G dUdV� dVe3�Z\dWdX� Z]eFdddddfdYdZ�Z^d�d[d\�Z_eFdddddfd]d^�Z`G d_d`� d`e3�Zadadb� Zbdcdd� Zce^e`_3eae`_de_e`_eece`_fdee`_gdfZhdgZiejj�r�eidh7 Zidi�kdjd � ei�� D ��Zldi�kdkd � ei�� D ��ZmdlZnejj�r6dmZnejdnk�r:endo7 ZnndpZndqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�d�d�d�d�d�hZod�d�� Zpd�d� di�keheielemeng��� D �ZqeqeoB Zrd�d�d�d�d�d�d�d�hZsd�d�� d�d�� d�d�� d�d�� d�d�� d��Zteueueueud�dd dd�d�ddd�d�e d��d�d��Zvd�d�� Zwd�d�� Zxd�d�� Zyewexeyd��Zzd�d�� Z{G d�d�� d�e3�Z|G d�d�� d�e|eU�Z}G d�d�� d�e|eX�Z~G d�d�� d�e3�ZG d�d�� d�e3�Z�e�� Z�d�d�� Z�G d�d�� d�e�Z�e�dd��Z�d�d�d��Z�d�d�� Z�G d�d�� d�e3�Z�e5e��e5e�j��fZ�e5e�j�j��fZ�da�d�d�� Z�d�d�d��Z�G d�d d�eX�Z�d�dĄ Z�dS )�� )�absolute_import)�__version__�version_info�Mock� MagicMock�patch�sentinel�DEFAULT�ANY�call�create_autospec� FILTER_DIR� CallableMixin�NonCallableMock�NonCallableMagicMock� mock_open�PropertyMock�seal)�partialN)� ModuleType� MethodType)� safe_repr)�wrapsz3.0.5c c s | ]}t |�V qd S �N)�int��.0�p� r �/mock.py� <genexpr>I s r �.c C s t | dd �r| �� S || �S )N�__next__)�getattrr"