§
    zÊ.g ' ã                   óN  — d Z ddlZej        j        Zdag Zi Zi a	i Z
dZd„ Zd„ Zd„ ZdEd	„Zed
œd„Zeddœd„Zde_        d„ Zd„ Zd„ Zd„ Zdddddœd„Zddddœd„Zddœd„Zd„ Zd„ Zd„ Zddœd„Zd„ Zd„ Zd„ Z d „ Z!d!„ Z"d"„ Z#d#„ Z$dFd%„Z%d&„ Z&d'„ Z'd(„ Z(d)„ Z)d*„ Z*d+„ Z+d,„ Z,d-„ Z-d.„ Z.d/„ Z/d0„ Z0 G d1„ d2¦  «        Z1d3Z2e2d4z   Z3d5Z4d6„ Z5d7„ Z6d8„ Z7d9„ Z8d:„ Z9d;„ Z:ej;        j<        j=        d<„ ¦   «         Z>ej;        j<        j=        dd=œd>„¦   «         Z?dd?œd@„Z@dA„ ZAdGdB„ZBdC„ ZCdeC_        dD„ ZDdS )H)ÚpathsÚmodulesÚcheckÚcheck_extensionÚenableÚdisableÚdisable_allÚ	reset_allÚmodule_bl_infoÚextensions_refreshÚstale_pending_stage_pathsé    NFz.~stale~c                  ó  — t          ¦   «         D ]!} t          j                             | ¦  «         Œ"t	          ¦   «          t          ¦   «          t          j        D ]}t          |j	        d¬¦  «         Œt          ¦   «          d S )NT©Úrefresh_handled)r   Ú_bpyÚutilsÚ_sys_path_ensure_appendÚ$_stale_pending_check_and_remove_onceÚ!_initialize_extensions_repos_onceÚ_preferencesÚaddonsr   ÚmoduleÚ#_initialize_ensure_extensions_addon)ÚpathÚaddons     úQ/home/blender/git/blender-v430/install_release/4.3/scripts/modules/addon_utils.pyÚ_initialize_oncer   '   s�   € Ý‘”ð 1ð 1ˆÝŒ
×*Ò*¨4Ñ0Ô0Ð0Ð0å(Ñ*Ô*Ð*å%Ñ'Ô'Ð'åÔ$ð 
ð 
ˆÝØŒLà ð	
ñ 	
ô 	
ð 	
ð 	
õ (Ñ)Ô)Ð)Ð)Ð)ó    c                  óH  — dd l } g }t          t          j                             ¦   «         ¦  «        D ]o\  }}| j                             ||dk    rdnd¦  «        }| j                             |¦  «        r|                     |¦  «         ŒX|dk    rt          d|d¦  «         Œp|S )Nr   Úaddons_corer   zInternal error:zwas not found!)
ÚosÚ	enumerater   r   Úscript_pathsr   ÚjoinÚisdirÚappendÚprint)r!   r   ÚiÚpÚ	addon_dirs        r   r   r   9   s­   € Ø€I€I€Ià€EÝ�$œ*×1Ò1Ñ3Ô3Ñ4Ô4ð Bð B‰ˆˆ1ð ”G—L’L °Q¸!²V°V M MÀÑJÔJˆ	ØŒ7�=Š=˜Ñ#Ô#ð 	BØ�LŠL˜Ñ#Ô#Ð#Ð#Ø�!ŠVˆVÝÐ# YÐ0@ÑAÔAÐAøØ€Lr   c                  ó$  — dd l } d„ t          ¦   «         D ¦   «         }t          j        j        D ]a}|j        sŒ
|j        }| j                             |¦  «        sŒ,| 	                    |d 
                    t          |j        ¦  «        f¦  «         Œb|S )Nr   c                 ó   — g | ]}|d f‘ŒS )Ú © ©Ú.0r   s     r   ú
<listcomp>z/_paths_with_extension_repos.<locals>.<listcomp>W   s   € Ð2Ð2Ð2 $�D˜"�:Ð2Ð2Ð2r   z	{:s}.{:s})r!   r   r   Ú
extensionsÚreposÚenabledÚ	directoryr   r%   r&   ÚformatÚ_ext_base_pkg_idnamer   )r!   Úaddon_pathsÚrepoÚdirpaths       r   Ú_paths_with_extension_reposr;   T   s›   € à€I€I€IØ2Ð2­%©'¬'Ð2Ñ2Ô2€KÝÔ'Ô-ð ]ð ]ˆØŒ|ð 	ØØ”.ˆØŒw�}Š}˜WÑ%Ô%ð 	ØØ×Ò˜G [×%7Ò%7Õ8LÈdÌkÑ%ZÔ%ZÐ[Ñ\Ô\Ð\Ð\àÐr   Tc                 ó  — dd l }t          j        j        rt	          d|| ¦  «         |                      t          ¦  «        rt          | |¦  «        S dd l}t          |¦  «        }	 t          |dd¬¦  «        }n)# t          $ r}t	          d||¦  «         Y d }~d S d }~ww xY w|5  |�rJg }t          |¦  «        }	d}
|
                     d¦  «        s|	 |	                     ¦   «         }
n=# t          $ r0}t          sd	at	          d
||¦  «         Y d }~d d d ¦  «         d S d }~ww xY wt!          |
¦  «        dk    rn|
                     d¦  «        ¯||
                     ¦   «         r||                     |
¦  «         	 |	                     ¦   «         }
n=# t          $ r0}t          sd	at	          d
||¦  «         Y d }~d d d ¦  «         d S d }~ww xY w|
                     ¦   «         °|d                     |¦  «        }n|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   ~	 |                     ||¬¦  «        }nG# t,          $ r: t	          dt/          |¦  «        ¦  «         dd l}|                     ¦   «          d }Y nw xY wd }|rV|j        D ]N}|j        |j        k    r<t!          |j        ¦  «        dk    r$t=          |j        d         dd¦  «        dk    r|} nŒO|r‘	  || ¦  «        }|                     |j         ¦  «        |_!        ||_"        |j#         $                    |¦  «        |_%        n=#  t	          dt/          |¦  «        ¦  «         dd l}|                     ¦   «          Y d S xY w|S t	          dt/          |¦  «        ¦  «         d S )Nr   Úfake_moduleÚrzUTF-8)ÚencodingzError opening file:r-   Úbl_infoTzError reading file as UTF-8:)Úfilenamez$Syntax error 'ast.parse' can't read:é   ÚidzAST error parsing bl_info for:zDWarning: add-on missing 'bl_info', this can cause poor performance!:)&r!   r   ÚappÚdebug_pythonr'   Ú
startswithÚ_ext_base_pkg_idname_with_dotÚ_fake_module_from_extensionÚastÚtypeÚopenÚOSErrorÚiterÚreadlineÚUnicodeDecodeErrorÚerror_encodingÚlenÚrstripr&   r$   ÚreadÚparseÚ	ExceptionÚreprÚ	tracebackÚ	print_excÚbodyÚ	__class__ÚAssignÚtargetsÚgetattrÚliteral_evalÚvaluer@   Ú__file__r   ÚgetmtimeÚ__time__)Úmod_nameÚmod_pathÚspeedyr!   rI   Ú
ModuleTypeÚfile_modÚexÚlinesÚ	line_iterÚlÚdataÚast_datarW   Ú	body_inforY   Úmods                    r   Ú_fake_modulerp   c   s�  € à€I€I€Iå„xÔð 1Ýˆm˜X xÑ0Ô0Ð0à×ÒÕ8Ñ9Ô9ð ?Ý*¨8°XÑ>Ô>Ð>à€J€J€JÝ�c‘”€JðÝ˜ #°Ð8Ñ8Ô8ˆˆøÝð ð ð ÝÐ# X¨rÑ2Ô2Ð2Øˆtˆtˆtˆtˆtøøøøðøøøð 
ð #ð #Øñ 	#ØˆEÝ˜X™œˆIØˆAØ—l’l 9Ñ-Ô-ð 
ð Ø!×*Ò*Ñ,Ô,�A�AøÝ)ð  ð  ð  Ý)ð LØ)-˜ÝÐ<¸hÈÑKÔKÐKØ˜4˜4˜4ð#ð #ð #ñ #ô #ð #ð #ð #øøøøð øøøõ �q‘6”6˜Q’;�;Øð —l’l 9Ñ-Ô-ð 
ð —(’(‘*”*ð  Ø—’˜Q‘”�ð Ø!×*Ò*Ñ,Ô,�A�AøÝ)ð  ð  ð  Ý)ð LØ)-˜ÝÐ<¸hÈÑKÔKÐKØ˜4˜4˜4ð1#ð #ð #ñ #ô #ð #ð #ð #øøøøð( øøøð	 —(’(‘*”*ð  ð —7’7˜5‘>”>ˆDˆDð —=’=‘?”?ˆDð;#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð< 	ðØ—9’9˜T¨H�9Ñ5Ô5ˆˆøÝð ð ð ÝÐ4µd¸8±n´nÑEÔEÐEØÐÐÐØ×ÒÑÔÐØˆˆˆð	øøøð €Iàð Ø”Mð 	ð 	ˆDØŒ~ ¤Ò+Ð+Ý�t”|Ñ$Ô$¨Ò)Ð)Ý˜tœ|¨Aœ°°bÑ9Ô9¸YÒFÐFØ$(˜	Ø˜øàð ð		Ø�*˜XÑ&Ô&ˆCØ×*Ò*¨4¬:Ñ6Ô6ˆCŒKØ#ˆCŒLØœ7×+Ò+¨HÑ5Ô5ˆCŒLˆLøð	ÝÐ2µD¸±N´NÑCÔCÐCØÐÐÐØ×ÒÑ!Ô!Ð!Ø�4�4øøøàˆ
åÐTÕVZÐ[cÑVdÔVdÑeÔeÐeØˆts    Á%A8 Á8
BÂBÂBÂ#,HÃC%Ã$HÃ%
DÃ/DÄ	HÄDÄAHÅ5F
Æ	HÆ

GÆF?Æ.HÆ?GÇAHÈHÈHÈH6 È6AI:É9I:ËAL+ Ì+7M%©Úmodule_cachec           	      óN  — dd l }dat                               ¦   «          t	          |                      ¦   «         ¦  «        }t          ¦   «         D �]K\  }}t          j         	                    ||¬¦  «        D �]"\  }}| 
                    |¦  «         |                      |¦  «        }|�×|j        |k    rVt          d                     |j        |¦  «        ¦  «         t                               |j        d         |j        |f¦  «         nv|s&|j        |j                             |x}¦  «        k    rOn*|j        |j                             |j        x}¦  «        k    r$t          d|t+          |¦  «        d¦  «         | |= d }|€t-          ||¦  «        }|r|| |<   �Œ$�ŒM|D ]}	| |	= Œ~d S )Nr   F©Úpackagez1multiple addons with the same name:
  {!r}
  {!r}Únamezreloading addon meta-data:z(time-stamp change detected))r!   rP   Úerror_duplicatesÚclearÚsetÚkeysr;   r   r   Úmodule_namesÚdiscardÚgetr`   r'   r6   r&   r@   rb   ra   Ú__time_manifest__Ú__file_manifest__rV   rp   )
rr   r!   Úmodules_staler   Úpkg_idrc   rd   ro   Úmetadata_pathÚ	mod_stales
             r   Úmodules_refreshr„   ¹   sâ  € à€I€I€Ià€NÝ×ÒÑÔÐå˜×)Ò)Ñ+Ô+Ñ,Ô,€Må3Ñ5Ô5ð 1ñ 1‰ˆˆfÝ"&¤)×"8Ò"8¸ÀvÐ"8Ñ"NÔ"Nð 	1ñ 	1ÑˆH�hØ×!Ò! (Ñ+Ô+Ð+Ø×"Ò" 8Ñ,Ô,ˆCØˆØ”< 8Ò+Ð+Ýð!ç!'¢¨¬°hÑ!?Ô!?ñô ð õ
 %×+Ò+¨S¬[¸Ô-@À#Ä,ÐPXÐ,YÑZÔZÐZÐZð ^dðØœ¨¬×)9Ò)9È8Ð:S¸-Ñ)TÔ)TÒTÐTÐTàÔ.°"´'×2BÒ2BÐTWÔTiÐCiÀ=Ñ2jÔ2jÒjÐjåÐ6¸Å$À}ÑBUÔBUÐWuÑvÔvÐvØ$ XÐ.Ø�Càˆ{Ý"ØØñô �ð ð 1Ø-0�L Ñ*ùñ7	1ð< #ð $ð $ˆ	Ø˜Ð#Ð#Øˆˆr   )rr   Úrefreshc                 óf  — |s| t           u r“t          j        r‡t          | ¬¦  «         dt          _        t	          |                      ¦   «         ¦  «        }|                     d„ ¬¦  «         |                      ¦   «          |                      d„ |D ¦   «         ¦  «         |  	                    ¦   «         S )Nrq   Fc                 ó†   — | d         j                              d¦  «        p| d                              ¦   «         | d         fS )NrB   rv   r   )r@   r}   Úcasefold)Úitems    r   ú<lambda>zmodules.<locals>.<lambda>ð   s>   € °4¸´7´?×3FÒ3FÀvÑ3NÔ3NÐ3YÐRVÐWXÔRY×2cÒ2cÑ2eÔ2eÐgkÐlmÔgnÐ1o€ r   )Úkeyc              3   ó$   K  — | ]\  }}||fV — Œd S ©Nr.   ©r0   r‹   r_   s      r   ú	<genexpr>zmodules.<locals>.<genexpr>ò   s*   è è € ÐNÐN©Z¨S°%˜S %˜LÐNÐNÐNÐNÐNÐNr   )
Úaddons_fake_modulesr   Ú	_is_firstr„   ÚlistÚitemsÚsortrx   ÚupdateÚvalues)rr   r…   Úmodule_cache_itemss      r   r   r   æ   s¶   € Øð O�LÕ$7Ð7Ð7½WÔ=NÐ7Ý \Ð2Ñ2Ô2Ð2Ø!�Ôõ
 " ,×"4Ò"4Ñ"6Ô"6Ñ7Ô7Ðà×ÒÐ$oÐ$oÐÑpÔpÐpØ×ÒÑÔÐØ×ÒÐNÐNÐ;MÐNÑNÔNÑNÔNÐNà×ÒÑ Ô Ð r   c                 ó2  — ddl }| t          j        v }|j                             | ¦  «        }|duot          |dt          ¦  «        }|t          u r0t          d| dt          t          |dd¦  «        ¦  «        ¦  «         d}|rt          |d	d¦  «        rd
}||fS )zÎ
    Returns the loaded state of the addon.

    :arg module_name: The name of the addon and module.
    :type module_name: str
    :return: (loaded_default, loaded_state)
    :rtype: tuple[bool, bool]
    r   NÚ__addon_enabled__zWarning: addon-modulezVfound module but without '__addon_enabled__' field, possible name collision from file:r`   z	<unknown>FÚ__addon_persistent__T)	Úsysr   r   r   r}   r]   ÚEllipsisr'   rV   )Úmodule_namer›   Úloaded_defaultro   Úloaded_states        r   r   r   ú   sÃ   € ð €J€J€JØ ¥LÔ$7Ð7€Nà
