
    ,hhӘ                        / S Qr SSKJr  SSKJr  SSKJr  SSKJr  \	" \
\   5      rSrSr\\4S jr\\4S	 jrS
 rS rS rS rS rS rS rS rS rS rS rS rS\4S\4S\4/S\4S\4S\4/S\4S\4S\4/S\4S\4S\4/S.rS rS r SSK Jr  \"" 5       r#\#4S jr$ SSK J$r$   " S  S!5      r% SS"K J%r%   " S# S$\"5      r&S% r'S& r(\" S'/ S(Q5      r) " S) S*\
5      r*\"" 5       4\\+1\,\	\-4S+ jr.S:S, jr/S- r0 SS.K J0r0  S/ r1S0 r2S;S2 jr3S3 r4S4 r5S5 r6 " S6 S75      r7\"" 5       r8 " S8 S95      r9g1! \! a     Nf = f! \! a     Nf = f! \! a     Nf = f! \! a     N\f = f)<)update_wrapperwrapsWRAPPER_ASSIGNMENTSWRAPPER_UPDATEStotal_orderingcache
cmp_to_key	lru_cachereducepartialpartialmethodsingledispatchsingledispatchmethodcached_property    )get_cache_token)
namedtuple)recursive_repr)RLock)
__module____name____qualname____doc____annotations____type_params__)__dict__c                     U H  n [        X5      n[        XU5        M     U H'  n[        X5      R                  [        X0 5      5        M)     Xl        U $ ! [         a     Ma  f = fN)getattrsetattrAttributeErrorupdate__wrapped__)wrapperwrappedassignedupdatedattrvalues         2/opt/python-3.13.8/usr/lib/python3.13/functools.pyr   r   $   sp     	*G*E G5)  %%ggR&@A  "N  		s   A
A%$A%c                      [        [        U XS9$ )Nr$   r%   r&   )r   r   r+   s      r)   r   r   B   s     >7$7 7    c                 p    [        U 5      R                  X5      nU[        L a  U$ U(       + =(       a    X:g  $ r   type__lt__NotImplementedselfother	op_results      r)   _gt_from_ltr6   Z   3    T
!!$.IN"=*T]*r,   c                 f    [        U 5      R                  X5      nU[        L a  U$ U=(       d    X:H  $ r   r.   r2   s      r)   _le_from_ltr9   a   1    T
!!$.IN"%%r,   c                 Z    [        U 5      R                  X5      nU[        L a  U$ U(       + $ r   r.   r2   s      r)   _ge_from_ltr<   h   ,    T
!!$.IN"=r,   c                 p    [        U 5      R                  X5      nU[        L a  U$ U(       + =(       d    X:H  $ r   r/   __le__r1   r2   s      r)   _ge_from_lerA   o   3    T
!!$.IN"=)DM)r,   c                 f    [        U 5      R                  X5      nU[        L a  U$ U=(       a    X:g  $ r   r?   r2   s      r)   _lt_from_lerD   v   1    T
!!$.IN"&&r,   c                 Z    [        U 5      R                  X5      nU[        L a  U$ U(       + $ r   r?   r2   s      r)   _gt_from_lerG   }   r=   r,   c                 p    [        U 5      R                  X5      nU[        L a  U$ U(       + =(       a    X:g  $ r   r/   __gt__r1   r2   s      r)   _lt_from_gtrK      r7   r,   c                 f    [        U 5      R                  X5      nU[        L a  U$ U=(       d    X:H  $ r   rI   r2   s      r)   _ge_from_gtrM      r:   r,   c                 Z    [        U 5      R                  X5      nU[        L a  U$ U(       + $ r   rI   r2   s      r)   _le_from_gtrO      r=   r,   c                 p    [        U 5      R                  X5      nU[        L a  U$ U(       + =(       d    X:H  $ r   r/   __ge__r1   r2   s      r)   _le_from_gerS      rB   r,   c                 f    [        U 5      R                  X5      nU[        L a  U$ U=(       a    X:g  $ r   rQ   r2   s      r)   _gt_from_gerU      rE   r,   c                 Z    [        U 5      R                  X5      nU[        L a  U$ U(       + $ r   rQ   r2   s      r)   _lt_from_gerW      r=   r,   rJ   r@   rR   r0   )r0   r@   rJ   rR   c           	         [          Vs1 s H%  n[        XS 5      [        [        US 5      Ld  M#  UiM'     nnU(       d  [        S5      e[	        U5      n[         U    H  u  pEXB;  d  M  XEl        [        XU5        M      U $ s  snf )Nz6must define at least one ordering operation: < > <= >=)_convertr   object
ValueErrormaxr   r   )clsoprootsrootopnameopfuncs         r)   r   r      s{     #^(Bgct&<GFTVX\D]&]R(E^QRRu:D"4.$OC( ) J _s
   "BBc                 ,   ^   " U 4S jS[         5      nU$ )Nc                   b   > \ rS rSrS/rS rU 4S jrU 4S jrU 4S jrU 4S jr	U 4S jr
S	rS
rg	)zcmp_to_key.<locals>.K   objc                     Xl         g r   rf   )r3   rf   s     r)   __init__cmp_to_key.<locals>.K.__init__   s    Hr,   c                 D   > T" U R                   UR                   5      S:  $ Nr   rh   r3   r4   mycmps     r)   r0   cmp_to_key.<locals>.K.__lt__       599-11r,   c                 D   > T" U R                   UR                   5      S:  $ rl   rh   rm   s     r)   rJ   cmp_to_key.<locals>.K.__gt__   rp   r,   c                 D   > T" U R                   UR                   5      S:H  $ rl   rh   rm   s     r)   __eq__cmp_to_key.<locals>.K.__eq__       599-22r,   c                 D   > T" U R                   UR                   5      S:*  $ rl   rh   rm   s     r)   r@   cmp_to_key.<locals>.K.__le__   rv   r,   c                 D   > T" U R                   UR                   5      S:  $ rl   rh   rm   s     r)   rR   cmp_to_key.<locals>.K.__ge__   rv   r,   Nrh   )r   r   r   __firstlineno__	__slots__ri   r0   rJ   rt   r@   rR   __hash____static_attributes__)rn   s   r)   Kcmp_to_key.<locals>.K   s-    G			2	2	3	3	3r,   r   )rZ   )rn   r   s   ` r)   r   r      s    F  Hr,   )r   c                     [        U5      nU[        L a   [        U5      nOUnU H  nU " XE5      nM     U$ ! [         a    [	        S5      S ef = f)Nz0reduce() of empty iterable with no initial value)iter_initial_missingnextStopIteration	TypeError)functionsequenceinitialitr(   elements         r)   r
   r
      so     
