+
    "Ý³j»0  ã                   ó  € ^ RI Ht ^ RIHtHtHtHtHt ^ RIt^ RI	t	^ RI
t
^RIHt ^RIHt ^RIHt ]! 4       tRR.tRtR	tR
t ! R R4      t ! R R4      t] ! R R]4      4       t]P3                  4       ]/tR R ltR# )é    )Ú	dataclass)ÚDictÚListÚOptionalÚTupleÚUnionN)Úsetup_logger)Ú
LoraConfig)Úresolve_pathÚ zadapter_model.safetensorszadapter_config.jsonzbase_model.model.c                   óŒ   a € ] tR t^t o Rt/ t]V 3R lR l4       t]R 4       t]V 3R lR l4       t	]R 4       t
V 3R ltR	tV tR
# )ÚAdapterCachez9Caches loaded adapter configs and tensors by source path.c          	      óv   <€ V ^8„  d   QhRS[ RS[S[S[S[S[ S[P                  3,          3,          ,          /# )é   ÚpathÚreturn)Ústrr   r   r
   r   ÚtorchÚTensor)ÚformatÚ__classdict__s   "€ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/adapter/adapter.pyÚ__annotate__ÚAdapterCache.__annotate__   s8   ø€ ÷ 3ñ 3‘sð 3™x©©j¹$¹sÁEÇLÁLÐ?PÕ:QÐ.QÕ(RÕSñ 3ó    c                óp   € V P                   P                  V4      pV'       g   R# VR,          VR,          3# )zAReturns cached adapter config and weights for a path, if present.NÚconfigÚweights)ÚcacheÚget)Úclsr   Údatas   && r   r    ÚAdapterCache.get   s/   € ð �y‰y�}‰}˜TÓ"ˆßÙà˜•> 4¨	¥?Ð2Ð2r   c                ó>   € \         P                  R4       / V n        R# )z Clears the global adapter cache.zAdapter Cache: Resetting cacheN)ÚlogÚinfor   ©r!   s   &r   ÚresetÚAdapterCache.reset'   s   € ô 	�‰Ð1Ô2ØˆŽ	r   c                óV   <€ V ^8„  d   QhRS[ RS[RS[S[ S[P                  3,          /# )r   r   r   r   )r   r
   r   r   r   )r   r   s   "€r   r   r   /   s5   ø€ ÷ Añ A‘sð A¡Jð A¹¹cÁ5Ç<Á<Ð>OÕ9Pñ Ar   c                ó,   € RVRV/V P                   V&   R# )z?Stores adapter config and weight tensors under the source path.r   r   N)r   )r!   r   r   r   s   &&&&r   ÚaddÚAdapterCache.add.   s   € ð $ V¨Y¸Ð@ˆ�	‰	�$‹r   c                ó>   € V P                   P                  VR4       R# )z3Drops cached adapter state for a path if it exists.N)r   Úpop)r!   r   s   &&r   ÚremoveÚAdapterCache.remove4   s   € ð 	�	‰	�‰�d˜DÖ!r   c                ó|   <€ V ^8„  d   Qh/ S[ S[S[ S[S[S[S[P
                  3,          3,          3,          ;R&   # )r   r   )r   r   r   r
   r   r   )r   r   s   "€r   r   r      s4   ø‡ ‚ ñ ‘‘T™#™u¡Z±·±Ð%=Õ>Ð>Õ?Ð?Õ@ÑEò r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úclassmethodr    r(   r,   r0   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      sd   ø‡ € ÙCàCE€Eà÷3ó ð3ð ñó ðð ÷Aó ðAð
 ñ"ó ð"÷; ƒ r   r   c                   ó¦   a € ] tR t^;t o RtRV 3R lR lltRR ltV 3R lR ltV 3R lR	 ltR
 t	]