Œ+�/Š/˜+Ñ
&Ô
&€Cà	�Dˆð 	4Ý�Ð(­(Ñ3Ô3ð ð
 •xÐÐÝØ# [ð 31õ •˜˜j¨+Ñ6Ô6Ñ7Ô7ñ		
ô 	
ð 	
ð ˆà
ð �w�sÐ2°EÑ:Ô:ð Øˆà˜<Ð'Ð'r   c                 ó6   — |                       t          ¦  «        S )z4
    Return true if the module is an extension.
    )rF   rG   ©r�   s    r   r   r     s   € ð ×!Ò!Õ"?Ñ@Ô@Ð@r   c                 ó†   — t           j        }|                     | ¦  «        }|s|                     ¦   «         }| |_        d S d S r�   )r   r   r}   Únewr   ©r�   r   r   s      r   Ú_addon_ensurer¥   &  sE   € ÝÔ €FØ�JŠJ�{Ñ#Ô#€EØð #Ø—
’
‘”ˆØ"ˆŒˆˆð#ð #r   c                 óŠ   — t           j        }| |v r2|                     | ¦  «        }|r|                     |¦  «         | |v °0d S d S r�   )r   r   r}   Úremover¤   s      r   Ú_addon_remover¨   .  sY   € ÝÔ €Fà
˜Ð
Ð
Ø—
’
˜;Ñ'Ô'ˆØð 	!Ø�MŠM˜%Ñ Ô Ð ð ˜Ð
Ð
Ð
Ð
Ð
Ð
r   )Údefault_setÚ
persistentr   Úhandle_errorc          
      óÆ  ‡— ddl }ddl}ddl}ddlm} |€d„ }|                      t          ¦  «        x}	r³|st          | g¬¦  «         t          r™t           	                    | t          t          ¦  «        d…                              d¦  «        ddd…         ¦  «        x}
rG	 t          d                     | |
¦  «        ¦  «        ‚# t          $ r} ||¦  «         Y d}~dS d}~ww xY w|j         	                    | ¦  «        }d}|��D|j        x}��:|j                             |¦  «        �rt%          |d	d
¦  «        r]	 |                     ¦   «          nG# t(          $ r:}t+          d|p| ¦  «          ||¦  «         |	r|st          ¦   «          Y d}~dS d}~ww xY wd
|_        t%          |dd¦  «        }|j                             |¦  «        }||k    ryt+          dt1          |¦  «        d¦  «         	 |                     |¦  «         n=# t(          $ r0} ||¦  «         |j        | = |	r|st          ¦   «          Y d}~dS d}~ww xY wd
|_        |rt5          | ¦  «          |¦   «         5  	 |                     | ¦  «        }|j        x}€3t9          d                     t%          |dd¦  «        ¦  «        | ¬¦  «        ‚|j                             |¦  «        |_        d
|_        �n„# t(          $ �rv}t=          |t8          ¦  «        �r|j        | k    r)d                     | tA          |¦  «        ¦  «        |_!        nè|	ræ|                      |j        dz   ¦  «        rÉ| t          t          ¦  «        d…          "                    d¦  «        d         ŠtG          ˆfd„tH          j%        j&        D ¦   «         d¦  «        }|€d                     | ‰¦  «        |_!        nK|j'        sd                     | ‰¦  «        |_!        n(d                     | tA          |¦  «        ¦  «        |_!         ||¦  «         |rtQ          | ¦  «         |	r|st          ¦   «          Y d}~ddd¦  «         dS d}~ww xY w|	rht%          |dd¦  «        }|�UtS          |¦  «        tT          u r=d|vr9tV          j,        j-        r(t+          d                     | t\          ¦  «        ¦  «         |`/ddl+m0}m1}  |¦   «         } || ¦  «         	 | 2                    ¦   «          nv# t(          $ ri}t+          d|p| ¦  «          ||¦  «         |j        | = |rtQ          | ¦  «         |	r|st          ¦   «          Y d}~ ||¦  «         ddd¦  «         dS d}~ww xY w	  ||¦  «         n#  ||¦  «         w xY w	 ddd¦  «         n# 1 swxY w Y   d|_        ||_3        tV          j,        j-        rt+          d|j4        ¦  «         |S )a@  
    Enables an addon by name.

    :arg module_name: the name of the addon and module.
    :type module_name: str
    :arg default_set: Set the user-preference.
    :type default_set: bool
    :arg persistent: Ensure the addon is enabled for the entire session (after loading new files).
    :type persistent: bool
    :arg refresh_handled: When true, :func:`extensions_refresh` must have been called with ``module_name``
       included in ``addon_modules_pending``.
       This should be used to avoid many calls to refresh extensions when enabling multiple add-ons at once.
    :type refresh_handled: bool
    :arg handle_error: Called in the case of an error, taking an exception argument.
    :type handle_error: Callable[[Exception], None] | None
    :return: the loaded module or None on failure.
    :rtype: ModuleType
    r   N)ÚRestrictBlendc                 óæ   — t          | t          ¦  «        rCt          | j        x}¦  «        t          u r&|                     d¦  «        rt          |¦  «         d S dd l}|                     ¦   «          d S )NzAdd-on r   )	Ú
