+
    "Ý³jÂ0  ã                   ó  € ^ RI t ^ RIHt ^ RIHt ^RIHtHt ^RIH	t	 ^RI
HtHt ^RIHtHt ^RIHtHt ^RIHt ^R	IHt ^R
IHt ]! 4       tR t ! R R] P                  P6                  4      t ! R R]4      tR R ltRR.tR# )é    N©ÚPreTrainedModel)ÚAdapterÚLora)Ú
LinearMode)ÚDEVICEÚPLATFORM)ÚBaseQuantLinearÚPackableQuantLinear)ÚFORMATÚMETHOD)ÚBACKEND)Úsetup_logger)ÚTORCH_HAS_FUSED_OPSc           	      óF  € V P                   VP                   8X  g   Q h\        P                  ! V P                  V P	                  ^ 4      V P	                  ^4      ^4      VP                  VP	                  ^ 4      VP	                  ^4      ^4      .^4      P                  4       # )r   )ÚshapeÚtorchÚcatÚreshapeÚsizeÚ
contiguous)ÚscalesÚzeross   &&Úi/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/nn_modules/qlinear/torch_fused.pyÚpack_scales_and_zerosr      s~   € Ø�<‰<˜5Ÿ;™;Ô&Ð&Ð&ô 	�	Š	à—‘˜vŸ{™{¨1›~¨v¯{©{¸1«~¸qÓAØ—‘˜eŸj™j¨›m¨U¯Z©Z¸«]¸AÓ>ðð ó	
÷ 
‰‹ð	ó    c                   ó8   a a€ ] tR t^(t oV 3R ltR tRtVtV ;t# )ÚInt4PackedOpc                ó€   <€ \         SV `  4        V P                  R VRR7       V P                  RVRR7       W0n        R# )Úqweight_uint8F)Ú
persistentÚscales_and_zerosN)ÚsuperÚ__init__Úregister_bufferÚ
group_size)Úselfr    r"   r&   Ú	__class__s   &&&&€r   r$   ÚInt4PackedOp.__init__)   s?   ø€ Ü‰ÑÔØ×Ñ˜_¨mÈÐÔNØ×ÑÐ/Ð1AÈeÐÔTØ$Žr   c                ó˜   € \         P                  P                  P                  WP                  V P
                  V P                  4      pV# ©N)r   ÚopsÚatenÚ_weight_int4pack_mm_for_cpur    r&   r"   ©r'   ÚxÚouts   && r   ÚforwardÚInt4PackedOp.forward/   s8   € Ü�i‰i�n‰n×8Ñ8Ø×!Ñ! 4§?¡?°D×4IÑ4Ió
ˆð ˆ
r   )r&   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r$   r2   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r(   Ú__classdict__s   @@r   r   r   (   s   ù‡ € õ%÷ò r   r   c                   óX  a a€ ] tR t^6t o]P
                  .t]P                  .t	]
P                  ^2]
P                  ^2/t^.t. ROtRR.tRR.tRtRtRt^.t^.t]P.                  ]P0                  .t]P6                  .t]P<                  .t] .t!]PD                  ]PF                  ]PH                  .t%Rt&Rt'R]P<                  RR3V3R lV 3R lllt(V 3R lt)V 3R lt*V3R	 lR
 lt+RV3R lV 3R lllt,R t-RV3R lR llt.R t/V3R lR lt0]Pb                  R 4       t2R t3Rt4Vt5V ;t6# )ÚTorchFusedLinearTFÚtorch_fusedNc                ój   <€ V ^8„  d   QhRS[ RS[ RS[RS[RS[ RS[ RS[RS[P                  R	S[R