V 3R lR l4       t]
V 3R lR l4       tRtV tR# )ÚAdapterzGBase interface for runtime adapters applied on top of quantized layers.Nc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úrankr   )Úintr   )r   r   s   "€r   r   ÚAdapter.__annotate__>   s   ø€ ÷ Dñ D™Sð D©sñ Dr   c                óz   € Wn         \        V\        4      '       d   VP                  4       V n        R# TV n        R# )z:Initializes adapter identity and optional source location.N)rA   Ú
isinstancer   Ústripr   )ÚselfrA   r   s   &&&r   Ú__init__ÚAdapter.__init__>   s(   € ð Œ	Ü$.¨t´S×$9Ò$9�D—J‘J“LˆŽ	¸tˆŽ	r   c                ó|  € V P                   '       d!   \        V P                   \        4      '       g   \        R4      hV P                   P	                  R4      '       d   \        RV P                    R24      hV'       d=   V P                   P                  R4      '       d   \        RV P                    R24      hR# R# )	zLValidates that the configured adapter path matches the expected source type.z Adapter: `path` str is required.z.safetensorsz{Adapter: `path` must be a directory path or repo depending if you are saving (directory path) or loading (repo): actual = `Ú`ÚhttpzGAdapter: `path` str in this context must be a local os path: actual = `ú`.N)r   rE   r   Ú
ValueErrorÚendswithÚ
startswith)rG   Úlocals   &&r   Úvalidate_pathÚAdapter.validate_pathD   sÀ   € ð �y�yˆy¤
¨4¯9©9´c× :Ò :ÜÐ?Ó@Ð@ð �9‰9×Ñ˜n×-Ò-Üð Nð  OS÷  OXñ  OXð  NYð  YZð  [ó\ð \÷ Ø�y‰y×#Ñ# F×+Ò+Ü Ð#jÐko×ktÑktÐjuÐuwÐ!xÓyÐyñ ,ñ r   c                óh   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  /# ©r   ÚxÚoutr   ©r   r   )r   r   s   "€r   r   rC   U   s.   ø€ ÷ ñ ‘u—|‘|ð ©%¯,©,ð ¹5¿<¹<ñ r   c                ó   € R# )z:Applies the adapter contribution to a layer output tensor.Nr3   )rG   rV   rW   s   &&&r   ÚapplyÚAdapter.applyU   ó   € ñ 	r   c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r   Ú
weight_keyÚdevice)r   r   r_   )r   r   s   "€r   r   rC   [   s   ø€ ÷ ñ ¡Cð ±·±ñ r   c                ó   € R# )z=Loads or finalizes adapter tensors for a specific weight key.Nr3   )rG   r^   r_   Úkwargss   &&&,r   Ú	post_initÚAdapter.post_init[   r\   r   c                ó   € R# )z>Applies optional backend-specific optimizations after loading.Nr3   ©rG   s   &r   ÚoptimizeÚAdapter.optimizea   r\   r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# ©r   r   ©r   r   )r   r   s   "€r   r   rC   h   s   ø€ ÷ ñ ‘T™#•Yñ r   c                ó   € R# )z)Returns the serialized adapter type name.Nr3   r'   s   &r   ÚnameÚAdapter.nameg   ó   € ñ 	r   c                ó"   <€ V ^8„  d   QhRS[ ./# ri   ©r   )r   r   s   "€r   r   rC   o   s   ø€ ÷ ñ ¡˜uñ r   c                ó   € R# )z>Lists tensor attribute names expected on the adapter instance.Nr3   r'   s   &r   Úparameter_keysÚAdapter.parameter_keysn   rn   r   )r   rA   ©NN)F)r4   r5   r6   r7   r8   rH   rR   rZ   rb   rf   r9   rl   rr   r;   r<   r=   s   @r   r?   r?   ;   s[   ø‡ € ÙQ÷Dò Dôz÷"ð ÷ð òð ÷ó ðð ÷ó ör   r?   c                   óÔ   a a€ ] tR t^ut oRtRV3R lV 3R lllt]V3R lR l4       t]V3R lR l4       tRV3R lR	 llt	V3R
 lR lt