isinstanceÚImportErrorrJ   ÚmsgÚstrrF   r'   rW   rX   )rh   r±   rW   s      r   r«   zenable.<locals>.handle_errorQ  st   € Ý˜"�kÑ*Ô*ð õ  ¤˜˜Ñ'Ô'­3Ð.Ð.°C·N²NÀ9Ñ4MÔ4MÐ.Ý˜#‘J”J�JØ�FØÐÐÐØ×ÒÑ!Ô!Ð!Ð!Ð!r   ©Úaddon_modules_pendingú.é   z%Extension {:s} is incompatible ({:s})r™   Fú!Exception in module unregister():rb   zmodule changed on disk:zreloading...z?module loaded with no associated file, __path__={!r}, aborting!Ú__path__)rv   z&Add-on not loaded: "{:s}", cause: {:s}c              3   ó2   •K  — | ]}|j         ‰k    ¯|V — Œd S r�   ©r   )r0   r9   Úrepo_ids     €r   r�   zenable.<locals>.<genexpr>È  s0   øè è € ÐbÐb $È4Ì;ÐZaÒKaÐKa˜ÐKaÐKaÐKaÐKaÐbÐbr   zKAdd-on not loaded: "{:s}", cause: extension repository "{:s}" doesn't existzIAdd-on not loaded: "{:s}", cause: extension repository "{:s}" is disabledr@   Ú_initzFAdd-on "{:s}" has a "bl_info" which will be ignored in favor of "{:s}")Ú_bl_owner_id_getÚ_bl_owner_id_setzException in module register():Tz	addon_utils.enable)5r!   r›   Ú	importlibÚbpy_restrict_stater­   rF   rG   r   Ú_extensions_incompatibler}   rQ   Ú	partitionÚRuntimeErrorr6   r   r`   r   Úexistsr]   Ú
unregisterrU   r'   r™   ra   rV   Úreloadr¥   Úimport_moduler°   rb   r¯   rv   r²   r±   Ú
rpartitionÚnextr   r2   r3   r4   r¨   rJ   Údictr   rD   rE   Ú_ext_manifest_filename_tomlr@   r½   r¾   Úregisterrš   Ú__name__)r�   r©   rª   r   r«   r!   r›   r¿   r­   Úis_extensionÚerrorrh   ro   Úmod_fileÚ
mtime_origÚ	mtime_newr9   r@   r½   r¾   Úowner_id_prevr»   s                        @r   r   r   7  sÿ  ø€ ð( €I€I€IØ€J€J€JØÐÐÐØ0Ð0Ð0Ð0Ð0Ð0àÐð		"ð 		"ð 		"ð $×.Ò.Õ/LÑMÔMÐMˆð  Øð 	DÝ°k°]ÐCÑCÔCÐCõ $ð 
	 Ý1×5Ò5Ø¥Õ$AÑ BÔ BÐ CÐ CÔD×NÒNÈsÑSÔSÐTUÐTXÐWXÐTXÔYñô ð �ð 	 ð Ý&Ð'N×'UÒ'UÐVaÐchÑ'iÔ'iÑjÔjÐjøÝ#ð  ð  ð  Ø �L Ñ$Ô$Ð$ð  ˜4˜4˜4˜4˜4øøøøð	 øøøð Œ+�/Š/˜+Ñ
&Ô
&€Cð €Hð ‰_ØœÐ%ˆXÑ2ØŒG�NŠN˜8Ñ$Ô$ñ 3õ �3Ð+¨UÑ3Ô3ð 	ð
Ø—’Ñ Ô Ð Ð øÝð ð ð ÝÐ9¸HÐ<SÈÑUÔUÐUØ�˜RÑ Ô Ð Øð )¨ð )Ý&Ñ(Ô(Ð(Ø�t�t�t�t�tøøøøðøøøð !&ˆÔÝ˜S *¨aÑ0Ô0ˆ
Ø”G×$Ò$ XÑ.Ô.ˆ	Ø˜Ò"Ð"ÝÐ+­T°(©^¬^¸^ÑLÔLÐLðØ× Ò  Ñ%Ô%Ð%Ð%øÝð ð ð Ø�˜RÑ Ô Ð Ø”K Ð,àð )¨ð )Ý&Ñ(Ô(Ð(Ø�t�t�t�t�tøøøøðøøøð %*ˆCÔ!ð ð #Ý�kÑ"Ô"Ð"ð 
ˆ‰Œð d,ð d,ð8	ð ×)Ò)¨+Ñ6Ô6ˆCØœLÐ(�Ð1õ "ØU×\Ò\Ý  Z°Ñ6Ô6ñô ð %ð	ñ ô ð ð œ7×+Ò+¨HÑ5Ô5ˆCŒLØ$)ˆCÔ!Ñ!øÝð %	ñ %	ð %	õ ˜"�kÑ*Ô*ñ iØ”7˜kÒ)Ð)ØG×NÒNÈ{Õ\_Ð`bÑ\cÔ\cÑdÔd�B”F�Fð "ð i k×&<Ò&<¸R¼WÀs¹]Ñ&KÔ&Kð iØ)­#Õ.KÑ*LÔ*LÐ*MÐ*MÔN×YÒYÐZ]Ñ^Ô^Ð_`Ôa�GÝØbÐbÐbÐb­,Ô*AÔ*GÐbÑbÔbØñô �Dð �|àm×tÒtØ +¨Wñô ð œ˜ð
 "œ\ð iàk×rÒrØ +¨Wñô ð œ˜ð "L×!RÒ!RÐS^Õ`cÐdfÑ`gÔ`gÑ!hÔ!h˜œàˆL˜ÑÔÐàð +Ý˜kÑ*Ô*Ð*Øð % Oð %Ý"Ñ$Ô$Ð$Ø�4�4�4ðwd,ð d,ð d,ñ d,ô d,ð d,ð d,ð d,øøøøð,%	øøøðN ð 	 õ ˜c 9¨dÑ3Ô3ˆGØÐ"å˜‘=”=¥DÐ(Ð(¨W¸GÐ-CÐ-Cõ ”xÔ,ð ÝØj×qÒqØ +Õ-Hñô ñô ð ð �Kð
 	<Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø(Ð(Ñ*Ô*ˆØÐ˜Ñ%Ô%Ð%ð	,Ø�LŠL‰NŒNˆNˆNøÝð 	ð 	ð 	ÝÐ3°hÐ6MÀ+ÑOÔOÐOØˆL˜ÑÔÐØ”˜KÐ(Øð +Ý˜kÑ*Ô*Ð*Øð % Oð %Ý"Ñ$Ô$Ð$Ø�4�4�4àÐ˜]Ñ+Ô+Ð+ðId,ð d,ð d,ñ d,ô d,ð d,ð d,ð d,øøøøðt	øøøð ð Ð˜]Ñ+Ô+Ð+Ð+øÐÐ˜]Ñ+Ô+Ð+Ð+øøøÐ+ðId,ð d,ð d,ñ d,ô d,ð d,ð d,ð d,ð d,ð d,ð d,øøøð d,ð d,ð d,ð d,ðN !€CÔØ)€CÔå„xÔð 4ÝÐ$ c¤lÑ3Ô3Ð3à€JsÊ   Â"#C Ã
C%ÃC Ã C%Ä>E Å
FÅ/FÆFÇ1H È
IÈ%H<È<IÉ&V"É(A7K!ËV"Ë!Q"Ë,E QÑV"ÑQ"Ñ"B
V"Ó-TÔVÔ
U5ÔAU0ÕVÕV"Õ0U5Õ5VÕ9V"ÖVÖV"Ö"V&Ö)V&)r©   r   r«   c                ó6  — ddl }|€d„ }|j                             | ¦  «        }|rˆt          |dd¦  «        durud|_        d|_        	 |                     ¦   «          nx# t          $ rD}t          |d| ¦  «        }t          dt          |¦  «        ¦  «         ~ ||¦  «         Y d}~n/d}~ww xY wt          d 
                    | |€d	nd
¦  «        ¦  «         |rt          | ¦  «         |st          ¦   «          t          j        j        rt          d| ¦  «         dS dS )aS  
    Disables an addon by name.

    :arg module_name: The name of the addon and module.
    :type module_name: str
    :arg default_set: Set the user-preference.
    :type default_set: bool
    :arg handle_error: Called in the case of an error, taking an exception argument.
    :type handle_error: Callable[[Exception], None] | None
    r   Nc                 ó6   — dd l }|                     ¦   «          d S ©Nr   )rW   rX   )Ú_exrW   s     r   r«   zdisable.<locals>.handle_error$  s&   € ØÐÐÐØ×ÒÑ!Ô!Ð!Ð!Ð!r   r™   Fr`   r·   z"addon_utils.disable: {:s} not {:s}Úloadedr4   z	addon_utils.disable)r›   r   r}   r]   r™   rš   rÅ   rU   r'   rV   r6   r¨   r   r   rD   rE   )r�   r©   r   r«   r›   ro   rh   rd   s           r   r   r     sx  € ð €J€J€JàÐð	"ð 	"ð 	"ð Œ+�/Š/˜+Ñ
&Ô
&€Cð
 ð 
�w�sÐ/°Ñ7Ô7¸uÐDÐDØ %ˆÔØ#(ˆÔ ð	Ø�NŠNÑÔÐÐøÝð 	ð 	ð 	Ý˜s J°Ñ<Ô<ˆHÝÐ5µt¸H±~´~ÑFÔFÐFØØˆL˜ÑÔÐÐÐÐÐÐøøøøð		øøøõ 	Ø0×7Ò7ØØ˜K��¨Yñô ñ	
ô 	
ð 	
ð ð #Ý�kÑ"Ô"Ð"àð ÝÑÔÐå„xÔð 4ÝÐ% {Ñ3Ô3Ð3Ð3Ð3ð4ð 4s   ÁA Á
B+Á':B&Â&B+)Úreload_scriptsc                 ó6  — ddl }dt          _        t                               ¦   «          t          ¦   «          t          ¦   «         D ]Ò\  }}|st          j         	                    |¦  «         t          j
                             ||¬¦  «        D ]Š\  }}t          |¦  «        \  }}| r5ddl}|j                             |¦  «        }	|	r|                     |	¦  «         ||k    rŒU|rt!          |d¬¦  «         Œi|rt#          d|¦  «         t%          |¦  «         Œ‹ŒÓdS )z=
    Sets the addon state based on the user preferences.
    r   NTrt   r   z 	addon_utils.reset_all unloading)r›   r   r‘   r�   rx   r   r;   r   r   r   r   r{   r   r¿   r}   rÆ   r   r'   r   )
rÙ   r›   r   r�   rc   Ú	_mod_pathÚ
is_enabledÚ	is_loadedr¿   ro   s
             r   r	   r	   K  sO  € ð €J€J€Jð …GÔÝ×ÒÑÔÐõ ÑÔÐå3Ñ5Ô5ð "ð "‰ˆˆfØð 	5ÝŒJ×.Ò.¨tÑ4Ô4Ð4å#'¤9×#9Ò#9¸$ÈÐ#9Ñ#OÔ#Oð 	"ð 	"ÑˆH�iÝ$)¨(¡O¤OÑ!ˆJ˜	ð ð *Ø Ð Ð Ð Ø”k—o’o hÑ/Ô/�Øð *Ø×$Ò$ SÑ)Ô)Ð)à˜YÒ&Ð&ØØð "Ý�x°Ð6Ñ6Ô6Ð6Ð6Øð "ÝÐ9¸8ÑDÔDÐDÝ˜Ñ!Ô!Ð!øð!	"ð	"ð "r   c                  óÖ   ‡— dd l } | j                             ¦   «         }ˆfd„|                     ¦   «         D ¦   «         }|D ]'\  }}t	          |dd¦  «        rt          |d¬¦  «         Œ(d S )Nr   c           	      ó˜   •— g | ]F}t          t          |d          dd¦  «        xŠ¦  «        t          u ¯/‰                     d¦  «        ¯D|‘ŒGS )rB   Ú__dict__Nr™   )rJ   r]   rÊ   r}   )r0   r‰   Úmod_dicts     €r   r1   zdisable_all.<locals>.<listcomp>€  sa   ø€ ð ð ð ØÝ�G D¨¤G¨Z¸Ñ>Ô>Ð>�Ñ?Ô?Å4ÐGÐGØ�<Š<Ð+Ñ,Ô,ð Hð 	ØGÐGÐGr   r™   FTr   )r›   r   Úcopyr“   r]   r   )r›   r   Úaddon_modulesrc   ro   rá   s        @r   r   r   p  s™   ø€ Ø€J€J€Jð Œk×ÒÑ Ô €Gðð ð ð Ø Ÿš™œðñ ô €Mð 'ð 4ð 4‰ˆ�#Ý�3Ð+¨UÑ3Ô3ð 	4Ý�H¨dÐ3Ñ3Ô3Ð3øð4ð 4r   c                  ó„   —  dj         t          j                             ¦   «         gt          j        j        d d…         ¢R Ž S )Nz.https://docs.blender.org/manual/{:s}/{:d}.{:d}r¶   )r6   r   r   Úmanual_language_coderD   Úversionr.   r   r   Ú_blender_manual_url_prefixrç   Œ  sF   € ØBÐ;ÔBÝŒ
×'Ò'Ñ)Ô)ðå	ŒÔ	˜"˜1˜"Ô	ðð ð ð r   c                  ó   — ddddddddddddœS )Nr-   r.   Ú	COMMUNITYF)rv   Úauthorræ   ÚblenderÚlocationÚdescriptionÚdoc_urlÚsupportÚcategoryÚwarningÚshow_expandedr.   r.   r   r   Ú_bl_info_basisró   “  s2   € àØØØØØØØØØØðð ð r   )Ú
info_basisc                óþ  — |€t          ¦   «         }t          | di ¦  «        }d|v r|S |sW| j                             t          ¦  «        r1t          | j        | j        ¦  «        \  }}|€t          d|¦  «         i }|| _        | 	                    ¦   «         D ]\  }}| 
                    ||¦  «         Œ|d         s
