+
    [°³j3  ã                   óF  € ^ RI t^ RIHtHtHtHt ^ RIt]P                  ]P                  ]P                  ]P                  ]P                  ]P                  .t]P                  ]P                  ]P                  ]P                  ]P                  ]P                  .t ]]P                   .,          t]]P                  .,          tR tR tR tR tR tR tR	 tR
 tR tR tR tR tR tR tR t R t!R t"R t#R t$R t%R t&R t'R t(R t)R t*R t+R#   ] d     LYi ; i)é    N)Úassert_Úassert_allcloseÚassert_array_equalÚassert_raisesc                  óÐ  € . ROp \         P                  ! V R4      w  r. ROp. R	Op\        W4       \        W$4       \         P                  ! WR4      p\        WPRR7       \         P                  ! VP	                  \
        P                  4      VP	                  \
        P                  4      R4      p\        W`RRR7       \        VP                  \
        P                  8H  4       R# )
é   Údb2ç»½×Ùß|Û=©ÚrtolçH¯¼šò×z>©r   ÚatolN©r   é   é   r   éþÿÿÿé   é   é   ©gVô‡fž @ge/¡£Ñ˜@g'ÛŸ¿°Ì?gÞï'•¶±
@gIƒºÌÙ@©g€©Ž˜Àg§Ï¸®¨ù¿gZ‹&‚þÃÀg´ŒšÐ xÚ¿g€©Ž˜ó?)
ÚpywtÚdwtr   ÚidwtÚastypeÚnpÚfloat64Úfloat32r   Údtype)ÚxÚcAÚcDÚ	cA_expectÚ	cD_expectÚx_roundtripÚx_roundtrip2s          ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/pywt/tests/test_dwt_idwt.pyÚtest_dwt_idwt_basicr)      s£   € Ú!€AÜ�XŠX�a˜Ó�F€BÚL€Iò€Iä�BÔ"Ü�BÔ"ä—)’)˜B EÓ*€KÜ�K¨Õ/ô —9’9˜RŸY™Y¤r§z¡zÓ2°B·I±I¼b¿j¹jÓ4IØ"ó$€Lä�L¨$°TÕ:ÜˆL×Ñ¤"§*¡*Ñ,Ö-ó    c                  ó  € \         P                  ! ^4      P                  \        4      p V RV RRR1,          ,          ,           p \        P
                  ! V R4      w  r\        P                  ! WR4      p\        W0RR7       \        P                  ! VP                  \         P                  4      VP                  \         P                  4      R4      p\        W@RRR7       \        VP                  \         P                  8H  4       R# )	é   ù              ð?Nr	   r
   r   r   r   éÿÿÿÿ)r   Úaranger   Úfloatr   r   r   r   Ú
complex128Ú	complex64r   r    )r!   r"   r#   r&   r'   s        r(   Útest_idwt_mixed_complex_dtyper3   +   s¯   € Ü
�	Š	�!‹×ÑœEÓ"€AØ	ˆBˆq‘�2��w�J�€AÜ�XŠX�a˜Ó�F€Bä—)’)˜B EÓ*€KÜ�K¨Õ/ô —9’9˜RŸY™Y¤r§}¡}Ó5°r·y±yÄÇÁÓ7NØ"ó$€Lä�L¨$°TÕ:ÜˆL×Ñ¤"§-¡-Ñ/Ö0r*   c                  ó¼  € \         P                  ! R 4      p \        \        \        4       F­  w  r\
        P                  ! ^VR7      pRV R2p\         P                  ! W04      w  rV\        VP                  VP                  u;8H  ;'       d    V8H  Mu RV,           4       \         P                  ! WVV 4      p\        VP                  V8H  RV,           4       K¯  	  R# )Úhaar)r    zwrong dtype returned for z inputzdwt: zidwt: N)r   ÚWaveletÚzipÚ	dtypes_inÚ
