+
    &ú·iä8  ã                  ó   a € 0 t $ R t^ RIHt ^ RIt^ RIt^ RIHtHt ^RI	H
t
 ]'       d   ^ RIHt RtR]R&    ! R	 R
]
4      tR R ltR R ltR R ltRRRRRRRRRRRRRRRR R!R"R#R$R%R&/tR']R(&   R) R* ltR+ R, lt]! 4       tR- R. ltR
.tR# )/zWindows.)ÚannotationsN)ÚTYPE_CHECKINGÚFinal)ÚPlatformDirsABC)ÚCallablei @  z
Final[int]Ú_KF_FLAG_DONT_VERIFYc                  ó  € ] tR t^tRt]R R l4       tRR/R R llt]R R	 l4       t]R
 R l4       t	]R R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R  R! l4       t]R" R# l4       t]R$ R% l4       t]R& R' l4       t]R( R) l4       t]R* R+ l4       t]R, R- l4       t]R. R/ l4       t]R0 R1 l4       tR2tR# )3ÚWindowsa×  `MSDN on where to store app data files <https://learn.microsoft.com/en-us/windows/win32/shell/knownfolderid>`_.

Makes use of the `appname <platformdirs.api.PlatformDirsABC.appname>`, `appauthor
<platformdirs.api.PlatformDirsABC.appauthor>`, `version <platformdirs.api.PlatformDirsABC.version>`, `roaming
<platformdirs.api.PlatformDirsABC.roaming>`, `opinion <platformdirs.api.PlatformDirsABC.opinion>`, `ensure_exists
<platformdirs.api.PlatformDirsABC.ensure_exists>`.