| j        |d<   |d         }|r+d}||v r%|                     |t          ¦   «         ¦  «        |d<   d |d<   |S )Nr@   r¼   z0module_bl_info: failed to extract meta-data fromrv   rî   z{BLENDER_MANUAL_URL})ró   r]   rÍ   rF   rG   Ú_bl_info_from_extensionr`   r'   r@   r“   Ú
setdefaultÚreplacerç   )ro   rô   Ú
addon_infoÚfilepath_tomlr‹   r_   rî   Údoc_url_prefixs           r   r
   r
   £  s<  € ØÐÝ#Ñ%Ô%ˆ
å˜˜i¨Ñ,Ô,€Jð �*ÐÐØÐàð 	!ØŒ<×"Ò"Õ#@ÑAÔAð 	 Ý(?ÀÄÈcÌlÑ([Ô([Ñ%ˆJ˜ØÐ!åÐHÈ-ÑXÔXÐXà�
à ˆŒà ×&Ò&Ñ(Ô(ð *ð *‰
ˆˆUØ×Ò˜c 5Ñ)Ô)Ð)Ð)à�fÔð *Ø œ\ˆ
�6Ñà˜Ô#€GØð Ø/ˆØ˜WÐ$Ð$Ø$+§O¢OØÝ*Ñ,Ô,ñ%ô %ˆJ�yÑ!ð
 €JˆwÑØÐr   c                  óz   — dd l } | j                             t          j                             d¦  «        d¦  «        S )Nr   ÚCONFIGzstale-pending)r!   r   r$   r   r   Úuser_resource)r!   s    r   Ú_stale_pending_filepathrÿ   ß  s3   € ð €I€I€IØŒ7�<Š<�œ
×0Ò0°Ñ:Ô:¸OÑLÔLÐLr   c                 ó„  — dd l }t          ¦   «         }|j                             |¦  «        }|j                             |¦  «        rd S 	 |                     |d¬¦  «         t          |d¦  «        5 }	 d d d ¦  «         d S # 1 swxY w Y   d S # t          $ r(}t          dt          |¦  «        ¦  «         Y d }~d S d }~ww xY w)Nr   T©Úexist_okÚwbz"Unable to set stale files pending:)
r!   rÿ   r   ÚdirnamerÄ   ÚmakedirsrK   rU   r'   r²   )Údebugr!   Ústale_pending_filepathr:   Ú_rh   s         r   Ú_stale_pending_stager	  æ  s  € Ø€I€I€Iå4Ñ6Ô6ÐØŒg�oŠoÐ4Ñ5Ô5€Gà	„w‡~‚~Ð,Ñ-Ô-ð Øˆð=Ø
�Š�G dˆÑ+Ô+Ð+ÝÐ(¨$Ñ/Ô/ð 	°1Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	øåð =ð =ð =ÝÐ2µC¸±G´GÑ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<øøøøð=øøøs<   Á
'B Á1B Á3B Â BÂB ÂBÂB Â
B?ÂB:Â:B?c               #   óš  K  — dd l } t          j        j        D ]}|j        sŒ
|j        dk    rŒ|j        V — Œ t          ¦   «         dd …         E d {V —† | j         	                    t          j                             d¦  «        d¦  «        V — t          j                             d| j         	                    dd¦  «        d	¬
¦  «        V — d S )Nr   ÚSYSTEMrB   Ú
EXTENSIONSú.localÚSCRIPTSÚstartupÚbl_app_templates_userF)r   Úcreate)r!   r   r2   r3   r4   Úsourcer5   r   r   r$   r   r   rþ   )r!   r9   s     r   Ú_stale_file_directory_iterr  ÷  sõ   è è € Ø€I€I€IåÔ'Ô-ð ð ˆØŒ|ð 	ØØŒ;˜(Ò"Ð"ØØŒnÐÐÐÐõ ‰wŒw�q�r�rŒ{ÐÐÐÐÐÐÐð Œ'�,Š,•t”z×/Ò/°Ñ=Ô=¸xÑ
HÔ
HÐHÐHÐHõ Œ*×
"Ò
"ØØŒW�\Š\˜)Ð%<Ñ=Ô=Øð #ñ ô ð ð ð ð ð r   c                  ód  — dd l } t          ¦   «         }| j                             |¦  «        sd S ddlm} t          j        j        }d}t          ¦   «         D �]}| j                             | j         
                    |t          ¦  «        ¦  «        sŒ<	  ||t          |¬¦  «        }|                     d¬¦  «         |                     ¦   «         s*|                     ¦   «          |                     ¦   «         sd}|                     ¦   «         r|                     d¬¦  «         ŒÏ# t"          $ r'}t%          dt'          |¦  «        ¦  «         Y d }~Œûd }~ww xY w|rU	 |                      |¦  «         d S # t"          $ r0}|r#t%          dt'          |¦  «        ¦  «         Y d }~d S Y d }~d S d }~ww xY wd S )	Nr   ©Ú
StaleFilesT©Úbase_directoryÚstale_filenamer  )Úcheck_existsFz7Unexpected error clearing stale data, this is is a bug!z$Failed to remove stale-pending file:)r!   rÿ   r   rÄ   Ú+_bpy_internal.extensions.stale_file_managerr  r   rD   rE   r  r$   Ú_stale_filenameÚ
state_loadÚis_emptyÚstate_remove_allÚis_modifiedÚstate_storerU   r'   r²   r§   )r!   r  r  r  r  r:   Ústale_handlerh   s           r   r   r     s;  € à€I€I€IÝ4Ñ6Ô6ÐØŒ7�>Š>Ð0Ñ1Ô1ð Øˆð GÐFÐFÐFÐFÐFÝŒHÔ!€Eð €Hå-Ñ/Ô/ð Vñ VˆØŒw�~Š~˜bœgŸlšl¨7µOÑDÔDÑEÔEð 	Øð	VØ%˜:Ø&Ý.Øðñ ô ˆLð
 ×#Ò#°Ð#Ñ6Ô6Ð6Ø×(Ò(Ñ*Ô*ð %Ø×-Ò-Ñ/Ô/Ð/Ø#×,Ò,Ñ.Ô.ð %Ø$�HØ×'Ò'Ñ)Ô)ð =Ø×(Ò(°eÐ(Ñ<Ô<Ð<øøÝð 	Vð 	Vð 	VÝÐKÍSÐQSÉWÌWÑUÔUÐUÐUÐUÐUÐUÐUøøøøð	Vøøøð ð Gð	GØ�IŠIÐ,Ñ-Ô-Ð-Ð-Ð-øÝð 	Gð 	Gð 	GØð GÝÐ<½cÀ"¹g¼gÑFÔFÐFÐFÐFÐFÐFÐFÐFðGð Gð Gð Gð Gð Gøøøøð	GøøøðGð Gs1   ÂBD%Ä%
EÄ/EÅEÅE3 Å3
F-Å=F(Æ(F-c                 ó¨   — ddl m} t          j        j        } || t
          |¬¦  «        }|                     |¬¦  «        rt          |¦  «         d S d S ©Nr   r  r  )r   )r  r  r   rD   rE   r  Ústate_load_add_and_storer	  ©Ú	path_baser   r  r  r"  s        r   r   r   :  sy   € ð
 GÐFÐFÐFÐFÐFåŒHÔ!€Eà�:Ø Ý&Øðñ ô €Lð ×,Ò,°5Ð,Ñ9Ô9ð $å˜UÑ#Ô#Ð#Ð#Ð#ð$ð $r   c                 óŠ   — ddl m} t          j        j        } || t
          |¬¦  «        }|                     |¬¦  «        rd S d S r$  )r  r  r   rD   rE   r  Ústate_load_remove_and_storer&  s        r   Ústale_pending_remove_pathsr*  N  si   € àFÐFÐFÐFÐFÐFåŒHÔ!€Eà�:Ø Ý&Øðñ ô €Lð ×/Ò/°eÐ/Ñ<Ô<ð ð 	ˆðð r   c                 óœ   — dd l }dd l}|                     | d¦  «        5 }|                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   |S )Nr   Úrb)ÚpickleÚgzipÚGzipFileÚload)Úfilepathr-  r.  Úfhrl   s        r   Ú_pickle_zlib_file_readr3  †  sŽ   € Ø€M€M€MØ€K€K€Kà	�Š�x Ñ	&Ô	&ð ¨"Ø�{Š{˜2‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à€Ks   ŸAÁAÁAÚreturnc                 ó¤   — dd l }dd l}|                     | dd¬¦  «        5 }|                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r  é	   )Úcompresslevel)r-  r.  r/  Údump)r1  rl   r-  r.  r2  s        r   Ú_pickle_zlib_file_writer9  �  s¡   € Ø€M€M€MØ€K€K€Kà	�Š�x °QˆÑ	7Ô	7ð ¸2Ø�Š�D˜"ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¡AÁA	ÁA	c                  ó8   — d„ t           j        j        D ¦   «         S )Nc                 ó6   — i | ]}|j         ¯	|j        |j        “ŒS r.   )r4   r   r5   ©r0   r9   s     r   ú
<dictcomp>z<_extension_repos_module_to_directory_map.<locals>.<dictcomp>˜  s'   € ÐbÐbÐb¨DÐUYÔUaÐbˆDŒK˜œÐbÐbÐbr   )r   r2   r3   r.   r   r   Ú(_extension_repos_module_to_directory_mapr>  —  s   € ØbÐbµLÔ4KÔ4QÐbÑbÔbÐbr   c           	      óR  — |                       d¦  «        |k    r|� |d¦  «         dS |                       dg ¦  «        }t          |¦  «        t          |¦  «        k    r=|�9 |d                     t          |¦  «        t          |¦  «        ¦  «        ¦  «         dS ddlm} ddlm} t          ¦   «         }|D ]î\  }}	}
}||	f|vr$|� |d	                     ||	¦  «        ¦  «          dS |                      |d
¦  «        x}r |||	t          ¦  «        }nd
}|r	  ||¦  «        }n# t          $ r d }Y nw xY wd }|€d}d}n|j
        }|j        }|
|k    r&|�! |d                     ||	|
|¦  «        ¦  «          dS ||k    r&|�! |d                     ||	||¦  «        ¦  «          dS ŒïdS )Nrë   zblender changedTÚ
filesystemzlength changes ({:d} -> {:d}).r   )Ústat©r$   z"{:s}.{:s}" no longer enabled.r-   z("{:s}.{:s}" time changed ({:g} -> {:g}).z("{:s}.{:s}" size changed ({:d} -> {:d}).F)r}   rQ   r6   r!   rA  Úos.pathr$   r>  rË   rU   Úst_mtimeÚst_size)Ú
cache_dataÚ
blender_idÚextensions_enabledÚprint_debugÚcache_filesystemrA  r$   Úrepos_module_to_directory_mapÚrepo_moduler�   Úcache_stat_timeÚcache_stat_sizeÚrepo_directoryÚpkg_manifest_filepathÚstatinfoÚ	test_timeÚ	test_sizes                    r   Ú%_extension_compat_cache_update_neededrT  ›  s~  € ð ‡~‚~�iÑ Ô  JÒ.Ð.ØÐ"ØˆKÐ)Ñ*Ô*Ð*Øˆtð "—~’~ l°BÑ7Ô7Ðõ ÐÑÔ¥Ð$6Ñ 7Ô 7Ò7Ð7ØÐ"ØˆKÐ8×?Ò?ÅÐDTÑ@UÔ@UÕWZÐ[mÑWnÔWnÑoÔoÑpÔpÐpØˆtàÐÐÐÐÐØÐÐÐÐÐÝ$LÑ$NÔ$NÐ!àAQð )ð )Ñ=ˆ�V˜_¨oØ˜Ð Ð(:Ð:Ð:ØÐ&Ø�Ð>×EÒEÀkÐSYÑZÔZÑ[Ô[Ð[Ø�4�4à:×>Ò>¸{ÈBÑOÔOÐOˆ>ð 	'Ø$( D¨¸ÕA\Ñ$]Ô$]Ð!Ð!à$&Ð!ð
 !ð 	ð Ø˜4Ð 5Ñ6Ô6��øÝð  ð  ð  Ø���ð øøøð ˆHàÐØˆIØˆIˆIà Ô)ˆIØ Ô(ˆIð ˜iÒ'Ð'ØÐ&Ø�ÐH×OÒOØ ¨¸)ñô ñ ô ð ð �4�4Ø˜iÒ'Ð'ØÐ&Ø�ÐH×OÒOØ ¨¸)ñô ñ ô ð ð �4�4ð (ð ˆ5s   ÄD%Ä%D4Ä3D4c                 ó  — dd l }ddlm} g }i }| ||dœ}t          ¦   «         }	d }
|D �]c\  }}|	                     |d¦  «        x}r |||t
          ¦  «        }n"d}|� |d                     |¦  «        ¦  «         |rI	 |                     |¦  «        }n4# t          $ r% d }|� |d                     |¦  «        ¦  «         Y nw xY wd }|€d}d}n£|j	        }|j
        }|
€pdd l}
t          |
dd¦  «        dk    rW	 |j                             |
j        ¦  «        |
_        n1# t          $ r$}|� |t#          |¦  «        ¦  «         Y d }~nd }~ww xY w|
                     |||||¦  «        x}	 �||||f<   |                     ||||f¦  «         �Œe|S )	Nr   rB  )rë   r@  Úincompatibler-   z&directory for module "{:s}" not found!zunable to find "{:s}"g        rb   )r!   rC  r$   r>  r}   rË   r6   rA  rU   rD  rE  Úbl_pkgr]   r   ra   r`   rb   r²   Ú,manifest_compatible_with_wheel_data_or_errorr&   )rG  rH  Ú