dtypes_outr   Úonesr   r   r    r   )ÚwaveletÚdt_inÚdt_outr!   Úerrmsgr"   r#   r&   s           r(   Útest_dwt_idwt_dtypesr?   :   sŸ   € Ü�lŠl˜6Ó"€GÜœY¬
Ö3‰ˆÜ�GŠG�A˜UÔ#ˆØ,¨U¨G°6Ð:ˆä—’˜!Ó%‰ˆÜ�—‘˜BŸH™H×.Ô.¨Ô.°¸&Õ0@ÔAä—i’i ¨Ó0ˆÜ�×!Ñ! VÑ+¨X¸Õ->Ö?ó 4r*   c                  óœ  € \         P                  ! . RO4      p V RV ,          ,           p \        P                  ! V R4      w  r\         P                  ! . RO4      pVRV,          ,           p\         P                  ! . RO4      pVRV,          ,           p\	        W4       \	        W$4       \        P
                  ! WR4      p\	        WPRR7       R# )	r   ù              à?r	   r
   r   Nr   r   r   )r   Úasarrayr   r   r   r   )r!   r"   r#   r$   r%   r&   s         r(   Útest_dwt_idwt_basic_complexrC   G   sœ   € Ü
�
Š
Ò,Ó-€AØ	ˆD��F�
€AÜ�XŠX�a˜Ó�F€BÜ—
’
ò (ó )€Ià˜D �NÕ*€IÜ—
’
ò (ó )€Ià˜D �NÕ*€IÜ�BÔ"Ü�BÔ"ä—)’)˜B EÓ*€KÜ�K¨×/r*   c                  ó˜  € \         P                  ! . RO4      p V RV ,          ,           p \        P                  ! V R4      w  r\         P                  ! . RO4      p\        P
                  ! VRR4      p\        WC4       \         P                  ! . RO4      p\        P
                  ! RVR4      p\        We4       \        WF,           V 4       R# )r   rA   r5   Nr   )ù      @      @rE   ù      ð?      à?rF   ù      ø?      è?rG   rE   rE   )y       À      ð¿y       @      ð?ù                rH   y      À      ü¿y      @      ü?y      ð¿      à¿rF   )r   rB   r   r   Úarrayr   r   )r!   r"   r#   ÚcA_rec_expectÚcA_recÚcD_rec_expectÚcD_recs          r(   Útest_dwt_idwt_partial_complexrN   X   sš   € Ü
�
Š
Ò,Ó-€AØ	ˆD��F�
€Aä�XŠX�a˜Ó �F€BÜ—H’Hò Hó I€Mä�YŠY�r˜4 Ó(€FÜ�FÔ*ä—H’Hò Jó K€Mä�YŠY�t˜R Ó(€FÜ�FÔ*ä�F•O QÖ'r*   c                  óÒ   € \         P                  ! . RO4      p \        P                  ! R4      p\        P                  ! WRR7      w  r#. ROp. ROp\        W$4       \        W54       R# )r   Úsym3Úconstant)r;   ÚmodeNr   )gëI>Àˆ@g À¿1™l@g�óÄ”ÄE@gÖX_°½â¿g�«ºÜšc@g,KlžG@)g¤ÕmyJõ¿geÃy¼¹MÀgP~Þ–X	Àg»»k\A«å¿g©Z	ä¸¿g¡Ñ'.	²¿)r   rI   r   r6   r   r   )r!   Úwr"   r#   r$   r%   s         r(   Útest_dwt_wavelet_kwdrT   j   sO   € Ü
�ŠÒ*Ó+€AÜ�Š�VÓ€AÜ�XŠX�a¨Ô4�F€Bò€Iò+€Iä�BÔ"Ü�BÖ"r*   c                  ó‚  € \         P                  ! . RO4      p \        P                  ! R4      p\        P                  P
                   Uu. uF.  p\        P                  ! \        V 4      VP                  V4      NK0  	  pp^.\        \        P                  P
                  4      ,          p^V\        P                  P
                  P                  R4      &   \        W44       \        P                  P
                   Uu. uF#  p\        P                  ! \        V 4      W4      NK%  	  pp\        W44       R# u upi u upi )r   rP   ÚperiodizationNr   )r   rI   r   r6   ÚModesÚmodesÚdwt_coeff_lenÚlenÚdec_lenÚindexr   )r!   rS   rR   Úln_modesÚexpected_results        r(   Útest_dwt_coeff_lenr_   v   só   € Ü