c               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚstr© )Úformats   "Ú6/usr/lib/python3/dist-packages/platformdirs/windows.pyÚ__annotate__ÚWindows.__annotate__   s   € ÷ (ñ (˜sñ (ó    c                ó    € V P                   '       d   RMRp\        P                  P                  \	        V4      4      pV P                  V4      # )z´:returns: data directory tied to the user, e.g. ``%USERPROFILE%\AppData\Local\$appauthor\$appname`` (not roaming) or ``%USERPROFILE%\AppData\Roaming\$appauthor\$appname`` (roaming)ÚCSIDL_APPDATAÚCSIDL_LOCAL_APPDATA)ÚroamingÚosÚpathÚnormpathÚget_win_folderÚ_append_parts)ÚselfÚconstr   s   &  r   Úuser_data_dirÚWindows.user_data_dir   s>   € ð $(§<§< <‘Ð5JˆÜ�w‰w×Ñ¤¨uÓ 5Ó6ˆØ×!Ñ! $Ó'Ð'r   Úopinion_valueNc               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   r"   ú
str | Noner   r   )r   s   "r   r   r   #   s!   € ÷ ñ  #ð ¸ð Èsñ r   c               	óô  € . pV P                   '       d±   V P                  R Jd2   V P                  ;'       g    V P                   pVP                  V4       VP                  V P                   4       Ve$   V P                  '       d   VP                  V4       V P                  '       d   VP                  V P                  4       \
        P                  P                  ! V.VO5!  pV P                  V4       V# )F)	ÚappnameÚ	appauthorÚappendÚopinionÚversionr   r   ÚjoinÚ_optionally_create_directory)r   r   r"   ÚparamsÚauthors   &&$  r   r   ÚWindows._append_parts#   sª   € ØˆØ�<�<ˆ<Ø�~‰~ UÓ*ØŸ™×7Ð7¨4¯<©<�Ø—‘˜fÔ%Ø�M‰M˜$Ÿ,™,Ô'ØÒ(¨T¯\¯\¨\Ø—‘˜mÔ,Ø�|�|ˆ|Ø—‘˜dŸl™lÔ+Ü�w‰w�|Š|˜DÐ* 6Ó*ˆØ×)Ñ)¨$Ô/Øˆr   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   3   s   € ÷ (ñ (˜sñ (r   c                ót   € \         P                  P                  \        R4      4      pV P	                  V4      # )zU:returns: data directory shared by users, e.g. ``C:\ProgramData\$appauthor\$appname``ÚCSIDL_COMMON_APPDATA©r   r   r   r   r   ©r   r   s   & r   Úsite_data_dirÚWindows.site_data_dir2   s/   € ô �w‰w×Ñ¤Ð/EÓ FÓGˆØ×!Ñ! $Ó'Ð'r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   9   ó   € ÷ "ñ " ñ "r   c                ó   € V P                   # )zD:returns: config directory tied to the user, same as `user_data_dir`©r    ©r   s   &r   Úuser_config_dirÚWindows.user_config_dir8   ó   € ð ×!Ñ!Ð!r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   >   r8   r   c                ó   € V P                   # )zC:returns: config directory shared by users, same as `site_data_dir`©r5   r;   s   &r   Úsite_config_dirÚWindows.site_config_dir=   r>   r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   C   ó   € ÷ ?ñ ? ñ ?r   c                óx   € \         P                  P                  \        R4      4      pV P	                  VRR7      # )z­:returns: cache directory tied to the user (if opinionated with ``Cache`` folder within ``$appname``) e.g. ``%USERPROFILE%\AppData\Local\$appauthor\$appname\Cache\$version``r   ÚCache©r"   r3   r4   s   & r   Úuser_cache_dirÚWindows.user_cache_dirB   s4   € ô �w‰w×Ñ¤Ð/DÓ EÓFˆØ×!Ñ! $°gÐ!Ó>Ð>r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   I   rE   r   c                óx   € \         P                  P                  \        R4      4      pV P	                  VRR7      # )ze:returns: cache directory shared by users, e.g. ``C:\ProgramData\$appauthor\$appname\Cache\$version``r2   rG   rH   r3   r4   s   & r   Úsite_cache_dirÚWindows.site_cache_dirH   s4   € ô �w‰w×Ñ¤Ð/EÓ FÓGˆØ×!Ñ! $°gÐ!Ó>Ð>r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   O   ó   € ÷ "ñ " ñ "r   c                ó   € V P                   # )zC:returns: state directory tied to the user, same as `user_data_dir`r:   r;   s   &r   Úuser_state_dirÚWindows.user_state_dirN   r>   r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   T   rP   r   c                ó   € V P                   # )zB:returns: state directory shared by users, same as `site_data_dir`rA   r;   s   &r   Úsite_state_dirÚWindows.site_state_dirS   r>   r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   Y   ó   € ÷ ñ ˜cñ r   c                ó¤   € V P                   pV P                  '       d2   \        P                  P	                  VR4      pV P                  V4       V# )zh:returns: log directory tied to the user, same as `user_data_dir` if not opinionated else ``Logs`` in itÚLogs)r    r)   r   r   r+   r,   r4   s   & r   Úuser_log_dirÚWindows.user_log_dirX   ó?   € ð ×!Ñ!ˆØ�<�<ˆ<Ü—7‘7—<‘<  fÓ-ˆDØ×-Ñ-¨dÔ3Øˆr   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   b   rY   r   c                ó¤   € V P                   pV P                  '       d2   \        P                  P	                  VR4      pV P                  V4       V# )zg:returns: log directory shared by users, same as `site_data_dir` if not opinionated else ``Logs`` in itr[   )r5   r)   r   r   r+   r,   r4   s   & r   Úsite_log_dirÚWindows.site_log_dira   r^   r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   k   s   € ÷ Bñ B Cñ Br   c                óR   € \         P                  P                  \        R4      4      # )zO:returns: documents directory tied to the user e.g. ``%USERPROFILE%\Documents``ÚCSIDL_PERSONAL©r   r   r   r   r;   s   &r   Úuser_documents_dirÚWindows.user_documents_dirj   ó   € ô �w‰w×Ñ¤Ð/?Ó @ÓAÐAr   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   p   s   € ÷ Cñ C Cñ Cr   c                óR   € \         P                  P                  \        R4      4      # )zO:returns: downloads directory tied to the user e.g. ``%USERPROFILE%\Downloads``ÚCSIDL_DOWNLOADSrf   r;   s   &r   Úuser_downloads_dirÚWindows.user_downloads_diro   s   € ô �w‰w×Ñ¤Ð/@Ó AÓBÐBr   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   u   s   € ÷ Dñ D 3ñ Dr   c                óR   € \         P                  P                  \        R4      4      # )zM:returns: pictures directory tied to the user e.g. ``%USERPROFILE%\Pictures``ÚCSIDL_MYPICTURESrf   r;   s   &r   Úuser_pictures_dirÚWindows.user_pictures_dirt   s   € ô �w‰w×Ñ¤Ð/AÓ BÓCÐCr   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   z   s   € ÷ Añ A ñ Ar   c                óR   € \         P                  P                  \        R4      4      # )zI:returns: videos directory tied to the user e.g. ``%USERPROFILE%\Videos``ÚCSIDL_MYVIDEOrf   r;   s   &r   Úuser_videos_dirÚWindows.user_videos_diry   ó   € ô �w‰w×Ñ¤¨Ó ?Ó@Ð@r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r      s   € ÷ Añ A ñ Ar   c                óR   € \         P                  P                  \        R4      4      # )zG:returns: music directory tied to the user e.g. ``%USERPROFILE%\Music``ÚCSIDL_MYMUSICrf   r;   s   &r   Úuser_music_dirÚWindows.user_music_dir~   ry   r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   „   s   € ÷ Jñ J #ñ Jr   c                óR   € \         P                  P                  \        R4      4      # )zL:returns: desktop directory tied to the user, e.g. ``%USERPROFILE%\Desktop``ÚCSIDL_DESKTOPDIRECTORYrf   r;   s   &r   Úuser_desktop_dirÚWindows.user_desktop_dirƒ   s   € ô �w‰w×Ñ¤Ð/GÓ HÓIÐIr   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   ‰   s   € ÷ añ a˜cñ ar   c                óŽ   € \         P                  P                  \         P                  P                  \	        R4      R4      4      # )zJ:returns: bin directory tied to the user, e.g. ``%LOCALAPPDATA%\Programs``r   ÚPrograms©r   r   r   r+   r   r;   s   &r   Úuser_bin_dirÚWindows.user_bin_dirˆ   s/   € ô �w‰w×Ñ¤§¡§¡¬^Ð<QÓ-RÐT^Ó _Ó`Ð`r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   Ž   s   € ÷ ]ñ ]˜cñ ]r   c                óŽ   € \         P                  P                  \         P                  P                  \	        R4      R4      4      # )zC:returns: bin directory shared by users, e.g. ``C:\ProgramDatain``r2   Úbinr‡   r;   s   &r   Úsite_bin_dirÚWindows.site_bin_dir�   s/   € ô �w‰w×Ñ¤§¡§¡¬^Ð<RÓ-SÐUZÓ [Ó\Ð\r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   “   s   € ÷ Bñ B sñ Br   c                óR   € \         P                  P                  \        R4      4      # )zO:returns: applications directory tied to the user, e.g. ``Start Menu\Programs``ÚCSIDL_PROGRAMSrf   r;   s   &r   Úuser_applications_dirÚWindows.user_applications_dir’   ri   r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   ˜   s   € ÷ Iñ I sñ Ir   c                óR   € \         P                  P                  \        R4      4      # )zo:returns: applications directory shared by users, e.g. ``C:\ProgramData\Microsoft\Windows\Start Menu\Programs``ÚCSIDL_COMMON_PROGRAMSrf   r;   s   &r   Úsite_applications_dirÚWindows.site_applications_dir—   s   € ô �w‰w×Ñ¤Ð/FÓ GÓHÐHr   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   �   s   € ÷ (ñ ( #ñ (r   c                ó°   € \         P                  P                  \         P                  P                  \	        R4      R4      4      pV P                  V4      # )zk:returns: runtime directory tied to the user, e.g. ``%USERPROFILE%\AppData\Local\Temp\$appauthor\$appname``r   ÚTemp)r   r   r   r+   r   r   r4   s   & r   Úuser_runtime_dirÚWindows.user_runtime_dirœ   s?   € ô �w‰w×Ñ¤§¡§¡¬^Ð<QÓ-RÐTZÓ [Ó\ˆØ×!Ñ! $Ó'Ð'r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   £   s   € ÷ %ñ % #ñ %r   c                ó   € V P                   # )zG:returns: runtime directory shared by users, same as `user_runtime_dir`)rœ   r;   s   &r   Úsite_runtime_dirÚWindows.site_runtime_dir¢   s   € ð ×$Ñ$Ð$r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úpropertyr    r   r5   r<   rB   rI   rM   rR   rV   r\   ra   rg   rm   rr   rw   r}   r‚   rˆ   r�   r’   r—   rœ   r    Ú__static_attributes__r   r   r   r	   r	      sß  † ñð ô(ó ð(ðÀd÷ ð ô(ó ð(ð
 ô"ó ð"ð ô"ó ð"ð ô?ó ð?ð
 ô?ó ð?ð
 ô"ó ð"ð ô"ó ð"ð ôó ðð ôó ðð ôBó ðBð ôCó ðCð ôDó ðDð ôAó ðAð ôAó ðAð ôJó ðJð ôaó ðað ô]ó ð]ð ôBó ðBð ôIó ðIð ô(ó ð(ð
 ô%ó ô%r   r	   c               ó    € V ^8„  d   QhRRRR/# ©r   Ú
csidl_namer   r   r   )r   s   "r   r   r   ¨   s   € ÷ ñ ¨Sð °Sñ r   c                óä   € \        V 4      pVe   V# RRRRRR/P                  V 4      pVf   RV  2p\        V4      h\        P                  P                  V4      pVf   RV 2p\        V4      hV# )	z&Get folder from environment variables.r   ÚAPPDATAr2   ÚALLUSERSPROFILEr   ÚLOCALAPPDATAúUnknown CSIDL name: zUnset environment variable: )Ú(get_win_folder_if_csidl_name_not_env_varÚgetÚ
ValueErrorr   Úenviron)r«   ÚresultÚenv_var_nameÚmsgs   &   r   Úget_win_folder_from_env_varsr¸   ¨   sŽ   € ä5°jÓA€FØÒØˆð 	˜ØÐ 1Ø˜~ð÷ 
�cˆ*ƒoð	 ð
 ÒØ$ Z LÐ1ˆÜ˜‹oÐÜ�Z‰Z�^‰^˜LÓ)€FØ‚~Ø,¨\¨NÐ;ˆÜ˜‹oÐØ€Mr   c               ó    € V ^8„  d   QhRRRR/# )r   r«   r   r   r$   r   )r   s   "r   r   r   ½   s   € ÷ "ñ "¸ð "Àñ "r   c                ó>  € V R8X  dS   \         P                  P                  \         P                  P                  \         P                  R,          4      R4      # V R8X  dS   \         P                  P                  \         P                  P                  \         P                  R,          4      R4      # V R8X  dS   \         P                  P                  \         P                  P                  \         P                  R,          4      R4      # V R8X  dS   \         P                  P                  \         P                  P                  \         P                  R,          4      R	4      # V R