wheel_listrI  r!   r$   r@  rV  rF  rK  rW  rL  r�   rO  rP  rQ  rR  rS  rh   rÏ   s                       r   Ú_extension_compat_cache_createrZ  æ  sY  € ð €I€I€IØÐÐÐÐÐà€JØ€Lð Ø Ø$ðð €Jõ %MÑ$NÔ$NÐ!ð €Fà1ð /Gñ /GÑˆ�VØ:×>Ò>¸{ÈBÑOÔOÐOˆ>ð 	\Ø$( D¨¸ÕA\Ñ$]Ô$]Ð!Ð!à$&Ð!ØÐ&Ø�ÐF×MÒMÈkÑZÔZÑ[Ô[Ð[à ð 	ðYØŸ7š7Ð#8Ñ9Ô9��øÝð Yð Yð YØ�ØÐ*Ø�KÐ 9× @Ò @ÐAVÑ WÔ WÑXÔXÐXøøðYøøøð
 ˆHàÐØˆIØˆIˆIà Ô)ˆIØ Ô(ˆIð ˆ~ð ���Ý˜6 :¨qÑ1Ô1°QÒ6Ð6ð1Ø*,¬'×*:Ò*:¸6¼?Ñ*KÔ*K˜œ˜øÝ$ð 1ð 1ð 1Ø&Ð2Ø'˜K­¨B©¬Ñ0Ô0Ð0øøøøøøøøøð1øøøð  ×LÒLØ)ØØØ"Øñô ð �ð ðð 7<�˜k¨6Ð2Ñ3à×Ò˜;¨°	¸9ÐEÑFÔFÐFÑFàÐs*   Á=BÂ,CÃCÃ8$DÄ
EÄ'EÅEc                 ó  — dd l }dd l}dd l}d}g }d}t          j        j        |                     ¦   «         |                     ¦   «         |j        dd…         |f}	|j	         
                    | dd¦  «        }
|j	                             |
¦  «        rY	 t          |
¦  «        }nW# t          $ r;}d }t          d                     t!          |¦  «        ¦  «        ¦  «         Y d }~nd }~ww xY wd }|� |d¦  «         |�O	 t#          ||	||¦  «        rd }n9# t          $ r, t          d¦  «         dd l}|                     ¦   «          d }Y nw xY w|€©t)          |	|||¦  «        }	 |                     |j	                             |
¦  «        d	¬
¦  «         t/          |
|¦  «         |� |d¦  «         nF# t          $ r9}t          d                     t!          |¦  «        ¦  «        ¦  «         Y d }~nd }~ww xY wd	}n|� |d¦  «         |d         a||fS )Nr   Fr¶   z.cachez
compat.datz4Extensions: reading cache failed ({:s}), creating...zdoesn't exist, creating...zKExtension: unexpected error reading cache, this is is a bug! (regenerating)Tr  zupdate written to disk.z(Extensions: writing cache failed ({:s}).zup to date.rV  )r!   Úplatformr›   r   rD   ræ   ÚsystemÚmachineÚversion_infor   r$   rÄ   r3  rU   r'   r6   r²   rT  rW   rX   rZ  r  r  r9  rÁ   )Úextensions_directoryrH  rI  r!   r\  r›   ÚupdatedrY  Úmagic_numberrG  Úfilepath_compatrF  rh   rW   s                 r   Ú/_initialize_extensions_compat_ensure_up_to_daterd  1  s¢  € Ø€I€I€IØ€O€O€OØ€J€J€Jð €GØ€Jð €Lå”(Ô" H§O¢OÑ$5Ô$5°x×7GÒ7GÑ7IÔ7IÈ3ÔK[Ð\]Ð^_Ð\_ÔK`ÐbnÐo€Jà”g—l’lÐ#7¸À<ÑPÔP€Oð 
„w‡~‚~�oÑ&Ô&ð 6ð	ZÝ/°Ñ@Ô@ˆJˆJøÝð 	Zð 	Zð 	ZØˆJõ ÐH×OÒOÕPSÐTVÑPWÔPWÑXÔXÑYÔYÐYÐYÐYÐYÐYÐYøøøøð	Zøøøð ˆ
ØÐ"ØˆKÐ4Ñ5Ô5Ð5àÐð
	Ý4°ZÀÐM_ÐalÑmÔmð "Ø!�
øøÝð 	ð 	ð 	ÝÐ_Ñ`Ô`Ð`ØÐÐÐØ×ÒÑ!Ô!Ð!ØˆJˆJˆJð		øøøð ÐÝ3°JÐ@RÐT^Ð`kÑlÔlˆ
ð	NØ�KŠK˜œŸš¨Ñ8Ô8À4ˆKÑHÔHÐHÝ# O°ZÑ@Ô@Ð@ØÐ&Ø�Ð5Ñ6Ô6Ð6øøÝð 	Nð 	Nð 	NåÐ<×CÒCÅCÈÁGÄGÑLÔLÑMÔMÐMÐMÐMÐMÐMÐMøøøøð	Nøøøð ˆˆàÐ"ØˆK˜Ñ&Ô&Ð&à)¨.Ô9Ðà�JÐÐsC   ÂB! Â!
C&Â+1C!Ã!C&Ã;D Ä3EÅEÅAF+ Æ+
G.Æ5/G)Ç)G.c                 ód   — dd l }t          |j                             | d¦  «        ||¬¦  «         d S )Nr   r  )Ú	local_dirrY  r  )r!   Ú_extension_sync_wheelsr   r$   )r`  rY  r  r!   s       r   Ú6_initialize_extensions_compat_ensure_up_to_date_wheelsrh  {  sF   € Ø€I€I€IÝØ”'—,’,Ð3°XÑ>Ô>ØØðñ ô ð ð ð r   c                ón  — t                                ¦   «          t          ¦   «         }t          t          ¦  «        }t
          j        D ]Q}|j        }t          |¦  «        r9| 	                    ||d …          
                    d¦  «        dd d…         ¦  «         ŒR|�M|D ]J}t          |¦  «        r9| 	                    ||d …          
                    d¦  «        dd d…         ¦  «         ŒKt          j        j        }|rd„ nd }	|r|s|	� |	d¦  «         d S 	 t          | ||	¦  «        \  }
}n9# t          $ r, t!          d¦  «         dd l}|                     ¦   «          d}
Y nw xY w|rN|
rN	 t'          | ||¦  «         d S # t          $ r+ t!          d¦  «         dd l}|                     ¦   «          Y d S w xY wd S d S )	Nrµ   r   r¶   c                  ó"   — t          dg| ¢R i |¤ŽS )NzExtension version cache:)r'   )ÚargsÚkwargss     r   rŠ   z4_initialize_extensions_compat_data.<locals>.<lambda>   s    € ­5Ð1KÐ+]ÈdÐ+]Ð+]Ð+]ÐV\Ð+]Ð+]€ r   z#no extensions, skipping cache data.z>Extension: unexpected error detecting cache, this is is a bug!Fz>Extension: unexpected error updating wheels, this is is a bug!)rÁ   rx   ry   rQ   rG   r   r   r   r   ÚaddrÂ   r   rD   rE   rd  rU   r'   rW   rX   rh  )r`  Úensure_wheelsr´   Úuse_startup_fastpathrH  Úextensions_prefix_lenr   r�   r  rI  ra  rY  rW   s                r   Ú"_initialize_extensions_compat_datarq  „  s]  € õ ×"Ò"Ñ$Ô$Ð$õ ™œÐÝÕ =Ñ>Ô>ÐÝÔ$ð ]ð ]ˆØ”lˆÝ˜;Ñ'Ô'ð 	]Ø×"Ò" ;Ð/DÐ/EÐ/EÔ#F×#PÒ#PÐQTÑ#UÔ#UÐVWÐVZÐYZÐVZÔ#[Ñ\Ô\Ð\øàÐ(Ø0ð 	að 	aˆKÝ˜{Ñ+Ô+ð aØ"×&Ò& {Ð3HÐ3IÐ3IÔ'J×'TÒ'TÐUXÑ'YÔ'YÐZ[ÐZ^Ð]^ÐZ^Ô'_Ñ`Ô`Ð`øåŒHÔ!€EØbgÐqÐ]Ð]Ð]Ðmq€Kð ð Ð%7ð ØÐ"ØˆKÐ=Ñ>Ô>Ð>Øˆð
ÝMØ ØØñ
ô 
Ñˆ��øõ
 ð ð ð ÝÐNÑOÔOÐOØÐÐÐØ×ÒÑÔÐØˆˆˆð	øøøð ð &Øð 	&ð&ÝFÐG[Ð]gÐinÑoÔoÐoÐoÐoøÝð &ð &ð &ÝÐVÑWÔWÐWØ Ð Ð Ð Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%ð&øøøð	&ð &ð	&ð 	&s$   ÄD* Ä*3E ÅE Å(E; Å;1F0Æ/F0c           
      ó˜   — t          | d t          d„ t          | ¦  «        D ¦   «         t          | ¦  «        ¦  «        …         pd¦  «        S )Nc              3   óH   K  — | ]\  }}|                      ¦   «         °|V — Œd S r�   )Úisdigit)r0   r(   Úcs      r   r�   z+_version_int_left_digits.<locals>.<genexpr>Ì  s3   è è € ÐFÐF™d˜a ¸!¿)º)¹+¼+ÐF˜ÐFÐFÐFÐFÐFÐFr   Ú0)ÚintrÉ   r"   rQ   )Úxs    r   Ú_version_int_left_digitsry  Ê  sF   € åˆqÐO•$ÐFÐF¥i°¡l¤lÐFÑFÔFÍÈAÉÌÑOÔOÐOÔPÐWÐTWÑXÔXÐXr   c           	      ó6  — dd l }dd l}t          ¦   «         }|j                             |j                             |¦  «        t          ¦  «        }	 t          |d¦  «        5 }|                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   nf# t          $ r$ t          dt          |¦  «        ¦  «         d |fcY S t          $ r-}t          dt          |¦  «        d|¦  «         d |fcY d }~S d }~ww xY w|                     dd ¦  «        x}	€t          d|¦  «         d |fS t          |	¦  «        t          urt          d|¦  «         d |fS |	|d<   |                     d	d ¦  «        x}	€t          d
|¦  «         d |fS t          |	¦  «        t          urt          d|¦  «         d |fS 	 t!          d„ t#          |	                     dd¦  «        ¦  «        D ¦   «         ¦  «        }	n9# t          $ r,}t          d|t          |¦  «        ¦  «         d |fcY d }~S d }~ww xY w|	|d	<   |                     dd ¦  «        x}	€t          d|¦  «         d |fS t          |	¦  «        t          urt          d|¦  «         d |fS 	 t!          d„ |	                     d¦  «        D ¦   «         ¦  «        }	n:# t          $ r-}t          dt          |¦  «        d|¦  «         d |fcY d }~S d }~ww xY w|	|d<   |                     dd ¦  «        x}	€t          d|¦  «         n,t          |	¦  «        t          urt          d|¦  «         n|	|d<   |                     dd ¦  «        x}	€t          d|¦  «         d |fS t          |	¦  «        t          urt          d|¦  «         d |fS |	|d<   d|d<   ||fS ) Nr   r,  zCWarning: add-on missing manifest, this can cause poor performance!:zError:Úinrv   zError: missing "name" inz Error: "name" is not a string inræ   zError: missing "version" inz#Error: "version" is not a string inc              3   óV   K  — | ]$\  }} |d k     rt           nt          |¦  «        V — Œ%dS )r¶   N)rw  ry  )r0   r(   rx  s      r   r�   z*_bl_info_from_extension.<locals>.<genexpr>ô  sQ   è è € ð 
ð 
á��1ð 8�A˜’E�E�SˆSÕ7¸Ñ;Ô;ð
ð 
ð 
ð 
ð 
ð 
r   rµ   r¶   z6Error: "version" is not a semantic version (X.Y.Z) in Úblender_version_minz'Error: missing "blender_version_min" inz/Error: "blender_version_min" is not a string inc              3   ó4   K  — | ]}t          |¦  «        V — Œd S r�   )rw  )r0   rx  s     r   r�   z*_bl_info_from_extension.<locals>.<genexpr>  s(   è è € Ð7Ð7 •c˜!‘f”fÐ7Ð7Ð7Ð7Ð7Ð7r   zin "blender_version_min"rë   ÚtaglinezWarning: missing "tagline" inz"Warning: "tagline" is not a stringrí   Ú
maintainerzError: missing "author" inz#Error: "maintainer" is not a stringrê   ÚDevelopmentrð   )r!   Útomllibró   r   r$   r  rË   rK   r0  ÚFileNotFoundErrorr'   rV   rU   r²   r}   rJ   Útupler"   Úsplit)
rc   rd   r!   r‚  r@   rú   r2  rl   rh   r_   s
             r   rö   rö   Ï  s›  € ð
 €I€I€IØ€N€N€NåÑÔ€Gà”G—L’L ¤§¢°Ñ!:Ô!:Õ<WÑXÔX€Mð#Ý�- Ñ&Ô&ð 	$¨"Ø—<’< Ñ#Ô#ˆDð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$øøåð #ð #ð #ÝÐSÕUYÐZgÑUhÔUhÑiÔiÐiØ�]Ð"Ð"Ð"Ð"Ýð #ð #ð #Ýˆh�˜B™œ  }Ñ5Ô5Ð5Ø�]Ð"Ð"Ð"Ð"Ð"Ð"Ð"øøøøð#øøøð
 —’˜& $Ñ'Ô'Ð'ˆÐ0ÝÐ*¨MÑ:Ô:Ð:Ø�]Ð"Ð"ÝˆE�{„{�#ÐÐÝÐ2°MÑBÔBÐBØ�]Ð"Ð"Ø€GˆF�Oà—’˜) TÑ*Ô*Ð*ˆÐ3ÝÐ-¨}Ñ=Ô=Ð=Ø�]Ð"Ð"ÝˆE�{„{�#ÐÐÝÐ5°}ÑEÔEÐEØ�]Ð"Ð"ð#Ýð 
ð 
å! %§+¢+¨c°1Ñ"5Ô"5Ñ6Ô6ð
ñ 
ô 
ñ 
ô 
ˆˆøõ ð #ð #ð #ÝÐHÈ-ÕY\Ð]_ÑY`ÔY`ÑaÔaÐaØ�]Ð"Ð"Ð"Ð"Ð"Ð"Ð"øøøøð#øøøð €GˆIÑà—’Ð/°Ñ6Ô6Ð6ˆÐ?ÝÐ9¸=ÑIÔIÐIØ�]Ð"Ð"ÝˆE�{„{�#ÐÐÝÐAÀ=ÑQÔQÐQØ�]Ð"Ð"ð#ÝÐ7Ð7 e§k¢k°#Ñ&6Ô&6Ð7Ñ7Ô7Ñ7Ô7ˆˆøÝð #ð #ð #Ýˆh�˜B™œÐ!=¸}ÑMÔMÐMØ�]Ð"Ð"Ð"Ð"Ð"Ð"Ð"øøøøð#øøøð €GˆIÑð —’˜) TÑ*Ô*Ð*ˆÐ3ÝÐ/°Ñ?Ô?Ð?Ð?Ý	ˆe‰Œ�CÐ	Ð	ÝÐ4°mÑDÔDÐDÐDà!&ˆ�Ñà—’˜,¨Ñ-Ô-Ð-ˆÐ6ÝÐ,¨mÑ<Ô<Ð<Ø�]Ð"Ð"ÝˆE�{„{�#ÐÐÝÐ5°}ÑEÔEÐEØ�]Ð"Ð"Ø€GˆHÑà'€GˆJÑà�MÐ!Ð!s„   ÁB Á BÁ6B ÂBÂB Â	BÂ
B Â+C1Â;	C1Ã"C,Ã&C1Ã,C1Æ&:G! Ç!
HÇ+!HÈHÈHÉ6,J# Ê#
KÊ-"KËKËKc                 ó  — dd l }t          | |¦  «        \  }}|€d S t          |¦  «        } || ¦  «        }||_        ||_        |j                             |¦  «        |_        ||_        |j                             |¦  «        |_	        |S rÖ   )
r!   rö   rJ   r@   r`   r   ra   rb   r   r~   )rc   rd   r!   r@   rú   rf   ro   s          r   rH   rH     s�   € Ø€I€I€Iå4°X¸xÑHÔHÑ€Gˆ]Ø€Øˆtå�b‘”€JØ
ˆ*�XÑ
Ô
€CØ€C„KØ€C„LØ”7×#Ò# HÑ-Ô-€C„Lð *€CÔØœG×,Ò,¨]Ñ;Ô;€CÔØ€Jr   c           	      ó~  ‡— dd l }dd l}ddlm} |j                             | d dj        |j        dd…         Ž d¦  «        }g Šdt          dt          d	d fˆfd
„} || ||||¬¦  «         ‰rt          | ‰¦  «         |j                             |¦  «        r%||j        vr|j                             |¦  «         d S d S d S )Nr   )Úapply_actionÚlibúpython{:d}.{:d}r¶   úsite-packagesr1  r×   r4  c                 ó2   •— ‰                      | ¦  «         d S r�   )r&   )r1  r×   Úpaths_stales     €r   Úremove_error_fnz/_extension_sync_wheels.<locals>.remove_error_fnI  s   ø€ Ø×Ò˜8Ñ$Ô$Ð$Ð$Ð$r   )rf  Úlocal_dir_site_packagesrY  rŽ  r  )r!   r›   Ú&_bpy_internal.extensions.wheel_managerrˆ  r   r$   r6   r_  r²   rU   r   rÄ   r&   )	rf  rY  r  r!   r›   rˆ  r�  rŽ  r�  s	           @r   rg  rg  6  s/  ø€ ð €I€I€IØ€J€J€JØCÐCÐCÐCÐCÐCà œgŸlšlØØØ ÐÔ  #Ô"2°1°Q°3Ô"7Ð8Øñ	ô Ðð €Kð%¥#ð %­Ið %¸$ð %ð %ð %ð %ð %ð %ð €LØØ 7ØØ'Øðñ ô ð ð ð :Ý! )¨[Ñ9Ô9Ð9à	„w‡~‚~Ð-Ñ.Ô.ð 5Ø"¨#¬(Ð2Ð2ØŒH�OŠOÐ3Ñ4Ô4Ð4Ð4Ð4ð5ð 5Ø2Ð2r   c                  óN   — d} | t           j        vrt          | dd¬¦  «         d S d S )NrW  T©r©   rª   )r   r   r   r¡   s    r   r   r   _  s8   € Ø€KØ�,Ô-Ð-Ð-Ýˆ{¨¸Ð>Ñ>Ô>Ð>Ð>Ð>ð .Ð-r   c                   ó   — e Zd ZdZi i fZdZdS )Ú_ext_globalr.   N)rÍ   Ú
__module__Ú__qualname__Ú	__slots__Ú
idmap_pairÚmodule_handler.   r   r   r”  r”  f  s%   € € € € € Ø€Ið �R�€Jð €M€M€Mr   r”  Úbl_extrµ   zblender_manifest.tomlc                 óÞ  — |                       t          ¦  «        st          d¦  «        ‚| t          t          ¦  «        d …                              d¦  «        dd d…         \  }}|r|st          d¦  «        ‚d|v r8t          d                     |                     d¦  «        dz   ¦  «        ¦  «        ‚|                     ¦   «         r|                     ¦   «         st          d¦  «        ‚||fS )	Nz(The "package" does not name an extensionrµ   r   r¶   zEThe "package" is expected to be a module name containing 3 componentszQThe "package" is expected to be a module name containing 3 components, found {:d}é   z0The "package" contains non-identifier characters)rF   rG   Ú
ValueErrorrQ   rÂ   r6   ÚcountÚisidentifier)ru   rL  Ú
pkg_idnames      r   Ú _extension_module_name_decomposer¡  z  s  € ð ×ÒÕ;Ñ<Ô<ð GÝÐEÑFÔFÐFà%¥cÕ*GÑ&HÔ&HÐ&IÐ&IÔJ×TÒTÐUXÑYÔYÐZ[ÐZ^Ð]^ÐZ^Ô_Ñ€K�Øð d˜Jð dÝÐbÑcÔcÐcà
ˆjÐÐÝÐn×uÒuØ×Ò˜SÑ!Ô! AÑ%ñ
ô 
ñ ô ð 	ð
 ×$Ò$Ñ&Ô&ð O¨:×+BÒ+BÑ+DÔ+Dð OÝÐMÑNÔNÐNà˜