S[/
# )é   Úbitsr&   ÚsymÚdesc_actÚin_featuresÚout_featuresÚbiasÚ
pack_dtypeÚadapterÚregister_buffers)ÚintÚboolr   Údtyper   )Úformatr<   s   "€r   Ú__annotate__ÚTorchFusedLinear.__annotate__O   s   ø€ ÷ Kñ KáðKñ ðKñ ð	Kñ
 ðKñ ðKñ ðKñ ðKñ —K‘KðKñ ðKñ ñKr   c                ó<  <€ \         SV `  ! RR VRVRVRVRVRVRVRVRVP                  R\        P                  4      R	V	R
V
RVP                  RR4      /VB  RV n        V P                  ^8X  d   \        P                  V n
        R# \        P                  V n
        R# )rB   r&   rC   rD   rE   rF   rG   rH   ÚbackendrI   rJ   Úenable_wf_unsqueezeTN© )r#   r$   Úpopr   ÚGPTQ_TORCH_FUSEDÚlinear_moderB   r   Úint16Úint8Údequant_dtype)r'   rB   r&   rC   rD   rE   rF   rG   rH   rI   rJ   Úkwargsr(   s   &&&&&&&&&&&,€r   r$   ÚTorchFusedLinear.__init__O   sØ   ø€ ô 	‰Òñ 	Øð	à!ð	ð ð	ð ð		ð
 $ð	ð &ð	ð ð	ð "ð	ð —J‘J˜y¬'×*BÑ*BÓCð	ð ð	ð .ð	ð !'§
¡
Ð+@À$Ó Gð	ð ò	ð  ˆÔØ,0¯I©I¸¬NœUŸ[™[ˆÖÄÇ
Á
ˆÖr   c                óD   <€ \         SV `  4        V P                  4        R # r+   )r#   Ú	post_initÚoptimize©r'   r(   s   &€r   r^   ÚTorchFusedLinear.post_inito   s   ø€ Ü‰ÑÔØ�‰Žr   c                óL   <€ V P                   '       d   R # \        SV `	  4        R # r+   )Ú	optimizedr#   r_   r`   s   &€r   r_   ÚTorchFusedLinear.optimizes   s   ø€ Ø�>�>ˆ>Ùä‰ÑÖr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )rA   Úreturn©r   ÚTensor)rN   r<   s   "€r   rO   rP   y   s   ø€ ÷ ñ ¡§¡ñ r   c           	     óB  € \        V R R4      pV P                  P                  ^ ,          p\        V\        P
                  4      '       d   VP                  4       V8X  d   V# V P                  P                  p\        P                  ! V\        P                  VR7      p\        \        V P                  4      ^4      pW%,          pW%,          pV P                  P                  \        P                  4      pW…,          p	V^ 8”  dS   W†8H  p
