ó
    Ð]j¨d  ã                  óv  • S SK Jr  S SKrS SKJr  S SKJrJr  S SKJ	r	J
r
Jr  S SKJr  S SKJr  S SKJr  \(       a  S S	KJrJr  S S
KJrJrJrJrJr  \" \R8                  \R:                  45      r\" \R>                  \R:                  45      r \" \R8                  \R>                  45      r!\" \RD                  \RF                  45      r$ " S S5      r% " S S5      r& " S S\&5      r' " S S\&5      r( " S S\&5      r) " S S\&5      r* " S S\&5      r+ " S S\&5      r, " S S\&5      r- " S S\&5      r. " S S \&5      r/ " S! S"\&5      r0 " S# S$\&5      r1 " S% S&\&5      r2        S0S' jr3S1S( jr4S2S) jr5        S3S* jr6SS+.       S4S, jjr7        S5S- jr8S6S. jr9\:" 5       r;      S7S/ jr<g)8é    )ÚannotationsN)ÚPath)ÚTYPE_CHECKINGÚAny)ÚBreakageKindÚExplanationStyleÚParameterKind)ÚAliasResolutionError)Ú_WORKTREE_PREFIX)Úlogger)ÚIterableÚIterator)ÚAliasÚ	AttributeÚClassÚFunctionÚObjectc                  ó¬   • \ 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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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&r(S'r)S(r*g))*Ú_ANSIé    z[30mz[31mz[32mz[33mz[34mz[35mz[36mz[37mz[39mz[90mz[91mz[92mz[93mz[94mz[95mz[96mz[97mz[40mz[41mz[42mz[43mz[44mz[45mz[46mz[47mz[49mz[100mz[101mz[102mz[103mz[104mz[105mz[106mz[107mz[1mz[2mz[22mz[0m© N)+Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚFG_BLACKÚFG_REDÚFG_GREENÚ	FG_YELLOWÚFG_BLUEÚ
FG_MAGENTAÚFG_CYANÚFG_WHITEÚFG_RESETÚFG_LIGHTBLACK_EXÚFG_LIGHTRED_EXÚFG_LIGHTGREEN_EXÚFG_LIGHTYELLOW_EXÚFG_LIGHTBLUE_EXÚFG_LIGHTMAGENTA_EXÚFG_LIGHTCYAN_EXÚFG_LIGHTWHITE_EXÚBG_BLACKÚBG_REDÚBG_GREENÚ	BG_YELLOWÚBG_BLUEÚ
BG_MAGENTAÚBG_CYANÚBG_WHITEÚBG_RESETÚBG_LIGHTBLACK_EXÚBG_LIGHTRED_EXÚBG_LIGHTGREEN_EXÚBG_LIGHTYELLOW_EXÚBG_LIGHTBLUE_EXÚBG_LIGHTMAGENTA_EXÚBG_LIGHTCYAN_EXÚBG_LIGHTWHITE_EXÚBRIGHTÚDIMÚNORMALÚ	RESET_ALLÚ__static_attributes__r   ó    ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/griffe/_internal/diff.pyr   r       sÊ   † Ø€HØ€FØ€HØ€IØ€GØ€JØ€GØ€HØ€HØ!ÐØ€NØ!ÐØ"ÐØ €OØ#ÐØ €OØ!ÐØ€HØ€FØ€HØ€IØ€GØ€JØ€GØ€HØ€HØ"ÐØ €NØ"ÐØ#ÐØ!€OØ$ÐØ!€OØ"ÐØ€FØ
€CØ€FØƒIrC   r   c                  ó   • \ rS rSr% SrS\S'    S!S"S jjrS#S jrS#S jrSS	.S$S
 jjr	\
R                  4S%S jjr\S&S j5       r\S&S j5       r\S&S j5       r\S&S j5       r\S#S j5       r\S#S j5       r\S#S j5       r\S'S j5       rSS.S(S jjrSS.S(S jjrSS.S(S jjrSS.S(S jjrSS.S(S jjrS#S jrS#S jrS#S jrS#S jrSrg ))ÚBreakageéI   z;Breakages can explain what broke from a version to another.r   Úkindc                ó:   • Xl          X l         X0l         X@l        g)zËInitialize the breakage.

Parameters:
    obj: The object related to the breakage.
    old_value: The old value.
    new_value: The new, incompatible value.
    details: Some details about the breakage.
N)ÚobjÚ	old_valueÚ	new_valueÚdetails)ÚselfrJ   rK   rL   rM   s        rD   Ú__init__ÚBreakage.__init__O   s$   € ð ŒØ1Ø"ŒØØ"ŒØ*ØŒØ.rC   c                ó.   • U R                   R                  $ ©N)rH   Úvalue©rN   s    rD   Ú__str__ÚBreakage.__str__a   s   € Ø�y‰y�‰ÐrC   c                ó.   • U R                   R                  $ rR   )rH   ÚnamerT   s    rD   Ú__repr__ÚBreakage.__repr__d   s   € Ø�y‰y�~‰~ÐrC   F)Úfullc               ót   • U R                   U R                  R                  U R                  U R                  S.$ )z¾Return this object's data as a dictionary.

Parameters:
    full: Whether to return full info, or just base info.
    **kwargs: Additional serialization options.