8X  dS   \         P                  P                  \         P                  P                  \         P                  R,          4      R4      # V R8X  dV   \         P                  P                  \         P                  P                  \         P                  R,          4      RRRR4      # V R8X  d}   \         P                  P                  \         P                  P                  \         P                  P                  R\         P                  P                  RR4      4      4      RRRR4      # R# )zMGet a folder for a CSIDL name that does not exist as an environment variable.re   ÚUSERPROFILEÚ	Documentsrl   Ú	Downloadsrq   ÚPicturesrv   ÚVideosr|   ÚMusicr‘   r­   Ú	Microsoftr	   z
Start Menur†   r–   ÚPROGRAMDATAr®   zC:\ProgramDataN)r   r   r+   r   r´   r²   )r«   s   &r   r±   r±   ½   s¶  € àÐ%Ô%Ü�w‰w�|‰|œBŸG™G×,Ñ,¬R¯Z©Z¸Õ-FÓGÈÓUÐUàÐ&Ô&Ü�w‰w�|‰|œBŸG™G×,Ñ,¬R¯Z©Z¸Õ-FÓGÈÓUÐUàÐ'Ô'Ü�w‰w�|‰|œBŸG™G×,Ñ,¬R¯Z©Z¸Õ-FÓGÈÓTÐTà�_Ô$Ü�w‰w�|‰|œBŸG™G×,Ñ,¬R¯Z©Z¸Õ-FÓGÈÓRÐRà�_Ô$Ü�w‰w�|‰|œBŸG™G×,Ñ,¬R¯Z©Z¸Õ-FÓGÈÓQÐQàÐ%Ô%Ü�w‰w�|‰|Ü�G‰G×ÑœRŸZ™Z¨	Õ2Ó3ØØØØó
ð 	
ð Ð,Ô,Ü�w‰w�|‰|Ü�G‰G×ÑœRŸZ™ZŸ^™^¨M¼2¿:¹:¿>¹>ÐJ[Ð]nÓ;oÓpÓqØØØØó
ð 	
ñ r   c               ó    € V ^8„  d   QhRRRR/# rª   r   )r   s   "r   r   r   â   s   € ÷ #ñ #¨Sð #°Sñ #r   c                óV  € RR0pRRRRRRRR	R
RRRRRRRRRRR/
P                  V 4      pVf   RV  2p\        V4      h\        P                  R8w  d   \        h^ RIpW9   d   VP                  MVP                  pVP                  VR4      pVP                  Wb4      w  rx\        V4      # )z«Get folder from the registry.