�ŠÒ*Ó+€AÜ�Š�VÓ€Aä—
‘
× Ò ó"Ù ð AE”×"Ò"¤3 q£6¨1¯9©9°dÖ;Ù ð ð "ð �eœc¤$§*¡*×"2Ñ"2Ó3Õ3€OØ?@€O”D—J‘J×$Ñ$×*Ñ*¨?Ó;Ñ<ä�HÔ.ä—
‘
× Ò ó"Ù ð 9=”×"Ò"¤3 q£6¨1Ö3Ù ð ð "ä�HÖ.ùò"ùò"s   Á4D7Ã?)D<c                  ób  € \         P                  ! . RORRR4      p \         P                  ! . RO. RORR4      p\        WRRR7       \         P                  ! R. RORR4      p \         P                  ! . RO. RORR4      p\        WRRR7       \        \        \         P                  RRRR4       R# )r   Nr	   Ú	symmetricgVçž¯Ò<r   )r   é   r   r   )r   r   r   r   )r   r   r   r   Ú
ValueError)Úres1Úres2s     r(   Útest_idwt_none_inputrf   …   s‚   € ä�9Š9’\ 4¨°Ó<€DÜ�9Š9’\¢<°¸ÓD€DÜ�D U°Õ7ä�9Š9�Tš<¨°Ó<€DÜ�9Š9’\¢<°¸ÓD€DÜ�D U°Õ7ô ”*œdŸi™i¨¨t°U¸KÖHr*   c                  óR   € \        \        \        P                  . RO. RORR4       R# )r   Údb4ra   N©r   rb   r   ©r   r   r   )r   rc   r   r   © r*   r(   Útest_idwt_invalid_inputrl   “   s   € ä”*œdŸi™iª²I¸uÀkÖRr*   c                  ód  € . RO. RO.p \         P                  ! V RRR7      w  r\         P                  ! V ^ ,          R4      w  r4\         P                  ! V ^,          R4      w  rV\        V^ ,          V4       \        V^,          V4       \        V^ ,          V4       \        V^,          V4       R# ©r   r	   ©ÚaxisN©r   r   r   r   ©r   r   r   r   r.   ©r   r   r   )r!   r"   r#   ÚcA0ÚcD0ÚcA1ÚcD1s          r(   Útest_dwt_single_axisrx   ˜   s‰   € Ú	Ú	ð	€Aô �XŠX�a˜ RÔ(�F€Bä�xŠx˜˜!�˜eÓ$�H€CÜ�xŠx˜˜!�˜eÓ$�H€Cä�B�q•E˜3ÔÜ�B�q•E˜3Ôä�B�q•E˜3ÔÜ�B�q•E˜3Ör*   c                  ó„  € . RO. RO.p \         P                  ! V 4      p V RV ,          ,           p \        P                  ! V RRR7      w  r\        P                  ! V^ ,          V^ ,          RRR7      p\        P                  ! V^,          V^,          RRR7      p\        V ^ ,          V4       \        V ^,          V4       R# )r   r-   r	   ro   Nrq   rr   r.   )r   rB   r   r   r   r   )r!   r"   r#   Úx0Úx1s        r(   Útest_idwt_single_axisr|   ¨   s“   € Ú	Ú	ð	€Aô 	�
Š
�1‹€AØ	ˆBˆq�D�€AÜ�XŠX�a˜ RÔ(�F€Bä	�Š�2�a•5˜"˜Q�% ¨RÔ	0€BÜ	�Š�2�a•5˜"˜Q�% ¨RÔ	0€Bä�A�a•D˜"ÔÜ�A�a•D˜"Ör*   c                  ó¶   € \         P                  ! ^4      p \        \        \        P
                  V RR4       \        \        \        P
                  V RR4       R# )r   r	   Úreflectr5   ÚantireflectN)r   r/   r   rc   r   r   ©r!   s    r(   Útest_dwt_invalid_inputr�   ¶   s7   € Ü
�	Š	�!‹€AÜ”*œdŸh™h¨¨5°)Ô<Ü”*œdŸh™h¨¨6°=ÖAr*   c                  ó®   € . RO. RO.p \         P                  ! V RRR7      w  r\         P                  ! V R^R7      w  r4\        W4       \        W$4       R# rn   rs   )r!   ÚcA_ÚcD_r"   r#   s        r(   Útest_dwt_axis_argr…   ¼   sI   € Ú	Ú	ð	€Aô �xŠx˜˜5 rÔ*�H€CÜ�XŠX�a˜ QÔ'�F€Bä�CÔÜ�CÖr*   c                  ót   € \         P                  ! R4      p \        \        \        P
                  V RR4       R# )r   r	   r~   N)r   r   )r   r:   r   rc   r   r   r€   s    r(   Útest_dwt_axis_invalid_inputr‡   Æ   s#   € Ü
�Š�‹€AÜ”*œdŸh™h¨¨5°)Ö<r*   c                  óÆ   € . RO. RO.p \         P                  ! V R^R7      w  r\         P                  ! WRRR7      p\         P                  ! WR^R7      p \        W04       R# rn   )r   r   r   r   )r!   r"   r#   Úx_s       r(   Útest_idwt_axis_argrŠ   Ê   sQ   € Ú	Ú	ð	€Aô �XŠX�a˜ QÔ'�F€Bä	�Š�2˜5 rÔ	*€BÜ�	Š	�"˜% aÔ(€Aä�BÖr*   c            
      ó¬   € . RO. RO.p \        \        \        P                  V RR^R7       \        \        \        P                  . RO. RORR^R7       R# )	r   r	   ra   ro   Nrq   rr   ri   rj   )r   rc   r   r   r   r€   s    r(   Útest_dwt_idwt_axis_excessrŒ   Ö   sH   € Ú	Ú	ð	€Aô ”*Ü—(‘(˜A˜u k¸õ;ô ”*Ü—)‘)šYª	°5¸+ÈA÷Or*   c                  ó   € \         P                  ! R4      p R\        P                  ! R4      3 F[  p\	        \
        \        P                  W4       \        P                  ! V R4      w  r#\	        \
        \        P                  W#V4       K]  	  R# )é    ÚmorlÚdb1N)rŽ   )r   r:   r   ÚDiscreteContinuousWaveletr   rc   r   r   )ÚdataÚcwaver"   r#   s       r(   Ú test_error_on_continuous_waveletr”   á   s^   € ä�7Š7�6‹?€DØœ$×8Ò8¸Ó@ÓAˆÜ”j¤$§(¡(¨DÔ8ä—’˜$ Ó&‰ˆÜ”j¤$§)¡)¨R°UÖ;ó	 Br*   c                  óÄ   € \        \        \        P                  . R 4       \        P
                  ! R4      R,          p \        \        \        P                  V R ^ R7       R# )r	   ro   N)r   r   ):r   r   N:NNN)r   rc   r   r   r   r:   r€   s    r(   Útest_dwt_zero_size_axesr–   ë   s<   € ä”*œdŸh™h¨¨EÔ2ô 	�Š�‹˜Õ€AÜ”*œdŸh™h¨¨5°q×9r*   c                  óÐ   € \         P                  P                  R 4      P                  \         P                  4      p V P                  RR7       \        P                  ! V R4       R# )iè  F)Úwriterh   N)r   ÚrandomÚrandnr   r   Úsetflagsr   r   )r’   s    r(   Útest_dwt_readonly_arrayrœ   ô   s?   € Ü�9‰9�?‰?˜4Ó ×'Ñ'¬¯