Ð"Ð"r   c                  óº   — i } i }t           j        j        D ]B}|j        r|j        | |                     ¦   «         <   Œ&|j        ||                     ¦   «         <   ŒC| |fS r�   )r   r2   r3   r4   r   Ú
as_pointer)Úrepos_idmapÚrepos_idmap_disabledr9   s      r   Ú_extension_preferences_idmapr¦  •  sn   € Ø€KØÐÝÔ'Ô-ð Bð BˆØŒ<ð 	BØ-1¬[ˆK˜ŸšÑ)Ô)Ñ*Ð*à6:´kÐ  §¢Ñ!2Ô!2Ñ3Ð3ØÐ,Ð,Ð,r   c                  ó`   — i } t           j        j        D ]}|j        sŒ
|j        | |j        <   Œ| S r�   )r   r2   r3   r4   r5   r   )Ú
repos_dictr9   s     r   Ú#_extension_dirpath_from_preferencesr©     s@   € Ø€JÝÔ'Ô-ð 1ð 1ˆØŒ|ð 	ØØ"&¤.ˆ
�4”;ÑÐØÐr   c                  óž   — i } t           j                             ¦   «         D ]+\  }}	 |j        d         }n# t          $ r d}Y nw xY w|| |<   Œ,| S )Nr   r-   )r”  r™  Úsubmodule_itemsr¸   rU   )Ú
repos_infoÚ	module_idr   r:   s       r   Ú_extension_dirpath_from_handler®  ©  st   € Ø€JÝ(Ô6×FÒFÑHÔHð (ð (Ñˆ	�6ð	Ø”o aÔ(ˆGˆGøÝð 	ð 	ð 	ØˆGˆGˆGð	øøøà 'ˆ
�9ÑÐØÐs   §5µAÁAc                ó€  — g }|s
|s|s|s|s|S i }t           j        D ]‚}|j        }	|	                     t          ¦  «        sŒ$|	t          t          ¦  «        d …                              d¦  «        dd d…         \  }
}	 |||
         |<   Œl# t          $ r
 ||i||