Returns:
    A dictionary.
)rH   Úobject_pathrK   rL   )rH   rJ   ÚpathrK   rL   )rN   r[   Úkwargss      rD   Úas_dictÚBreakage.as_dictg   s.   € ð —I‘IØŸ8™8Ÿ=™=ØŸ™ØŸ™ñ	
ð 	
rC   c                ó>   • [        U SUR                   35      " 5       $ )z‡Explain the breakage by showing old and new value.

Parameters:
    style: The explanation style to use.

Returns:
    An explanation.
Ú	_explain_)ÚgetattrrS   )rN   Ústyles     rD   ÚexplainÚBreakage.explainx   s   € ô �t˜y¨¯©¨Ð6Ô7Ó9Ð9rC   c                ó¤   • U R                   R                  (       a   U R                   R                  R                  $ U R                   R                  $ rR   )rJ   Úis_aliasÚparentÚfilepathrT   s    rD   Ú	_filepathÚBreakage._filepathƒ   s3   € à�8‰8××Ø—8‘8—?‘?×+Ñ+Ð+Ø�x‰x× Ñ Ð rC   c                ó¤   • U R                   R                  (       a   U R                   R                  R                  $ U R                   R                  $ rR   )rJ   ri   rj   Úrelative_filepathrT   s    rD   Ú_relative_filepathÚBreakage._relative_filepath‰   s3   € à�8‰8××Ø—8‘8—?‘?×4Ñ4Ð4Ø�x‰x×)Ñ)Ð)rC   c                ó¤   • U R                   R                  (       a   U R                   R                  R                  $ U R                   R                  $ rR   )rJ   ri   rj   Úrelative_package_filepathrT   s    rD   Ú_relative_package_filepathÚ#Breakage._relative_package_filepath�   s3   € à�8‰8××Ø—8‘8—?‘?×<Ñ<Ð<Ø�x‰x×1Ñ1Ð1rC   c                óþ   • U R                   R                  5       (       aS  U R                   R                  n[        U5       H.  u  p#UR	                  [
        5      (       d  M!  [        XS-   S  6 s  $    U R                   $ )Né   )rp   Úis_absoluteÚpartsÚ	enumerateÚ