©
Ó3€DØ‡M�M˜€MÔÜ‡H‚HˆT�5Ör*   c                  óè  € . ROp \        \        P                  ! V RR4      . RO4       \        \        P                  ! V RR4      . RO4       \        \        P                  ! V RR4      . RO4       \        \        P                  ! V RR4      . RO4       \        \        P                  ! V RR4      . RO4       \        \        P                  ! V RR4      . RO4       \        \        P                  ! V RR4      . RO4       \        \        P                  ! V RR4      . RO4       \        \        P                  ! V RR	4      . RO4       \        \        P                  ! V ^R4      \        P                  ! V RR4      4       \        \        P                  ! V RR4      \        P                  ! V RR4      4       \        \        P                  ! V R.R4      \        P                  ! V RR4      4       R
# )r   rV   ÚperiodicrQ   ÚzeroÚsmoothra   Úantisymmetricr~   r   N©r   rb   r   ©r   r   )r   rb   r   r   r   rb   r   r   r   rb   r   r   r   rb   )r   r   rb   r   r   rb   r   r   rb   r   r   rb   r   )r   r   r   r   r   rb   r   r   r   r   r   r   r   )r   r   r   r   r   rb   r   r   r   r   r   r   r   )éýÿÿÿr   r.   r   r   rb   r   r   r   r   r   r,   é	   )r   r   rb   r   r   rb   r   r   rb   r   r   rb   r   )r   r¤   r   r.   r   rb   r   r¤   r   r.   r   rb   r   )r   rb   r   rb   r   rb   r   rb   r   rb   r   rb   r   )r   r   ©r   )r   r   Úpadr€   s    r(   Útest_pad_1dr¨   ú   sw  € Ú€AÜ”t—x’x  6¨?Ó;ÚAôCä”t—x’x  6¨:Ó6Ú>ô@ä”t—x’x  6¨:Ó6Ú>ô@ä”t—x’x  6¨6Ó2Ú>ô@ä”t—x’x  6¨8Ó4ÚAôCä”t—x’x  6¨;Ó7Ú>ô@ä”t—x’x  6¨?Ó;ÚDôFä”t—x’x  6¨9Ó5Ú>ô@ä”t—x’x  6¨=Ó9ÚAôCô ”t—x’x  1 jÓ1Ü—x’x  6¨:Ó6ô8ô ”t—x’x  5¨*Ó5Ü—x’x  6¨:Ó6ô8ô ”t—x’x  F 8¨ZÓ8Ü—x’x  6¨:Ó6ö8r*   c            
      ór  € R FŠ  p \         P                  ! RV ,          4      P                  RV ,          4      p\        P                  P
                   F6  pVR8X  d   K  \        \        P                  ! V^ V4      VRV RV  2R7       K8  	  KŒ  	  \        \        P                  ! . RO^ R4      . R	O4       R# )