RV3R lR lltV3R lR ltR tRtVtV ;t# )ÚLoraz>LoRA adapter implementation backed by A/B projection matrices.c                óZ   <€ V ^8„  d   QhRS[ RS[RS[P                  RS[P                  /# )r   rA   r   Úlora_AÚlora_B)rB   r   r   r   )r   r   s   "€r   r   ÚLora.__annotate__y   s4   ø€ ÷ ñ ™Sð ©ð ¹E¿L¹Lð ÑY^×YeÑYeñ r   c                ó>   <€ \         SV `  W4       W0n        W@n        R# )z>Initializes the adapter with optional preloaded LoRA matrices.N)ÚsuperrH   rx   ry   )rG   rA   r   rx   ry   Ú	__class__s   &&&&&€r   rH   ÚLora.__init__y   s   ø€ ô 	‰Ñ˜Ô$àŒØŽr   c                ó    <€ V ^8„  d   QhRS[ /# ri   rp   )r   r   s   "€r   r   rz   ‚   s   ø€ ÷ ñ ‘Sñ r   c                ó   € R# )z>Returns the canonical adapter type used in serialized configs.Úlorar3   r'   s   &r   rl   Ú	Lora.name�   s   € ñ r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# ri   rj   )r   r   s   "€r   r   rz   ˆ   s   ø€ ÷ $ñ $™t¡C�yñ $r   c                ó
   € RR.# )zCLists the tensor attributes that store the LoRA projection weights.rx   ry   r3   r'   s   &r   rr   ÚLora.parameter_keys‡   s   € ð ˜(Ð#Ð#r   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r   ÚbackendÚmodeÚ	fullgraph)r   Úbool)r   r   s   "€r   r   rz   �   s"   ø€ ÷ ñ ¡ð ¹ð Étñ r   c                ó   € R# )z:Reserved hook for compiling the adapter path when enabled.Nr3   )rG   r‡   rˆ   r‰   s   &&&&r   rf   ÚLora.optimize�   r\   r   c                óh   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  /# rU   rX   )r   r   s   "€r   r   rz   ”   s.   ø€ ÷ =ñ =‘u—|‘|ð =©%¯,©,ð =¹5¿<¹<ñ =r   c                ó   € VP                   V P                  P                   8w  g&   VP                  V P                  P                  8w  dÕ   \        P                  P                  RV P                  P                    RV P                  P                   RVP                    RVP                   R2	4       V P                  P                  VP                  VP                   R7      V n        V P                  P                  VP                  VP                   R7      V n        VP                  4       VP                  4       8”  d�   VP                  ^ ,          ^8”  du   VP                  pVP                  RVP                  R,          4      pVP                  WP                  ,          V P                  ,          4       VP                  V4      pV# VP                  WP                  ,          V P                  ,          4      # )zQAdds the LoRA update to the kernel output, reshaping batched outputs when needed.z%Adapter: Lora A/B auto changed from `z` on `z` to `z` to match forward input.©r_   Údtypeéÿÿÿÿ)r�   rx   r_   r%   r&   ÚonceÚtory   ÚdimÚshapeÚviewÚadd_)rG   rV   rW   Úout_orgi_shapes   &&& r   rZ   Ú