startswithr   r   )rN   ry   ÚindexÚparts       rD   Ú	_locationÚBreakage._location•   sm   € ð
 ×"Ñ"×.Ñ.×0Ñ0Ø×+Ñ+×1Ñ1ˆEÜ(¨Ö/‘�Ø—?‘?Ô#3×4Ó4Ü ¨q¡y {Ð!3Ð4Ò4ñ  0ð ×&Ñ&Ð&rC   c                ó�   • U R                   R                  (       a  U R                   R                  $ U R                   R                  $ rR   )rJ   ri   r^   Úcanonical_pathrT   s    rD   Ú_canonical_pathÚBreakage._canonical_path¡   s-   € à�8‰8××Ø—8‘8—=‘=Ð Ø�x‰x×&Ñ&Ð&rC   c                óÌ   • U R                   R                  (       a*  U R                   R                  R                  R                  $ U R                   R                  R                  $ rR   )rJ   ri   rj   Úmoduler^   rT   s    rD   Ú_module_pathÚBreakage._module_path§   s=   € à�8‰8××Ø—8‘8—?‘?×)Ñ)×.Ñ.Ð.Ø�x‰x�‰×#Ñ#Ð#rC   c                ó^   • U R                   [        U R                  5      S-   S  =(       d    S$ )Né   z<module>)r‚   Úlenr†   rT   s    rD   Ú_relative_pathÚBreakage._relative_path­   s+   € à×#Ñ#¤C¨×(9Ñ(9Ó$:¸QÑ$>Ð$@ÐA×OÀZÐOrC   c                ó$  • U R                   [        R                  L a  U R                  U R                  :w  a  gU R
                  R                  (       a  U R
                  R                  =(       d    S$ U R
                  R                  =(       d    S$ )Nr   )	rH   r   ÚOBJECT_REMOVEDrp   r~   rJ   ri   Úalias_linenoÚlinenorT   s    rD   Ú_linenoÚBreakage._lineno±   sb   € ð
 �9‰9œ×3Ñ3Ò3¸×8OÑ8OÐSW×SaÑSaÓ8aØØ�8‰8××Ø—8‘8×(Ñ(×-¨AÐ-Ø�x‰x�‰×# !Ð#rC   T©Úcolorsc               ó¤   • U(       a  [         R                  OSnU(       a  [         R                  OSnU U R                   U SU R                   3$ )NÚ Ú:)r   r>   rA   r~   r‘   )rN   r”   ÚbrightÚresets       rD   Ú_format_locationÚBreakage._format_location¼   s>   € Þ!'”—’¨RˆÞ#)”—’¨rˆØ�˜$Ÿ.™.Ð)¨%¨°°$·,±,°Ð@Ð@rC   c               ó   • U R                   $ rR   )r‹   ©rN   r”   s     rD   Ú_format_titleÚBreakage._format_titleÁ   s   € Ø×"Ñ"Ð"rC   c               óž   • U(       a  [         R                  OSnU(       a  [         R                  OSnU U R                  R                   U 3$ ©Nr–   )r   r   r$   rH   rS   )rN   r”   Úyellowr™   s       rD   Ú_format_kindÚBreakage._format_kindÄ   s8   € Þ$*”—’°ˆÞ"(”—’¨bˆØ�˜$Ÿ)™)Ÿ/™/Ð*¨5¨'Ð2Ð2rC   c               ó,   • [        U R                  5      $ rR   )ÚstrrK   r�   s     rD   Ú_format_old_valueÚBreakage._format_old_valueÉ   ó   € Ü�4—>‘>Ó"Ð"rC   c               ó,   • [        U R                  5      $ rR   )r¦   rL   r�   s     rD   Ú_format_new_valueÚBreakage._format_new_valueÌ   r©   rC   c                ó"  • U R                  5        SU R                  5        SU R                  5        3nU R                  5       nU R	                  5       nU(       a  U(       a  U SU 3nOU(       a  UnOU(       a  UnOSnU(       a  U SU 3$ U$ )Nú: ú -> r–   )rš   rž   r£   r§   r«   ©rN   ÚexplanationÚoldÚnewÚchanges        rD   Ú_explain_onelineÚBreakage._explain_onelineÏ   s–   € Ø×.Ñ.Ó0Ð1°°D×4FÑ4FÓ4HÐ3IÈÈD×L]ÑL]ÓL_ÐK`ÐaˆØ×$Ñ$Ó&ˆØ×$Ñ$Ó&ˆÞ–3Ø�u˜D  Ð&‰FÞØ‰FÞØ‰FàˆFÞØ!�] " V HÐ-Ð-ØÐrC   c                ó"  • U R                  5        SU R                  5        S3/nU R                  5       nU R                  5       nU R	                  5       nU(       d  U(       a  UR                  U S35        OUR                  U5        U(       a  UR                  SU 35        U(       a  UR                  SU 35        U R                  (       a  UR                  SU R                   35        UR                  S5        SR                  U5      $ )Nr®   r—   z  Old: z  New: z  Details: r–   Ú
)rš   rž   r£   r§   r«   ÚappendrM   Újoin)rN   ÚlinesrH   r²   r³   s        rD   Ú_explain_verboseÚBreakage._explain_verboseß   sÛ   € Ø×)Ñ)Ó+Ð,¨B¨t×/AÑ/AÓ/CÐ.DÀAÐFÐGˆØ× Ñ Ó"ˆØ×$Ñ$Ó&ˆØ×$Ñ$Ó&ˆÞ–#Ø�L‰L˜D˜6 ˜Õ$à�L‰L˜ÔÞØ�L‰L˜7 3 %˜Ô)ÞØ�L‰L˜7 3 %˜Ô)Ø�<�<Ø�L‰L˜; t§|¡| nÐ5Ô6Ø�‰�RÔØ�y‰y˜ÓÐrC   c                óP  • SU R                    SU R                  R                   S3nU R                  SS9nU(       a  US:w  a  SU S3nU R	                  SS9nU(       a  US:w  a  SU S3nU(       a  U(       a  U SU 3nOU(       a  UnOU(       a  UnOS	nU(       a  U S
U 3$ U$ )Nz- `z`: *Ú*Fr“   ÚunsetÚ`r¯   r–   r®   )r‹   rH   rS   r§   r«   r°   s        rD   Ú_explain_markdownÚBreakage._explain_markdownñ   s¼   € Ø˜D×/Ñ/Ð0°°T·Y±Y·_±_Ð4EÀQÐGˆØ×$Ñ$¨EÐ$Ð2ˆÞ�3˜'“>Ø�c�U˜!�*ˆCØ×$Ñ$¨EÐ$Ð2ˆÞ�3˜'“>Ø�c�U˜!�*ˆCÞ–3Ø�u˜D  Ð&‰FÞØ‰FÞØ‰FàˆFÞØ!�] " V HÐ-Ð-ØÐrC   c                óœ  • SU R                    SU R                   3nSU R                  SS9 3nSU SU SU R                  R                   3nU R                  SS9nU(       a  US	:w  a  S
U S
3nU R                  SS9nU(       a  US	:w  a  S
U S
3nU(       a  U(       a  U SU 3nOU(       a  UnOU(       a  UnOSnU(       a  U SU 3$ U$ )Nzfile=z,line=ztitle=Fr“   z
::warning Ú,z::rÀ   rÁ   r¯   r–   r®   )r~   r‘   rž   rH   rS   r§   r«   )rN   ÚlocationÚtitler±   r²   r³   r´   s          rD   Ú_explain_githubÚBreakage._explain_github  sï   € Ø˜4Ÿ>™>Ð*¨&°·±°Ð?ˆØ˜×+Ñ+°5Ð+Ð9Ð:Ð;ˆØ" 8 *¨A¨e¨W°B°t·y±y·±Ð6GÐHˆØ×$Ñ$¨EÐ$Ð2ˆÞ�3˜'“>Ø�c�U˜!�*ˆCØ×$Ñ$¨EÐ$Ð2ˆÞ�3˜'“>Ø�c�U˜!�*ˆCÞ–3Ø�u˜D  Ð&‰FÞØ‰FÞØ‰FàˆFÞØ!�] " V HÐ-Ð-ØÐrC   )rM   rL   rJ   rK   N)r–   )
rJ   r   rK   r   rL   r   rM   r¦   ÚreturnÚNone©rÊ   r¦   )r[   Úboolr_   r   rÊ   zdict[str, Any])re   r   rÊ   r¦   )rÊ   r   )rÊ   Úint©r”   rÍ   rÊ   r¦   ) r   r   r   r   Ú__doc__Ú__annotations__rO   rU   rY   r`   r   ÚONE_LINErf   Úpropertyrl   rp   rt   r~   r‚   r†   r‹   r‘   rš   rž   r£   r§   r«   rµ   r¼   rÂ   rÈ   rB   r   rC   rD   rF   rF   I   s!  ‡ ÙEà
ÓØö/ô$ôð ',÷ 
ð" 1A×0IÑ0Iö 	:ð ó!ó ð!ð
 ó*ó ð*ð
 ó2ó ð2ð
 ó	'ó ð	'ð ó'ó ð'ð
 ó$ó ð$ð
 óPó ðPð ó$ó ð$ð 26÷ Að
 /3÷ #ð .2÷ 3ð
 37÷ #ð 37÷ #ôô  ô$÷(rC   rF   c                  óš   ^ • \ rS rSr% Sr\R                  rS\S'   \	SU 4S jj5       r