V
P                  4       '       d9   Wš;;,          \        P                  ! Ws\        P                  R7      ,          uu&   V^ 8”  d“   \        P                  ! WS\        P                  R7      p\!        V4       F]  pWŒ8H  p
V
P                  4       '       g   K  \        V
P#                  4       P%                  4       4      pWš;;,          VRV ,          uu&   K_  	  \        P                  ! W#\        P                  R7      WI&   W@n        V# )Úret_idxN©rM   Údevice)rl   rM   )ÚgetattrÚg_idxr   Ú
isinstancer   rh   Únumelrl   r   Úint32ÚmaxrK   r&   ÚtoÚanyÚarangeÚrangeÚsumÚitemrj   )r'   ÚexistingÚtotalrl   rj   r&   ÚgroupsÚ	remainderrn   Úg_idx_2ÚmaskÚbaseÚiÚcounts   &             r   Ú_build_ret_idxÚTorchFusedLinear._build_ret_idxy   sn  € Ü˜4 ¨DÓ1ˆØ—
‘
× Ñ  Õ#ˆÜ�h¤§¡×-Ò-°(·.±.Ó2BÀeÔ2KØˆOà—‘×"Ñ"ˆÜ—+’+˜e¬5¯;©;¸vÔFˆÜœ˜TŸ_™_Ó-¨qÓ1ˆ
ØÕ$ˆØÕ&ˆ	Ø—
‘
—‘œeŸk™kÓ*ˆØÕ$ˆà�qŒ=Ø‘?ˆDØ�x‰x�zŠzØ—¤§¢¨iÌeÏkÉkÔ!ZÕZ“à�AŒ:Ü—<’< 
ÄÇÁÔMˆDÜ˜6–]�Ø‘z�Ø—x‘x—z’zÙÜ˜DŸH™H›JŸO™OÓ-Ó.�Ø—  f u Õ-•ñ #ô !Ÿ<š<¨ÄEÇKÁKÔPˆÑØŒØˆr   c                ó    <€ V ^8„  d   QhRS[ /# )rA   Úmode©rL   )rN   r<   s   "€r   rO   rP   ™   s   ø€ ÷ (ñ (™$ñ (r   c                ó|  <€ V P                   pW8X  d   V # ^RIHp V P                  '       Ed    V'       d¹   V P	                  4       ^8X  d£   \        V R4      '       gd   V P                  P                  P                  4       V n	        V! W P                  V P                  R7       V P                  P                  V n        MmV P                  V P                  n        V P	                  ^R7       M?\        V R4      '       d.   V P                  V P                  n        V P	                  ^R7       \        SV `9  VR7      # )é   )Ú#convert_gptq_v1_to_v2_format_moduleÚqzeros_data_v1)rB   rH   )rN   )r…   )ÚtrainingÚutils.modelr‰   Ú"SUPPORTS_TRAINING_USE_TORCH_KERNELÚqzero_formatÚhasattrÚqzerosÚdataÚclonerŠ   rB   rH   Úqzeros_data_v2r#   Útrain)r'   r…   Ú	old_trainr‰   r(   s   &&  €r   r”   ÚTorchFusedLinear.train™   sò   ø€ Ø—M‘Mˆ	ØÔØˆKåFà×2×2Ñ2çà×$Ñ$Ó&¨!Ô+Ü" 4Ð)9×:Ò:Ø.2¯k©k×.>Ñ.>×.DÑ.DÓ.F˜Ô+Ù;¸DÇyÁyÐ]a×]lÑ]lÕmØ.2¯k©k×.>Ñ.>˜Õ+à+/×+>Ñ+>˜Ÿ™Ô(Ø×)Ñ)°Ð)Ô3øô ˜4Ð!1×2Ò2à'+×':Ñ':�D—K‘KÔ$Ø×%Ñ%¨QÐ%Ô/ä‰w‰} $ˆ}Ó'Ð'r   c           	     ó~  € V P                   P                  V4      P                  4       V n         \        P                  ! \        P
                  ! V P                  ^4      P                  RRV P                  4      V P                  4      P                  V P                  4      p\        P                  ! W P                  4      P                  VP                  ^ ,          R4      p\        P                  ! \        P                  ! \        P
                  ! V P                  ^4      P                  RV P                  R4      V P                   4      P                  V P                  4      V P                  4      pV P#                  4       pVP                  VP                  ^ ,          VP                  ^,          ,          VP                  ^,          4      P%                  ^ V4      P'                  4       p\        P(                  ! VP                  ^ ,          VP                  ^,          V P                  ,          \        P*                  VP,                  R7      p\/        VP                  ^,          V P                  ,          4       FŒ  p\/        V P                  4       Fp  pVRW`P                  ,          V,           3,          P                  \        P*                  4      pVRV3;;,          W‡V P0                  ,          ,          ,          uu&   Kr  	  KŽ  	  VP                  4       V n        VP                  4       V n        R# )rA   rk   ºNNNNéÿÿÿÿ)r   rs   r   r   Úbitwise_right_shiftÚ	unsqueezer�   ÚexpandÚpack_factorÚwf_unsqueeze_zerorZ   Úbitwise_andÚmaxqr   r   ÚqweightÚwf_unsqueeze_neg_oner‚   Úindex_selectÚtr   rq   rl   rv   rB   )	r'   rM   r   Úweightrj   ÚpackedÚcolr€   Ú
packed_cols	   &&       r   Útransform_xpuÚTorchFusedLinear.transform_xpu¶   s;  € Ø—k‘k—n‘n UÓ+×6Ñ6Ó8ˆŒä×)Ò)Ü�OŠO˜DŸK™K¨Ó+×2Ñ2°2°r¸4×;KÑ;KÓLØ×"Ñ"ó
÷ ‰"ˆT×ÑÓ
 ð 	ô ×!Ò! %¯©Ó3×;Ñ;¸E¿K¹KÈ½NÈBÓOˆä×"Ò"Ü×%Ò%Ü—’ §¡¨aÓ0×7Ñ7¸¸D×<LÑ<LÈbÓQØ×)Ñ)ó÷ ‰b�×#Ñ#Ó$Ø�I‰Ió