Lora.apply”   s[  € ð �7‰7�d—k‘k×'Ñ'Ô'¨1¯8©8°t·{±{×7IÑ7IÔ+IÜ�H‰H�M‰MØ7¸¿¹×8IÑ8IÐ7JÈ&ÐQU×Q\ÑQ\×QcÑQcÐPdð eØ—w‘w�i˜v a§h¡h ZÐ/HðJôð Ÿ+™+Ÿ.™.°·±ÀÇÁ˜.ÓHˆDŒKØŸ+™+Ÿ.™.°·±ÀÇÁ˜.ÓHˆDŒKð
 �7‰7‹9�q—u‘u“wÔ 3§9¡9¨Q¥<°!Ô#3Ø ŸY™YˆNØ—(‘(˜2˜sŸy™y¨�}Ó-ˆCØ�H‰H�aŸ+™+•o¨¯©Õ4Ô5Ø—(‘(˜>Ó*ˆCØˆJà—8‘8˜Q§¡�_°·±Õ;Ó<Ð<r   c                ón   <€ V ^8„  d   QhRS[ RS[P                  RS[P                  RS[P                  /# )r   r^   r_   rx   ry   )r   r   r_   r   )r   r   s   "€r   r   rz   ¯   sD   ø€ ÷ Swñ Sw¡Cð Sw±·±ð SwÁeÇlÁlð SwÑaf×amÑamñ Swr   c                ó^  € Ve   Ve   W4uV n         V n        R# \        P                  V P                  4      pVEfH   \
        P                  ! V P                  \        R7      pV P                  Vn        \        V\
        4      '       g   \        RV P                   RV R24      hV P                  f   VP                  V n        MAV P                  VP                  8w  d'   \        RV P                   RVP                   R24      h\        V P                  \        4      p\        P                  V P                  V\         P"                  P%                  V4      4       \        P                  V P                  4      pVf   Q hVw  rhVP'                  4       pV R2p	V R2p
. pVP)                  4        F•  w  rÍVP+                  V	4      '       d    VP,                  pVP/                  V4       K;  VP+                  V
4      '       g   KT  \"        P0                  ! VP,                  \"        P2                  R	7      pVP/                  V4       K—  	  V'       d`   V F  pVP5                  V4       K  	  \7        V4      ^ 8X  d5   \        P9                  V P                  4       \:        P=                  R
4       M\:        P?                  RV R24       Ve   Vf   Q RV RV R24       hV PA                  WaR7       VPB                  \"        PD                  \"        PF                  39  g0   VPB                  \"        PD                  \"        PF                  39  d;   \:        P>                  PI                  RVPB                   RVPB                   R24       TPK                  Y#PB                  \"        PL                  8X  d   \"        PN                  MVPB                  R7      V n         TPK                  Y$PB                  \"        PL                  8X  d   \"        PN                  MVPB                  R7      V n        R# )zCLoads, caches, and materializes LoRA tensors for the target module.N)r   Úfilenamez#Adapter: Expected `LoraConfig` in `z`, actual = `rK   z5Adapter: `rank` must match `LoraConfig.r`, expected `z.lora_A.weightz.lora_B.weight)Úmemory_formatz"Adapter: Consumed all Lora weightsz%Adapter: Lora weights not found for `zNAdapter: `lora_A` and `lora_B` must both be present in the weights: actual = `z` and `)Úlora_cfgr^   zhAdapter: `lora_A` and `lora_B` tensors should be of dtype = [torch.float16, torch.bfloat16]: actual = `[z, z]`.r�   )(rx   ry   r   r    r   r
   Úfrom_pretrainedÚHF_ADAPTER_CONFIG_FILE_NAMEÚgptqmodel_pathrE   rN   rA   Úrr   ÚHF_ADAPTER_FILE_NAMEr,   Úsafetensorsr   Ú	load_fileÚlowerÚitemsrO   ÚTÚappendÚcloneÚcontiguous_formatr/   Úlenr0   r%   r&   ÚwarnÚdynamic_rank_overrider�   Úfloat16Úbfloat16r’   r“   Úfloat64Úfloat32)rG   r^   r_   rx   ry   Ú
lora_cacherž   Ú	lora_pathÚlora_weightsÚlora_A_weight_keyÚlora_B_weight_keyÚpop_keysÚkÚvs   &&&&&         r   rb   ÚLora.post_init¯   s¼  € ð Ò &Ò"4à'-Ð$ˆDŒK˜œÙä!×%Ñ% d§i¡iÓ0ˆ
ØÓä!×1Ò1°t·y±yÔKfÔgˆHØ&*§i¡iˆHÔ#ä˜h¬
×3Ò3Ü Ð#FÀtÇyÁyÀkÐQ^Ð_gÐ^hÐhiÐ!jÓkÐkà�y‰yÒ Ø$ŸJ™J�•	à—9‘9 §
¡
Ô*Ü$Ð'\Ð]a×]fÑ]fÐ\gÐgtÐu}×uÑuð  uAð  ABð  &Có  Dð  Dä$ T§Y¡YÔ0DÓEˆIô ×Ñ˜TŸY™Y¨´+×2CÑ2C×2MÑ2MÈiÓ2XÔYä%×)Ñ)¨$¯)©)Ó4ˆJØÒ)Ð)Ð)ð ",Ñˆà×%Ñ%Ó'ˆ
ð  *˜l¨.Ð9ÐØ)˜l¨.Ð9Ðð ˆØ ×&Ñ&Ö(‰DˆAØ�z‰zÐ+×,Ò,ØŸ™�Ø—‘ Ö"Ø—‘Ð-×.Ô.ÜŸš Q§S¡S¼×8OÑ8OÔP�Ø—‘ Ö"ñ )÷ Û�Ø× Ñ  Ö#ñ ô �<Ó  AÔ%Ü×#Ñ# D§I¡IÔ.Ü—‘Ð=Ô>øô �H‰HÐ<¸Z¸LÈÐJÔKàÒ! fÒ&8ð  	dð  =Kð  LRð  KSð  SZð  [að  Zbð  bcð  ;dó  	dÐ8ð 	×"Ñ"¨HÐ"ÔLð �<‰<¤§¡¬u¯~©~Ð>Ô>À&Ç,Á,ÔW\×WdÑWdÔfk×ftÑftÐVuÔBuÜ�H‰H�M‰Mð  Eð  FL÷  FRñ  FRð  ESð  SUð  V\÷  Vbñ  Vbð  Ucð  cfð  gô  hð —i‘i vÇlÁlÔV[×VcÑVcÔFc´U·]²]Ðio×iuÑiu�iÓvˆŒØ—i‘i vÇlÁlÔV[×VcÑVcÔFc´U·]²]Ðio×iuÑiu�iÓvˆŽr   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r   rž   r^   r   )r
   r   rŠ   )r   r   s   "€r   r   rz     s"   ø€ ÷ ñ ©jð Ácð Édñ r   c                ó  € VP                   e   Vf   Q hVP                   '       dâ   VP                   P                  4        FÃ  w  r4\        V\        4      '       d   \        V\        4      '       g   Q hVP                  4       pV^ 8”  g   Q hW#8X  gE   VP                  V4      '       g.   \        P                  ! V4      P                  V4      '       g   K–  W@n
        \        P                  RV P                   RV R24        R# 	  R# )zKOverrides the adapter rank when the config defines a matching rank pattern.zAdapter: Base Lora `rank` = `z` has been overridden by `z3` due to dynamic `LoraConfig.rank_pattern` control.TF)Úrank_patternr§   rE   r   rB   r¦   rO   ÚpcreÚcompileÚmatchrA   r%   r&   )rG   rž   r^   r¹   rº   s   &&&  r   r®   ÚLora.dynamic_rank_override  sÞ   € ð ×$Ñ$Ò0°ZÒ5KÐKÐKØ× × Ð Ø ×-Ñ-×3Ñ3Ö5‘�Ü! !¤S×)Ò)¬j¸¼C×.@Ò.@Ð@Ð@Ø—G‘G“I�Ø˜1”u��uà”? a§j¡j°×&<Ò&<ÄÇÂÈQÃ×@UÑ@UÐV`×@aÔ@aØ !”IÜ—H‘HÐ<¸T¿Y¹Y¸KÐGaÐbcÐadð  eXð  Yô  ZÚñ 6ñ r   c                óV   € RV P                  4       RV P                  RV P                  /# )z=Serializes the minimal adapter descriptor used by GPT-QModel.rl   r   rA   )rl   r   rA   re   s   &r   Úto_dictÚLora.to_dict  s+   € ð �D—I‘I“KØ�D—I‘IØ�D—I‘Ið