SS.SU 4S jjjrSS.SS	 jjrSS.SS
 jjrSrU =r$ )ÚParameterMovedBreakagei  z-Specific breakage class for moved parameters.r   rH   c                óL   >• [         TU ]   SU R                  R                   S3$ ©NÚ(Ú)©Úsuperr‹   rK   rX   ©rN   Ú	__class__s    €rD   r‹   Ú%ParameterMovedBreakage._relative_path!  ó'   ø€ ä‘'Ñ(Ð)¨¨4¯>©>×+>Ñ+>Ð*?¸qÐAÐArC   Tr“   c               ó¸   >• U(       a  [         R                  OSnU(       a  [         R                  OSn[        TU ]   SU U R
                  R                   U S3$ ©Nr–   rØ   rÙ   ©r   r    r$   rÛ   r‹   rK   rX   ©rN   r”   Úbluer™   rÝ   s       €rD   rž   Ú$ParameterMovedBreakage._format_title%  óI   ø€ Þ &Œu�}Š}¨BˆÞ"(”—’¨bˆÜ‘'Ñ(Ð)¨¨4¨&°·±×1DÑ1DÐ0EÀeÀWÈAÐNÐNrC   c               ó   • gr¡   r   r�   s     rD   r§   Ú(ParameterMovedBreakage._format_old_value*  ó   € ØrC   c               ó   • gr¡   r   r�   s     rD   r«   Ú(ParameterMovedBreakage._format_new_value-  ré   rC   r   rÌ   rÏ   )r   r   r   r   rÐ   r   ÚPARAMETER_MOVEDrH   rÑ   rÓ   r‹   rž   r§   r«   rB   Ú__classcell__©rÝ   s   @rD   rÕ   rÕ     sT   ø‡ Ù7à%×5Ñ5€Dˆ,Ó5àöBó ðBð /3÷ Oò Oð
 37÷ ð 37÷ õ rC   rÕ   c                  óš   ^ • \ rS rSr% Sr\R                  rS\S'   \	SU 4S jj5       r
SS.SU 4S jjjrSS.SS	 jjrSS.SS
 jjrSrU =r$ )ÚParameterRemovedBreakagei1  z/Specific breakage class for removed parameters.r   rH   c                óL   >• [         TU ]   SU R                  R                   S3$ r×   rÚ   rÜ   s    €rD   r‹   Ú'ParameterRemovedBreakage._relative_path6  rß   rC   Tr“   c               ó¸   >• U(       a  [         R                  OSnU(       a  [         R                  OSn[        TU ]   SU U R
                  R                   U S3$ rá   râ   rã   s       €rD   rž   Ú&ParameterRemovedBreakage._format_title:  ræ   rC   c               ó   • gr¡   r   r�   s     rD   r§   Ú*ParameterRemovedBreakage._format_old_value?  ré   rC   c               ó   • gr¡   r   r�   s     rD   r«   Ú*ParameterRemovedBreakage._format_new_valueB  ré   rC   r   rÌ   rÏ   )r   r   r   r   rÐ   r   ÚPARAMETER_REMOVEDrH   rÑ   rÓ   r‹   rž   r§   r«   rB   rí   rî   s   @rD   rð   rð   1  sT   ø‡ Ù9à%×7Ñ7€Dˆ,Ó7àöBó ðBð /3÷ Oò Oð
 37÷ ð 37÷ õ rC   rð   c                  óš   ^ • \ rS rSr% Sr\R                  rS\S'   \	SU 4S jj5       r