ˆð ×%Ñ%Ó'ˆØ—‘ §¡¨Q¥°&·,±,¸qµ/Õ AÀ6Ç<Á<ÐPQÅ?ÓS×`Ñ`ÐabÐdkÓl×nÑnÓpˆä—’˜VŸ\™\¨!�_¨f¯l©l¸1­oÀ×AQÑAQÕ.QÔY^×YdÑYdÐms×mzÑmzÔ{ˆÜ˜Ÿ™ a�¨D×,<Ñ,<Õ<Ö=ˆCÜ˜4×+Ñ+Ö,�Ø# A s×-=Ñ-=Õ'=ÀÕ'AÐ$AÕB×EÑEÄeÇkÁkÓR�
Ø�q˜#�v— *°T·Y±YµÕ"?Õ?•ó -ñ >ð
 ×(Ñ(Ó*ˆŒØ×&Ñ&Ó(ˆŽr   c                ó    <€ V ^8„  d   QhRS[ /# )rA   Údo_scales_and_zerosr†   )rN   r<   s   "€r   rO   rP   Ò   s   ø€ ÷ Tñ T¹ñ Tr   c           	     óÖ  € V P                   P                  V4      P                  4       V n         \        P                  ! \        P
                  ! \        P                  ! V P                  ^4      P                  RV P                  R4      V P                  4      P                  V P                  4      V P                  4      pV P                  4       pVP                  VP                  ^ ,          VP                  ^,          ,          VP                  ^,          4      P!                  ^ V4      P#                  4       p\        P$                  P&                  P)                  VP+                  4       ^4      P                  4       V n        V'       d[   \        P,                  ! V P                   4      P                  4       V n        \1        V P                   V P.                  4      V n        R# R# )é   Nr™   )r   rs   r   r   rŸ   rš   r›   r¡   rœ   r�   r¢   rZ   r    r‚   r   r   r£   r¤   r,   r-   Ú#_convert_weight_to_int4pack_for_cpurK   Ú
zeros_liker�   r   r"   )r'   rM   r¬   r¥   rj   s   &&&  r   Útransform_cpuÚTorchFusedLinear.transform_cpuÒ   sF  € Ø—k‘k—n‘n UÓ+×6Ñ6Ó8ˆŒä×"Ò"Ü×%Ò%Ü—’ §¡¨aÓ0×7Ñ7¸¸D×<LÑ<LÈbÓQØ×)Ñ)ó÷ ‰b�×#Ñ#Ó$Ø�I‰Ió
ˆð ×%Ñ%Ó'ˆØ—‘ §¡¨Q¥°&·,±,¸qµ/Õ AÀ6Ç<Á<ÐPQÅ?ÓS×`Ñ`ÐabÐdkÓl×nÑnÓpˆÜ—y‘y—~‘~×IÑIÈ&Ï*É*Ë,ÐXYÓZ×eÑeÓgˆŒçÜ×*Ò*¨4¯;©;Ó7×BÑBÓDˆDŒKÜ$9¸$¿+¹+ÀtÇ{Á{Ó$SˆDÖ!ñ r   c                óv   € VR 8X  d   V P                  V4       R# VR8X  d   V P                  V4       R# \        h)ÚxpuÚcpuN)r©   r±   ÚNotImplementedError)r'   rM   rl   s   &&&r   Ú	transformÚTorchFusedLinear.transformä   s2   € Ø�UŒ?Ø×Ñ˜uÖ%Ø�uŒ_Ø×Ñ˜uÖ%ä%Ð%r   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )rA   r0   rg   )rN   r<   s   "€r   rO   rP   ì   s   ø€ ÷ )ñ )™Ÿ™ñ )r   c                óÜ  € VP                   R R V P                  3,           pVP                  RVP                   R,          4      pVP                  pV\        P
                  8X  d    VP                  \        P                  4      pV P                  '       gã   VP                  '       gÑ   V P                  fÃ   \        '       d·   V P                  VP                  VP                  P                  4       \        P                   V n
        VP                  P                  R8X  dV   \#        V P$                  V P&                  V P(                  4      P+                  4       V n        ^ R IHu Hp RVn        RVn        M#V P                  f   \        P8                  V n
        V P                  \        P                   8X  d"   V P;                  V4      P                  V4      pM…V P<                  P                   ^ ,          VP                   R,          ,          pV P?                  VR7      P                  VP                  4      p\        P@                  ! W4      P                  V4      pV PB                  e   VPE                  V PB                  4       V PF                  '       d   V PF                  PI                  WR7      pV\        P
                  8X  d    VP                  \        P
                  4      pV# )Nrµ   T)Únum_itr)r0   r1   r™   )%r   rF   r   rM   r   Úfloat32rs   Úbfloat16r‹   Úrequires_gradrW   r   r·   rl   Útyper   Ú	INFERENCEr   r¡   r"   r&   ÚevalÚtorch_fused_opÚtorch._inductor.configÚ	_inductorÚconfigÚfreezingÚmax_autotuneÚTRAINÚ_fused_op_forwardrn   Údequantize_weightÚmatmulrG   Úadd_rI   Úapply)r'   r0   Ú	out_shapeÚinput_dtyperÅ   r1   r»   Úweightss   &&      r   r2   ÚTorchFusedLinear.forwardì   s  € Ø—G‘G˜C˜R�L D×$5Ñ$5Ð#7Õ7ˆ	Ø�I‰I�b˜!Ÿ'™' "�+Ó&ˆØ—g‘gˆØœ%Ÿ-™-Ô'Ø—‘”U—^‘^Ó$ˆAØ�}�}ˆ} Q§_§_ _¸×9IÑ9IÒ9Q×ViÓVià�N‰N˜1Ÿ7™7 A§H¡H§M¡MÔ2Ü)×3Ñ3ˆDÔØ�x‰x�}‰} Ô%Ü&2Ø—L‘L $×"7Ñ"7¸¿¹ó'ç‘$“&ð Ô#÷ 8Ð7Ø"&�”Ø&*�Ô#øð
 ×ÑÒ%Ü)×/Ñ/ˆDÔà×Ñœz×3Ñ3Ô3Ø×(Ñ(¨Ó+×3Ñ3°IÓ>‰Cð —j‘j×&Ñ& qÕ)¨Q¯W©W°R­[Õ8ˆGØ×,Ñ,°WÐ,Ó=×@Ñ@ÀÇÁÓIˆGÜ—,’,˜qÓ*×2Ñ2°9Ó=ˆCð �9‰9Ò Ø�H‰H�T—Y‘YÔØ�<�<ˆ<Ø—,‘,×$Ñ$ qÐ$Ó2ˆCàœ%Ÿ-™-Ô'Ø—&‘&œŸ™Ó'ˆCàˆ
r   c                óÄ  € VR V P                   P                  VP                  4      3,          P                  4       pVP                  P                  R8X  dW   \
        P                  P                  P                  WP                  V P                  V P                  V P                  4      pV# VP                  P                  R8X  d   V P                  V4      pV# \        h)r˜   r´   rµ   )rj   rs   rl   r   r¿   r   r,   r-   Ú)_weight_int4pack_mm_with_scales_and_zerosr¡   r&   r   r�   rÂ   r¶   r/   s   && r   rÉ   Ú"TorchFusedLinear._fused_op_forward  s¦   € àˆa�—‘—‘ §¡Ó*Ð*Õ+×6Ñ6Ó8ˆð �8‰8�=‰=˜EÔ!Ü—)‘)—.‘.×JÑJØ—<‘< §¡°$·+±+¸t¿{¹{óˆCð ˆ
ð �X‰X�]‰]˜eÔ#Ø×%Ñ% aÓ(ˆCð ˆ
ô &Ð%r   c                ó>   € R V n         R V n        R V n        R V n        R # r+   )r�   r¡   rn   r   )r'   s   &r   Ú_empty_gptq_only_weightsÚ)TorchFusedLinear._empty_gptq_only_weights(  s   € ØˆŒØˆŒØˆŒ
ØˆŽr   )rZ   rn   rW   r¡   r�   rŠ   r“   rj   r   r"   rÂ   )r™   é   é    é@   é€   )T)7r4   r5   r6   r7   r   rV   ÚSUPPORTS_BACKENDSr   ÚGPTQÚSUPPORTS_METHODSr   ÚGPTQ_V2ÚSUPPORTS_FORMATSÚSUPPORTS_BITSÚSUPPORTS_GROUP_SIZEÚSUPPORTS_DESC_ACTÚSUPPORTS_SYMÚSUPPORTS_SHARDSÚSUPPORTS_TRAININGÚSUPPORTS_AUTO_PADDINGÚ!SUPPORTS_IN_FEATURES_DIVISIBLE_BYÚ"SUPPORTS_OUT_FEATURES_DIVISIBLE_BYr   ÚCPUÚXPUÚSUPPORTS_DEVICESr	   ÚALLÚSUPPORTS_PLATFORMr   rq   ÚSUPPORTS_PACK_DTYPESr   ÚSUPPORTS_ADAPTERSr¼   Úfloat16r½   ÚSUPPORTS_DTYPESÚREQUIRES_FORMAT_V2Ú
QUANT_TYPEr$   r^   r_   r‚   r”   r©   r±   r·   r2   Úno_gradrÉ   rÖ   r8   r9   r:   r;   s   @@r   r>   r>   6   sQ  ù‡ € Ø ×1Ñ1Ð2ÐØŸ™�}ÐØŸ™ R¨¯©¸Ð<ÐØ�C€MÚ/ÐØ˜u˜ÐØ˜%�=€LØ€OØÐØ ÐØ)*¨Ð%Ø*+¨Ð&ØŸ
™
 F§J¡JÐ/ÐØ!Ÿ™˜ÐØ!ŸK™K˜=ÐØ˜Ðà—}‘} e§m¡m°U·^±^ÐD€OàÐð €Jð Ø"'§+¡+ØØ!%÷Kõ Kõ@õ÷ð ÷@(õ (ò:)÷8Tò Tò$&÷)ð )ðV ‡]�]ñó ð÷ ò r   r>   c                ó$   € V ^8„  d   QhR\         /# )rA   Úmodelr   )rN   s   "r   rO   rO   .  s   € ÷ ñ œOñ r   c                 óú  € V P                  4        EFY  w  r\        V\        4      '       d"   \        V\        4      '       g   \	        R 4      h\        V\        4      '       g   KU  \
        P                  ! VP                  VP                  4      p\
        P                  ! VP                  4       P                  P                  4       P                  R\        P                  4      4      Vn        \        P
                  P                  VP"                  4      Vn        T pRV9   d6   VP%                  R^4      w  rV\'        V P                  4       4      V,          pMTp\)        WFV4       EK\  	  V P*                  =V # )z„Only models loaded using TorchFusedLinear are supported for dequantization. Please load model using backend=BACKEND.GPTQ_TORCH_FUSEDrµ   Ú.)Únamed_modulesro   r
   r>   Ú
