Ë
    /�Djˆ)  ã                   ór   — d dl mZ  G d„ de«      Z G d„ de«      Zd„ Zd„ Zd„ Zd	„ Zd
„ Z	d„ Z
d„ Zd„ Zd„ Zy)é    )Úno_picklingc                   ó2   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Ze	Z
y)Ú_ExpandedFactorzœA factor, with an additional annotation for whether it is coded
    full-rank (includes_intercept=True) or not.

    These objects are treated as immutable.c                 ó    — || _         || _        y ©N©Úincludes_interceptÚfactor)Úselfr	   r
   s      úTC:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\patsy/redundancy.pyÚ__init__z_ExpandedFactor.__init__6   s   € Ø"4ˆÔØˆ�ó    c                 óN   — t        t        | j                  | j                  f«      S r   )Úhashr   r	   r
   ©r   s    r   Ú__hash__z_ExpandedFactor.__hash__:   s   € Ü”_ d×&=Ñ&=¸t¿{¹{ÐKÓLÐLr   c                 óŽ   — t        |t        «      xr4 |j                  | j                  k(  xr |j                  | j                  k(  S r   )Ú
isinstancer   r	   r
   ©r   Úothers     r   Ú__eq__z_ExpandedFactor.__eq__=   s?   € ä�uœoÓ.ò ,Ø×(Ñ(¨D×,CÑ,CÑCò,à—‘ §¡Ñ+ð	
r   c                 ó   — | |k(   S r   © r   s     r   Ú__ne__z_ExpandedFactor.__ne__D   ó   € Ø˜5‘=Ð Ð r   c                 óD   — | j                   rd}nd}| j                  ›|›�S )Nú+ú-r   )r   Úsuffixs     r   Ú__repr__z_ExpandedFactor.__repr__G   s$   € Ø×"Ò"Ø‰FàˆFØŸš¡fÐ-Ð-r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r    r   Ú__getstate__r   r   r   r   r   0   s(   „ ñ/ò
òMò
ò!ò.ð �Lr   r   c                   ó>   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
eZy	)
Ú_SubtermzAlso immutable.c                 ó$   — t        |«      | _        y r   )Ú	frozensetÚefactors)r   r*   s     r   r   z_Subterm.__init__T   s   € Ü! (Ó+ˆ�r   c                 ó¬   — t        | j                  «      t        |j                  «      z
  dk(  xr% | j                  j                  |j                  «      S )Né   )Úlenr*   Ú
issupersetr   s     r   Ú
can_absorbz_Subterm.can_absorbW   sI   € ä�4—=‘=Ó!¤CØ�N‰Nó%
ñ 
àñò <à—=‘=×+Ñ+¨E¯N©NÓ;ð	<r   c                 ó.  — | j                   j                  |j                   «      }t        |«      dk(  sJ ‚t        |«      d   }|j                  rJ ‚t        |j                   «      }|j                  t        d|j                  «      «       t        |«      S )Nr,   r   T)
r*   Ú
differencer-   Úlistr	   ÚsetÚaddr   r
   r'   )r   r   ÚdiffÚefactorÚnew_factorss        r   Úabsorbz_Subterm.absorb]   sq   € Ø�}‰}×'Ñ'¨¯©Ó7ˆÜ�4‹y˜AŠ~ÑÜ�t“*˜Q‘-ˆØ×-Ò-Ñ-Ü˜%Ÿ.™.Ó)ˆØ�‰œ¨¨g¯n©nÓ=Ô>Ü˜Ó$Ð$r   c                 ó8   — t        t        | j                  f«      S r   )r   r'   r*   r   s    r   r   z_Subterm.__hash__f   s   € Ü”X˜tŸ}™}Ð-Ó.Ð.r   c                 óX   — t        |t        «      xr | j                  | j                  k(  S r   )r   r'   r*   r   s     r   r   z_Subterm.__eq__i   s!   € Ü˜%¤Ó*ÒM¨t¯}©}ÀÇÁÑ/MÐMr   c                 ó   — | |k(   S r   r   r   s     r   r   z_Subterm.__ne__l   r   r   c                 ó`   — | j                   j                  ›dt        | j                  «      ›d�S )Nú(ú))Ú	__class__r!   r2   r*   r   s    r   r    z_Subterm.__repr__o   s    € ØŸ>™>×2Ó2´D¸¿¹Õ4GÐHÐHr   N)r!   r"   r#   r$   r   r/   r8   r   r   r   r    r   r%   r   r   r   r'   r'   Q   s1   „ Ùò,ò<ò%ò/òNò!òIð �Lr   r'   c           
      ó¸   — g }| D ]R  }g }|D ]/  }|d   dv sJ ‚|j                  t        |d   dk(  |d d «      «       Œ1 |j                  t        |«      «       ŒT |S )Néÿÿÿÿ)r   r   r   )Úappendr   r'   )Úshort_subtermsÚsubtermsÚsubtermÚfactorsÚfactor_names        r   Ú_expand_test_abbrevsrH   x   sy   € Ø€HØ!ò +ˆØˆØ"ò 	VˆKØ˜r‘? jÑ0Ñ0Ø�N‰Nœ?¨;°r©?¸cÑ+AÀ;ÈsÐPRÐCSÓTÕUð	Vð 	�‰œ Ó)Õ*ð+ð €Or   c                  óz  — t        ddgg«      d   } t        g d¢g«      d   }t        g g«      d   }t        ddgg«      d   }t        dgg«      d   }t        dgg«      d   }t        ddgg«      d   }|||||fD ]  }| j                  |«      sŒJ ‚ | j                  |«      sJ ‚| j                  |«      |k(  sJ ‚y )	Núa-úb-r   )rJ   rK   úc-rL   zd-úa+úb+)rH   r/   r8   )Ús_abÚs_abcÚs_nullÚs_cdÚs_aÚs_apÚs_abpÚbads           r   Útest__SubtermrW   ƒ   sÚ   € Ü $¨  Ó/°Ñ2€DÜ Ò"4Ð!5Ó6°qÑ9€EÜ! 2 $Ó'¨Ñ*€FÜ $¨  Ó/°Ñ2€DÜ
  ˜xÓ
