ó
    oM‡jFÄ  ã            3       óH  • S SK r S SKrS SKrS SKrS SKJr  S SKJrJr  S SK	r	S SK
r
S SKrS SKJrJrJrJr  S SKJrJrJr  S SKJr  SSKJr  SS	KJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'  SS
K(J)r)  SSK*J+r+  SSK,J-r-J.r.  \%" 5       (       a  S SK/r/S SK/J0r0J1r1  S SK2J3r4  S SK2Jr5  \"" 5       (       a  S SK6r6S SK6J7r7  S SK8J9r9  S SK:J;r;J<r<  Sr=Sr>Sr?Sr@S/rA/ SQrB\'R†                  " \D5      rESS/SS/SS/SS/SS/S.SS/SS/SS/SS/SS/SS/S.SSS/0S.rF0 rG\F H  rH\GR“                  \F\H   5        M     SpS \J4S! jjrKS" rLS# rMSqS \N\Rž                     \P-  4S$ jjrQ\S% 5       rRS& rSS' rTS( rU   SrS)\J4S* jjrV      SsS)\J4S+ jjrW         StS)\J4S, jjrXS-\PS.\PS/\N\   S0\S1\JS2\PS3\P\R²                  -  S4\P\Rž                  -  4S5 jrZ SuS6\[\P\\4   S7\[\P\\4   S8\P4S9 jjr]S: r^   SvS-\PS.\PS/\N\   S0\S1\JS;\S3\R²                  S<\S=\S>\[\P\R¾                  4   \P-  S-  S?\[\`\P-  \`\P-  4   S-  S@\P\Rž                  -  S-  SA\JSB\[\P\P4   S2\PSC\PSD\JS4\P\Rž                  -  SE\JSF\[\P\4   S-  SG\SH\JSI\S-  SJ\JS)\J42SK jjraSL\bSM\PSN\JS \4SO jrcSP rdSQ\PSC\PSR\[S \[4SS jreST rfSU\PSR\[4SV jrgSW\[SX\[SY\[SQ\PS \[4
SZ jrh   SpS[\PS\\[\P\4   S]\N\P   S-  S^\N\P   S-  SC\PS-  4
S_ jjri SwS`\N\P   Sa\N\P   SE\JSb\JSc\JSd\JSJ\JSC\PS-  S \N\P   4Se jjrjS[\PSf\PSg\PSh\PSi\PSj\JSk\PSl\P4Sm jrkSn rlSo rmg)xé    N)ÚPath)ÚAnyÚCallable)Ú	DDUFEntryÚ	ModelCardÚ
model_infoÚsnapshot_download)ÚHfHubHTTPErrorÚOfflineModeIsEnabledÚvalidate_hf_hub_args)Úversioné   )Ú__version__)ÚFLASHPACK_WEIGHTS_NAMEÚONNX_EXTERNAL_WEIGHTS_NAMEÚONNX_WEIGHTS_NAMEÚSAFETENSORS_WEIGHTS_NAMEÚWEIGHTS_NAMEÚ_maybe_remap_transformers_classÚ	deprecateÚget_class_from_dynamic_moduleÚis_accelerate_availableÚis_peft_availableÚis_sdnq_availableÚis_transformers_availableÚis_transformers_versionÚlogging)ÚDIFFUSERS_SDNQ_TRANSFORMERS)Úis_compiled_moduleé   )Ú_load_tokenizer_from_ddufÚ"_load_transformers_model_from_dduf)ÚPreTrainedModelÚPreTrainedTokenizerBase)ÚSAFE_WEIGHTS_NAME)r   )Údispatch_model)Úremove_hook_from_module)Úcompute_module_sizesÚget_max_memoryzdiffusion_pytorch_model.binzpipeline.pyzdiffusers.utilsztransformers.utilsÚprior)zchat_template.jinjazgeneration_config.jsonzprocessor_config.jsonztokenizer.jsonztokenizer_config.jsonÚsave_pretrainedÚfrom_pretrained)Ú
ModelMixinÚSchedulerMixinÚDiffusionPipelineÚOnnxRuntimeModelÚBaseGuidance)ÚPreTrainedTokenizerÚPreTrainedTokenizerFastr#   ÚFeatureExtractionMixinÚProcessorMixinÚImageProcessingMixinÚ	ORTModule)Ú	diffusersÚtransformerszonnxruntime.trainingÚreturnc                 ó\  • [         [        [        [        /n[	        5       (       a  U[
        [        /-  nU Vs/ s H  oUR                  S5      S   PM     nnU Vs/ s H  oUR                  S5      S   PM     nnSn[        R                  " SSR                  U5       SU SU SU SSR                  U5       S	35      n	[        R                  " SSR                  U5       S
U SSR                  U5       S	35      n
U=(       d    / n[        U 5      n U(       a:  U  Vs1 s H-  n[        R                  R                  U5      S   U;   d  M+  UiM/     n n0 nU  Hb  n[        UR                  S5      5      S:X  d  M#  UR                  S5      u  pïXá;   a  M=  UR                  U/ 5        XÎ   R!                  U5        Md     [#        5       nU(       d2  Ub  [%        X	5      nU(       d  [%        X
5      n['        S U 5       5      $ UR)                  5        H‡  u  nn/ n[#        5       nUb  [%        UU	5      nU(       d  [%        UU
5      nU H;  n[        R                  R+                  U5      u  nnUS:H  nUR!                  U5        M=     ['        U5      (       a  M‡    g   gs  snf s  snf s  snf )aö  
Checking for safetensors compatibility:
- The model is safetensors compatible only if there is a safetensors file for each model component present in
  filenames.

Converting default pytorch serialized filenames to safetensors serialized filenames:
- For models from the diffusers library, just replace the ".bin" extension with ".safetensors"
- For models from the transformers library, the filename changes from "pytorch_model" to "model", and the ".bin"
  extension is replaced with ".safetensors"
Ú.r   éÿÿÿÿú\d{5}-of-\d{5}Ú(Ú|ú)\.(Ú-ú)$ú)(-ú)?\.(Ú/r   c              3   ó,   #   • U  H
  nS U;   v •  M     g7f)ú.safetensorsN© )Ú.0Úfilenames     Ú¸C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\diffusers/pipelines/pipeline_loading_utils.pyÚ	<genexpr>Ú,is_safetensors_compatible.<locals>.<genexpr>¯   s   é € ÐQÒ>P°(�> XÖ-Ò>Pùs   ‚rH   FT)r   r   r   r   r   ÚTRANSFORMERS_WEIGHTS_NAMEÚTRANSFORMERS_SAFE_WEIGHTS_NAMEÚsplitÚreÚcompileÚjoinÚfilter_model_filesÚosÚpathÚlenÚ
setdefaultÚappendÚsetÚfilter_with_regexÚanyÚitemsÚsplitext)Ú	filenamesÚpassed_componentsÚfolder_namesÚvariantÚweight_namesÚwÚweight_prefixesÚweight_suffixsÚtransformers_index_formatÚvariant_file_reÚnon_variant_file_reÚfÚ
componentsrK   Ú	componentÚcomponent_filenameÚfiltered_filenamesÚcomponent_filenamesÚmatchesÚfiltered_component_filenamesÚ	extensionÚmatch_existss                         rL   Úis_safetensors_compatibleru   p   s¢  € ô 	Ü ÜÜ"ð	€Lô !×"Ñ"ØÔ2Ô4RÐSÑSˆñ 1=Ó=²¨1—w‘w˜s“| A”±€OÐ=á0<Ó=²¨1—g‘g˜c“l 2Ô&±€NÐ=à 1Ðä—j’jØˆS�X‰X�oÓ&Ð' t¨G¨9°A°g°Y¸aÐ@YÐ?ZÐZ^Ð_b×_gÑ_gÐhvÓ_wÐ^xÐxzÐ{ó€Oô Ÿ*š*ØˆS�X‰X�oÓ&Ð' sÐ+DÐ*EÀUÈ3Ï8É8ÐTbÓKcÐJdÐdfÐgóÐð *×/¨RÐä" 9Ó-€IÞÙ )ÓQ¢	˜1¬R¯W©W¯]©]¸1Ó-=¸aÑ-@ÀLÑ-P—Q¡	ˆ	ÐQð €JÛˆÜ�8—>‘> #Ó&Ó'¨1Ó,Ùà(0¯©°sÓ(;Ñ%ˆ	ØÓ)Ùà×Ñ˜i¨Ô,ØÑ×$Ñ$Ð%7Ö8ñ ô ›ÐÞØÑÜ!2°9Ó!NÐö "Ü!2°9Ó!RÐÜÑQÑ>PÓQÓQÐQð +5×*:Ñ*:Ö*<Ñ&ˆ	Ð&ØˆÜ'*£uÐ$àÑÜ+<Ð=PÐRaÓ+bÐ(ö ,Ü+<Ð=PÐReÓ+fÐ(Û">ÐÜ"$§'¡'×"2Ñ"2Ð3EÓ"FÑˆH�ià$¨Ñ6ˆLØ�N‰N˜<Ö(ñ	 #?ô �7�|‹|Ùñ# +=ð& ùòA >ùâ=ùò Rs   ¹JÁJ$Ä *J)ÅJ)c                 ó0  ^• [         [        [        [        [        /n[        5       (       a  U[        [        /-  nU Vs/ s H  o"R                  S5      S   PM     nnU  V^s/ s H!  m[        U4S jU 5       5      (       d  M  TPM#     sn$ s  snf s  snf )zIFilter model repo files for just files/folders that contain model weightsr<   r=   c              3   óF   >#   • U  H  nTR                  U5      v •  M     g 7f©N)Úendswith)rJ   rs   rk   s     €rL   rM   Ú%filter_model_files.<locals>.<genexpr>Ø   s   øé € Ð'bÒOaÀ)¨¯
©
°9×(=Ð(=ÒOaùs   ƒ!)
r   r   r   r   r   r   rO   rP   rQ   r]   )r`   rd   ÚwnÚallowed_extensionsrk   s       `rL   rU   rU   É   sƒ   ø€ ô 	Ü ÜÜ"Üð€Lô !×"Ñ"ØÔ2Ô4RÐSÑSˆá6BÓC²l°Ÿ(™( 3›-¨Ô+±lÐÐCá Ôc’y�!¤CÔ'bÑOaÓ'b×$b�A‘yÑcÐcùò Dùâcs   ¿BÁ#BÂBc                 ó|   • U  Vs1 s H*  o!R                  UR                  S5      S   5      c  M(  UiM,     sn$ s  snf )NrF   r=   )ÚmatchrQ   )r`   Ú
pattern_rerk   s      rL   r\   r\   Û   s2   € Ù ÓS’y�!×$4Ñ$4°Q·W±W¸S³\À"Ñ5EÓ$F�A‘yÑSÐSùÒSs   …'9°9c                 ó¼  • [         [        [        [        /n[	        5       (       a  U[
        [        /-  nU Vs/ s H  oDR                  S5      S   PM     nnU Vs/ s H  oDR                  S5      S   PM     nnSnUbÝ  [        R                  " SSR                  U5       SU SU SU SSR                  U5       S	35      n[        R                  " SSR                  U5       SSR                  U5       S
U S35      n	[        R                  " SU SU S35      n
[        R                  " SSR                  U5       SSR                  U5       SU S35      n[        R                  " SSR                  U5       SU SSR                  U5       S	35      n[        R                  " SSR                  U5       SSR                  U5       S35      nS"S jn0 nU  Hy  n[        UR                  S5      5      S:X  d#  UR                  S/ 5      R                  U5        MD  UR                  S5      u  nnUR                  U/ 5      R                  U5        M{     [        5       n[        5       nUR                  5        Hº  u  nnU" UUS9n[        5       n[        5       n[        5       nUb0  [!        UW5      n[!        UW	5      n[!        UW
5      n[!        UW5      nU(       d  U(       a"  UR#                  U(       a  UW-  OUW-  5        MŽ  [!        UU5      n[!        UU5      nUR#                  UU-  5        M¼     UR#                  U5        [        U5      S:X  a  Ub  SU S3n[%        U5      e[        U5      S:”  aO  UU:w  aI  [&        R)                  SU SU SU SSR                  U5       S U SSR                  UU-
  5       S!35        UU4$ s  snf s  snf )#Nr<   r   r=   r>   r?   r@   rA   rB   rC   z
)\.index\.z\.json$z.*-z\.z	\.[a-z]+$z)\.z\.index\.json$rD   rE   z)\.index\.jsonc                 ó€   ^• U(       d  U $ U  V^s1 s H!  m[        U4S jU 5       5      (       a  M  TiM#     sn$ s  snf )Nc              3   ód   >#   • U  H%  nTR                  UR                  S 5      5      v •  M'     g7f)z*.N)ry   Úlstrip)rJ   Úpatrk   s     €rL   rM   ÚXvariant_compatible_siblings.<locals>.filter_for_compatible_extensions.<locals>.<genexpr>  s)   øé € Ð/hÒXgÐQT°·
±
¸3¿:¹:ÀdÓ;K×0LÐ0LÒXgùs   ƒ-0)r]   )r`   Úignore_patternsrk   s     `rL   Ú filter_for_compatible_extensionsÚEvariant_compatible_siblings.<locals>.filter_for_compatible_extensions  s4   ø€ ÞØÐñ %Ôiš9�a¬CÔ/hÑXgÓ/h×,h—™9ÑiÐiùÒis   �;²;rF   r   Ú )r†   z3You are trying to load model files of the `variant=z-`, but no such modeling files are available. z
A mixture of z	 and non-z" filenames will be loaded.
Loaded z filenames:
[ú, z]
Loaded non-zF
If this behavior is not expected, please check your folder structure.rx   )r   r   r   r   r   rO   rP   rQ   rR   rS   rT   rX   rY   rZ   r[   r^   r\   ÚupdateÚ
ValueErrorÚloggerÚwarning)r`   rc   r†   rd   re   rf   rg   rh   ri   Úvariant_index_reÚlegacy_variant_file_reÚlegacy_variant_index_rerj   Únon_variant_index_rer‡   rl   rK   rm   Ú_Úusable_filenamesÚvariant_filenamesrp   Úcomponent_variantsÚcomponent_legacy_variantsÚcomponent_non_variantsÚcomponent_variant_index_filesÚ$component_legacy_variant_index_filesÚerror_messages                               rL   Úvariant_compatible_siblingsrœ   ß   s$  € äÜ ÜÜ"ð	€Lô !×"Ñ"ØÔ2Ô4RÐSÑSˆñ 1=Ó=²¨1—w‘w˜s“| A”±€OÐ=á0<Ó=²¨1—g‘g˜c“l 2Ô&±€NÐ=à 1ÐàÑäŸ*š*Ø�—‘˜/Ó*Ð+¨4°¨y¸¸'¸À!ÐD]ÐC^Ð^bÐcf×ckÑckÐlzÓc{Ðb|Ð|~Ðó
ˆô Ÿ:š:Ø�—‘˜/Ó*Ð+¨4°·±¸Ó0HÐ/IÈÐT[ÐS\Ð\cÐdó
Ðô "$§¢¨sÐ3LÐ2MÈRÐPWÈyÐXaÐ,bÓ!cÐÜ"$§*¢*Ø�—‘˜/Ó*Ð+¨4°·±¸Ó0HÐ/IÈÈWÈIÐUcÐdó#
Ðô
 Ÿ*š*ØˆS�X‰X�oÓ&Ð' sÐ+DÐ*EÀUÈ3Ï8É8ÐTbÓKcÐJdÐdfÐgóÐô Ÿ:š:¨¨3¯8©8°OÓ+DÐ*EÀTÈ#Ï(É(ÐSaÓJbÐIcÐcqÐ&rÓsÐôjð €JÛˆÜ�8—>‘> #Ó&Ó'¨1Ó,Ø×!Ñ! " bÓ)×0Ñ0°Ô:Ùà—~‘~ cÓ*‰ˆ	�1Ø×Ñ˜i¨Ó,×3Ñ3°HÖ=ñ ô “uÐÜ›ÐØ*4×*:Ñ*:Ö*<Ñ&ˆ	Ð&Ù>Ð?RÐdsÑtÐä ›UÐÜ$'£EÐ!Ü!$£ÐØÑÜ!2Ð3FÈÓ!XÐÜ,=Ð>QÐScÓ,dÐ)ä(9Ð:MÐOeÓ(fÐ%Ü3DÐEXÐZqÓ3rÐ0æÖ!:Ø×$Ñ$æ%ð #Ð%BÒBà.Ð1UÑUöô &7Ð7JÐL_Ó%`Ð"Ü,=Ð>QÐSgÓ,hÐ)à×#Ñ#Ð$:Ð=ZÑ$ZÖ[ñ1 +=ð4 ×ÑÐ-Ô.ä
ÐÓ Ó" wÑ':ØMÈgÈYð  WDð  EˆÜ˜Ó'Ð'ä
ÐÓ Ó!Ð&6Ð:KÓ&KÜ�‰Ø˜g˜Y i°¨yÐ8[Ð\cÐ[dð eØ—	‘	Ð+Ó,Ð-¨^¸G¸9ð EØ—	‘	Ð*Ð->Ñ>Ó?Ð@ð A<ð=ô	
ð Ð.Ð.Ð.ùòo >ùâ=s   ¹OÁOc                 ó.  • [        U US S9nUR                   Vs1 s H  ofR                  iM     nn[        XsS9u  p‰U V
s/ s H;  n
SR	                  U
R                  S5      S S U
R                  S5      SS  -   5      PM=     nn
[        U5      R                  [        U5      5      (       a/  [        R                  " SU SU  SU S	U S
U SU S3[        5        g [        R                  " SU SU  SU SU SU  SU  SU S3[        5        g s  snf s  sn
f )N©ÚtokenÚrevision)rc   r<   r    r   zYou are loading the variant z from z via `revision='z-'` even though you can load it via `variant=`z)`. Loading model variants via `revision='zK'` is deprecated and will be removed in diffusers v1. Please use `variant='z'` instead.z^'`. This behavior is deprecated and will be removed in diffusers v1. One should use `variant='z%'` instead. However, it appears that zè currently does not have the required variant filenames in the 'main' branch. 
 The Diffusers team and community would be very grateful if you could open an issue: https://github.com/huggingface/diffusers/issues/new with the title 'z is missing z6 files' so that the correct variant file can be added.)r   ÚsiblingsÚ	rfilenamerœ   rT   rQ   r[   ÚissubsetÚwarningsÚwarnÚFutureWarning)Úpretrained_model_name_or_pathrŸ   rc   r    Úmodel_filenamesÚinfoÚsiblingr`   Úcomp_model_filenamesr“   rk   s              rL   Úwarn_deprecated_model_variantr¬   E  s¦  € äØ%ØØñ€Dð
 37·-²-Ó@²- w×"Ô"±-€IÐ@Ü9¸)ÑVÑÐÙSgÓhÒSgÈa˜CŸH™H Q§W¡W¨S£\°"°1Ð%5¸¿¹À»ÀQÀRÐ8HÑ%HÖIÑSgÐÐhä
ˆ?Ó×$Ñ$¤SÐ)=Ó%>×?Ñ?Ü�ŠØ*¨8¨*°FÐ;XÐ:YÐYiÐjrÐisð  tað  bjð  akð  kTð  U]ð  T^ð  ^ið  jrð  isð  s~ð  Üõ	
ô
 	�ŠØ*¨8¨*°FÐ;XÐ:YÐYiÐjrÐisð  tRð  S[ð  R\ð  \Að  B_ð  A`ð  `Ið  Jgð  Ihð  htð  u}ð  t~ð  ~t	ð  u	Üõ	
ùò Aùâhs   šDÁ ADc                 ó´   • [        U 5      (       a  U R                  n [        5       (       a,  SSKJn  [        X5      (       a  U R                  R                  n U $ )zUnwraps a model.r   )Ú	PeftModel)r   Ú	_orig_modr   Úpeftr®   Ú
isinstanceÚ
base_modelÚmodel)r³   r®   s     rL   Ú_unwrap_modelr´   \  sC   € ä˜%× Ñ Ø—‘ˆä×ÑÝ"ä�e×'Ñ'Ø×$Ñ$×*Ñ*ˆEà€Ló    c           	      ó  • U(       dÚ  [         R                  " U 5      nU S:X  a  [        U5      =(       d    Un[        X5      nUR	                  5        Vs0 s H  oˆ[        XS5      _M     n	nSn
U	R                  5        H  u  p+Uc  M
  [        X{5      (       d  M  Un
M      XE   n[        U5      nUR                  n[        Xê5      (       d  [        XE    SU SU
 35      eg[        R                  SXE    S35        gs  snf )zNSimple helper method to raise or warn in case incorrect module has been passedr9   Nz is of type: z, but should be z&You have passed a non-standard module z2. We cannot verify whether it has the correct type)Ú	importlibÚimport_moduler   ÚgetattrÚkeysr^   Ú
issubclassr´   Ú	__class__rŒ   r�   rŽ   )Úlibrary_nameÚlibraryÚ
class_nameÚimportable_classesÚpassed_class_objÚnameÚis_pipeline_moduleÚ	class_objÚcÚclass_candidatesÚexpected_class_objÚclass_candidateÚ	sub_modelÚunwrapped_sub_modelÚ	model_clss                  rL   Úmaybe_raise_or_warnrÌ   j  s  € ö Ü×)Ò)¨,Ó7ˆð ˜>Ó)Ü8¸ÓD×RÈ
ˆJä˜GÓ0ˆ	ØBT×BYÑBYÔB[Ó\ÒB[¸Qœw w°4Ó8Ò8ÑB[ÐÐ\à!ÐØ+;×+AÑ+AÖ+CÑ'ˆJØÓ*¬z¸)×/UÓ/UØ%4Ò"ñ ,Dð %Ñ*ˆ	Ü+¨IÓ6ÐØ'×1Ñ1ˆ	ä˜)×8Ñ8ÜÐ 0Ñ 6Ð7°}ÀYÀKÐO_Ð`rÐ_sÐtÓuÐuð 9ô 	�‰Ø4Ð5EÑ5KÐ4Lð M$ð $õ	
ùò! ]s   ÁC>c                 óÜ   • SSK Jn  [        X 5      nU(       a  [        X 5      n[        XA5      nU$ [        R
                  " U 5      nU S:X  a  [        U5      =(       d    Un[        Xa5      nU$ )Nr   ©Ú	pipelinesr9   )r8   rÏ   Úhasattrr¹   r·   r¸   r   )r½   r¿   rÏ   rÃ   Úpipeline_modulerÄ   r¾   s          rL   Úsimple_get_class_objrÒ   �  sj   € Ý#ä  Ó9ÐæÜ! )Ó:ˆÜ˜OÓ8ˆ	ð Ðô ×)Ò)¨,Ó7ˆð ˜>Ó)Ü8¸ÓD×RÈ
ˆJä˜GÓ0ˆ	àÐrµ   Útrust_remote_codec           	      ó  • U(       a&  U(       a  [         R                  R                  Xe5      OSnUR                  S5      (       a  UR	                  S5      nU(       a=  [        X05      n	[        X‘5      n
[        R                  UR                  5       U
5      nX«4$ U(       az  [         R                  R                  [         R                  R                  X€S-   5      5      (       a6  [        UU S-   UUS9n
[        R                  UR                  5       U
5      nX«4$ [        R                  " U 5      nU S:X  a  [        U5      =(       d    Un[        XÁ5      n
UR                  5        Vs0 s H  oÝ[        XÍS5      _M     nnX«4$ s  snf )zaSimple helper method to retrieve class object of module as well as potential parent class objectsNÚ	FlashPackú.py)Úmodule_filer¿   rÓ   r9   )rV   rW   rT   Ú
startswithÚremoveprefixr¹   ÚdictÚfromkeysrº   Úisfiler   r·   r¸   r   )r½   r¿   rÀ   rÏ   rÃ   Úcomponent_nameÚ	cache_dirrÓ   Úcomponent_folderrÑ   rÄ   rÆ   r¾   rÅ   s                 rL   Úget_class_obj_and_candidatesrà   ¡  s[  € ö CQÖU^”r—w‘w—|‘| IÔ>ÐdhÐà×Ñ˜[×)Ñ)Ø×,Ñ,¨[Ó9ˆ
æÜ! )Ó:ˆä˜OÓ8ˆ	ÜŸ=™=Ð);×)@Ñ)@Ó)BÀIÓNÐð* Ð&Ð&ö) 
œbŸg™gŸn™n¬R¯W©W¯\©\Ð:JÐ[`ÑL`Ó-a×bÑbä1ØØ$ uÑ,Ø!Ø/ñ	
ˆ	ô  Ÿ=™=Ð);×)@Ñ)@Ó)BÀIÓNÐð Ð&Ð&ô ×)Ò)¨,Ó7ˆð ˜>Ó)Ü8¸ÓD×RÈ
ˆJä˜GÓ0ˆ	ØBT×BYÑBYÔB[Ó\ÒB[¸Qœw w°4Ó8Ò8ÑB[ÐÐ\àÐ&Ð&ùò ]s   Å)Fc           	      óà   • U R                  S5      (       a2  [        U 5      nUR                  nUR                  R	                  5       n OUb  U  S3nUn O[
        nUb  Ub  Un[        U UUUUUS9$ )NrÖ   )r×   r¿   rÞ   r    rÓ   )ry   r   rÂ   ÚparentÚabsoluteÚCUSTOM_PIPELINE_FILE_NAMEr   )	Úcustom_pipelineÚrepo_idÚhub_revisionr¿   rÞ   r    rÓ   rW   Ú	file_names	            rL   Ú_get_custom_pipeline_classré   Í  sˆ   € ð ×Ñ ×&Ñ&Ü�OÓ$ˆà—I‘Iˆ	ØŸ+™+×.Ñ.Ó0‰Ø	Ñ	Ø&Ð' sÐ+ˆ	Ø!‰ä-ˆ	àÑ˜|Ñ7ð  ˆä(ØØØØØØ+ñð rµ   c
           
      ó.  • Ub  [        UUUUUUU	S9$ U R                  S:w  a  U R                  S:w  a  U $ [        R                  " U R                  R                  S5      S   5      n
U=(       d    US   nU(       d  [        S5      e[        X¦5      nU(       a|  SS	KJ	n  U" U5      nUb1  [        R                  S
UR                   SUR                   S35        O/[        R                  UR                   SUR                   S35        U=(       d    UnU$ )N)ræ   rç   r¿   rÞ   r    rÓ   r/   ÚModularPipeliner<   r   Ú_class_namezoThe class name could not be found in the configuration file. Please make sure to pass the correct `class_name`.r    )Ú_get_connected_pipelinezLoading connected pipeline z instead of z0 as specified via `load_connected_pipeline=True`z* has no connected pipeline class. Loading )ré   Ú__name__r·   r¸   Ú
__module__rQ   rŒ   r¹   Úauto_pipelinerí   r�   r©   )rÄ   ÚconfigÚload_connected_pipelinerå   ræ   rç   r¿   rÞ   r    rÓ   Údiffusers_moduleÚpipeline_clsrí   Úconnected_pipeline_clss                 rL   Ú_get_pipeline_classrö   ð  s0  € ð Ñ"Ü)ØØØ%Ø!ØØØ/ñ
ð 	
ð ×ÑÐ0Ó0°Y×5GÑ5GÐK\Ó5\ØÐä ×.Ò.¨y×/CÑ/C×/IÑ/IÈ#Ó/NÈqÑ/QÓRÐØ×4˜v mÑ4€JÞÜØ}ó
ð 	
ô Ð+Ó8€LæÝ:á!8¸Ó!FÐØ!Ñ-Ü�K‰KØ-Ð.D×.MÑ.MÐ-NÈlÐ[g×[pÑ[pÐZqð  rbð  cõô �K‰K˜<×0Ñ0Ð1Ð1[Ð\h×\qÑ\qÐ[rÐrsÐtÔuà-×=°ˆàÐrµ   r½   r¿   rÀ   rÏ   rÃ   rÂ   ÚdtypeÚcached_folderc                 ó\  • [        U UUUUUUS9u  pš[        5       (       aC  [        R                  " [        R                  " [        R
                  5      R                  5      nOSn[        5       =(       a0    [        U	[        5      =(       a    U[        R                  " S5      :¬  n[        R                  " [        R                  S5      S   5      n[        X�R                  5      nS nUn[
        SSS.nU(       aÍ  U	R                  [        R                   R#                  UU5      US	S	UR%                  S
S5      UR%                  SS 5      UR%                  SS5      UR%                  SS 5      UR%                  SS 5      UR%                  SS 5      US9u  nnn[&        R(                  " 5          U	R*                  " U40 UD6nS S S 5        O®U(       a§  [-        U	SS 5      nUc  [/        S5      eUR1                  UUUR%                  S
S5      UR%                  SS 5      UR%                  SS5      UR%                  SS 5      UR%                  SS 5      US9n[&        R(                  " 5          U	" U5      nS S S 5        Ub  UR3                  US9nU$ ! , (       d  f       N"= f! , (       d  f       N3= f)N)rÝ   rÞ   úN/Aú4.20.0r<   r   r³   Úpytorch)r8   Ú	file_typeÚ	frameworkTÚforce_downloadFÚproxiesÚlocal_files_onlyrŸ   r    Ú	subfolder)
rÞ   Úreturn_unused_kwargsÚreturn_commit_hashrÿ   r   r  rŸ   r    r  Ú
user_agentÚconfig_classz=`config_class` cannot be None. Please double-check the model.)r  rÿ   r   r  rŸ   r    r  ©r÷   )rà   r   r   Úparser9   r   Úbase_versionr»   r#   r·   r¸   rî   rQ   r-   Úload_configrV   rW   rT   ÚpopÚ
accelerateÚinit_empty_weightsÚfrom_configr¹   rŒ   r,   Úto)r½   r¿   rÀ   rÏ   rÃ   rÂ   r÷   rø   ÚkwargsrÄ   r“   Útransformers_versionÚis_transformers_modelró   Úis_diffusers_modelr³   Úconfig_pathr  rñ   Úunused_kwargsÚcommit_hashr  s                         rL   Ú_load_empty_modelr  #  sn  € ô 0ØØØØØØØñ�L€Iô !×"Ñ"Ü&Ÿ}š}¬W¯]ª]¼<×;SÑ;SÓ-T×-aÑ-aÓbÑà$Ðô 	"Ó#÷ 	<Ü�y¤/Ó2÷	<à ¤G§M¢M°(Ó$;Ñ;ð ô
 !×.Ò.¬x¯~©~¸cÓ/BÀ1Ñ/EÓFÐÜ# I×/JÑ/JÓKÐà€EØ€Kä ØØñ€Jö à-6×-BÑ-BÜ�G‰G�L‰L˜ dÓ+Ø#Ø!%Ø#Ø!Ÿ:™:Ð&6¸Ó>Ø—J‘J˜y¨$Ó/Ø#ŸZ™ZÐ(:¸EÓBØ—*‘*˜W dÓ+Ø—Z‘Z 
¨DÓ1Ø—j‘j ¨dÓ3Ø!ð .Cð .
Ñ*ˆ�˜{ô ×*Ò*Õ,Ø×)Ò)¨&ÑB°MÑBˆE÷ -Ð,æ	Ü˜y¨.¸$Ó?ˆØÑÜÐ\Ó]Ð]à×-Ñ-ØØØ!Ÿ:™:Ð&6¸Ó>Ø—J‘J˜y¨$Ó/Ø#ŸZ™ZÐ(:¸EÓBØ—*‘*˜W dÓ+Ø—Z‘Z 
¨DÓ1Ø!ð .ð 	
ˆô ×*Ò*Õ,Ù˜fÓ%ˆE÷ -ð ÑØ—‘˜u�Ð%ˆØ€L÷- -Õ,ú÷" -Õ,ús   Æ-JÉ'	JÊ
JÊ
J+Úmodule_sizesÚdevice_memoryÚdevice_mapping_strategyc                 ó.  • [        UR                  5       5      nX3S S S2   -   nUR                  5       n0 nSnU  HW  nXF[        U5      -     nX   n	X   n
Xš:”  a  U/US'   M(  X…;  a  U/XX'   OXX   R	                  U5        X==   U	-  ss'   US-  nMY     U$ )Nr=   r   Úcpur    )Úlistrº   ÚcopyrX   rZ   )r  r  r  Ú
device_idsÚdevice_cycleÚdevice_id_component_mappingÚcurrent_device_indexrm   Ú	device_idÚcomponent_memoryÚcurr_device_memorys              rL   Ú_assign_components_to_devicesr&  w  sË   € ô �m×(Ñ(Ó*Ó+€JØ©4¨R¨4Ñ 0Ñ0€LØ!×&Ñ&Ó(€Mà"$ÐØÐÛ!ˆ	Ø ¼¸LÓ8IÑ!IÑJˆ	Ø'Ñ2ÐØ*Ñ5Ðð Ó0Ø2;°Ð'¨Ó.àÓ;Ø:C¸Ð+Ò6à+Ñ6×=Ñ=¸iÔHð Ó$Ð(8Ñ8Ó$Ø  AÑ%Ò ñ! "ð$ 'Ð&rµ   c                 óÌ  • U S:w  a  U $ SSK Jn  UR                  S[        R                  5      n0 n	UR                  5        GH  u  n
u  p¼[        X{5      n[        nS nX¢;   a4  [        UUUUUU
U5        [        R                  " 5          X*   nS S S 5        O¼[        U[        5      (       a/  UR                  X¨R                  S[        R                  5      5      OUn[        UUUUUUU
UUR                  SS 5      UR                  SS 5      UR                  SS 5      UR                  S	S 5      UR                  S
S 5      UR                  SS 5      S9nUc  GM  XùU
'   GM     U	R                  5        VVs0 s H„  u  nn[        U[        R                  R                  5      (       d  M1  U[!        U[        U[        5      (       a0  UR                  UUR                  S[        R                  5      5      OUS9S   _M†     nnn[        [#        UR                  5       S SS95      n[%        U5      n[        [#        UR                  5       S SS95      nUR                  5        VVs0 s H  u  nnUS:w  d  M  UU_M     nnnS n['        U5      S:”  a4  [)        UXPS9n0 nUR                  5        H  u  nnU H  nUUU'   M
     M     U$ ! , (       d  f       GN…= fs  snnf s  snnf )NÚbalancedr   rÎ   r÷   Údefaultrø   rÿ   r   r  rŸ   r    )r½   r¿   rÀ   rÏ   rÃ   Úpipeline_classrÂ   r÷   rø   rÿ   r   r  rŸ   r    r  r‰   c                 ó   • U S   $ ©Nr    rI   ©Úitems    rL   Ú<lambda>Ú'_get_final_device_map.<locals>.<lambda>Ù  s   € ÀdÈ1Âgrµ   T)ÚkeyÚreversec                 ó   • U S   $ r,  rI   r-  s    rL   r/  r0  Ý  s   € À$ÀqÂ'rµ   r  )r  )r8   rÏ   ÚgetÚtorchÚfloat32r^   rÐ   ÚALL_IMPORTABLE_CLASSESrÌ   r  r  r±   rÚ   r  ÚnnÚModuler(   Úsortedr)   rX   r&  )Ú
device_mapr*  rÁ   Ú	init_dictr¾   Ú
max_memoryr  rÏ   r÷   Úinit_empty_modulesrÂ   r½   r¿   rÃ   rÀ   Úloaded_sub_modelÚsub_model_dtypeÚmodule_nameÚmoduler  ÚkÚvÚfinal_device_mapr!  r#  rl   rm   s                              rL   Ú_get_final_device_maprF  •  sæ  € à�ZÓØÐå#à�J‰J�w¤§¡Ó.€Eð ÐØ,5¯O©O×,=Ñ(ˆÑ(ˆ|ä$ YÓ=ÐÜ3ÐØÐð Ó#ô  ØØØØ"Ø ØØ"ôô ×.Ò.Õ0Ø#3Ñ#9Ð ÷ 1Ð0ô
 ISÐSXÔZ^×H_ÑH_�—	‘	˜$§	¡	¨)´U·]±]Ó CÔDÐejð ô  1Ø)Ø%Ø#5Ø#Ø#5Ø-ØØ%Ø$Ÿj™j¨¸$Ó?Ø%Ÿz™zÐ*:¸DÓAØŸ
™
 9¨dÓ3Ø!'§¡Ð,>ÀÓ!EØ—j‘j ¨$Ó/ØŸ™ J°Ó5ñ Ðð" Ô'Ø'7˜tÔ$ñY ->ðl $6×#;Ñ#;Ô#=ôò
 $>ÑˆK˜Ü�fœeŸh™hŸo™o×.ó	ˆÔ)ØÜQ[Ð\aÔcg×QhÑQh�%—)‘)˜K¨¯©°9¼e¿m¹mÓ)LÔMÐnsñ
ð ñò 	ñ $>ð ñ ô œ˜|×1Ñ1Ó3Ñ9MÐW[Ñ\Ó]€Lô   
Ó+€JÜ”f˜Z×-Ñ-Ó/Ñ5IÐSWÑXÓY€JØ#-×#3Ñ#3Ô#5ÔDÒ#5™4˜1˜a¸¸e¹“$�!�Q’$Ñ#5€JÑDð ÐÜ
ˆ:ƒ˜ÓÜ&CØ˜*ñ'
Ð#ð
 ÐØ%@×%FÑ%FÖ%HÑ!ˆI�zÛ'�	Ø.7Ð  Ó+ó (ñ &Ið Ð÷w 1Ö0üó<ùó Es%   ÂKÅ40KÆ(AKÉ&K É7K Ë
K	r*  ÚproviderÚsess_optionsr;  r=  Úoffload_folderÚoffload_state_dictÚmodel_variantsrc   Úlow_cpu_mem_usageÚuse_safetensorsÚdduf_entriesÚprovider_optionsÚdisable_mmapÚquantization_configÚuse_flashpackc                 ó~	  • SSK Jn  [        U UUUUUUUS9u  nnSnUR                  5        H%  u  nnUc  M  [	        UU5      (       d  M  X!   S   nM'     Ucj  UR
                  nUR                  [        5      =(       d    UR                  [        5      nU(       a  SU;   a  U" 5         [        SU SU S	[         S
35      e[        UUUSLS9n [        R                  " [        R                  S
5      S   5      n!0 n"[	        UU!R                   5      n#[#        5       (       aC  [$        R&                  " [$        R&                  " [(        R*                  5      R,                  5      n$OSn$[#        5       =(       a0    [	        U[.        5      =(       a    U$[$        R&                  " S5      :¬  n%[	        U[0        R2                  R4                  5      (       a,  U%(       a   U$[$        R&                  " S5      :¼  a  UU"S'   OUU"S'   [	        UU!R6                  5      (       a  UU"S'   UU"S'   UU"S'   U#(       d  U%(       a“  U	U"S'   U
U"S'   UU"S'   UU"S'   UR9                  US5      U"S'   UU"S'   U#(       a  UU"S'   U%(       a/  U"S   b)  U$[$        R&                  " S5      :  a  [;        SU S35      eU%(       a  U"S   c  U"R9                  S5        UU"S'   U#(       a  UU"S '   U%(       a"  [=        S!S"5      (       a  U"R9                  S5        UbR  [?        UU5      (       aA  [	        U[0        R2                  R4                  5      (       a  URA                  U#US#9n&U&b  U&U"S$'   U%(       a'  [B        (       a  [E        5       (       a  SS%K#J$n'  U'" 5         U(       a  UU"S&'   U " U40 U"D6n(Os[J        RL                  RO                  [J        RL                  RQ                  UU5      5      (       a(  U " [J        RL                  RQ                  UU5      40 U"D6n(O	U " U40 U"D6n([?        U([0        R2                  R4                  5      (       a‹  [?        U	[R        5      (       av  U(       do  [U        U(S'S(9  U	S)   S*:H  n)Sn*[W        U(S+5      (       a  U(RX                  b  U(RX                  n*U)(       a  [[        U(U(R]                  5       U	S'SU*S,9  U($ [[        U(U	S'U*S-9  U($ ).zLHelper method to load the module `name` from `library_name` and `class_name`r   )ÚPipelineQuantizationConfig)rÝ   rÞ   rÓ   Nr    ÚdummyzThe component z of zT cannot be loaded as it does not seem to have any of the loading methods defined in r<   )Úis_ddufr   rú   rû   z4.56.0r÷   Útorch_dtyperG  rH  rO  r;  r=  rI  rJ  rc   rM  rR  z4.27.0zWhen passing `variant='zS'`, please make sure to upgrade your `transformers` version to at least 4.27.0.dev0rL  rP  z>=z4.57.0)Úis_diffusersrA  rQ  )Ú_ensure_sdnq_registeredrN  T)Úrecurser‰   r  Ú
_skip_keys)Ú
state_dictr;  Úforce_hooksÚmain_deviceÚ	skip_keys)r;  r]  r_  )/Ú
quantizersrT  rà   r^   r»   rï   rØ   ÚDUMMY_MODULES_FOLDERÚ!TRANSFORMERS_DUMMY_MODULES_FOLDERrŒ   r7  Ú_get_load_methodr·   r¸   rî   rQ   r-   r   r   r  r9   r   r	  r#   r5  r8  r9  r0   r  ÚImportErrorr   r±   Ú_resolve_quant_configr   r   Úquantizers.sdnq.sdnq_quantizerrY  rV   rW   ÚisdirrT   rÚ   r'   rÐ   r[  r&   r\  )+r½   r¿   rÀ   rÏ   rÃ   r*  r÷   rG  rH  r;  r=  rI  rJ  rK  rÂ   rc   rL  rø   rM  rN  rO  rP  rQ  rR  rÓ   rT  rÄ   rÆ   Úload_method_namerÈ   Únone_moduleÚis_dummy_pathÚload_methodró   Úloading_kwargsr  r  r  Úmodel_quant_configrY  r?  Úneeds_offloading_to_cpur_  s+                                              rL   Úload_sub_modelro  ñ  s¢  € õ8 8ô #?ØØØØØØØØ+ñ	#Ñ€IÐð Ðà'7×'=Ñ'=Ö'?Ñ#ˆ
�OØÓ&¬:°iÀ×+QÓ+QØ1Ñ=¸aÑ@Òñ (@ð
 ÑØ×*Ñ*ˆØ#×.Ñ.Ô/CÓD÷ 
È×H^ÑH^Ü-óI
ˆö ˜W¨Ó3áŒKäØ˜Y˜K t¨NÐ+;ð <6Ü6LÐ5MÈQðPó
ð 	
ô
 # 9Ð.>ÈÐ\`ÐH`Ña€Kô !×.Ò.¬x¯~©~¸cÓ/BÀ1Ñ/EÓFÐØ€Nä# IÐ/?×/JÑ/JÓKÐä ×"Ñ"Ü&Ÿ}š}¬W¯]ª]¼<×;SÑ;SÓ-T×-aÑ-aÓbÑà$Ðô 	"Ó#÷ 	<Ü�y¤/Ó2÷	<à ¤G§M¢M°(Ó$;Ñ;ð ô �)œUŸX™XŸ_™_×-Ñ-Þ Ð%9¼W¿]º]È8Ó=TÓ%TØ&+ˆN˜7Ò#à,1ˆN˜=Ñ)Ü�)Ð-×>Ñ>×?Ñ?Ø%-ˆ�zÑ"Ø)5ˆ�~Ñ&Ø-=ˆÐ)Ñ*ö
 Ö2Ø'1ˆ�|Ñ$Ø'1ˆ�|Ñ$Ø+9ˆÐ'Ñ(Ø/AˆÐ+Ñ,Ø$2×$6Ñ$6°t¸TÓ$Bˆ�yÑ!Ø,;ˆÐ(Ñ)æØ.;ˆN˜?Ñ+ö
 "Ø˜yÑ)Ñ5Ø$¤w§}¢}°XÓ'>Ó>äØ)¨'¨ð  3Fð  Góð ö # ~°iÑ'@Ñ'HØ×Ñ˜yÔ)à.?ˆÐ*Ñ+æØ)5ˆ�~Ñ&æÔ!8¸¸x×!HÑ!HØ×ÑÐ/Ô0ð 	Ñ'ÜÐ*Ð,F×GÑGÜ�y¤%§(¡(§/¡/×2Ñ2à0×FÑFØ+¸ð Gð 
Ðð Ñ)Ø4FˆNÐ0Ñ1æ×!<Ò!<ÔAR×ATÑATåLáÔ!ö Ø)5ˆ�~Ñ&Ù& tÑ>¨~Ñ>ÑÜ	�‰�‰”r—w‘w—|‘| M°4Ó8×	9Ñ	9Ù&¤r§w¡w§|¡|°MÀ4Ó'HÑ[ÈNÑ[Ññ ' }ÑG¸ÑGÐäÐ"¤E§H¡H§O¡O×4Ñ4¼ÀJÔPT×9UÑ9UÖ^käÐ 0¸$Ò?Ø",¨R¡.°EÑ"9ÐØˆ	ÜÐ# \×2Ñ2Ð7G×7RÑ7RÑ7^Ø(×3Ñ3ˆIæ"ÜØ Ø+×6Ñ6Ó8Ø%Ø ØØ#òð Ðô Ð+¸
ÐPTÐ`iÒjàÐrµ   rÄ   rh  rV  c                 ó–   ^ • U(       a6  [        T [        5      (       a  U 4S j$ [        T [        5      (       a  U 4S j$ [        T U5      $ )a*  
Return the method to load the sub model.

In practice, this method will return the `"from_pretrained"` (or `load_method_name`) method of the class object
except if loading from a DDUF checkpoint. In that case, transformers models and tokenizers have a specific loading
method that we need to use.
c                  ó"   >• [        T/U Q70 UD6$ rx   )r!   ©Úargsr  rÄ   s     €rL   r/  Ú"_get_load_method.<locals>.<lambda>®  s   ø€ Ô+DÀYÐ+`ÐQUÒ+`ÐY_Ò+`rµ   c                  ó"   >• [        T/U Q70 UD6$ rx   )r"   rr  s     €rL   r/  rt  °  s   ø€ Ô+MÈiÐ+iÐZ^Ò+iÐbhÒ+irµ   )r»   r$   r#   r¹   )rÄ   rh  rV  s   `  rL   rc  rc  ¤  s=   ø€ ö Ü�iÔ!8×9Ñ9Ü`Ð`Ü�i¤×1Ñ1ÜiÐiÜ�9Ð.Ó/Ð/rµ   c                 óB  • [         R                  " [        R                  S5      S   5      n[	        US5      n[        U 5      nUR                  R                  S5      S   nUR                  R                  S5      n[        U5      S:”  a  US   OS nUR                  R                  S5      nXg;   =(       a    [        X&5      nU(       a  UnOU[        ;  a  UR                  n[        U[        5      (       a  UR                  n	XI4$ UR                  R                  n	XI4$ )Nr<   r   rÏ   r   éþÿÿÿ)r·   r¸   rî   rQ   r¹   r´   rï   rX   rÐ   ÚLOADABLE_CLASSESr±   Útyper¼   )
rB  ró   rÏ   Únot_compiled_moduler¾   Úmodule_path_itemsÚpipeline_dirrW   rÃ   r¿   s
             rL   Ú_fetch_class_library_tupler}  ´  s  € ä ×.Ò.¬x¯~©~¸cÓ/BÀ1Ñ/EÓFÐÜÐ(¨+Ó6€Iô (¨Ó/ÐØ!×,Ñ,×2Ñ2°3Ó7¸Ñ:€Gð ,×6Ñ6×<Ñ<¸SÓAÐÜ,/Ð0AÓ,BÀQÓ,FÐ$ RÒ(ÈD€Là×)Ñ)×/Ñ/°Ó4€DØ%Ñ-×R´'¸)Ó2RÐö
 Ø‰Ø	Ô(Ó	(Ø%×0Ñ0ˆô Ð%¤t×,Ñ,Ø(×1Ñ1ˆ
ð Ð Ð ð )×2Ñ2×;Ñ;ˆ
àÐ Ð rµ   Úfolderrñ   c                 ó\  ^• 0 nTb¥  [         R                  " U 5       H‹  n[         R                  R                  X5      n[         R                  R	                  U5      =(       a    XB;   nU=(       a)    [        U4S j[         R                  " U5       5       5      nU(       d  M‡  TX4'   M�     U$ )Nc              3   óh   >#   • U  H'  oR                  S 5      S   R                  T5      v •  M)     g7f)r<   r    N)rQ   rØ   )rJ   Úprc   s     €rL   rM   Ú+_identify_model_variants.<locals>.<genexpr>Û  s,   øé € Ð.tÒ\sÐWX¯w©w°s«|¸A©×/IÑ/IÈ'×/RÐ/RÒ\sùs   ƒ/2)rV   ÚlistdirrW   rT   rg  r]   )r~  rc   rñ   rK  Ú
sub_folderÚfolder_pathÚ	is_folderÚvariant_existss    `      rL   Ú_identify_model_variantsrˆ  Õ  s„   ø€ Ø€NØÑÜŸ*š* VÖ,ˆJÜŸ'™'Ÿ,™, vÓ:ˆKÜŸ™Ÿ™ kÓ2×K°zÑ7KˆIØ&×t¬3Ô.tÔ\^×\fÒ\fÐgrÔ\sÓ.tÓ+tˆNßˆ~Ø-4�Ó*ñ -ð Ðrµ   c                 ó  • S n[         R                  R                  [         R                  R                  X S35      5      (       a%  [         R                  R                  X S35      nX#4$ [	        US   [
        [        45      (       az  [         R                  R                  [         R                  R                  XS   S    S35      5      (       a0  [         R                  R                  XS   S    S35      nUS   S   nX#4$ )NrÖ   rì   r   r    )rV   rW   rÜ   rT   r±   r  Útuple)r~  rñ   rå   Úcustom_class_names       rL   Ú _resolve_custom_pipeline_and_clsrŒ  á  sâ   € ØÐÜ	‡w�w‡~�~”b—g‘g—l‘l 6Ð->¸cÐ+BÓC×DÑDÜŸ'™'Ÿ,™, vÐ1BÀ#Ð/FÓGˆð Ð-Ð-ô 
�F˜=Ñ)¬D´%¨=×	9Ñ	9¼b¿g¹g¿n¹nÜ
�‰�‰�V }Ñ 5°aÑ 8Ð9¸Ð=Ó>÷?ñ ?ô Ÿ'™'Ÿ,™, v¸Ñ2GÈÑ2JÐ1KÈ3Ð/OÓPˆØ" =Ñ1°!Ñ4ÐàÐ-Ð-rµ   r§   c                 ó
  • U R                   S:X  as  [        R                  " [        R                  " US   5      R                  5      [        R                  " S5      ::  a#  SSKJnJn  Un SU SU SU S	3n[        S
SUSS9  g g g )NÚStableDiffusionInpaintPipelineÚ_diffusers_versionz0.5.1r   )rŽ  Ú$StableDiffusionInpaintPipelineLegacyzeYou are using a legacy checkpoint for inpainting with Stable Diffusion, therefore we are loading the z class instead of zÛ. For better inpainting results, we strongly suggest using Stable Diffusion's official inpainting checkpoint: https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-inpainting instead or adapting your checkpoint zÞ to the format of https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-inpainting. Note that we do not actively maintain the {StableDiffusionInpaintPipelineLegacy} class and will likely remove it in version 1.0.0.r�  z1.0.0F)Ústandard_warn)rî   r   r  r	  r8   rŽ  r�  r   )r*  r§   rñ   rŽ  r�  Údeprecation_messages         rL   Ú#_maybe_raise_warning_for_inpaintingr“  î  s¡   € Ø×ÑÐ"BÓBÄwÇ}Â}Ü�Š�fÐ1Ñ2Ó3×@Ñ@óHä	�Š�wÓ	óH ÷ 	cà=ˆðØ4Ð5Ð5GÐHfÐGgð hð 9Ð9ð :lð	lð 	ô 	Ð8¸'ÐCVÐfkÓlð!H ÐBrµ   Úinit_kwargsÚpassed_pipe_kwargsÚpassed_class_objsc                 óê  ^^• SSK Jn  [        R                  " [        R
                  R                  US5      5      n[         Vs0 s H  ow[        UR                  US /5      S   _M      nnUR                  5       n	U	b1  [        U	5      S:¼  a"  U H  n
SU
;   d  M  U	R                  U
5      nM     UU4S jnUR                  5        VVs0 s H%  u  p}Uc  M
  XuR                  " U40 U	DU" U5      D6_M'     nnnUR                  5        HU  u  p~U R                  UR                   R                  5        VVs0 s H  u  nnSR                  X/5      U_M     snn5        MW     U $ s  snf s  snnf s  snnf )Nr    )r/   z	README.mdr   Ú	schedulerc                 ót  >• TR                  5        VVs0 s H5  u  pUR                  S5      S   U :X  d  M  UR                  U  S3S5      U_M7     nnnTR                  5        VVs0 s H5  u  pUR                  S5      S   U :X  d  M  UR                  U  S3S5      U_M7     nnn0 UEUEnU$ s  snnf s  snnf )Nr“   r   r‰   )r^   rQ   Úreplace)ÚprefixrC  re   Úconnected_passed_class_objÚconnected_passed_pipe_kwargsÚconnected_passed_kwargsr–  r•  s         €€rL   Úget_connected_passed_kwargsÚP_update_init_kwargs_with_connected_pipeline.<locals>.get_connected_passed_kwargs  sã   ø€ à7H×7NÑ7NÔ7Pô&
Ú7P©t¨qÐTU×T[ÑT[Ð\_ÓT`ÐabÑTcÐgmÑTmÓ*ˆA�I‰I˜˜ �l BÓ'¨Ò*Ñ7Pð 	#ñ &
ð 8J×7OÑ7OÔ7Qô(
Ú7Q©t¨qÐUV×U\ÑU\Ð]`ÓUaÐbcÑUdÐhnÑUnÓ*ˆA�I‰I˜˜ �l BÓ'¨Ò*Ñ7Qð 	%ñ (
ð #aÐ%?Ð"`ÐC_Ð"`ÐØ&Ð&ùó&
ùó(
s   •B.·B.Á'B4Â	B4r“   )Úpipeline_utilsr/   r   ÚloadrV   rW   rT   ÚCONNECTED_PIPES_KEYSr¹   Údatar  rX   r  r^   r,   r‹   rl   )r”  r•  r–  r~  Úpipeline_loading_kwargsr/   Ú	modelcardr›  Úconnected_pipesÚpipeline_loading_kwargs_cprC  r“   rŸ  ræ   Úconnected_piperÂ   rm   s    ``              rL   Ú+_update_init_kwargs_with_connected_pipelinerª    st  ù€ õ 2ä—’œrŸw™wŸ|™|¨F°KÓ@ÓA€IÝXlÓmÒXlÈfœw y§~¡~°vÀ¸vÓFÀqÑIÒIÑXl€OÐmð "9×!=Ñ!=Ó!?ÐØ!Ñ-´#Ð6PÓ2QÐUVÓ2VÛ(ˆAØ˜aÕØ.×2Ñ2°1Ó5’ñ )ö	'ð  /×4Ñ4Ô6ô	ò  7‰OˆFØó		
ˆ×1Ò1Øñ
Ø1ð
Ù5PÐQWÓ5Xñ
ò 	
ñ  7ð	 ñ ð #2×"7Ñ"7Ö"9Ñˆà×ÑØHV×HaÑHa×HgÑHgÔHiÔjÒHi±_°T¸9ˆS�X‰X�v�nÓ% yÒ0ÑHiÒjö	
ñ #:ð ÐùòG nùó*ùó ks   Á%E$Ã
	E)ÃE)Ä6 E/Úpretrained_model_nameÚconfig_dictr`   r•   c                 ó  • UR                  5       nUR                  5        VVs/ s H&  u  pV[        U[        5      (       d  M  US:w  d  M$  UPM(     nnn[        R
                  " [        R                  S5      S   5      n[        US5      n	0 n
U Hd  nX   S   nUb  [        U[        5      (       d  M$  U SU S3nXÒ;   a  XÊU'   M7  U[        ;  d  MC  [        Xœ5      (       a  MU  [        U SU  S35      e   X§4$ s  snnf )	Nrì   r<   r   rÏ   rF   rÖ   z4 as defined in `model_index.json` does not exist in z. and is not a module in 'diffusers/pipelines'.)r  r^   r±   r  r·   r¸   rî   rQ   r¹   Ústrrx  rÐ   rŒ   )r«  r¬  r`   r•   rc   rC  rD  rb   ró   rÏ   Úcustom_componentsrm   Úmodule_candidateÚcandidate_files                 rL   Ú"_get_custom_components_and_foldersr²  .  s  € ð ×"Ñ"Ó$€Kð #.×"3Ñ"3Ô"5ÔdÒ"5™$˜!¼ÀAÄt×9L“AÐQRÐVcÑQc—AÑ"5€LÑdä ×.Ò.¬x¯~©~¸cÓ/BÀ1Ñ/EÓFÐÜÐ(¨+Ó6€Ið ÐÛ!ˆ	Ø&Ñ1°!Ñ4ÐàÑ#¬:Ð6FÌ×+LÑ+LÙð &˜; aÐ(8Ð'9¸Ð=ˆàÓ&Ø+;˜iÓ(ØÔ%5Õ5¼gÀi×>bÓ>bÜØ!Ð"Ð"VÐWlÐVmð  n\ð  ]óð ñ "ð  Ð*Ð*ùó/ es   ¤C;ÁC;ÁC;Úmodel_folder_namesr¨   Úallow_pickleÚuse_onnxÚis_onnxc	                 ó  • U(       a(  U(       d!  [        X XS9(       d  [        SU SU S35      eU(       a*  [        X XS9(       a  SS/n	Ub  UOUnU(       d  U	SS/-  n	U	$ U(       a  / S	Qn	U	$ S
S/n	Ub  UOUnU(       d  U	SS/-  n	U	$ )N)ra   rb   rc   z6Could not find the necessary `safetensors` weights in z
 (variant=Ú)ú*.binú	*.msgpackú*.onnxú*.pb)r¹  ú*.safetensorsr»  r¼  rº  r½  )ru   ÚEnvironmentError)
ra   r³  r¨   rM  r´  rµ  r¶  rR  rc   r†   s
             rL   Ú_get_ignore_patternsr¿  R  sÅ   € ö 	ÞÜ)ØÐOa÷
ô ØDÀ_ÐDUÐU_Ð`gÐ_hÐhiÐjó
ð 	
ö Ô4ØÐK]÷ð # KÐ0ˆà'Ñ3‘8¸ˆÞØ ¨&Ð1Ñ1ˆOð Ðö 
ÚSˆð Ðð +¨KÐ8ˆà'Ñ3‘8¸ˆÞØ ¨&Ð1Ñ1ˆOàÐrµ   Ú	dduf_fileÚpipeline_class_namerÞ   r   r  rŸ   r    c                 ó¶  • S nU(       d   [        XUS9n	U(       d,  Ub)  US W	R                   5       ;  a  [        SU SU  S35      e USS	.n[        U UUUUUU/US
9nU$ ! [        [        [        R                  [
        R                  4 a'  n
[        R                  SU
 S35        SnU
n S n
A
NœS n
A
ff = f! [         a    Uc  e [        SU  S35      Uef = f)Nrž   zCouldn't connect to the Hub: z$.
Will try to load from local cache.Tc              3   ó8   #   • U  H  oR                   v •  M     g 7frx   )r¢   )rJ   rª   s     rL   rM   Ú&_download_dduf_file.<locals>.<genexpr>”  s   é € ÐMº}°G×/Ö/º}ùs   ‚z
Requested z file is not available in r<   )r*  Údduf)rÞ   r   r  rŸ   r    Úallow_patternsr  zCannot load model z™: model is not cached locally and an error occurred while trying to fetch metadata from the Hub. Please check out the root cause in the stacktrace above.)r   r
   r   ÚrequestsÚConnectionErrorÚhttpxÚNetworkErrorr�   rŽ   r¡   rŒ   r	   ÚFileNotFoundErrorr¾  )r«  rÀ  rÁ  rÞ   r   r  rŸ   r    Úmodel_info_call_errorr©   Úer  rø   s                rL   Ú_download_dduf_filerÎ  ~  s#  € ð !ÐÞð	&ÜÐ3È8ÑTˆDö ØÑ!ØÑM¸t¿}º}ÓMÓMä˜: i [Ð0JÐK`ÐJaÐabÐcÓdÐdð)Ø(;ÀTÑJˆ
Ü)Ø!ØØØ-ØØØ%˜;Ø!ñ	
ˆð Ðøô1 Ô 4´h×6NÑ6NÔPU×PbÑPbÐcó 	&Ü�N‰NÐ:¸1¸#Ð=bÐcÔdØ#ÐØ$%Õ!ûð	&ûô2 ó )ð
 !Ñ(àô #Ø$Ð%:Ð$;ð <ð óð )ð	)ð)ús#   ‹
A! Á	B9 Á!.B6ÂB1Â1B6Â9Cc                 óº   • SnU  H/  n[        X   [        5      (       d  M  X   S   S:H  nU(       d  M/    O   U(       a  [        SS5      (       d  [        S5      eg g )NFr   r9   Ú>z4.47.1zRPlease upgrade your `transformers` installation to the latest version to use DDUF.)r±   r  r   rŒ   )r¬  Úhas_transformers_componentrC  s      rL   Ú-_maybe_raise_error_for_incorrect_transformersrÒ  ¶  sc   € Ø!&ÐÛˆÜ�k‘n¤d×+Ó+Ø)4©¸Ñ):¸nÑ)LÐ&ß)Ð)Ùñ	 ö
 "Ô*AÀ#Àx×*PÑ*PÜÐmÓnÐnð +QÐ!rµ   c                 óÖ  • Uc  g [        U R                  5       5      nSnS n[        USS 5      b  [        UR                  5      nOP[        USS 5      bB  [	        UR
                  [        5      (       a#  [        UR
                  R                  5       5      nU(       a  UR                  U5      (       d  XB-
  nU(       a,  [        R                  SU SSR                  U5       S35        g g )Nr‰   Úcomponents_to_quantizeÚquant_mappingz4The following components in the quantization config zv will be ignored as they do not belong to the underlying pipeline. Acceptable values for the pipeline components are: rŠ   r<   )r[   rº   r¹   rÔ  r±   rÕ  rÚ   r£   r�   rŽ   rT   )Úpipe_init_dictÚquant_configÚactual_pipe_componentsÚmissingÚquant_componentss        rL   Ú/_maybe_warn_for_wrong_component_in_quant_configrÛ  Á  sÞ   € ØÑØä  ×!4Ñ!4Ó!6Ó7ÐØ€GØÐÜˆ|Ð5°tÓ<ÑHÜ˜|×BÑBÓCÑÜ	�˜°Ó	5Ñ	AÄjÐQ]×QkÑQkÔmq×FrÑFrÜ˜|×9Ñ9×>Ñ>Ó@ÓAÐæÐ 0× 9Ñ 9Ð:P× QÑ QØ"Ñ;ˆæÜ�‰ØBÀ7À)ð Là#Ÿy™yÐ)?Ó@ÐAÀðDõ	
ð rµ   )NNN)NN)NNF)NNNNNF)	NFNNNNNNF)r(  )NFFrx   )nr·   rV   rR   r¤   Úpathlibr   Útypingr   r   rÉ  rÇ  r5  Úhuggingface_hubr   r   r   r	   Úhuggingface_hub.utilsr
   r   r   Ú	packagingr   r‰   r   Úutilsr   r   r   r   r   r   r   r   r   r   r   r   r   r   Úutils.constantsr   Úutils.torch_utilsr   Útransformers_loading_utilsr!   r"   r9   r#   r$   Útransformers.utilsr%   rP   rO   r  r&   Úaccelerate.hooksr'   Úaccelerate.utilsr(   r)   Ú
INDEX_FILErä   ra  rb  r£  Ú TRANSFORMERS_COMPONENT_AUX_FILESÚ
get_loggerrî   r�   rx  r7  r¾   r‹   Úboolru   rU   r\   r  ÚPathLiker®  rœ   r¬   r´   rÌ   rÒ   rà   ré   rö   r÷   r  rÚ   Úfloatr&  rF  ÚdeviceÚintro  Úobjectrc  r}  rˆ  rŒ  r“  rª  r²  r¿  rÎ  rÒ  rÛ  rI   rµ   rL   Ú<module>rñ     s4  ðó Û 	Û 	Û Ý ß  ã Û Û ß OÓ Oß \Ñ \Ý å ÷÷ ÷ ÷ õ  :Ý 2ß eñ ×ÑÛßEÝVÝLñ ×ÑÛÝ)Ý8ßEð +€
Ø)Ð Ø(Ð Ø$8Ð !Ø�yÐ ò$Ð  ð 
×	Ò	˜HÓ	%€ð )Ð*;Ð<Ø,Ð.?Ð@Ø/Ð1BÐCØ.Ð0AÐBØ*Ð,=Ð>ñð !2Ð3DÐEØ$5Ð7HÐ#IØ-Ð/@ÐAØ#4Ð6GÐ"HØ,Ð.?Ð@Ø!2Ð4EÐ Fñð 	Ð'Ð):Ð;ðñ!Ð ð* Ð Û€GØ×!Ñ!Ð"2°7Ñ";Ö<ñ  ñVÐeiõ Vòrdò$Tñc/ÐRVÐWY×WbÑWbÑRcÐfiÑRiõ c/ðL ñ
ó ð
ò,ò
òFð4 ØØ#ñ)'ð õ)'ð\ ØØØØØ#ñ ð õ ðJ Ø!ØØØØØØØ#ñ0ð õ0ðfQØðQàðQð ˜S™	ðQð ð	Qð
 ðQð ðQð �—‘ÑðQð ˜Ÿ™Ñ$ôQðj eoñ'Ø�s˜E�zÑ"ð'Ø37¸¸U¸
Ñ3Cð'Ø^aõ'ò<Yðf '+ØØ#ñ3pØðpàðpð ˜S™	ðpð ð	pð
 ðpð ðpð �;‰;ðpð ðpð ðpð �S˜%Ÿ,™,Ð&Ñ'¨#Ñ-°Ñ4ðpð �S˜3‘Y  c¡	Ð)Ñ*¨TÑ1ðpð ˜"Ÿ+™+Ñ%¨Ñ,ðpð ðpð ˜˜c˜‘Nðpð ðpð  ð!pð" ð#pð$ ˜Ÿ™Ñ$ð%pð& ð'pð( �s˜I�~Ñ&¨Ñ-ð)pð* ð+pð, ð-pð. ˜t™ð/pð0 ð1pð2 õ3pðf0 ð 0¸#ð 0Èð 0ÐQYô 0ò !ðB	 Sð 	°3ð 	Àð 	Èô 	ò
.ðmÐWZð mÐdhô mð()Øð)Ø+/ð)ØDHð)ØRUð)à	ô)ð^ #'Ø*.Øñ!+Øð!+à�c˜3�h‘ð!+ð �C‰y˜4Ñð!+ð ˜C‘y 4Ñ'ð	!+ð
 �4‰Zõ!+ðZ ñ)à˜S™	ð)ð ˜#‘Yð)ð ð	)ð
 ð)ð ð)ð ð)ð ð)ð �4‰Zð)ð 
ˆ#�Yõ)ðX5)Øð5)àð5)ð ð5)ð ð	5)ð
 ð5)ð ð5)ð ð5)ð ô5)òpoó
rµ   