hB""	NHE
 (  L  	NBDIMN	Ns	   7 A)r
   c                   r   ^  \ rS rSrSrU 4S jrS r\" 5       S 5       rS
S jr	S r
S r\" \5      rS	rU =r$ )r   i  )funcargskeywordsr   __weakref__c                  > [        U5      (       d  [        S5      e[        U[        5      (       a+  UR                  U-   n0 UR
                  EUEnUR                  n[        [        U ]#  U 5      nXl        X$l        X4l        U$ )Nz#the first argument must be callable)	callabler   
isinstancer   r   r   r   super__new__)r]   r   r   r   r3   	__class__s        r)   r   partial.__new__  st    ~~ABBdG$$99t#D4$--484H99DWc*3/		 r,   c                d    0 U R                   EUEnU R                  " / U R                  QUQ70 UD6$ r   r   r   r   )r3   r   r   s      r)   __call__partial.__call__.  s5    0dmm0x0yy7$))7d7h77r,   c                 L   [        U 5      nUR                  nUR                  n[        U R                  5      /nUR                  S U R                   5       5        UR                  S U R                  R                  5        5       5        U SU SSR                  U5       S3$ )Nc              3   8   #    U  H  n[        U5      v   M     g 7fr   )repr).0xs     r)   	<genexpr>#partial.__repr__.<locals>.<genexpr>8  s     /YDGGYs   c              3   6   #    U  H  u  pU S U< 3v   M     g7f=N r   kvs      r)   r   r   9  s     E/DVaqc1%L/D   .(, ))
r/   r   r   r   r   extendr   r   itemsjoin)r3   r]   qualnamemoduler   s        r)   __repr__partial.__repr__2  s    4j##TYY /TYY//Et}}/B/B/DEE8*Adiio%6a88r,   c                 F    Uc  U $ SS K nUR                  S[        S5        U $ )Nr   zfunctools.partial will be a method descriptor in future Python versions; wrap it in staticmethod() if you want to preserve the old behavior   )warningswarnFutureWarning)r3   rf   objtyper   s       r)   __get__partial.__get__<  s/    ;K A $Q	( r,   c                     [        U 5      U R                  4U R                  U R                  U R                  =(       d    S U R                  =(       d    S 44$ r   )r/   r   r   r   r   r3   s    r)   
__reduce__partial.__reduce__F  sC    DzDII<$))TYY}}$dmm&;t*= = 	=r,   c                    [        U[        5      (       d  [        S5      e[        U5      S:w  a  [        S[        U5       35      eUu  p#pE[	        U5      (       aE  [        U[        5      (       a0  Ub  [        U[
        5      (       a  Ub   [        U[
        5      (       d  [        S5      e[        U5      nUc  0 nO[        U5      [
        La  [        U5      nUc  0 nXPl        X l        X0l	        X@l
        g )Nz(argument to __setstate__ must be a tuple   zexpected 4 items in state, got zinvalid partial state)r   tupler   lenr   dictr/   r   r   r   r   )r3   stater   r   kwds	namespaces         r)   __setstate__partial.__setstate__J  s    %''FGGu:?=c%j\JKK&+#Dju&=&=Zd%;%;!*Y*E*E344T{<D$Zt#:DI!		r,   )r   r   r   r   r   )r   r   r   r{   r|   r   r   r   r   r   r   r   classmethodGenericAlias__class_getitem__r~   __classcell__)r   s   @r)   r   r     sH    
 FI 8 9 9=0 $L1r,   r   )r   c                   P    \ rS rSrS rS rS rS	S jr\S 5       r	\
" \5      rSrg)
r   ik  c                >   [        U5      (       d+  [        US5      (       d  [        SR                  U5      5      e[	        U[
        5      (       a;  UR                  U l        UR                  U-   U l        0 UR                  EUEU l        g Xl        X l        X0l        g )Nr   z${!r} is not callable or a descriptor)	r   hasattrr   formatr   r   r   r   r   )r3   r   r   r   s       r)   ri   partialmethod.__init__s  s    ~~gdI&>&>B"(&,0 0
 dM** 		DI		D(DI9t}}99DMII$Mr,   c                 Z   [        U 5      nUR                  nUR                  n[        U R                  5      /nUR                  [        [        U R                  5      5        UR                  S U R                  R                  5        5       5        U SU SSR                  U5       S3$ )Nc              3   6   #    U  H  u  pU S U< 3v   M     g7fr   r   r   s      r)   r   )partialmethod.__repr__.<locals>.<genexpr>  s     C-BTQqc1%L-Br   r   r   r   r   )r/   r   r   r   r   r   mapr   r   r   r   )r3   r]   r   r   r   s        r)   r   partialmethod.__repr__  s    4j##TYY Cdii()CT]]-@-@-BCC8*Adiio%6a88r,   c                 D   ^  U 4S jnT R                   Ul         T Ul        U$ )Nc                h   > 0 TR                   EUEnTR                  " U /TR                  QUQ70 UD6$ r   r   )cls_or_selfr   r   r3   s      r)   _method3partialmethod._make_unbound_method.<locals>._method  s8    4$--484H99[H499HtHxHHr,   )__isabstractmethod____partialmethod__)r3   r   s   ` r)   _make_unbound_method"partialmethod._make_unbound_method  s&    	I (,'@'@$$(!r,   Nc                 v   [        U R                  SS 5      nS nUbj  [        U R                  [        5      (       dK  U" X5      nXPR                  La5  [        U/U R                  Q70 U R
                  D6n UR                  Ul        Uc  U R                  5       R                  X5      nU$ ! [         a     N0f = f)Nr   )
r   r   r   r   r   r   __self__r    r   r   )r3   rf   r]   getresultnew_funcs         r)   r   partialmethod.__get__  s    diiD1?:dii#A#A3}Hyy( !GDIIGG&.&7&7FO > ..088BF & s   6B+ +
B87B8c                 0    [        U R                  SS5      $ Nr   Fr   r   r   s    r)   r   "partialmethod.__isabstractmethod__      tyy"8%@@r,   )r   r   r   r   )r   r   r   r{   ri   r   r   r   propertyr   r   r   r   r~   r   r,   r)   r   r   k  s9    %&9& A A $L1r,   r   c                 v    [        U [        5      (       a#  U R                  n [        U [        5      (       a  M#  U $ r   )r   r   r   r   s    r)   _unwrap_partialr     s,    
T7
#
#yy T7
#
#Kr,   c                 D   S nXLa  U n[        [        U SS 5      [        5      (       a.  U R                  n [        [        U SS 5      [        5      (       a  M.  [        U [        5      (       a#  [        U S5      n [        U [        5      (       a  M#  [	        U 5      n XLa  M  U $ )Nr   r   )r   r   r   r   r   )r   prevs     r)   _unwrap_partialmethodr     s    D

':DA=QQ))D ':DA=QQ}--4(D }--t$ 
 Kr,   	CacheInfo)hitsmissesmaxsizecurrsizec                   *    \ rS rSrSr\4S jrS rSrg)
_HashedSeqi  	hashvaluec                 &    XS S & U" U5      U l         g r   r   )r3   tuphashs      r)   ri   _HashedSeq.__init__  s    Qcr,   c                     U R                   $ r   r   r   s    r)   r}   _HashedSeq.__hash__  s    ~~r,   r   N)	r   r   r   r{   r|   r   ri   r}   r~   r   r,   r)   r   r     s     I!% #r,   r   c                 4  ^ U nU(       a  X-  nUR                  5        H  n	X-  nM	     U(       a>  X" U4S jU  5       5      -  nU(       a"  X" U4S jUR                  5        5       5      -  nO U" U5      S:X  a  T" US   5      U;   a  US   $ [        U5      $ )Nc              3   4   >#    U  H  nT" U5      v   M     g 7fr   r   r   r   r/   s     r)   r   _make_key.<locals>.<genexpr>  s     +dT!WWd   c              3   4   >#    U  H  nT" U5      v   M     g 7fr   r   r  s     r)   r   r    s     8-Qa-r     r   )r   valuesr   )
r   r   typedkwd_mark	fasttypesr   r/   r   keyitems
         `   r)   	_make_keyr    s    $ CJJLDKC !u+d+++58$++-888C	SQ4A<941vc?r,   c                   ^ ^ [        T [        5      (       a	  T S:  a  Sm Oa[        T 5      (       aC  [        T[        5      (       a.  T Ssnm [	        UT T[
        5      nU U4S jUl        [        X25      $ T b  [        S5      eU U4S jnU$ )Nr      c                     > T TS.$ Nr   r  r   r  s   r)   <lambda>lru_cache.<locals>.<lambda>  
    %,Pr,   z=Expected first argument to be an integer, a callable, or Nonec                 V   > [        U TT[        5      nUU4S jUl        [        X5      $ )Nc                     > T TS.$ r  r   r  s   r)   r  8lru_cache.<locals>.decorating_function.<locals>.<lambda>"  r  r,   )_lru_cache_wrapper
_CacheInfocache_parametersr   )user_functionr#   r   r  s     r)   decorating_function&lru_cache.<locals>.decorating_function   s&    $]GUJO#P g55r,   )	r   intr   boolr  r  r  r   r   )r   r  r   r#   r!  s   ``   r)   r	   r	     s    4 '3Q;G	'		z%66!(#w$]GUJO#P g55		KM 	M6
 r,   c                 n  ^ ^^^^^^	^
^^^^^^^^^^ [        5       m[        mSu  m	mmm
0 mS=mmSmTR                  mTR                  m[	        5       m/ mTTS S /TS S & TS:X  a  UU 4S jnO&Tc  UUUUUUUU 4S jnOUUU	U
UUUUUUUUUUUU 4S jnUUUUUU4S jnUUUUUU4S jnXTl        Xdl        U$ )	N)r   r
  r      r   Fc                  "   > TS-  mT" U 0 UD6nU$ Nr
  r   )r   r   r   r   r   s      r)   r#   #_lru_cache_wrapper.<locals>.wrapper8  s"     aKF"D1D1FMr,   c                  h   > T" XT
5      nT" UT	5      nUT	La  TS-  mU$ TS-  mT" U 0 UD6nUTU'   U$ r(  r   )r   r   r  r   r   	cache_getr   make_keyr   sentinelr  r   s       r)   r#   r)  A  sY     4u-CsH-FX%	aKF"D1D1FE#JMr,   c                    > T" XT5      nT   T" U5      nUb5  Uu  pEpgXTT'   XET'   TT   nU=UT'   TT'   XT'   TUT'   TS-  mUsS S S 5        $ TS-  mS S S 5        T" U 0 UD6nT   UT;   a  OVT(       a,  Tn	X)T'   XyT'   U	T   mTT   n
TT   nS =TT'   TT'   TU
	 U	TU'   O#TT   nUTX'/nU=UT'   =TT'   TU'   T" 5       T:  mS S S 5        U$ ! , (       d  f       N= f! , (       d  f       U$ = fr(  r   )r   r   r  link	link_prev	link_next_keyr   lastoldrootoldkey	oldresultKEYNEXTPREVRESULTr   r+  	cache_lenfullr   lockr,  r   r   r`   r  r   s               r)   r#   r)  P  sg    4u-C ~#9=6I$&/dO&/dO:D.22DJd!%J!%DJAID!  !  #D1D1F%<
 "G#&CL&,FO #4=D!#YF $VI/33DIVf ")E#J  :D $4D;??DJ?deCj &K72DG H Mg  H Ms   7CC%AC
C
C-c                  ^   > T   T " TTTT" 5       5      sS S S 5        $ ! , (       d  f       g = fr   r   )r  r;  r   r=  r   r   s   r)   
cache_info&_lru_cache_wrapper.<locals>.cache_info  s     dFGY[A TTs   
,c                  |   > T   T R                  5         TTS S /TS S & S=mmSmS S S 5        g ! , (       d  f       g = f)Nr   F)clear)r   r<  r   r=  r   r`   s   r)   cache_clear'_lru_cache_wrapper.<locals>.cache_clear  s<     KKMT4.DGD6D	 TTs    -
;)rZ   r  r   __len__r   r?  rC  )r   r   r  r  r#   r?  rC  r7  r8  r9  r:  r   r+  r;  r<  r   r=  r,  r   r`   r-  s   ````   @@@@@@@@@@@@@@r)   r  r  '  s    xHH(D$VED6D		II7DDT4&DG!|	 
	 	7	 7	 7	rB B
  $%Nr,   )r  c                     [        S S9" U 5      $ )N)r   )r	   )r   s    r)   r   r     s    T"=11r,   c                    / n U  Vs/ s H  o"(       d  M  UPM     n nU (       d  U$ U  H  nUS   nU  H  nXESS  ;   d  M  S n  M       O   Wc  [        S5      eUR                  U5        U  H  nUS   U:X  d  M  US	 M     M  s  snf )Nr   r
  zInconsistent hierarchy)RuntimeErrorappend)	sequencesr   ss1	candidates2seqs          r)   	_c3_mergerP    s     F
 )/	1QQ		/MB1I12& $I  
   788i C1v"F ! /s
   
BBNc                   ^ [        [        U R                  5      5       H1  u  nm[        TS5      (       d  M  [	        U R                  5      U-
  n  O   SnU(       a  [        U5      O/ n[        U R                  S U 5      n/ n[        U R                  US  5      nU HM  m[        U T5      (       d  M  [        U4S jU R                   5       5      (       a  M<  UR                  T5        MO     U H  mUR                  T5        M     U Vs/ s H  n[        XqS9PM     nnU Vs/ s H  n[        XqS9PM     n	nU Vs/ s H  n[        XqS9PM     n
n[        U //U-   U	-   U
-   U/-   U/-   U/-   5      $ s  snf s  snf s  snf )N__abstractmethods__r   c              3   <   >#    U  H  n[        UT5      v   M     g 7fr   )
issubclass)r   bbases     r)   r   _c3_mro.<locals>.<genexpr>  s      --:
1d##]s   abcs)	enumeratereversed	__bases__r   r   listrT  anyrI  remove_c3_mrorP  )r]   rY  iboundaryexplicit_basesabstract_basesother_basesrV  explicit_c3_mrosabstract_c3_mrosother_c3_mross          `   r)   r`  r`    s   " Xcmm4544.//3==)A-H 6
 4:2D#--	23NNs}}XY/0Kc4   --0]]- * *
 !!$'  D =KL^T0^L=KL^T0^L:EF+$WT-+MF
	+	,.;	<		*+	,/:m	<  MLFs   E7'E< Fc           	        ^ ^^ [        T R                  5      mUU 4S jnT Vs/ s H  o2" U5      (       d  M  UPM     snmU4S jnT Vs/ s H  o4" U5      (       a  M  UPM     snm[        T5      n/ nT H  n/ nUR                  5        HQ  n	U	T;  d  M  [        T U	5      (       d  M  UR	                  U	R                   V
s/ s H  oU;   d  M
  U
PM     sn
5        MS     U(       d  UR	                  U5        M  UR                  [        SS9  U H$  n	U	 H  nX;  d  M
  UR	                  U5        M     M&     M     [        T US9$ s  snf s  snf s  sn
f )Nc                    > U T;  =(       a;    [        U S5      =(       a(    [        U [        5      (       + =(       a    [        TU 5      $ )N__mro__)r   r   r   rT  )typbasesr]   s    r)   
is_related _compose_mro.<locals>.is_related  s?    5  :WS)%< :)3C)F%F:%/S%9	;r,   c                 H   > T H  nX:w  d  M
  XR                   ;   d  M    g   g)NTF)rk  )rl  r4   typess     r)   is_strict_base$_compose_mro.<locals>.is_strict_base  s#    E|}} 4  r,   T)r  reverserX  )setrk  __subclasses__rT  rI  sortr   r`  )r]   rq  rn  nrr  type_setmrorl  foundsubrK  subclsrm  s   ``          @r)   _compose_mror~    s'    E; /1AQ/E
 71^A%6Q7E 5zH
C%%'C%JsC$8$8FAXaFG ( JJsO

sD
)C$JJv&    3S!!7 0 8 Gs"   EEEE	EEc                 "   [        XR                  5       5      nS nU H^  nUbO  XA;   aH  X@R                  ;  a9  X0R                  ;  a*  [        X45      (       d  [	        SR                  X45      5      e  OXA;   d  M\  UnM`     UR                  U5      $ )NzAmbiguous dispatch: {} or {})r~  keysrk  rT  rH  r   r   )r]   registryrz  matchts        r)   
_find_implr     s     sMMO
,CE !;;"6"'{{":&0&:&:"#A#H#H$  =E  <<r,   c                 L  ^^^^^^^	^
^ SS K mSS Kn0 m
UR                  5       mS mUUU
4S jmU4S jmU4S jmS	UUUUU	U
4S jjm	UU4S jn[        U SS5      mU T
[        '   T	Ul        TUl        TR                  T
5      Ul        TR                  Ul
        [        X 5        U$ )
Nr   c                    > Tb"  [        5       nTU:w  a  TR                  5         Um TU    nU$ ! [         a,     TU    nO! [         a    [        U T5      n Of = fUTU '    U$ f = fr   )r   rB  KeyErrorr  )r]   current_tokenimplcache_tokendispatch_cacher  s      r)   dispatch singledispatch.<locals>.dispatchL  s     "+-Mm+$$&+	'!#&D   	'1} 1!#x01"&N3	's1   / 
A%A A% AA%AA%$A%c                 B   > SSK JnJn  U" U 5      UTR                  1;   $ )Nr   )
get_originUnion)typingr  r  	UnionType)r]   r  r  rq  s      r)   _is_union_type&singledispatch.<locals>._is_union_typec  s    ,#5%//":::r,   c                    > [        U [        5      (       a  gSSKJn  T" U 5      =(       a    [	        S U" U 5       5       5      $ )NTr   get_argsc              3   B   #    U  H  n[        U[        5      v   M     g 7fr   )r   r/   )r   args     r)   r   Bsingledispatch.<locals>._is_valid_dispatch_type.<locals>.<genexpr>l  s     C]cJsD))]s   )r   r/   r  r  all)r]   r  r  s     r)   _is_valid_dispatch_type/singledispatch.<locals>._is_valid_dispatch_typeg  s<    c4  #s# DCXc]CC	Er,   c                 H  >^  T" T 5      (       a  Uc  U U4S j$ OUb  [        ST < S35      e[        T S0 5      nU(       d  [        ST < S35      eT nSSKJn  [	        [        U" U5      R                  5       5      5      u  nm T" T 5      (       d5  T" T 5      (       a  [        S	U< S
T < S35      e[        S	U< S
T < S35      eT" T 5      (       a  SSKJn  U" T 5       H  nUTU'   M
     OUTT '   T	c  [        T S5      (       a
  [        5       m	T
R                  5         U$ )Nc                    > T" TU 5      $ r   r   )fr]   registers    r)   r  2singledispatch.<locals>.register.<locals>.<lambda>w  s    #q!1r,   z(Invalid first argument to `register()`. z is not a class or union type.r   z(Invalid first argument to `register()`: zS. Use either `@register(some_class)` or plain `@register` on an annotated function.r   )get_type_hintszInvalid annotation for z. z not all arguments are classes.z is not a class.r  rR  )r   r   r  r  r   r   r   r  r   r   rB  )r]   r   annr  argnamer  r  r  r  r  r  r  r  s   `      r)   r   singledispatch.<locals>.registern  sb    #3''|11  >g;=  #0"5C>sg F0 1 
 D .^D%9%?%?%A BCLGS*3//!#&&#1'B'!@B 
 $1'B'!13 
 #'} $ % !HSM730E#F#F)+Kr,   c                  d   > U (       d  [        T S35      eT" U S   R                  5      " U 0 UD6$ Nz( requires at least 1 positional argumentr   )r   r   )r   kwr  funcnames     r)   r#   singledispatch.<locals>.wrapper  s@    xj )4 4 5 5Q))*D7B77r,   r   zsingledispatch functionr   )rq  weakrefWeakKeyDictionaryr   rZ   r  r  MappingProxyTyper  rB  _clear_cacher   )r   r  r#   r  r  r  r  r  r  r  r  rq  s      @@@@@@@@@r)   r   r   :  s     H..0NK.;E2 2h8 tZ)BCHHVGG--h7G)//G7!Nr,   c                   >    \ rS rSrS rSS jrSS jr\S 5       rSr	g)	r   i  c                     [        U5      (       d   [        US5      (       d  [        U< S35      e[        U5      U l        Xl        g )Nr   z  is not callable or a descriptor)r   r   r   r   
dispatcherr   r3   r   s     r)   ri   singledispatchmethod.__init__  s;    ~~gdI&>&>th&FGHH(.	r,   Nc                 4    U R                   R                  XS9$ )Nr   )r  r  )r3   r]   methods      r)   r  singledispatchmethod.register  s    
 '''99r,   c                    ^^^^ U R                   R                  m[        U R                  SS5      mUUUU4S jnU R                  Ul        U R
                  Ul        [        X0R                  5        U$ )Nr   zsingledispatchmethod methodc                     > U (       d  [        T S35      eT" U S   R                  5      R                  TT5      " U 0 UD6$ r  )r   r   r   )r   kwargsr]   r  r  rf   s     r)   r   -singledispatchmethod.__get__.<locals>._method  sM    8* -8 !8 9 9DG--.66sC@$Q&QQr,   )r  r  r   r   r   r  r   )r3   rf   r]   r   r  r  s    `` @@r)   r   singledispatchmethod.__get__  s^    ??++499j2OP	R 	R (,'@'@$==w		*r,   c                 0    [        U R                  SS5      $ r   r   r   s    r)   r   )singledispatchmethod.__isabstractmethod__  r   r,   )r  r   r   )
r   r   r   r{   ri   r  r   r   r   r~   r   r,   r)   r   r     s'    : A Ar,   r   c                   :    \ rS rSrS rS rSS jr\" \5      r	Sr
g)r   i  c                 b    Xl         S U l        UR                  U l        UR                  U l        g r   )r   attrnamer   r   r  s     r)   ri   cached_property.__init__  s$    	||//r,   c                     U R                   c  X l         g X R                   :w  a  [        SU R                   < SU< S35      eg )Nz?Cannot assign the same cached_property to two different names (z and z).)r  r   )r3   ownernames      r)   __set_name__cached_property.__set_name__  sI    ==  M]]"MM$E$5  #r,   Nc                    Uc  U $ U R                   c  [        S5      e UR                  nUR                  U R                   [        5      nU[        L a"  U R                  U5      n XSU R                   '   U$ U$ ! [         a5    S[	        U5      R
                  < SU R                   < S3n[        U5      S ef = f! [         a5    S[	        U5      R
                  < SU R                   < S3n[        U5      S ef = f)NzGCannot use cached_property instance without calling __set_name__ on it.zNo '__dict__' attribute on z instance to cache z
 property.zThe '__dict__' attribute on z7 instance does not support item assignment for caching )	r  r   r   r    r/   r   r   
_NOT_FOUNDr   )r3   instancer  r   msgvals         r)   r   cached_property.__get__  s   K== Y[ [	+%%E iiz2*))H%C/'*dmm$ 
s
#  	+-d8n.E.E-H I%%)]]$5ZA  C.d*	+  /24>3J3J2M NDDHMMCTT^`   n$./s   A8 &B: 8?B7:?C9)r   r   r  r   r   )r   r   r   r{   ri   r  r   r   r   r   r~   r   r,   r)   r   r     s    *6 $L1r,   r   )r  Fr   ):__all__abcr   collectionsr   reprlibr   _threadr   r/   r]  r#  r   r   r   r   r   r6   r9   r<   rA   rD   rG   rK   rM   rO   rS   rU   rW   rY   r   r   
_functoolsImportErrorrZ   r   r
   r   r   r   r   r  r   strr   r   r  r	   r  r   rP  r`  r~  r  r   r   r  r   r   r,   r)   <module>r     sH  
   " "  DI=  2,> )#70+&*'+&*' +&+&+&( +&+&+&( +&+&+&( +&+&+&($&	% 8 '7 <	!K2 K2\	"
C2F C2P
	 %NO
 "  st>-^rh	-26+Z("T4ur&A &AZ X
+2 +2}  		T  		r  		l	  		sH   D3 $D? 5E =E 3D<;D<?EEEEE E 