Ë
    Î£j9  ã                   ó‚   — d dl mZ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  d„ «       Ze d„ «       «       Z d„ «       Zy)	é    )ÚCallableÚHashable)Ú	lru_cache)ÚFunctionType)ÚProtocolÚSelfÚcastÚoverloadÚruntime_checkablec                  ó   ‡ — d d­xŠ fˆ fd„f­S )Ú	TransformÚRc                  ó   •— t         ‰ g‰ f   S ©N)r   ©r   s   €ú@C:\Users\pivot\Documents\cueki\casual-preloader\core\util\dep.pyr   r      s   ø€ ”H˜a˜S !˜VÑ$Ð $ó    © r   s   @r   ú!<generic parameters of Transform>r      s   ø€ Ð $ŒqÖ $r   c                  ó>   ‡‡— d ­xŠfŠ G ˆˆfd„d‰­
} t         | «      S )r   c                   ó2   •— e Zd ZW ° ZU eeeW °   f   ed<   y)ÚHasCacheÚ_cacheN)Ú__name__Ú
__module__Ú__qualname__Ú__type_params__ÚdictÚstrr   Ú__annotations__)Ú.type_paramsr   s   €€r   r   r   	   s   ø‡ € à��i¡‘lÐ"Ñ#Ô#r   r   )r   ©Ú.generic_baser!   r   s    @@r   ú <generic parameters of HasCache>r$   	   s   ù€ Ü÷ $ó $”(õ $r   c                  ó8   ‡‡— d d„ ®xŠfŠ G ˆˆfd„d‰­
} | «      S )r   c                  ó   — t         S r   )r   r   r   r   r   r      s   € ŒXˆ+r   c                   óÌ   •‡ — e Zd ZW °ZW Š dZdeW °   fˆfd„Zdeddfd„Ze	 ˆ fd„«       «       Z
e	 ˆˆ fd	„«       «       Z
 ˆˆ fd
„«       Z
dW °ddfd„Zdd„ZdeW °   fd„Zˆ Zy)ÚDepzr
    A descriptor class that computes an object given another attribute of the same type, caching the result.
    Úfuncc                 ól   •— || _         t        t        |«      j                  j                  d   | _        y )Néÿÿÿÿ)r)   r	   r   Ú__code__Úco_varnamesÚdepname)Úselfr)   r   s     €r   Ú__init__zDep.__init__   s)   ø€ Ø"&ˆŒ	Ü ¤¨tÓ4×=Ñ=×IÑIÈ"ÑMˆ�r   ÚnameÚreturnNc                 ó   — || _         y r   )r1   )r/   Úownerr1   s      r   Ú__set_name__zDep.__set_name__   s	   € Øˆ�	r   c                  ó0   •— d ­x}fddd‰¯ |   d‰¯fd„c®S )ÚTÚinstanceNr4   r2   c                  ó   — y r   r   ©r/   r8   r4   s      r   Ú__get__zDep.__get__   s   € ØBEr   ©Útyper   )Ú	.defaultsr7   Ú__classdict__s     €r   z<generic parameters of __get__>z#Dep.<generic parameters of __get__>   s   ø€ ÜÐE 4ÐE±°Q±ÐE¹DÕEr   c                  ó0   •— d ­x}fd|d‰¯ |   d‰°fd„c®S )r7   r8   r4   r2   c                  ó   — y r   r   r:   s      r   r;   zDep.__get__   s   € Ø<?r   )r=   ©r>   r7   r   r?   s     €€r   z<generic parameters of __get__>z#Dep.<generic parameters of __get__>   s   ø€ ÜÐ? 1Ð?©T°!©WÐ?¹Õ?r   c                  ó>   •— d ­x}fd|dz  d‰¯ |   d‰°‰¯z  fd„c®S )r7   r8   Nr4   r2   c                 ó²   — |€| S 	 |j                   | j                     S # t        $ r Y nw xY w | j                  |«      t	        || j
                  «      «      S r   )Ú__dict__r1   ÚKeyErrorÚ_get_cached_funcÚgetattrr.   r:   s      r   r;   zDep.__get__    s^   € ØÐØˆKð	Ø×$Ñ$ T§Y¡YÑ/Ð/øÜò 	Ùð	úð /ˆt×$Ñ$ XÓ.¬w°xÀÇÁÓ/NÓOÐOs   † Ÿ	+ª+r<   rB   s     €€r   z<generic parameters of __get__>z#Dep.<generic parameters of __get__>    s/   ø€ ”ð 	P 1 t¡8ð 	P±D¸±Gð 	PÁÁDÁõ 	Pr   Úvaluec                 ó¾   — || u ry t        |t        «      r/| j                  |j                  v r|j                  | j                  = ||j                  | j                  <   y r   )Ú
isinstancer   r1   r   rE   )r/   r8   rI   s      r   Ú__set__zDep.__set__+   sI   € Ø�D‰=Øä�h¤Ô)¨d¯i©i¸8¿?¹?Ñ.JØ—‘ §	¡	Ð*à',ˆ×Ñ˜$Ÿ)™)Ò$r   c                 óä   — | j                   |j                  v r|j                  | j                   = t        |t        «      r1| j                   |j                  v r|j                  | j                   = y y y r   )r1   rE   rK   r   r   )r/   r8   s     r   Ú
__delete__zDep.__delete__4   sX   € Ø�9‰9˜×)Ñ)Ñ)Ø×!Ñ! $§)¡)Ð,ä�h¤Ô)¨d¯i©i¸8¿?¹?Ñ.JØ—‘ §	¡	Ñ*ð /KÐ)r   c                 óð   — t        |t        «      si |_        	 |j                  | j                     S # t        $ r Y nw xY w t        d¬«      | j                  «      x}|j                  | j                  <   |S )Né   )Úmaxsize)rK   r   r   r1   rF   r   r)   )r/   r8   r)   s      r   rG   zDep._get_cached_func;   sl   € ä˜(¤HÔ-Ø ˆHŒOð	Ø—?‘? 4§9¡9Ñ-Ð-øÜò 	Ùð	úð -A¬I¸aÔ,@ÀÇÁÓ,KÐKˆˆx�‰˜tŸy™yÑ)Øˆs   ™2 ²	>½>)r2   N)r   r   r   r   Ú__doc__r   r0   r   r5   r
   r;   rL   rN   rG   Ú__classdictcell__)r?   r!   r   s   @€€r   r(   r(      s‡   ù‡ � ñðN˜Y¡q™\õ Nð¨ð °ó ð ßEÐEó ØEàß?Ñ?ó Ø?÷	Pò 	Pð-¡qð -¨Tó -ó+ð¨I±a©Lö r   r(   r   r"   s    @@r   ú<generic parameters of Dep>rT      s   ù€ Ž+÷ 8÷ 8ñ 8r   N)Úcollections.abcr   r   Ú	functoolsr   Útypesr   Útypingr   r   r	   r
   r   r   r   r(   r   r   r   Ú<module>rY      s5   ðß .Ý Ý ß DÕ Dç $ð ö$ó ð$÷8ð 8r   