r   ç      @rV   úmode=z, ndim=©Úerr_msgNr¢   )r   )r   rb   r   r   )r   r/   Úreshaper   rW   rX   r   r§   )Úndimr!   rR   s      r(   Útest_pad_zero_widthr°     s‘   € ó ˆÜ�IŠI�c˜4•iÓ ×(Ñ(¨°­Ó6ˆÜ—J‘J×$Ô$ˆDØ�Ô&ÙÜœtŸxšx¨¨1¨dÓ3°QØ).¨t¨f°G¸D¸6Ð'B÷Dó %ñ ô ”t—x’x¢	¨1¨oÓ>ÂÖMr*   c                  ó  € \         P                  ! R4      p \        P                  P                   F*  p\        \        P                  ! V ^ V4      V RV 2R7       K,  	  \        \        P                  ! V RR4      P                  R8H  4       R# )r   r«   r¬   r¡   N)r   r   ©©r   r   ©rb   rb   )r   r,   )	r   r:   r   rW   rX   r   r§   r   Úshape)r!   rR   s     r(   Útest_pad_zero_size_axisr¶   (  sg   € ô 	�Š�‹€AÜ—
‘
× Ô ˆÜœ4Ÿ8š8 A q¨$Ó/°¸eÀDÀ6¸N×Kñ !ô ŒD�HŠH�QÐ(¨/Ó:×@Ñ@ÀFÑJÖKr*   c                  ób  € . ROp \        \        P                  ! V R	R4      . R
O4       \        \        P                  ! V RR4      . RO4       \        \        P                  ! V R	R4      . RO4       \        \        P                  ! V RR4      . RO4       \        P                  P                   F|  pVR8X  d   K  \        P                  ! V RV4      p\        \        P                  ! V RV4      VRR RV 2R7       \        \        P                  ! V RV4      VR,          RV 2R7       K~  	  R# )r   r    r¡   rV   Nr«   r¬   :r   NNr¢   )rb   r   )r.   r   r   rb   r   )r   rb   )r   rb   r   r   r   )r   r.   r   rb   r   )r   rb   r   r¤   r   r£   )r   r   iúÿÿÿ)r   r   )r   r   r§   rW   rX   )r!   rR   Ú	two_sideds      r(   Útest_pad_one_sidedr¹   3  sç   € â€AÜ”t—x’x  6¨8Ó4Ò6FÔGÜ”t—x’x  6¨8Ó4²oÔFÜ”t—x’x  6¨?Ó;Ò=NÔOÜ”t—x’x  6¨?Ó;Ò=NÔOô —
‘
× Ô ˆØ�?Ô"ÙÜ—H’H˜Q ¨Ó-ˆ	Üœ4Ÿ8š8 A v¨tÓ4°iÀÀ°nØ%*¨4¨& >õ	3äœ4Ÿ8š8 A v¨tÓ4°iÀµmØ%*¨4¨& >÷	3ó !r*   c                  ó:  € \        \        P                  ! R .^ R4      R .4       \        \        P                  ! R .RR4      \        P                  ! R .RR4      4       \        P                  ! R4      P                  ^^4      p \        \        P                  ! V RR4      . RO.4       \        \        P                  ! V R	R4      \        P                  ! V R
4      4       \        \        P                  ! R .RR4      \        P                  ! R .RR4      4       R# )g      ð?r    rQ   rª   r	   N©rb   r   r²   )r   r.   r   r   rb   r   r   )r´   r³   )r   r   )	r   r   r§   r   r/   r®   Útiler   r   r€   s    r(   Útest_pad_smooth_short_signalr½   F  s×   € ô ”t—x’x   a¨Ó2°R°DÔ9Ü”t—x’x   f¨hÓ7Ü—x’x   f¨jÓ9ô;ô 	�	Š	�#‹×Ñ˜q !Ó$€AÜ”t—x’x Ð#3°XÓ>Ú/Ð0ô2ä”t—x’x Ð#3°XÓ>Ü—w’w˜q &Ó)ô+ô ”D—H’H˜b˜T 5¨(Ó3Ü—H’H˜b˜T 5¨*Ó5ö7r*   c                  óÔ   € . ROp \        \        \        P                  V RR4       \        \        \        P                  V RR4       \        \        \        P                  V ^R4       R# )r   rž   Úbad_modeNr¢   r   )r   r   r   )r   rc   r   r§   r€   s    r(   Útest_pad_errorsrÀ   Y  sG   € â€AÜ”*œdŸh™h¨¨2¨zÔ:ô ”*œdŸh™h¨¨9°jÔAô ”*œdŸh™h¨¨1¨jÖ9r*   c                  óÔ  € R Fá  p \         P                  ! ^V ,          4      P                  RV ,          4      pV ^8X  d   RR.pM
R.V ,          p\        P                  P
                   Fw  p\        P                  ! WV4      pVP                  4       p\        V 4       F3  p\         P                  ! \        P                  VVW&,          .VR7      pK5  	  \        WE4       Ky  	  Kã  	  R# )rb   )Ú
pad_widthsrR   Nr»   r¦   )rb   r   )r   r/   r®   r   rW   rX   r§   ÚcopyÚrangeÚapply_along_axisr   )r¯   r!   rÂ   rR   ÚxpÚxp_expectedÚaxs          r(   Útest_pad_ndrÉ   e  sº   € ÛˆÜ�IŠI�a˜•gÓ×&Ñ& u¨t¥|Ó4ˆØ�1Œ9Ø  &Ð)‰Jà ˜ dÕ*ˆJÜ—J‘J×$Ô$ˆDÜ—’˜!¨Ó.ˆBð Ÿ&™&›(ˆKÜ˜D–k�Ü ×1Ò1´$·(±(Ø24Ø2=Ø>H½nÐ=MØ7;ô	=’ñ "ô ˜rÖ/ó %ó r*   ),Únumpyr   Únumpy.testingr   r   r   r   r   Úint8Úfloat16r   r   r2   r1   r8   r9   Ú
complex256ÚAttributeErrorr)   r3   r?   rC   rN   rT   r_   rf   rl   rx   r|   r�   r…   r‡   rŠ   rŒ   r”   r–   rœ   r¨   r°   r¶   r¹   r½   rÀ   rÉ   rk   r*   r(   Ú<module>rÐ      s5  ðó ß UÓ Uã ð
 �W‰W�b—j‘j "§*¡*¨b¯j©j¸"¿,¹,Ø�]‰]ð€	à�j‰j˜"Ÿ*™* b§j¡j°"·*±*¸b¿l¹lØ�m‰mð€
ð	Ø�"—-‘-Ð"Õ"€IØ�2—=‘=Ð#Õ#€Jò
.ò&1ò
@ò0ò"(ò$	#ò/òIòSò
 ò òBòò=ò	òOò<ò:òò8ò@NòLò3ò&7ò&	:ô0øðc
 ô 	Ùð	ús   Â(D ÄD ÄD 