This is a fallback technique at best. I'm not sure if using the registry for these guarantees us the correct answer
for all CSIDL_* names.

r2   r–   r   ÚAppDatazCommon AppDatar   zLocal AppDatare   ÚPersonalrl   ú&{374DE290-123F-4565-9164-39C4925E467B}rq   zMy Picturesrv   zMy Videor|   zMy Musicr‘   r†   zCommon ProgramsNr°   Úwin32z@Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders)r²   r³   ÚsysÚplatformÚNotImplementedErrorÚwinregÚHKEY_LOCAL_MACHINEÚHKEY_CURRENT_USERÚOpenKeyÚQueryValueExr   )	r«   Úmachine_namesÚshell_folder_namer·   rÌ   ÚhkeyÚkeyÚ	directoryÚ_s	   &        r   Úget_win_folder_from_registryr×   â   s×   € ð 	Øð€Mð
 	˜ØÐ 0Ø˜Ø˜*ØÐCØ˜MØ˜Ø˜Ø˜*ØÐ!2ð÷ 
�cˆ*ƒoð ð Ò Ø$ Z LÐ1ˆÜ˜‹oÐÜ
‡|�|�wÔÜ!Ð!Ûð )3Ô(Cˆ6×$Ò$È×IaÑIa€Dà
�.‰.˜ÐbÓ
c€CØ×&Ñ& sÓ>�L€IÜˆy‹>Ðr   r   z&{3EB685DB-65F9-4CF6-A03A-E3EF65729F3D}r2   z&{62AB5D82-FDC1-4DC3-A9DD-070D1D495D97}r   z&{F1B32785-6FBA-4FCF-9D55-7B8E7F157091}re   z&{FDD39AD0-238F-46AF-ADB4-6C85480369C7}rq   z&{33E28130-4E1E-4676-835A-98395C3BC3BB}rv   z&{18989B1D-99B5-455B-841C-AB7C74E4DDFC}r|   z&{4BD8D571-6D19-48D3-BE97-422220080E43}rl   rÇ   r�   z&{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}r‘   z&{A77F5D77-2E2B-44C3-A6A2-ABA601054A51}r–   z&{0139D44E-6AFE-49F2-8690-3DAFCAE6FFB8}zdict[str, str]Ú_KNOWN_FOLDER_GUIDSc               ó    € V ^8„  d   QhRRRR/# rª   r   )r   s   "r   r   r     s   € ÷ 6ñ 6¨#ð 6°#ñ 6r   c                óÌ  a€ \         P                  R8w  d   \        h^ RIHpHpHpHpHpH	pH
o  ! V3R lRV4      pV! R4      pWP                  n        SP                  V! V4      .VP                  n        RVP                  n        SP                   .VP                  n        V! R4      p	WP"                  n        V! V4      SP$                  SP&                  V! SP(                  4      .V	P"                  n        V! R4      p
SP$                  V
P*                  n        SP(                  SP(                  SP$                  .V
P*                  n        \,        P/                  V 4      pVf   R	V  2p\1        V4      hV! 4       pVP                  Wµ! V4      4       SP)                  4       pV	P#                  V! V4      \2        RV! V4      4       VP4                  pVP                  V4       Vf   R
V  2p\1        V4      h\6        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d.   V! R4      pV
P+                  VVR4      '       d   VP4                  pV# )z˜Get folder via :func:`SHGetKnownFolderPath`.

See https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath.

rÈ   )ÚHRESULTÚPOINTERÚ	StructureÚWinDLLÚbyrefÚcreate_unicode_bufferÚwintypesc                  óš   <€ ] tR tRtR Z P                  3R Z P
                  3R Z P
                  3R Z P                  ^,          3.tRtR# )Ú(get_win_folder_via_ctypes.<locals>._GUIDi!  ÚData1ÚData2ÚData3ÚData4r   N)	r¢   r£   r¤   r¥   ÚDWORDÚWORDÚBYTEÚ_fields_r¨   )rá   s   €r   Ú_GUIDrã   !  s?   ø† à‘h—n‘nÐ%Ø‘h—m‘mÐ$Ø‘h—m‘mÐ$Ø‘h—m‘m aÕ'Ð(ð	