<   Y Œw xY wi }|                      ¦   «         D ][\  }
}i }t          |¦  «        D ]>}|                     d¦  «        rŒt          ||¦  «        }t          |d¦  «        sŒ9|||<   Œ?|||
<   ~Œ\|r‡|D ]„\  }
}|                     |
i ¦  «        }|                     |
i ¦  «        }|                     ¦   «         D ]>\  }}d                     t          |
|¦  «        }d}d}|                     ||||f¦  «         Œ?Œ…|D ]ê\  }}|                     |i ¦  «        }|                     |i ¦  «        }|                     ¦   «         D ]¤\  }}t          |dd¦  «        sŒd                     t          ||¦  «        }d                     t          ||¦  «        }t#          |dd¬	¦  «         |                     |¦  «        }|d u}t          |d
d¦  «        }|                     ||||f¦  «         Œ¥Œë|D ]—\  }}|                     |i ¦  «        }|                     |i ¦  «        }|                     ¦   «         D ]Q\  }}|                     |¦  «        }|�t          |dd¦  «        rŒ.d                     t          ||¦  «        }||_        ŒRŒ˜|r¸d„ t           j        j        D ¦   «         }|D ]™}
|                     |
i ¦  «        }|                     |
i ¦  «        }|                     |
¦  «        }d}|r	|j        sd}|                     ¦   «         D ]3\  }}d                     t          |
|¦  «        }t#          ||d¬	¦  «         Œ4~Œš~|r`|D ]]}|                     |i ¦  «        }|                     ¦   «         D ]0}d                     t          ||¦  «        }t#          |dd¬	¦  «         Œ1Œ^|S )Nrµ   r   r¶   r  r™   z{:s}.{:s}.{:s}TF)r©   r   rš   c                 ó   — i | ]
}|j         |“ŒS r.   rº   r<  s     r   r=  zC_initialize_extension_repos_post_addons_prepare.<locals>.<dictcomp>  s   € ÐWÐWÐW°˜4œ;¨ÐWÐWÐWr   )r   r   r   rF   rG   rQ   rÂ   ÚKeyErrorr«  Údirr]   Úhasattrr}   r“   r6   r7   r&   r   r2   r3   r4   rz   )r™  Úsubmodules_delÚsubmodules_addÚsubmodules_rename_moduleÚsubmodules_del_disabledÚ!submodules_rename_module_disabledÚaddons_to_enableÚaddon_userdef_infor   r   r­  Úsubmodule_idÚaddon_runtime_inforL  Úextensions_inforo   Ú_dirpathÚrepo_userdefÚrepo_runtimeÚmodule_name_nextr©   rª   Úmodule_id_prevÚmodule_id_nextÚmodule_name_prevÚrepo_module_mapr9   s                              r   Ú/_initialize_extension_repos_post_addons_preparerÆ  ·  s®  € ð Ðàð àð ð %ð ð $ð	 ð
 .ð ð  Ðð ÐÝÔ$ð Bð BˆØ”ˆØ× Ò Õ!>Ñ?Ô?ð 	ØØ"(­Õ-JÑ)KÔ)KÐ)LÐ)LÔ"M×"WÒ"WÐX[Ñ"\Ô"\Ð]^Ð]aÐ`aÐ]aÔ"bÑˆ	�<ð	BØ:?Ð˜yÔ)¨,Ñ7Ð7øÝð 	Bð 	Bð 	BØ-9¸5Ð,AÐ˜yÑ)Ð)Ð)ð	Bøøøð
 ÐØ"/×"?Ò"?Ñ"AÔ"Að ð Ñˆ	�;ØˆÝ Ñ,Ô,ð 	0ð 	0ˆLØ×&Ò& sÑ+Ô+ð ØÝ˜+ |Ñ4Ô4ˆCå˜3Ð 3Ñ4Ô4ð ØØ,/ˆO˜LÑ)Ð)Ø(7Ð˜9Ñ%ØˆOð ð \ð $2ð 		\ð 		\ÑˆI�xØ-×1Ò1°)¸RÑ@Ô@ˆLØ-×1Ò1°)¸RÑ@Ô@ˆLà'3×'9Ò'9Ñ';Ô';ð \ð \Ñ#�˜eØ#3×#:Ò#:Õ;OÐQZÐ\hÑ#iÔ#iÐ à"�Ø!�
Ø ×'Ò'Ð)9¸5À+ÈzÐ(ZÑ[Ô[Ð[Ð[ð\ð +Cð Xð XÑ&ˆ˜Ø)×-Ò-¨n¸bÑAÔAˆØ)×-Ò-¨n¸bÑAÔAˆØ!-×!3Ò!3Ñ!5Ô!5ð 		Xð 		XÑˆL˜#Ý˜3Ð 3°UÑ;Ô;ð ØØ/×6Ò6Õ7KÈ^Ð]iÑjÔjÐØ/×6Ò6Õ7KÈ^Ð]iÑjÔjÐÝÐ$°%ÈÐNÑNÔNÐNØ ×$Ò$ \Ñ2Ô2ˆEØ tÐ+ˆKÝ  Ð&<¸eÑDÔDˆJØ×#Ò#Ð%5°u¸kÈ:Ð$VÑWÔWÐWÐWð		Xð +Lð 
,ð 
,Ñ&ˆ˜Ø)×-Ò-¨n¸bÑAÔAˆØ)×-Ò-¨n¸bÑAÔAˆØ#/×#5Ò#5Ñ#7Ô#7ð 	,ð 	,ÑˆL˜%Ø×"Ò" <Ñ0Ô0ˆCØˆ¥7¨3Ð0CÀUÑ#KÔ#KˆØð  0×6Ò6Õ7KÈ^Ð]iÑjÔjÐØ+ˆEŒLˆLð	,ð ð ØWÐW½Ô9PÔ9VÐWÑWÔWˆØ'ð 	ð 	ˆIØ-×1Ò1°)¸RÑ@Ô@ˆLØ-×1Ò1°)¸RÑ@Ô@ˆLà"×&Ò& yÑ1Ô1ˆDØˆKØð $˜DœLð $ð $�à%1×%7Ò%7Ñ%9Ô%9ð Yð YÑ!�˜cØ#3×#:Ò#:Õ;OÐQZÐ\hÑ#iÔ#iÐ ÝÐ(°kÐSWÐXÑXÔXÐXÐXØ�Øàð RØ5ð 	Rð 	RˆNØ-×1Ò1°.À"ÑEÔEˆLØ ,× 1Ò 1Ñ 3Ô 3ð Rð R�Ø#3×#:Ò#:Õ;OÐQ_ÐamÑ#nÔ#nÐ ÝÐ(°dÈDÐQÑQÔQÐQÐQðRð Ðs   Á=B	Â	BÂBc                 óÐ   — | sd S t          d„ | D ¦   «         ¬¦  «         d}| D ]$\  }}}}|�||_        t          |||¬¦  «        €d}Œ%|rt          ¦   «          t          ¦   «          d S )Nc                 ó   — g | ]	\  }}}}|‘Œ
S r.   r.   )r0   rÁ  r  s      r   r1   zC_initialize_extension_repos_post_addons_restore.<locals>.<listcomp>3  s&   € Ð-sÐ-sÐ-sÑC^ÐDTÐVWÐYZÐ\]Ð.>Ð-sÐ-sÐ-sr   r³   Fr’  T)r   r   r   Ú_is_first_reset)r¹  Ú
any_failedrÁ  r   r©   rª   s         r   Ú/_initialize_extension_repos_post_addons_restorerË  .  s£   € Øð Øˆõ Ð-sÐ-sÐbrÐ-sÑ-sÔ-sÐtÑtÔtÐtà€JØ>Nð ð Ñ:Ð	˜5 +¨zàÐØ+ˆEŒLÝÐ"°È
ÐSÑSÔSÐ[ØˆJøð ð ÝÑÔÐõ ÑÔÐÐÐr   c                  ó6   — t          ¦   «         t          _        d S r�   )r¦  r”  r˜  )r  s    r   Ú_initialize_extension_repos_prerÍ  I  s   € å9Ñ;Ô;…KÔÐÐr   ©Úis_firstc                 óà  — t          ¦   «          |  }t          ¦   «         }t          ¦   «         }t          j        \  }}t          ¦   «         \  }}d„ |                     ¦   «         D ¦   «         }	t          |                     ¦   «         ¦  «        D ]\  }
}||vr||
= Œg }g }g }g }t          ¦   «         }t          ¦   «         }|                     ¦   «         D ]�\  }}|	|         }| 	                    |¦  «        }|€Œ%||k    rA| 
                    ||f¦  «         |                     |¦  «         |                     |¦  «         |||         k    r| 
                    ||f¦  «         Œ�|                     ¦   «         D ]$\  }}||vr||vr| 
                    ||f¦  «         Œ%|                     ¦   «         D ]"\  }}||vr||vr| 
                    |¦  «         Œ#|r«g }g }|                     ¦   «         D ]"\  }
}|
|vr|
|vr| 
                    |¦  «         Œ#|                     ¦   «         D ]:\  }}| 	                    |¦  «        }|€Œ||k    r| 
                    ||f¦  «         Œ;t          t          j        |||||¬¦  «        }~~t          j        }|D ]}|                     |¦  «         Œ|D ]\  }}|                     ||¦  «         Œ|D ]\  }}|                     ||¦  «         Œ|D ]\  }}|                     ||¦  «         Œt          j        d                              ¦   «          t          j        d                              ¦   «          |rt'          |¦  «         |s|s|rt)          ¦   «          d S d S )Nc                 ó   — i | ]\  }}||“Œ	S r.   r.   rŽ   s      r   r=  z4_initialize_extension_repos_post.<locals>.<dictcomp>_  s   € ÐVÐVÐV©z¨s°E  sÐVÐVÐVr   )r´  rµ  r¶  r·  r¸  r   rB   )r   r®  r©  r”  r˜  r¦  r“   r’   ry   r}   r&   rm  rÆ  r™  Úunregister_submoduleÚregister_submoduleÚrename_submoduleÚrename_directoryrx   rË  rÉ  )rÏ  r  Ú	do_addonsÚrepos_info_prevÚrepos_info_nextÚrepos_idmap_prevÚrepos_idmap_prev_disabledÚrepos_idmap_nextÚrepos_idmap_next_disabledÚrepos_idmap_next_reverseÚrepo_id_prevrÂ  rµ  r´  r¶  Úsubmodules_rename_dirpathÚrenamed_prevÚrenamed_nextrÃ  Údirpath_nextr»   r­  r:   r¾  r·  r¸  Úrepo_id_nextr¹  r™  s                                r   Ú _initialize_extension_repos_posträ  N  su  € õ (Ñ)Ô)Ð)à�€Iõ 5Ñ6Ô6€OÝ9Ñ;Ô;€Oõ 3>Ô2HÑ/ÐÐ/Ý2NÑ2PÔ2PÑ/ÐÐ/ð  WÐVÐ=M×=SÒ=SÑ=UÔ=UÐVÑVÔVÐõ )-Ð-=×-CÒ-CÑ-EÔ-EÑ(FÔ(Fð /ð /Ñ$ˆ�nØ Ð0Ð0Ø  Ð.øà€NØ€NØ!ÐØ "Ðå‘5”5€LÝ‘5”5€Lð )8×(=Ò(=Ñ(?Ô(?ð Mð MÑ$ˆ˜à*¨>Ô:ˆð *×-Ò-¨gÑ6Ô6ˆØÐ!Øð ˜^Ò+Ð+Ø$×+Ò+¨^¸^Ð,LÑMÔMÐMØ×Ò˜^Ñ,Ô,Ð,Ø×Ò˜^Ñ,Ô,Ð,ð ˜?¨>Ô:Ò:Ð:Ø%×,Ò,¨n¸lÐ-KÑLÔLÐLøð .×3Ò3Ñ5Ô5ð 8ð 8Ñˆ	�7Ø˜_Ð,Ð,°9ÀLÐ3PÐ3PØ×!Ò! 9¨gÐ"6Ñ7Ô7Ð7øà.×4Ò4Ñ6Ô6ð -ð -Ñˆ	�8Ø˜_Ð,Ð,°9ÀLÐ3PÐ3PØ×!Ò! )Ñ,Ô,Ð,øàð GØ"$ÐØ,.Ð)ð -F×,KÒ,KÑ,MÔ,Mð 	?ð 	?Ñ(ˆL˜.à!Ð)BÐBÐBØ!Ð)9Ð9Ð9à'×.Ò.¨~Ñ>Ô>Ð>øð -F×,KÒ,KÑ,MÔ,Mð 	[ð 	[Ñ(ˆL˜.Ø6×:Ò:¸<ÑHÔHˆNØÐ%Øà Ò/Ð/Ø1×8Ò8¸.È.Ð9YÑZÔZÐZøåJÝÔ%Ø)Ø)Ø%=Ø$;Ø.Oð
ñ 
ô 
Ðð $Ð%Fõ  Ô-€MØ#ð 6ð 6ˆ	Ø×*Ò*¨9Ñ5Ô5Ð5Ð5Ø,ð =ð =Ñˆ	�7Ø×(Ò(¨°GÑ<Ô<Ð<Ð<Ø*Bð Gð GÑ&ˆ˜Ø×&Ò& ~°~ÑFÔFÐFÐFØ7ð ;ð ;Ñˆ	�7Ø×&Ò& y°'Ñ:Ô:Ð:Ð:åÔ˜1Ô×#Ò#Ñ%Ô%Ð%ÝÔ˜1Ô×#Ò#Ñ%Ô%Ð%àð JÝ7Ð8HÑIÔIÐIð ð ˜ð Ð+Dð ÝÑÔÐÐÐðð r   )r  c           	      óš  — dd l }dd l}|j                             | ddd                     |j        j        |j        j        ¦  «        d¦  «        }|r2|j                             |¦  «        s| 	                    |¦  «         d}n|j                             |¦  «        }|r|ddl
m} d }t           |¦   «         ¦  «        x}r"t          |j        ¦  «        D ]\  }	}
|
|v r|	} nŒ|€|j                             |¦  «         nH|j                             ||¦  «         n,	 |j                             |¦  «         n# t"          $ r Y nw xY w|r|nd S )Nr   r  r‰  rŠ  r‹  T)Úgetsitepackages)r!   r›   r   r$   r6   r_  ÚmajorÚminorrÄ   r  Úsiteræ  ry   r"   r&   Úinsertr§   r�  )r`  r  r!   r›   Úsite_packagesÚfoundræ  ÚindexÚbuiltin_site_packagesr(   r:   s              r   Ú$_initialize_extensions_site_packagesrï  Ë  sŸ  € ð €I€I€IØ€J€J€Jð ”G—L’LØØØØ× Ò  Ô!1Ô!7¸Ô9IÔ9OÑPÔPØñô €Mð ð .ØŒw�~Š~˜mÑ,Ô,ð 	'Ø�KŠK˜Ñ&Ô&Ð&Øˆˆà”—’˜}Ñ-Ô-ˆàð ð
 	)Ð(Ð(Ð(Ð(Ð(ØˆÝ$'¨¨Ñ(9Ô(9Ñ$:Ô$:Ð:Ð ð 	Ý'¨¬Ñ1Ô1ð ð ‘
��7ØÐ3Ð3Ð3Ø�EØ�Eð 4ð ˆ=ØŒH�OŠO˜MÑ*Ô*Ð*Ð*àŒH�OŠO˜E =Ñ1Ô1Ð1Ð1ð	ØŒH�OŠO˜MÑ*Ô*Ð*Ð*øÝð 	ð 	ð 	ØˆDð	øøøð "Ð+ˆ=ˆ= tÐ+s   ÄD7 Ä7
EÅEc                  óÎ  — ddl m}   | t          ¦  «        }|                     ¦   «          |t          _        t          j                             d¦  «        }t          |¬¦  «         t          |dd d¬¦  «         t          d¬¦  «         t          j        j        j                             t           ¦  «         t          j        j        j                             t          ¦  «         d S )Nr   )ÚJunctionModuleHandler  )r`  T©rn  r´   ro  rÎ  )Ú(_bpy_internal.extensions.junction_modulerñ  r7   Úregister_moduler”  r™  r   r   rþ   rï  rq  rä  rD   ÚhandlersÚ_extension_repos_update_prer&   rÍ  Ú_extension_repos_update_post)rñ  r™  r`  s      r   r   r   ý  sã   € ØMÐMÐMÐMÐMÐMØ(Ð(Õ)=Ñ>Ô>€MØ×!Ò!Ñ#Ô#Ð#Ø -…KÔåœ:×3Ò3°LÑAÔAÐõ )Ð>RÐSÑSÔSÐSõ 'ØØØ"Ø!ð	ñ ô ð õ %¨dÐ3Ñ3Ô3Ð3õ 	„HÔÔ1×8Ò8Õ9XÑYÔYÐYÝ„HÔÔ2×9Ò9Õ:ZÑ[Ô[Ð[Ð[Ð[r   c                 óf   — t          t          j                             d¦  «        | |d¬¦  «         dS )añ  
    Ensure data relating to extensions is up to date.
    This should be called after extensions on the file-system have changed.

    :arg ensure_wheels: When true, refresh installed wheels with wheels used by extensions.
    :type ensure_wheels: bool
    :arg addon_modules_pending: Refresh these add-ons by listing their package names, as if they are enabled.
       This is needed so wheels can be setup before the add-on is enabled.
    :type addon_modules_pending: Sequence[str] | None
    r  Frò  N)rq  r   r   rþ   )rn  r´   s     r   r   r     sA   € õ 'ÝŒ