ValueErrorÚnnÚLinearrE   rF   Ú	ParameterrÊ   ÚTÚdetachrs   r   rñ   r¥   rG   ÚrsplitÚdictÚsetattrrÅ   Úquantization_config)r÷   ÚnameÚmoduleÚ
new_moduleÚparentÚparent_nameÚmodule_names   &      r   Údequantize_modelr  .  s!  € Ø×+Ñ+×-‰ˆÜ�fœo×.Ò.´zÀ&ÔJZ×7[Ò7[ÜðKóð ô
 �fÔ.×/Ô/äŸš 6×#5Ñ#5°v×7JÑ7JÓKˆJÜ "§¢¨V×-EÑ-EÓ-G×-IÑ-I×-PÑ-PÓ-R×-UÑ-UÐV[Ô]b×]jÑ]jÓ-kÓ lˆJÔÜ#Ÿh™h×0Ñ0°·±Ó=ˆJŒOð ˆFØ�dŒ{Ø+/¯;©;°s¸AÓ+>Ñ(�Ü˜e×1Ñ1Ó3Ó4°[ÕA‘à"�ä�F¨×4ñ+ .ð. 	�‰Ð(Ø€Lr   r  ) r   Útorch.nnrü   Útransformersr   Úadapter.adapterr   r   Úlooper.linear_moder   Úmodels._constr   r	   Únn_modules.qlinearr
   r   Úquantizationr   r   Úutils.backendr   Úutils.loggerr   Úutils.torchr   Úlogr   ÚModuler   r>   r  Ú__all__rT   r   r   Ú<module>r     sl   ðó Ý Ý (ç ,Ý ,ß -ß Fß *Ý $Ý (Ý .ñ ƒn€òô �5—8‘8—?‘?ô ôvÐ*ô võpð8 Ð1Ð
2‚r   