Œr   rì   Úole32NÚshell32Úkernel32r°   z'SHGetKnownFolderPath returned NULL for c              3  ó>   "  € T F  p\        V4      ^ÿ8„  x € K  	  R# 5i)éÿ   N)Úord)Ú.0Úcs   & r   Ú	<genexpr>Ú,get_win_folder_via_ctypes.<locals>.<genexpr>H  s   é € Ð
(¡˜AŒ3ˆq‹6�CŽ<£ùs   ‚TFi   )rÉ   rÊ   rË   ÚctypesrÛ   rÜ   rÝ   rÞ   rß   rà   rá   ÚCLSIDFromStringÚrestypeÚ	LPCOLESTRÚargtypesÚCoTaskMemFreeÚLPVOIDÚSHGetKnownFolderPathrè   ÚHANDLEÚLPWSTRÚGetShortPathNameWrØ   r²   r³   r   ÚvalueÚany)r«   rÛ   rÜ   rÝ   rÞ   rß   rà   rì   rí   rî   rï   Úfolder_guidr·   ÚguidÚpath_ptrrµ   Úbufrá   s   &                @r   Úget_win_folder_via_ctypesr    s÷  ø€ ô ‡|�|�wÔÜ!Ð!ßb×bÑb÷
�	ô 
ñ �7‹O€EØ$+×ÑÔ!Ø&.×&8Ñ&8¹'À%».Ð%I€E×ÑÔ"Ø"&€E×ÑÔØ$,§O¡OÐ#4€E×ÑÔ á�YÓ€GØ+2× Ñ Ô(Ù-4°U«^¸X¿^¹^ÈXÏ_É_Ñ^eÐfn×fuÑfuÓ^vÐ,w€G× Ñ Ô)á�jÓ!€HØ)1¯©€H×ÑÔ&Ø+3¯?©?¸H¿O¹OÈXÏ^É^Ð*\€H×ÑÔ'ä%×)Ñ)¨*Ó5€KØÒØ$ Z LÐ1ˆÜ˜‹oÐá‹7€DØ	×Ñ˜+ u¨T£{Ô3à�‰Ó €HØ× Ñ ¡ t£Ô.BÀDÉ%ÐPXË/ÔZØ�^‰^€FØ	×Ñ˜Ô!à‚~Ø7¸
°|ÐDˆÜ˜‹oÐç
ƒsÑ
(¡Ó
(‡s‡s‚sÑ
(¡Ó
(×(Ò(Ù# DÓ)ˆØ×%Ñ% f¨c°4×8Ò8Ø—Y‘YˆFà€Mr   c               ó   € V ^8„  d   QhRR/# )r   r   zCallable[[str], str]r   )r   s   "r   r   r   P  s   € ÷ ,ñ ,Ð2ñ ,r   c                 ó~   €  ^ RI p \        #   \         d     Mi ; i ^ RIp\        #   \         d
    \
        u # i ; i)zjSelect the best method to resolve Windows folder paths: ctypes, then registry, then environment variables.N)r÷   r  ÚImportErrorrÌ   r×   r¸   )r÷   rÌ   s     r   Ú_pick_get_win_folderr  P  sM   € ð)Ûô )Ð(øô ô Ùðúð,Ûô ,Ð+øô ô ,Ü+Ò+ð,ús   ‚ Œ™ž( ¨<»<c               ó    € V ^8„  d   QhRRRR/# rª   r   )r   s   "r   r   r   c  s   € ÷ 	+ñ 	+˜sð 	+ sñ 	+r   c                ó°   € RV P                  R4       2p\        P                  P                  VR4      P	                  4       ;p'       d   V# \        V 4      # )zËGet a Windows folder path, checking for ``WIN_PD_OVERRIDE_*`` environment variable overrides first.

For example, ``CSIDL_LOCAL_APPDATA`` can be overridden by setting ``WIN_PD_OVERRIDE_LOCAL_APPDATA``.

ÚWIN_PD_OVERRIDE_ÚCSIDL_Ú )Úremoveprefixr   r´   r²   ÚstripÚ_resolve_win_folder)r«   Úenv_varÚoverrides   &  r   r   r   c  sO   € ð ! ×!8Ñ!8¸Ó!BÐ CÐD€GÜ—:‘:—>‘> '¨2Ó.×4Ñ4Ó6Ð6€xÖ6ØˆÜ˜zÓ*Ð*r   )Ú__conditional_annotations__r¦   Ú
__future__r   r   rÉ   Útypingr   r   Úapir   Úcollections.abcr   r   Ú__annotations__r	   r¸   r±   r×   rØ   r  r  r  r   Ú__all__)r  s   @r   Ú<module>r     sÅ   øðÜ å "ã 	Û 
ß 'å  çÝ(ð $.Ð �jÓ -ôS%ˆoô S%õlõ*"õJ#ðN Ð=ØÐDØÐCØÐ>ØÐ@ØÐ=ØÐ=ØÐ?ØÐFØÐ>ØÐEð'Ð �^ó õ6õr,ñ  +Ó,Ð õ	+ð ð‚r   