§
    ‹Ÿj¨  ã                   ó˜   — d Z ddlZej        d         dk    Z	 ddlmZmZ n# e$ r ddlmZmZ Y nw xY werddl	m
Z
 n	ddl	m
Z d„ Z
d„ ZdS )	z9
Created on Mon Jan 13 18:17:15 2014

@author: takluyver
é    Né   )Ú	signatureÚ	Parameteré   )Úwrapsc                 ó   ‡ — ˆ fd„}|S )Nc                 óF   •—  t          ‰¦  «        | ¦  «         ‰| _        | S )N)Ú_wrapsÚ__wrapped__)ÚfuncÚfs    €ú^/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/backcall/backcall.pyÚdeczwraps.<locals>.dec   s#   ø€ Ø�F�1‰IŒI�d‰OŒOˆOØ ˆDÔØˆKó    © )r   r   s   ` r   r   r      s#   ø€ ð	ð 	ð 	ð 	ð 	ð
 ˆ
r   c                 óÀ  ‡‡— t          | ¦  «        }g g cŠ}|j                             ¦   «         D ]†\  }}|j        t          j        t          j        fv rt          d¦  «        ‚|j        t          j	        us|j        t          j
        k    r|                     |¦  «         Œq‰                     |¦  «         Œ‡t                               |¦  «        Šˆˆfd„}|| _        | S )aJ  Decorator to process a callback prototype.
    
    A callback prototype is a function whose signature includes all the values
    that will be passed by the callback API in question.
    
    The original function will be returned, with a ``prototype.adapt`` attribute
    which can be used to prepare third party callbacks.
    z**args/**kwargs not supported in prototypesc                 ó  •‡ ‡‡— t          ‰ ¦  «        }	  |j        ‰
i ‰	¤Ž ‰ S # t          $ r Y nw xY w‰
dd…         }‰	                     ¦   «         Šg }|j                             ¦   «         D �]<\  }}|j        t          j        k    r?t          |¦  «        dk    r| 
                    d¦  «         ŒD|                     |¦  «         ŒZ|j        t          j        k    rl|j        t          j        ur|‰v r‰ 
                    |¦  «         Œœt          |¦  «        dk    r| 
                    d¦  «         ŒÅ|                     |¦  «         ŒÛ|j        t          j        k    rg }Œó|j        t          j        k    r2|‰v r‰ 
                    |¦  «         �Œ#|                     |¦  «         �Œ:i Š�Œ>|r#t          d                     ‰ |¦  «        ¦  «        ‚t          ‰
¦  «        t          |¦  «        z
  Št%          ‰ ¦  «        ˆ ˆˆfd„¦   «         }|S )z.Introspect and prepare a third party callback.Nr   z)Function {!r} had unmatched arguments: {}c                  ó\   •— | d‰…         } ‰D ]}|                      |¦  «         Œ ‰| i |¤ŽS )z@Wrapper for third party callbacks that discards excess argumentsN)Úpop)ÚargsÚkwargsÚnameÚcallbackÚn_positionalÚunmatched_kws      €€€r   Úadaptedz2callback_prototype.<locals>.adapt.<locals>.adapted_   sL   ø€ ð ˜˜˜Ô&ˆDØ$ð !ð !�à—
’
˜4Ñ Ô Ð Ð à�8˜TÐ, VÐ,Ð,Ð,r   )r   ÚbindÚ	TypeErrorÚcopyÚ
parametersÚitemsÚkindr   ÚPOSITIONAL_ONLYÚlenr   ÚappendÚPOSITIONAL_OR_KEYWORDÚdefaultÚemptyÚVAR_POSITIONALÚKEYWORD_ONLYÚformatr   )r   ÚsigÚunmatched_posÚunrecognisedr   Úparamr   r   r   r   Ú
positionals   `      @@€€r   Úadaptz!callback_prototype.<locals>.adapt1   sL  øøøø€ å˜Ñ!Ô!ˆð	àˆCŒH�jÐ+ FÐ+Ð+Ð+ØˆOøÝð 	ð 	ð 	ØˆDð	øøøð # 1 1 1œˆØ—{’{‘}”}ˆØˆàœ>×/Ò/Ñ1Ô1ð 	"ñ 	"‰KˆD�%àŒz�YÔ6Ò6Ð6Ý�}Ñ%Ô%¨Ò)Ð)Ø!×%Ò% aÑ(Ô(Ð(Ð(à ×'Ò'¨Ñ-Ô-Ð-Ð-Ø”�yÔ>Ò>Ð>Ø”M­¬Ð8Ð8¸tÀ|Ð?SÐ?SØ ×$Ò$ TÑ*Ô*Ð*Ð*Ý˜Ñ'Ô'¨!Ò+Ð+Ø!×%Ò% aÑ(Ô(Ð(Ð(à ×'Ò'¨Ñ-Ô-Ð-Ð-Ø”�yÔ7Ò7Ð7Ø "��Ø”�yÔ5Ò5Ð5Ø˜<Ð'Ð'Ø ×$Ò$ TÑ*Ô*Ð*Ñ*à ×'Ò'¨Ñ-Ô-Ð-Ñ-à!�‘ð ð 	hÝÐG×NÒNÈxÐYeÑfÔfÑgÔgÐgå˜:‘”­¨]Ñ);Ô);Ñ;ˆå	ˆx‰Œð	-ð 	-ð 	-ð 	-ð 	-ð 	-ñ 
Œð	-ð ˆs   •$ ¤
1°1)r   r    r!   r"   r   r)   ÚVAR_KEYWORDr   r'   r(   r*   r%   ÚdictÚfromkeysr1   )Ú	prototypeÚprotosigÚkeywordr   r/   r1   r   r0   s         @@r   Úcallback_prototyper8      sò   øø€ õ ˜Ñ#Ô#€HØ˜bÐ€J�ØÔ*×0Ò0Ñ2Ô2ð $ð $‰ˆˆeØŒ:�)Ô2µIÔ4IÐJÐJÐJÝÐHÑIÔIÐIàŒM¥¤Ð0Ð0Ø”
�iÔ4Ò4Ð4Ø�NŠN˜4Ñ Ô Ð Ð à×Ò˜dÑ#Ô#Ð#Ð#å�]Š]˜7Ñ#Ô#€Fð9ð 9ð 9ð 9ð 9ð 9ðv €I„OØÐr   )Ú__doc__ÚsysÚversion_infoÚPY3Úinspectr   r   ÚImportErrorÚ_signaturesÚ	functoolsr   r
   r8   r   r   r   ú<module>rA      sã   ððð ð
 €
€
€
Ø
Ô˜Ô˜aÒ€ð2Ø,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,øØð 2ð 2ð 2Ø1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ð2øøøð ð 
ØÐÐÐÐÐÐà)Ð)Ð)Ð)Ð)Ð)ðð ð ðRð Rð Rð Rð Rs   ™" ¢2±2