(¨Ñ
+€CÜ $  Ó)¨!Ñ,€DÜ  4¨ , Ó0°Ñ3€EØ�f˜d D¨%Ð/ò (ˆØ—?‘? 3Õ'Ñ'ð(à�?‰?˜3ÔÑØ�;‰;�sÓ˜uÒ$Ñ$Ð$r   c           	   #   ó  K  — d„ }t        t        | «      «      }t         ||«      «      }|j                  «        |j                  t        ¬«       |D ]"  }t	        |D ��cg c]  \  }}|‘Œ	 c}}«      –— Œ$ y c c}}w ­w)Nc              3   ób   K  — | sd–— y | d   }t        | dd  «      D ]  }|–— |f|z   –— Œ y ­w)Nr   r   r,   )Ú_subsets_sorted)ÚseqÚobjÚsubsets      r   Úhelperz_subsets_sorted.<locals>.helper–   sB   è ø€ ÙØ‹Hà�a‘&ˆCÜ)¨#¨a¨b¨'Ó2ò &�Ø’Ø�f˜v‘oÓ%ñ&ùs   ‚-/)Úkey)r2   Ú	enumerateÚsortr-   Útuple)Útuplr^   ÚexpandedÚexpanded_subsetsr]   Úidxr\   s          r   rZ   rZ   •   sv   è ø€ ò&ô ”I˜d“OÓ$€HÜ™F 8Ó,Ó-Ðð ×ÑÔØ×ÑœcÐÔ"à"ò 4ˆÜ¨6×2™Z˜c 3’SÓ2Ó3Ó3ñ4ùÛ2ùs   ‚AA?Á A9Á,A?c            	      óÆ   — t        t        d«      «      g d¢k(  sJ ‚t        t        d«      «      g d¢k(  sJ ‚t        t        t        t        d«      «      «      «      dk(  sJ ‚y )N©r,   é   )r   ©r,   ©ri   rh   ©r,   ri   é   )r   rj   rk   )rm   rh   )r,   rm   )ri   rm   rl   é   é    )r2   rZ   r-   Úranger   r   r   Útest__subsets_sortedrq   ­   sW   € Ü” Ó'Ó(Ò,DÒDÑDÜ” 	Ó*Ó+ò 	0ò 	ñ 	ô Œt”O¤E¨!£HÓ-Ó.Ó/°4Ò7Ñ7Ð7r   c                 óÞ   — t        | «      D ]_  \  }}t        | |dz   d  «      D ]F  \  }}|j                  |«      sŒ|j                  |«      }|| |dz   |z   <   | j                  |«         y Œa y)Nr,   TF)r`   r/   r8   Úpop)rD   Úshort_iÚshort_subtermÚlong_iÚlong_subtermÚnew_subterms         r   Ú_simplify_one_subtermry   ¼   s†   € ô #,¨HÓ"5ò Ñˆ�Ü$-¨h°wÀ±{°}Ð.EÓ$Fò 	Ñ ˆF�LØ×&Ñ& }Õ5Ø*×1Ñ1°-Ó@�Ø1<�˜ 1™ vÑ-Ñ.Ø—‘˜WÔ%Úñ	ðð r   c                 ó6   — t        | «      r	 t        | «      rŒy y r   )ry   )rD   s    r   Ú_simplify_subtermsr{   É   s   € Ü
 Ô
)Øô   ×
)r   c                  ó„   — d„ }  | dgdg«        | ddgdg«        | g d¢dg«        | g d¢ddg«        | g d	¢d
dg«       y )Nc                 óp   — t        | «      } t        |«      }t        d| d|«       t        | «       | |k(  sJ ‚y )Nztesting if:z->)rH   Úprintr{   )ÚgivenÚexpecteds     r   Útz"test__simplify_subterms.<locals>.tÏ   s:   € Ü$ UÓ+ˆÜ'¨Ó1ˆÜˆm˜U D¨(Ô3Ü˜5Ô!Ø˜Ò Ñ Ð r   ©rJ   r   )rM   )r   r‚   ©rK   ©rJ   rK   )rM   rN   )r   r‚   r„   r„   )r‚   rƒ   r„   rƒ   )rJ   rN   r   )r�   s    r   Útest__simplify_subtermsr…   Î   sT   € ò!ñ €w€i�'�ÔÙ€rˆ7€m�g�YÔÙÒ*¨\¨NÔ;ÙÒ! G¨\Ð#:Ô;ÙÒ&¨°,Ð(?Õ@r   c           
      ó°  — | j                   D �cg c]	  }||vsŒ|‘Œ }}g }t        |«      D ];  }t        |D �cg c]  }t        d|«      ‘Œ c}«      }||vsŒ+|j	                  |«       Œ= |j                  |«       t        |«       g }|D ]?  }i }	|j                  D ]  }