SS.SU 4S jjjrSS.SS	 jjrSS.SS
 jjrSrU =r$ )ÚParameterChangedKindBreakageiF  z:Specific breakage class for parameters whose kind changed.r   rH   c                óL   >• [         TU ]   SU R                  R                   S3$ r×   rÚ   rÜ   s    €rD   r‹   Ú+ParameterChangedKindBreakage._relative_pathK  rß   rC   Tr“   c               ó¸   >• U(       a  [         R                  OSnU(       a  [         R                  OSn[        TU ]   SU U R
                  R                   U S3$ rá   râ   rã   s       €rD   rž   Ú*ParameterChangedKindBreakage._format_titleO  ræ   rC   c               óT   • [        U R                  R                  R                  5      $ rR   )r¦   rK   rH   rS   r�   s     rD   r§   Ú.ParameterChangedKindBreakage._format_old_valueT  ó   € Ü�4—>‘>×&Ñ&×,Ñ,Ó-Ð-rC   c               óT   • [        U R                  R                  R                  5      $ rR   )r¦   rL   rH   rS   r�   s     rD   r«   Ú.ParameterChangedKindBreakage._format_new_valueW  r  rC   r   rÌ   rÏ   )r   r   r   r   rÐ   r   ÚPARAMETER_CHANGED_KINDrH   rÑ   rÓ   r‹   rž   r§   r«   rB   rí   rî   s   @rD   rû   rû   F  sT   ø‡ ÙDà%×<Ñ<€Dˆ,Ó<àöBó ðBð /3÷ Oò Oð
 37÷ .ð 37÷ .õ .rC   rû   c                  óš   ^ • \ rS rSr% Sr\R                  rS\S'   \	SU 4S jj5       r
SS.SU 4S jjjrSS.SS	 jjrSS.SS
 jjrSrU =r$ )ÚParameterChangedDefaultBreakagei[  zCSpecific breakage class for parameters whose default value changed.r   rH   c                óL   >• [         TU ]   SU R                  R                   S3$ r×   rÚ   rÜ   s    €rD   r‹   Ú.ParameterChangedDefaultBreakage._relative_path`  rß   rC   Tr“   c               ó¸   >• U(       a  [         R                  OSnU(       a  [         R                  OSn[        TU ]   SU U R
                  R                   U S3$ rá   râ   rã   s       €rD   rž   Ú-ParameterChangedDefaultBreakage._format_titled  ræ   rC   c               ó@   • [        U R                  R                  5      $ rR   )r¦   rK   Údefaultr�   s     rD   r§   Ú1ParameterChangedDefaultBreakage._format_old_valuei  ó   € Ü�4—>‘>×)Ñ)Ó*Ð*rC   c               ó@   • [        U R                  R                  5      $ rR   )r¦   rL   r  r�   s     rD   r«   Ú1ParameterChangedDefaultBreakage._format_new_valuel  r  rC   r   rÌ   rÏ   )r   r   r   r   rÐ   r   ÚPARAMETER_CHANGED_DEFAULTrH   rÑ   rÓ   r‹   rž   r§   r«   rB   rí   rî   s   @rD   r  r  [  sT   ø‡ ÙMà%×?Ñ?€Dˆ,Ó?àöBó ðBð /3÷ Oò Oð
 37÷ +ð 37÷ +õ +rC   r  c                  óš   ^ • \ rS rSr% Sr\R                  rS\S'   \	SU 4S jj5       r
SS.SU 4S jjjrSS.SS	 jjrSS.SS
 jjrSrU =r$ )Ú ParameterChangedRequiredBreakageip  z=Specific breakage class for parameters which became required.r   rH   c                óL   >• [         TU ]   SU R                  R                   S3$ r×   rÚ   rÜ   s    €rD   r‹   Ú/ParameterChangedRequiredBreakage._relative_pathu  rß   rC   Tr“   c               ó¸   >• U(       a  [         R                  OSnU(       a  [         R                  OSn[        TU ]   SU U R
                  R                   U S3$ rá   râ   rã   s       €rD   rž   Ú.ParameterChangedRequiredBreakage._format_titley  ræ   rC   c               ó   • gr¡   r   r�   s     rD   r§   Ú2ParameterChangedRequiredBreakage._format_old_value~  ré   rC   c               ó   • gr¡   r   r�   s     rD   r«   Ú2ParameterChangedRequiredBreakage._format_new_value�  ré   rC   r   rÌ   rÏ   )r   r   r   r   rÐ   r   ÚPARAMETER_CHANGED_REQUIREDrH   rÑ   rÓ   r‹   rž   r§   r«   rB   rí   rî   s   @rD   r  r  p  sT   ø‡ ÙGà%×@Ñ@€Dˆ,Ó@àöBó ðBð /3÷ Oò Oð
 37÷ ð 37÷ õ rC   r  c                  óš   ^ • \ rS rSr% Sr\R                  rS\S'   \	SU 4S jj5       r
SS.SU 4S jjjrSS.SS	 jjrSS.SS
 jjrSrU =r$ )ÚParameterAddedRequiredBreakagei…  z=Specific breakage class for new parameters added as required.r   rH   c                óL   >• [         TU ]   SU R                  R                   S3$ r×   )rÛ   r‹   rL   rX   rÜ   s    €rD   r‹   Ú-ParameterAddedRequiredBreakage._relative_pathŠ  rß   rC   Tr“   c               ó¸   >• U(       a  [         R                  OSnU(       a  [         R                  OSn[        TU ]   SU U R
                  R                   U S3$ rá   )r   r    r$   rÛ   r‹   rL   rX   rã   s       €rD   rž   Ú,ParameterAddedRequiredBreakage._format_titleŽ  ræ   rC   c               ó   • gr¡   r   r�   s     rD   r§   Ú0ParameterAddedRequiredBreakage._format_old_value“  ré   rC   c               ó   • gr¡   r   r�   s     rD   r«   Ú0ParameterAddedRequiredBreakage._format_new_value–  ré   rC   r   rÌ   rÏ   )r   r   r   r   rÐ   r   ÚPARAMETER_ADDED_REQUIREDrH   rÑ   rÓ   r‹   rž   r§   r«   rB   rí   rî   s   @rD   r  r  …  sT   ø‡ ÙGà%×>Ñ>€Dˆ,Ó>àöBó ðBð /3÷ Oò Oð
 37÷ ð 37÷ õ rC   r  c                  ó<   • \ rS rSr% Sr\R                  rS\S'   Sr	g)ÚReturnChangedTypeBreakageiš  z=Specific breakage class for return values which changed type.r   rH   r   N)
r   r   r   r   rÐ   r   ÚRETURN_CHANGED_TYPErH   rÑ   rB   r   rC   rD   r*  r*  š  s   ‡ ÙGà%×9Ñ9€Dˆ,Ö9rC   r*  c                  ó`   • \ rS rSr% Sr\R                  rS\S'   SS.SS jjr	SS.SS jjr
S	rg
)ÚObjectRemovedBreakagei   z,Specific breakage class for removed objects.r   rH   Tr“   c               ó   • gr¡   r   r�   s     rD   r§   Ú'ObjectRemovedBreakage._format_old_value¥  ré   rC   c               ó   • gr¡   r   r�   s     rD   r«   Ú'ObjectRemovedBreakage._format_new_value¨  ré   rC   r   NrÏ   )r   r   r   r   rÐ   r   rŽ   rH   rÑ   r§   r«   rB   r   rC   rD   r-  r-     s,   ‡ Ù6à%×4Ñ4€Dˆ,Ó4à26÷ ð 37÷ ò rC   r-  c                  ó`   • \ rS rSr% Sr\R                  rS\S'   SS.SS jjr	SS.SS jjr
S	rg
)ÚObjectChangedKindBreakagei¬  z7Specific breakage class for objects whose kind changed.r   rH   Tr“   c               ó.   • U R                   R                  $ rR   )rK   rS   r�   s     rD   r§   Ú+ObjectChangedKindBreakage._format_old_value±  ó   € Ø�~‰~×#Ñ#Ð#rC   c               ó.   • U R                   R                  $ rR   )rL   rS   r�   s     rD   r«   Ú+ObjectChangedKindBreakage._format_new_value´  r6  rC   r   NrÏ   )r   r   r   r   rÐ   r   ÚOBJECT_CHANGED_KINDrH   rÑ   r§   r«   rB   r   rC   rD   r3  r3  ¬  s,   ‡ ÙAà%×9Ñ9€Dˆ,Ó9à26÷ $ð 37÷ $ò $rC   r3  c                  ó<   • \ rS rSr% Sr\R                  rS\S'   Sr	g)ÚAttributeChangedTypeBreakagei¸  z:Specific breakage class for attributes whose type changed.r   rH   r   N)
r   r   r   r   rÐ   r   ÚATTRIBUTE_CHANGED_TYPErH   rÑ   rB   r   rC   rD   r;  r;  ¸  s   ‡ ÙDà%×<Ñ<€Dˆ,Ö<rC   r;  c                  ó<   • \ rS rSr% Sr\R                  rS\S'   Sr	g)ÚAttributeChangedValueBreakagei¾  z;Specific breakage class for attributes whose value changed.r   rH   r   N)
r   r   r   r   rÐ   r   ÚATTRIBUTE_CHANGED_VALUErH   rÑ   rB   r   rC   rD   r>  r>  ¾  s   ‡ ÙEà%×=Ñ=€Dˆ,Ö=rC   r>  c                  ó`   • \ rS rSr% Sr\R                  rS\S'   SS.SS jjr	SS.SS jjr
S	rg
)ÚClassRemovedBaseBreakageiÄ  z1Specific breakage class for removed base classes.r   rH   Tr“   c               óR   • SSR                  S U R                   5       5      -   S-   $ )NÚ[ú, c              3  ó8   #   • U  H  oR                   v •  M     g 7frR   ©r�   ©Ú.0Úbases     rD   Ú	<genexpr>Ú=ClassRemovedBaseBreakage._format_old_value.<locals>.<genexpr>Ê  ó   é € ÐNº~°t×2Ö2º~ùó   ‚Ú])rº   rK   r�   s     rD   r§   Ú*ClassRemovedBaseBreakage._format_old_valueÉ  ó&   € Ø�T—Y‘YÑN¸t¿~º~ÓNÓNÑNÐQTÑTÐTrC   c               óR   • SSR                  S U R                   5       5      -   S-   $ )NrC  rD  c              3  ó8   #   • U  H  oR                   v •  M     g 7frR   rF  rG  s     rD   rJ  Ú=ClassRemovedBaseBreakage._format_new_value.<locals>.<genexpr>Í  rL  rM  rN  )rº   rL   r�   s     rD   r«   Ú*ClassRemovedBaseBreakage._format_new_valueÌ  rP  rC   r   NrÏ   )r   r   r   r   rÐ   r   ÚCLASS_REMOVED_BASErH   rÑ   r§   r«   rB   r   rC   rD   rA  rA  Ä  s/   ‡ Ù;à%×8Ñ8€Dˆ,Ó8à26÷ Uð 37÷ Uò UrC   rA  c             #  ó  #   • S S h  v•N   UR                   U R                   :w  aN  [        UR                   5      [        U R                   5      :  a"  [        XR                   UR                   5      v •  [        XUS9 S h  v•N   g  N N7f)Nr   ©Ú
seen_paths)ÚbasesrŠ   rA  Ú_member_incompatibilities)Ú	old_classÚ	new_classrX  s      rD   Ú_class_incompatibilitiesr]  Ñ  sg   é € ð ‡M€MØ‡�˜)Ÿ/™/Ó)¬c°)·/±/Ó.BÄSÈÏÉÓEYÓ.YÜ& y·/±/À9Ç?Á?ÓSÒSÜ(¨È*ÑU×UÑUñ ñ Vùs"   ‚BˆB‰A9BÂB
ÂBÂ
Bc           	   #  óp	  #   • UR                    Vs/ s H  o"R                  PM     nnUR                    Vs1 s H  o"R                  iM     nn[        R                  U;   n[        R
                  U;   n[        U R                   5       GH„  u  pxUR                  UR                   ;  a�  UR                  [        R                  L =(       a    U=(       dZ    UR                  [        R                  L =(       a    U=(       d.    UR                  [        R                  L =(       a    U=(       a    Un	U	(       d  [        XS 5      v •  M½  UR                   UR                     n
U
R                  (       a  UR                  (       d  [        XU
5      v •  UR                  [        ;   aO  U
R                  [        ;   a;  UR                  UR                  5      nX·:w  a  SU SU SX·-
  S S3n[        XX¬S9v •  UR                  U
R                  LGai  [!        UR                  [        R                  L =(       a    U
R                  [        R                  L UR                  [        R                  L =(       a    U
R                  [        R                  L UR                  [        R                  L =(       a    U
R                  ["        ;   U
R                  [        R
                  L =(       a*    UR                  [        R                  L=(       a    U(       + U
R                  [        R                  L =(       a*    UR                  [        R                  L=(       a    U(       + 45      nU(       a  [%        XU
5      v •  ['        XU
5      nUR                  (       + =(       a    U
R                  (       + nUR                  [(        ;  =(       a    U
R                  [(        ;  nU(       d  GMX  U(       d  GMb   UR*                  U
R*                  :w  a  Uv •  GM„  GM‡     UR                    HA  n
U
R                  U R                   ;  d  M  U
R                  (       d  M2  [/        US U
5      v •  MC     [1        X5      (       d#  [3        XR4                  UR4                  5      v •  g g s  snf s  snf ! [,         a	    Uv •   GM*  f = f7f)Nzposition: from z to z (Ú+rÙ   )rM   )Ú
parametersrX   rH   r	   Úvar_positionalÚvar_keywordrz   Úkeyword_onlyÚpositional_onlyÚpositional_or_keywordrð   Úrequiredr  Ú_POSITIONALr|   rÕ   ÚanyÚ_POSITIONAL_KEYWORD_ONLYrû   r  Ú	_VARIADICr  Ú	Exceptionr  Ú_returns_are_compatibler*  Úreturns)Úold_functionÚnew_functionÚparamÚnew_param_namesÚparam_kindsÚhas_variadic_argsÚhas_variadic_kwargsÚ	old_indexÚ	old_paramÚ	swallowedÚ	new_paramÚ	new_indexrM   Úincompatible_kindÚbreakageÚnon_requiredÚnon_variadics                    rD   Ú_function_incompatibilitiesr~  Þ  s§  é € Ø/;×/FÒ/FÓGÒ/F e—z”zÑ/F€OÐGØ+7×+BÒ+BÓCÒ+B %—:”:Ñ+B€KÐCÜ%×4Ñ4¸ÑCÐÜ'×3Ñ3°{ÑBÐä )¨,×*AÑ*A× BÑˆ	à�>‰> ×!8Ñ!8Ó8à—‘¤=×#=Ñ#=Ð=×UÐBU÷ yØ—N‘N¤m×&CÑ&CÐC×YÐHY÷yà—N‘N¤m×&IÑ&IÐI×wÐN_×wÐdwð ö
 Ü.¨|ÈÓMÒMÙð !×+Ñ+¨I¯N©NÑ;ˆ	Ø×× i×&8×&8Ü2°<ÈIÓVÒVð �>‰>œ[Ó(¨Y¯^©^¼{Ó-JØ'×-Ñ-¨i¯n©nÓ=ˆIØÓ%Ø+¨I¨;°d¸9¸+ÀRÈ	ÑH]Ð^_ÐG`Ð`aÐb�Ü,¨\ÀiÑaÒað �>‰> §¡Ó/Ü #ð —N‘N¤m×&CÑ&CÐC×tÈ	ÏÉÔZg×ZtÑZtÐHtà—N‘N¤m×&@Ñ&@Ð@×tÀYÇ^Á^ÔWd×WtÑWtÐEtà—N‘N¤m×&IÑ&IÐI÷ CØ!Ÿ™Ô*BÑBà—N‘N¤m×&?Ñ&?Ð?÷ .Ø!Ÿ™¬m×.HÑ.HÐH÷.à-Ô-à—N‘N¤m×&BÑ&BÐB÷ 0Ø!Ÿ™¬m×.KÑ.KÐK÷0à/Ô/ðó!Ðö& !Ü2°<ÈIÓVÒVô 3°<ÈIÓVˆØ$×-Ñ-Ô-×H°i×6HÑ6HÔ2HˆØ —~‘~¬YÑ6×Z¸9¿>¹>ÔQZÑ;Zˆß‰<ŸL™LðØ×$Ñ$¨	×(9Ñ(9Ó9Ø"•Nò :ñm !Cðz "×,Ô,ˆ	Ø�>‰> ×!8Ñ!8Õ8¸Y×=O×=OÑ=OÜ0°¸tÀYÓOÔOñ -ô # <×>Ñ>Ü'¨×6JÑ6JÈL×L`ÑL`ÓaÓað ?ùòM HùÚCøôx ó à–ðüsR   ‚R6‘R¦R6¶RÁNR6Ï R6Ï+R Ð	/R6Ð<R6ÑAR6Ò R3Ò.R6Ò2R3Ò3R6c              #  óÒ   #   • U R                   UR                   :w  aI  UR                   c  [        XR                   S5      v •  g [        XR                   UR                   5      v •  g g 7f)NrÀ   )rS   r>  )Úold_attributeÚnew_attributes     rD   Ú_attribute_incompatibilitiesr‚  )  sX   é € à×Ñ˜m×1Ñ1Ó1Ø×ÑÑ&Ü/°×?RÑ?RÐT[Ó\Ó\ä/°×?RÑ?RÐTa×TgÑTgÓhÓhð	 2ùs   ‚A%A'c             #  ó*  #   •  U R                   (       a  U R                  OU nUR                   (       a  UR                  OUn[        X4US9 S h  v•N   g ! [         a/    [        R                  " SU R
                  UR
                  5         g f = f NA7f)Nz2API check: %s | %s: skip alias with unknown targetrW  )ri   Útargetr
   r   Údebugr^   Ú_type_based_yield)Úold_objÚnew_objrX  Ú
old_memberÚ
new_members        rD   Ú_alias_incompatibilitiesr‹  2  sx   é € ðØ'.×'7×'7�W—^’^¸Wˆ
Ø'.×'7×'7�W—^’^¸Wˆ
ô
 ! ÀJÑO×OÑOøô	  ó Ü�ŠÐIÈ7Ï<É<ÐY`×YeÑYeÔfÙðúñ Pùs4   ‚B„>A ÁBÁBÁBÁ6BÂBÂBÂBrW  c             #  ó  #   • Uc
  [        5       OUnU R                  R                  5        H~  u  p4UR                  (       d$  [        R
                  " SU R                  U5        M:  [        R
                  " SU R                  U5         UR                  U   n[        XEUS9 S h  v•N   M€     g  N	! [         aH    UR                  (       d  UR                  (       d  UR                  (       a  [        XDS 5      v •   MÓ   MÖ  f = f7f)Nz(API check: %s.%s: skip non-public objectzAPI check: %s.%srW  )ÚsetÚall_membersÚitemsÚ	is_publicr   r…  r^   r†  ÚKeyErrorri   Ú	is_moduler-  )r‡  rˆ  rX  rX   r‰  rŠ  s         rD   rZ  rZ  B  sÕ   é € ð %Ñ,””°*€JØ#×/Ñ/×5Ñ5Ö7ÑˆØ×#×#Ü�LŠLÐCÀWÇ\Á\ÐSWÔXÙÜ�ŠÐ'¨¯©°tÔ<ð	XØ ×,Ñ,¨TÑ2ˆJô
 )¨ÈJÑW×WÒWò 8ñ Xøô	 ó 	JØ×'×'¨J×,@×,@ÀZ×EY×EYÜ+¨JÀDÓIÕIò FZð	Jüs7   ‚BDÂ	B1ÂDÂ%B/Â&
DÂ1ADÃ<DÄDÄDc             #  ó†  #   • U R                   U;   a  g UR                  U R                   5        U R                  (       d  UR                  (       a  [        U UUS9 S h  v•N   g UR                  U R                  :w  a#  [        XR                  UR                  5      v •  g U R                  (       a  [        U UUS9 S h  v•N   g U R                  (       a  [        U UUS9 S h  v•N   g U R                  (       a  [        X5       S h  v•N   g U R                  (       a  [        X5       S h  v•N   g g  N× Nw NT N1 N7f)NrW  )r^   Úaddri   r‹  rH   r3  r’  rZ  Úis_classr]  Úis_functionr~  Úis_attributer‚  )r‰  rŠ  rX  s      rD   r†  r†  W  s  é € ð ‡�˜*Ó$ØØ‡N�N�:—?‘?Ô#Ø××˜j×1×1ô ,ØØØ!ñ
÷ 	
ñ 	
ð
 
�‰˜JŸO™OÓ	+Ü'¨
·O±OÀZÇ_Á_ÓUÓUØ	×	×	Ü,ØØØ!ñ
÷ 	
ñ 	
ð
 
×	×	Ü+ØØØ!ñ
÷ 	
ñ 	
ð
 
×	×	Ü.¨zÓF×FÑFØ	×	 ×	 Ü/°
ÓG×GÑGð 
!ñ+	
ñ	
ñ	
ñ 	GáGùs[   ‚AEÁD7Á A!EÃD9Ã$EÃ&D;Ã'$EÄD=Ä$EÄ0D?Ä1EÄ9EÄ;EÄ=EÄ?Ec                óî   • U R                   c  gUR                   c  g[        R                  " [        5         UR                   U R                   :X  a
   S S S 5        g S S S 5        g! , (       d  f       g= f)NTF)rm  Ú
contextlibÚsuppressÚAttributeError)rn  ro  s     rD   rl  rl  |  sj   € ð ×ÑÑ#Øà×ÑÑ#àä	×	Ò	œ^Õ	,Ø×Ñ <×#7Ñ#7Ó7Ø÷ 
-Ð	,Ø7÷ 
-ð
 ÷ 
-Ô	,ð
 ús   ·A&Á&
A4c              #  ó6   #   • [        X5       Sh  v•N   g N7f)a   Find breaking changes between two versions of the same API.

The function will iterate recursively on all objects
and yield breaking changes with detailed information.

Parameters:
    old_obj: The old version of an object.
    new_obj: The new version of an object.

Yields:
    Breaking changes.

Examples:
    >>> import sys, griffe
    >>> new = griffe.load("pkg")
    >>> old = griffe.load_git("pkg", "1.2.3")
    >>> for breakage in griffe.find_breaking_changes(old, new)
    ...     print(breakage.explain(style=style), file=sys.stderr)
N)rZ  )r‡  rˆ  s     rD   Úfind_breaking_changesr�  ”  s   é € ô. )¨Ó:×:Ó:ùs   ‚‘’)r[  r   r\  r   rX  úset[str]rÊ   úIterable[Breakage])rn  r   ro  r   rÊ   úIterator[Breakage])r€  r   r�  r   rÊ   rŸ  )r‡  úObject | Aliasrˆ  r¡  rX  rž  rÊ   rŸ  )r‡  r¡  rˆ  r¡  rX  zset[str] | NonerÊ   r   )r‰  r¡  rŠ  r¡  rX  rž  rÊ   r   )rn  r   ro  r   rÊ   rÍ   )r‡  r¡  rˆ  r¡  rÊ   r   )=Ú
__future__r   r™  Úpathlibr   Útypingr   r   Úgriffe._internal.enumerationsr   r   r	   Úgriffe._internal.exceptionsr
   Úgriffe._internal.gitr   Úgriffe._internal.loggerr   Úcollections.abcr   r   Úgriffe._internal.modelsr   r   r   r   r   Ú	frozensetrd  re  rg  rc  Ú_KEYWORDri  ra  rb  rj  r   rF   rÕ   rð   rû   r  r  r  r*  r-  r3  r;  r>  rA  r]  r~  r‚  r‹  rZ  r†  rl  ÚobjectÚ	_sentinelr�  r   rC   rD   Ú<module>r¯     s>  ðõ #ã Ý ß %ç WÑ WÝ <Ý 1Ý *æß2çQÕQá˜×6Ñ6¸×8[Ñ8[Ð\Ó]€Ù�m×0Ñ0°-×2UÑ2UÐVÓW€Ù$ m×&CÑ&CÀ]×E_ÑE_Ð%`ÓaÐ Ù�}×3Ñ3°]×5NÑ5NÐOÓP€	÷&ñ &÷RPñ Pôf˜Xô ô*˜xô ô*. 8ô .ô*+ hô +ô* xô ô* Xô ô*: ô :ô	˜Hô 	ô	$ ô 	$ô= 8ô =ô> Hô >ô	U˜xô 	Uð	VØð	Vàð	Vð ð		Vð
 ô	VôHbôViðPØðPàðPð ð	Pð
 ôPð( #'ñ	XØðXàðXð  ð	Xð
 õXð*"HØð"Hàð"Hð ð	"Hð
 ô"HôJñ* ‹H€	ð;Øð;àð;ð õ;rC   