× Ò  Ñ.Ô.Ø#Ø3Ø"ð	ñ ô ð ð ð r   c                  ó,	  ‡— t           j        du rt          S dd l} dd lŠdt           _        t                               ¦   «          ‰j                             ‰j                             ‰j         	                    t          j        ¦  «        d¦  «        ¦  «        ‰j        z   ‰j                             ‰j                             ‰j         	                    t          d¦  «        j        ¦  «        d¦  «        ¦  «        ‰j        z   ‰j                             ‰j         	                    ‰j        ¦  «        ¦  «        ‰j        z   gˆfd„t          ¦   «         D ¦   «         ¢R }i }g }| j                             ¦   «         D ]ï\  }}|dk    rŒt#          |dd ¦  «        pd}|sŒ"‰j                             |¦  «        }|                     |¦  «        rŒR|                     t&          ¦  «        rl|                     d	t+          t&          ¦  «        ¦  «        d
k    r?|                     d	¦  «        dk    rŒ²‰j         	                    |¦  «        ‰j        z   ||<   ŒØ|                     ||f¦  «         Œðt1          d„ |                     ¦   «         D ¦   «         ¦  «        }t5          ˆfd„|D ¦   «         ¦  «        }|�rÚ|D ]¦\  }	}
|
                     |¦  «        sŒd}|                     ¦   «         D ]p\  }}|
                     |¦  «        sŒ	 t          |         }n# t6          $ r g x}t          |<   Y nw xY w|                     d                     |	¦  «        ¦  «         d} |sJ ‚Œ§| j        D �](}‰j                             |¦  «        }|                     |¦  «        rŒ3||v s|                     |¦  «        sŒMd}|                     ¦   «         D ]À\  }}||                     ‰j        ¦  «        k    s|                     |¦  «        sŒ9	 t          |         }n# t6          $ r g x}t          |<   Y nw xY w|                     d                     d                     ‰j        ‰j                             ||¦  «        ¦  «        ¦  «        ¦  «         d} |sJ ‚�Œ*t          S )NFr   z..Úbl_uic              3   ó\   •K  — | ]&}‰j                              |¦  «        ‰j        z   V — Œ'd S r�   )r   ÚnormpathÚsep©r0   r   r!   s     €r   r�   z+_extensions_warnings_get.<locals>.<genexpr>N  s:   øè è € Ð	>Ð	>¨dˆ"Œ'×
Ò
˜4Ñ
 Ô
  2¤6Ñ
)Ð	>Ð	>Ð	>Ð	>Ð	>Ð	>r   Ú__main__r`   r-   rµ   éÿÿÿÿr¶   c              3   ó   K  — | ]}|V — Œd S r�   r.   r/   s     r   r�   z+_extensions_warnings_get.<locals>.<genexpr>o  s"   è è € ÐOÐO T˜DÐOÐOÐOÐOÐOÐOr   c              3   óL   •K  — | ]}|                      ‰j        ¦  «        V — Œd S r�   )rR   rý  rþ  s     €r   r�   z+_extensions_warnings_get.<locals>.<genexpr>p  s1   øè è € Ð!RÐ!R¸$ $§+¢+¨b¬fÑ"5Ô"5Ð!RÐ!RÐ!RÐ!RÐ!RÐ!Rr   z,Policy violation with top level module: {:s}Tz$Policy violation with sys.path: {:s}z	.{:s}{:s})Ú_extensions_warnings_getr‘   Ú_extensions_warningsr›   r!   rx   r   rü  r$   r  r   r`   rý  Ú
__import__r   r   r“   r]   rF   rG   ÚfindrQ   rž  r&   r„  r–   ry   r±  r6   rR   Úrelpath)r›   Údirs_skip_expectedÚextensions_directory_mapÚmodules_otherr�   r   Úmodule_fileÚdirs_extensionsÚdirs_extensions_noslashÚmodule_other_nameÚmodule_other_filerì  Úmodule_dirpathÚwarning_listr   r!   s                  @r   r  r  2  sð  ø€ ÝÔ)¨UÐ2Ð2Ý#Ð#ð €J€J€JØ€I€I€Ià).ÕÔ&Ý×ÒÑ Ô Ð ð 	Œ×Ò˜œŸš b¤g§o¢oµd´mÑ&DÔ&DÀdÑKÔKÑLÔLÈrÌvÑUØ
Œ×Ò˜œŸš b¤g§o¢oµjÀÑ6IÔ6IÔ6RÑ&SÔ&SÐUYÑZÔZÑ[Ô[Ð^`Ô^dÑdØ
Œ×Ò˜œŸš¨¬Ñ5Ô5Ñ6Ô6¸¼Ñ?ðð
 
?Ð	>Ð	>Ð	>µe±g´gÐ	>Ñ	>Ô	>ðð Ðð  "ÐØ€Mà"œ{×0Ò0Ñ2Ô2ð =ð =Ñˆ�Và˜*Ò$Ð$Øå˜f j°$Ñ7Ô7Ð=¸2ˆØð 	àà”g×&Ò& {Ñ3Ô3ˆà×!Ò!Ð"4Ñ5Ô5ð 	Øà×!Ò!Õ"?Ñ@Ô@ð 
	=à×Ò ¥SÕ)FÑ%GÔ%GÑHÔHÈBÒNÐNð ×$Ò$ SÑ)Ô)¨AÒ-Ð-ØØ8:¼¿ºÈÑ8TÔ8TÐWYÔW]Ñ8]Ð(¨Ñ5øð × Ò  +¨{Ð!;Ñ<Ô<Ð<Ð<åÐOÐOÐ-E×-LÒ-LÑ-NÔ-NÐOÑOÔOÑOÔO€OÝ!Ð!RÐ!RÐ!RÐ!RÀ/Ð!RÑ!RÔ!RÑRÔRÐØñ +Ø4Að 	ð 	Ñ0ÐÐ0Ø$×/Ò/°Ñ@Ô@ð Øð ˆEØ/G×/MÒ/MÑ/OÔ/Oð 	ð 	Ñ+�˜^Ø(×3Ò3°NÑCÔCð ØðJÝ#7¸Ô#D�L�LøÝð Jð Jð JØGIÐI�LÕ#7¸Ñ#DÐ#DÐ#DðJøøøà×#Ò#Ð$R×$YÒ$YÐZkÑ$lÔ$lÑmÔmÐmØ�ØØˆLˆL�5ˆLà”Hð 	ñ 	ˆDØ”7×#Ò# DÑ)Ô)ˆDØ�ŠÐ1Ñ2Ô2ð ØàÐ3Ð3Ð3°t·²ÀÑ7WÔ7WÐ3ØàˆEØ/G×/MÒ/MÑ/OÔ/Oð ð Ñ+�˜^Ø × 5Ò 5°b´fÑ =Ô =Ò=Ð=ÀÇÂÐQ_ÑA`ÔA`Ð=ØðJÝ#7¸Ô#D�L�LøÝð Jð Jð JØGIÐI�LÕ#7¸Ñ#DÐ#DÐ#DðJøøøð ×#Ò#Ø:×AÒAØ#×*Ò*¨2¬6°2´7·?²?À4ÈÑ3XÔ3XÑYÔYñô ñô ð ð
 �ØØˆLˆL�5‰LåÐs$   ÌLÌL+Ì*L+ÐPÐP)Ð(P)c                  ó6   — dt           _        dt          _        d S )NT)r  r‘   r   r.   r   r   rÉ  rÉ  ¤  s   € ð *.ÕÔ&Ø…GÔÐÐr   )T)r4  N)TN)EÚ__all__Úbpyr   ÚcontextÚpreferencesr   rP   rw   r�   rÁ   r  r  r   r   r;   rp   r„   r   r‘   r   r   r¥   r¨   r   r   r	   r   rç   ró   r
   rÿ   r	  r  r   r   r*  r3  r9  r>  rT  rZ  rd  rh  rq  ry  rö   rH   rg  r   r”  r7   rG   rË   r¡  r¦  r©  r®  rÆ  rË  rD   rõ  rª   rÍ  rä  rï  r   r   r  rÉ  r.   r   r   ú<module>r     s”  ðð
€ð Ð Ð Ð ØŒ|Ô'€à€àÐ ØÐ ð Ð ð Ð ð €ð*ð *ð *ð$ð ð ð6ð ð ðSð Sð Sð Sðl %8ð *ð *ð *ð *ð *ðZ 0¸ð !ð !ð !ð !ð !ð" €Ô ð(ð (ð (ðDAð Að Að#ð #ð #ð!ð !ð !ð (-¸ÐPUÐdhð \ð \ð \ð \ð \ð~ ).¸uÐSWð 24ð 24ð 24ð 24ð 24ðj !&ð ""ð ""ð ""ð ""ð ""ðJ4ð 4ð 4ð8ð ð ðð ð ð  '+ð %ð %ð %ð %ð %ðxMð Mð Mð=ð =ð =ð"ð ð ð0(Gð (Gð (GðV$ð $ð $ð(ð ð ðpð ð ðð ð ð ðcð cð cðFð Fð FðVHð Hð HðVGð Gð GðTð ð ð@&ð @&ð @&ðLYð Yð Yð
M"ð M"ð M"ð`ð ð ð.#5ð #5ð #5ðR?ð ?ð ?ðð ð ð ð ñ ô ð ð  Ð Ø 4°sÑ :Ð Ø5Ð ð#ð #ð #ð6-ð -ð -ðð ð ð
ð 
ð 
ðsð sð sðnð ð ð6 „ÔÔð<ð <ñ Ôð<ð „ÔÔØ27ð yð yð yð yñ Ôðyðx JOð /,ð /,ð /,ð /,ð /,ðd\ð \ð \ð@ð ð ð ð*l ð l ð l ð^ &*Ð Ô "ðð ð ð ð r   