|
j                  |	|
j                  <   Œ |j	                  |	«       ŒA |S c c}w c c}w )NF)
rF   rZ   r'   r   rB   Úupdater{   r*   r	   r
   )ÚtermÚnumeric_factorsÚused_subtermsÚfÚcategorical_factorsrD   r]   rE   Úfactor_codingsÚfactor_codingrd   s              r   Úpick_contrasts_for_termr�   ñ   së   € Ø&*§l¡lÖO °a¸Ò6Nš1ÐOÐÐOð €HÜ!Ð"5Ó6ò %ˆÜ¸vÖF¸!œO¨E°1Õ5ÒFÓGˆØ˜-Ò'Ø�O‰O˜GÕ$ð%ð ×Ñ˜Ô"Ü�xÔ Ø€NØò -ˆØˆØ×(Ñ(ò 	IˆHØ-5×-HÑ-HˆM˜(Ÿ/™/Ò*ð	Ià×Ñ˜mÕ,ð	-ð
 Ðùò# Pùò Gs   �	C™C¸C
c                  óÎ  — ddl m}  t        «       }t         | g «      t        «       |«      }|i gk(  sJ ‚t         | ddg«      t        dg«      |«      }|ddigk(  sJ ‚t         | ddg«      t        «       |«      }|dddœgk(  sJ ‚t        |«      }t         | d	d
g«      t        «       |«      }|d
didddœgk(  sJ ‚t         | d
d	g«      t        «       |«      }|d	didddœgk(  sJ ‚y )Nr   )ÚTermÚaÚxFÚbT)r’   r”   ÚcÚd)r•   r–   )Ú
patsy.descr‘   r3   r�   )r‘   ÚusedÚcodingsÚused_snapshots       r   Útest_pick_contrasts_for_termr›     sø   € Ýä‹5€DÜ%¡d¨2£h´³°tÓ<€GØ�r�dŠ?ÑÜ%¡d¨C°¨:Ó&6¼¸S¸E»
ÀDÓI€GØ˜˜U�|�nÒ$Ñ$Ü%¡d¨C°¨:Ó&6¼»¸tÓD€GØ˜T¨Ñ.Ð/Ò/Ñ/Ü˜“I€MÜ%¡d¨C°¨:Ó&6¼»¸tÓD€GØ˜˜U�|¨5°tÑ%<Ð=Ò=Ñ=ô &¡d¨C°¨:Ó&6¼»¸}ÓM€GØ˜˜U�|¨4°eÑ%<Ð=Ò=Ñ=Ð=r   N)Ú
patsy.utilr   Úobjectr   r'   rH   rW   rZ   rq   ry   r{   r…   r�   r›   r   r   r   ú<module>rž      sT   ðõV #ô
�fô ôB!ˆvô !òNò%ò$4ò08ò
òò
AòFó*>r   