ð 	
r   )rx   ry   rA   )NNN)ÚinductorNFrt   )r4   r5   r6   r7   r8   rH   r9   rl   rr   rf   rZ   rb   r®   rÄ   r;   r<   Ú__classcell__)r}   r   s   @@r   rv   rv   u   sq   ù‡ € áH÷õ ð ÷ó ðð
 ÷$ó ð$÷
ò ÷=ð =÷6Swò Sw÷pð ÷&
ò 
r   rv   c                óF   € V ^8„  d   QhR\         \        \        3,          /# )r   Úadapter)r   r   r?   )r   s   "r   r   r   &  s   € ÷ ñ ¤¤d¬G mÕ 4ñ r   c                óº  € V f   R# \        V \        4      '       d   V # \        V \        4      '       g   \        R4      h\	        V 4      p V P                  RR4      pVf   \        RV R\         R24      h\        P                  V4      pVf%   \        R\        P                  4        RV R24      h V! R
/ V B pV#   \         d    \        R	T  R24      hi ; i)zHNormalizes serialized adapter metadata into a concrete adapter instance.Nz+Adapter: Invalid adapter config: `adapter`.rl   z Adapter: Invalid adapter class `z`: expected = `rM   z&Adapter: Compatible adapters include `z`: actual `z"Adapter: Invalid adapter config: `r3   )
rE   r?   r   rN   Údictr/   ÚADAPTER_MAPPINGr    ÚkeysÚ	Exception)rÉ   Úadapter_typeÚ
adapterClsÚadapterInstances   &   r   Únormalize_adapterrÒ   &  sø   € ð ‚Ùä�'œ7×#Ò#Øˆä�gœt×$Ò$ÜÐFÓGÐGô �7‹m€GØ—;‘;˜v tÓ,€LØÒÜÐ;¸L¸>ÈÔYhÐXiÐikÐlÓmÐmä ×$Ñ$ \Ó2€JØÒÜÐAÄ/×BVÑBVÓBXÐAYÐYdÐfrÐdtÐtvÐwÓxÐxðKÙ$Ñ/ wÑ/ˆð Ðøô ô KÜÐ=¸g¸YÀbÐIÓJÐJðKús   Â5B? Â?C)Údataclassesr   Útypingr   r   r   r   r   r¿   r¤   r   Úutils.loggerr	   Úpeftr
   Úremoter   r%   ÚLORA_MERGED_WEIGHT_PATHSr£   r    ÚHF_ADAPTER_WEIGHT_KEY_PREFIXr   r?   rv   rl   rÌ   rÒ   r3   r   r   Ú<module>rÚ      s‘   ðõ "ß 5Õ 5ã Û Û å 'Ý Ý  áƒn€Ø  "˜:Ð Ø2Ð Ø3Ð Ø2Ð ÷ "ñ  "÷F7ñ 7ðt ôk
ˆ7ó k
ó ðk
ðZ —9‘9“; Ð%€÷r   