+
    LV-jÊK  ã            	       óê  € ^ RI t ^ RIt^ RIt^RIHt ^RIHtHtH	t	H
t
 ^RIHtHtHtHt . R6Ot ! R R4      t]! ]	RR^ R7      t	]	P$                  R 4       t]	P(                  R 4       t]! ]RR^ R7      t]P$                  R 4       t]P*                  R 4       t]P,                  R 4       t]P(                  R 4       t]! ]RR^R^ R7      t]P$                  R 4       t]P.                  R 4       t]P(                  R 4       t]! ]RR^R^ R7      t]P$                  R 4       t]P.                  R  4       t]P*                  R! 4       t]P,                  R" 4       t]P(                  R# 4       t]! ]RR$^ R7      t]P$                  R% 4       t]P(                  R& 4       t]! ]RR'^ R7      t]P$                  R( 4       t]P*                  R) 4       t]P,                  R* 4       t]P(                  R+ 4       t]! ]
R	R,R-^ R.7      t
]
P$                  R/ 4       t]
P(                  R0 4       t]! ]R
R1R-^ R.7      t]P$                  R2 4       t]P*                  R3 4       t]P,                  R4 4       t]P(                  R5 4       tR# )7é    N©Ú_nonneg_int_or_fail)Ú
legendre_pÚassoc_legendre_pÚsph_legendre_pÚ
sph_harm_y)Úlegendre_p_allÚassoc_legendre_p_allÚsph_legendre_p_allÚsph_harm_y_allr   r
   r   r	   r   r   r   r   c                   ól   a € ] tR t^t o RRR/R llt]R 4       tR tR tR t	R	 t
R
 tR tR tRtV tR# )Ú
MultiUFuncNÚforce_complex_outputFc               óÀ  € \        V\        P                  4      '       gû   \        V\        P                  P
                  4      '       d   VP                  4       pM8\        V\        P                  P                  4      '       d   TpM\        R 4      h\        4       pV F\  p\        V\        P                  4      '       g   \        RV 24      hVP                  \        R VP                   4       4      4       K^  	  \        V4      ^8”  d   \        R4      hW n        Wn        W0n        W@n        WPn        RV n        RV n        RV n        R V n        R V n        R# )z7ufunc_or_ufuncs should be a ufunc or a ufunc collectionz2All ufuncs must have type `numpy.ufunc`. Received c              3   óP   "  € T F  qP                  R 4      ^ ,          x € K  	  R# 5i)z->N)Úsplit)Ú.0Úxs   & Úk/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/special/_multiufuncs.pyÚ	<genexpr>Ú&MultiUFunc.__init__.<locals>.<genexpr>+   s   é € Ð.UÉÀA¯w©w°t«}¸Q×/?Ò/?Ëùó   ‚$&z*All ufuncs must take the same input types.Nc                  ó   € R# )N© r   ©ÚargsÚkwargss   *,r   Ú<lambda>Ú%MultiUFunc.__init__.<locals>.<lambda>7   s   € ¹2ó    c                  ó   € / # ©Nr   r   s   *,r   r   r   8   s   € ¹Rr    )Ú
isinstanceÚnpÚufuncÚcollectionsÚabcÚMappingÚvaluesÚIterableÚ
ValueErrorÚsetÚaddÚ	frozensetÚtypesÚlenÚ__name__Ú_ufunc_or_ufuncsÚ_MultiUFunc__docÚ!_MultiUFunc__force_complex_outputÚ_default_kwargsÚ_resolve_out_shapesÚ_finalize_outÚ_keyÚ_ufunc_default_argsÚ_ufunc_default_kwargs)	ÚselfÚufunc_or_ufuncsÚnameÚdocr   Údefault_kwargsÚufuncs_iterÚseen_input_typesr%   s	   &&&&$,   r   Ú__init__ÚMultiUFunc.__init__   s'  € ä˜/¬2¯8©8×4Ò4Ü˜/¬;¯?©?×+BÑ+B×CÒCØ-×4Ñ4Ó6‘Ü˜O¬[¯_©_×-EÑ-E×FÒFØ-‘ä ð "5ó 6ð 6ô
  #›uÐÛ$�Ü! %¬¯©×2Ò2Ü$ð &2Ø2AÐ1Bð&Dó Eð Eà ×$Ñ$¤YÑ.UÈÏÊÓ.UÓ%UÖVñ	 %ô
 Ð#Ó$ qÔ(Ü Ð!MÓNÐNàŒØ /ÔØŒ
Ø&:Ô#Ø-ÔØ#'ˆÔ Ø!ˆÔØˆŒ	Ù#=ˆÔ Ù%?ˆÖ"r    c                ó   € V P                   # r"   )r3   )r;   s   &r   Ú__doc__ÚMultiUFunc.__doc__:   s   € à�z‰zÐr    c                ó   € Wn         R# )z3Set `key` method by decorating a function.
        N)r8   ©r;   Úfuncs   &&r   Ú_override_keyÚMultiUFunc._override_key>   s	   € ð Ž	r    c                ó   € Wn         R # r"   )r9   rH   s   &&r   Ú_override_ufunc_default_argsÚ'MultiUFunc._override_ufunc_default_argsC   s   € Ø#'Ö r    c                ó   € Wn         R # r"   )r:   rH   s   &&r   Ú_override_ufunc_default_kwargsÚ)MultiUFunc._override_ufunc_default_kwargsF   s   € Ø%)Ö"r    c                óJ   € VP                   f   RVn         RVn        Wn        R# )z9Set `resolve_out_shapes` method by decorating a function.Nz2Resolve to output shapes based on relevant inputs.Úresolve_out_shapes)rE   r1   r6   rH   s   &&r   Ú_override_resolve_out_shapesÚ'MultiUFunc._override_resolve_out_shapesI   s#   € à�<‰<ÒàHð ŒLà,ˆŒØ#'Ö r    c                ó   € Wn         R # r"   )r7   rH   s   &&r   Ú_override_finalize_outÚ!MultiUFunc._override_finalize_outQ   s   € Ø!Ör    c                ó¸   € \        V P                  \        P                  4      '       d   V P                  # V P                  ! R/ VB pV P                  V,          # )z.Resolve to a ufunc based on keyword arguments.r   )r#   r2   r$   r%   r8   )r;   r   Ú	ufunc_keys   &, r   Ú_resolve_ufuncÚMultiUFunc._resolve_ufuncT   sI   € ô �d×+Ñ+¬R¯X©X×6Ò6Ø×(Ñ(Ð(à—I’IÑ' Ñ'ˆ	Ø×$Ñ$ YÕ/Ð/r    c                óî  € V P                   V,          pWP                  ! R/ VB ,          pV P                  ! R/ VB pWP                  ) R   Uu. uF  p\        P
                  ! V4      NK  	  ppV P                  ! R/ VB pV P                  Ee¹   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pV P                  ! . VR VP                  )  OVOVP                  N5/ VB p\        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p	\        VR4      '       d;   W“P                  R,          ,           p
VP                  V
4      p
W£P                  ) R  pMc\        P                  ! V	!  p\        P                  ! V\        P                  4      '       g   \        P                  pVP                  V3,          pV P                   '       d-   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p\        ;QJ d    . R \#        W‹4       4       F  NK  	  5M! R \#        W‹4       4       4      pWÖR&   V! V/ VB pV P$                  e   V P%                  V4      pV# u upi )	Nc              3   óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5ir"   )r$   Úshape©r   Ú	ufunc_args   & r   r   Ú&MultiUFunc.__call__.<locals>.<genexpr>j   s   é € Ð$UÉ*¸Y¤R§X¢X¨i×%8Ð%8Ë*ùs   ‚#%c              3   óœ   "  € T FB  p\        VR 4      '       d   VP                  M\        P                  ! \        V4      4      x € KD  	  R# 5i)ÚdtypeN)Úhasattrrd   r$   Útyper`   s   & r   r   rb   o   s?   é € ð %Bá6@¨ô 9@À	È7×8SÒ8S Y§_¢_Ü*,¯(ª(´4¸	³?Ó*Cô&Dã6@ùs   ‚A
AÚresolve_dtypesc              3   óP   "  € T F  p\         P                  ! R V4      x € K  	  R# 5i)y              ð?N)r$   Úresult_type)r   Úufunc_out_dtypes   & r   r   rb      s&   é € ð )RÙ@P¨_ô *,¯ª¸¸O×)LÐ)LÛ@Pùr   c              3   óT   "  € T F  w  r\         P                  ! WR 7      x € K   	  R# 5i))rd   N)r$   Úempty)r   Úufunc_out_shaperj   s   &  r   r   rb   ‚   s)   é € ð DáBñ =˜Oô Ÿš ×HÑHãBùs   ‚&(Úoutr   r"   )r5   r9   r[   Úninr$   Úasarrayr:   r6   ÚtupleÚnoutre   rg   ri   Ú
issubdtypeÚinexactÚfloat64r4   Úzipr7   )r;   r   r   r%   ÚargÚ
ufunc_argsÚufunc_kwargsÚufunc_arg_shapesÚufunc_out_shapesÚufunc_arg_dtypesÚufunc_dtypesÚufunc_out_dtypesrj   rn   s   &*,           r   Ú__call__ÚMultiUFunc.__call__]   sW  € Ø×%Ñ%¨Õ.ˆà×(Ò(Ñ2¨6Ñ2Õ2ˆà×#Ò#Ñ- fÑ-ˆð 26·y±y°j°kÑ1BÓCÑ1B¨#”b—j’j –oÑ1Bˆ
ÐCà×1Ò1Ñ;°FÑ;ˆà×$Ñ$Ó0ß$œuÑ$UÉ*Ó$UŸu™uÑ$UÉ*Ó$UÓUÐØ#×7Ò7ð  B¸¸kÀÇ	Á	¸zÐ9Jð  BØ9Ið BØKPÏ:É:ò Bà:@ñ BÐ÷  %œuñ %Bá6@ó%BŸu™uñ %Bá6@ó%Bó  BÐô �uÐ.×/Ò/Ø/·*±*¸wÕ2FÕF�Ø$×3Ñ3°LÓA�Ø#/·±°°Ð#=Ñ ä"$§.¢.Ð2BÑ"C�ÜŸš o´r·z±z×BÒBÜ&(§j¡j�Oà#(§:¡:°Ð0BÕ#BÐ à×*×*Ð*ß#(¤5ñ )RÙ@Pó)R§5¡5ñ )RÙ@Pó)Ró $RÐ ÷ ”%ñ DäÐ/ÔBóD—%‘%ñ DäÐ/ÔBóDó DˆCð #&˜Ñá�ZÐ0 <Ñ0ˆØ×ÑÒ*Ø×$Ñ$ SÓ)ˆCàˆ
ùòO Ds   ÁI2)
Ú__docÚ__force_complex_outputr1   r5   r7   r8   r6   r9   r:   r2   )NN)r1   Ú
__module__Ú__qualname__Ú__firstlineno__rB   ÚpropertyrE   rJ   rM   rP   rT   rW   r[   r   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      sQ   ø‡ € ñ@Ø&+õ@ðB ñó ðòò
(ò*ò(ò"ò0÷/ð /r    r   a¢  sph_legendre_p(n, m, theta, *, diff_n=0)

    Spherical Legendre polynomial of the first kind.

    Parameters
    ----------
    n : ArrayLike[int]
        Degree of the spherical Legendre polynomial. Must have ``n >= 0``.
    m : ArrayLike[int]
        Order of the spherical Legendre polynomial.
    theta : ArrayLike[float]
        Input value.
    diff_n : Optional[int]
        A non-negative integer. Compute and return all derivatives up
        to order ``diff_n``. Default is 0.

    Returns
    -------
    p : ndarray or tuple[ndarray]
        Spherical Legendre polynomial with ``diff_n`` derivatives.

    Notes
    -----
    The spherical counterpart of an (unnormalized) associated Legendre polynomial has
    the additional factor

    .. math::

        \sqrt{\frac{(2 n + 1) (n - m)!}{4 \pi (n + m)!}}

    It is the same as the spherical harmonic :math:`Y_{n}^{m}(\theta, \phi)`
    with :math:`\phi = 0`.
    ©Údiff_nc                 ób   € \        V R RR7      p ^ T u;8:  d   ^8:  g   M \        RV  R24      hV # ©r‹   F©ÚstrictúGdiff_n is currently only implemented for orders 0, 1, and 2, received: Ú.©r   r+   rŠ   s   &r   Ú_r“   ¶   óB   € ä  ¨¸%Ô@€FØ�Ö˜!ÖÜðØ ˜ ð$ó
ð 	
ð €Mr    c                 ó2   € \         P                  ! V R^ 4      # ©é   éÿÿÿÿ©r$   Úmoveaxis©rn   s   &r   r“   r“   Á   ó   € ä�;Š;�s˜B Ó"Ð"r    aì  sph_legendre_p_all(n, m, theta, *, diff_n=0)

    All spherical Legendre polynomials of the first kind up to the
    specified degree ``n``, order ``m``, and all derivatives up
    to order ``diff_n``.

    Output shape is ``(diff_n + 1, n + 1, 2 * m + 1, ...)``. The entry at
    ``(i, j, k)`` corresponds to the ``i``-th derivative, degree ``j``, and
    order ``k`` for all ``0 <= i <= diff_n``, ``0 <= j <= n``, and
    ``-m <= k <= m``.

    See Also
    --------
    sph_legendre_p
    c                 ób   € \        V R RR7      p ^ T u;8:  d   ^8:  g   M \        RV  R24      hV # r�   r’   rŠ   s   &r   r“   r“   Û   r”   r    c                 ó   € R R.R.,           /# ©Úaxesr   )r   r—   r˜   r   rŠ   s   &r   r“   r“   æ   s   € à�R�D˜J˜<Õ'Ð(Ð(r    c                 óØ   € \        V \        P                  4      '       d   V ^ 8  d   \        R4      hV ^,           ^\	        V4      ,          ^,           3V,           V^,           3,           3# )r   ú!n must be a non-negative integer.)r#   ÚnumbersÚIntegralr+   Úabs)ÚnÚmÚtheta_shaperr   r‹   s   &&&&&r   r“   r“   ë   sU   € ä�aœ×)Ñ)×*Ò*¨q°1¬uÜÐ<Ó=Ð=à��U�Aœ˜A›•J •NÐ# kÕ1°V¸aµZ°MÕAÐCÐCr    c                 ó2   € \         P                  ! V R^ 4      # r–   r™   r›   s   &r   r“   r“   ó   rœ   r    a—  assoc_legendre_p(n, m, z, *, branch_cut=2, norm=False, diff_n=0)

    Associated Legendre polynomial of the first kind.

    Parameters
    ----------
    n : ArrayLike[int]
        Degree of the associated Legendre polynomial. Must have ``n >= 0``.
    m : ArrayLike[int]
        order of the associated Legendre polynomial.
    z : ArrayLike[float | complex]
        Input value.
    branch_cut : Optional[ArrayLike[int]]
        Selects branch cut. Must be 2 (default) or 3.
        2: cut on the real axis ``|z| > 1``
        3: cut on the real axis ``-1 < z < 1``
    norm : Optional[bool]
        If ``True``, compute the normalized associated Legendre polynomial.
        Default is ``False``.
    diff_n : Optional[int]
        A non-negative integer. Compute and return all derivatives up
        to order ``diff_n``. Default is 0.

    Returns
    -------
    p : ndarray or tuple[ndarray]
        Associated Legendre polynomial with ``diff_n`` derivatives.

    Notes
    -----
    The normalized counterpart of an (unnormalized) associated Legendre
    polynomial has the additional factor

    .. math::

        \sqrt{\frac{(2 n + 1) (n - m)!}{2 (n + m)!}}
    F©Ú
branch_cutÚnormr‹   c                 ód   € \        VR RR7      p^ Tu;8:  d   ^8:  g   M \        RV R24      hW3# r�   r’   rª   s   &&&r   r“   r“   #  sE   € ä  ¨¸%Ô@€FØ�Ö˜!ÖÜðØ ˜ ð$ó
ð 	
ð ˆ<Ðr    c                 ó   € V 3# r"   r   rª   s   &&&r   r“   r“   .  ó
   € àˆ;Ðr    c                 ó2   € \         P                  ! V R^ 4      # r–   r™   r›   s   &r   r“   r“   3  rœ   r    a  assoc_legendre_p_all(n, m, z, *, branch_cut=2, norm=False, diff_n=0)

    All associated Legendre polynomials of the first kind up to the
    specified degree ``n``, order ``m``, and all derivatives up
    to order ``diff_n``.

    Output shape is ``(diff_n + 1, n + 1, 2 * m + 1, ...)``. The entry at
    ``(i, j, k)`` corresponds to the ``i``-th derivative, degree ``j``, and
    order ``k`` for all ``0 <= i <= diff_n``, ``0 <= j <= n``, and
    ``-m <= k <= m``.

    See Also
    --------
    assoc_legendre_p
    c                 ó´   € \        V\        P                  4      '       d   V^ 8¼  g   \        RV R24      h^ Tu;8:  d   ^8:  g   M \        RV R24      hW3# ©r   z1diff_n must be a non-negative integer, received: r‘   r�   )r#   r£   r¤   r+   rª   s   &&&r   r“   r“   M  sl   € ä˜¤× 0Ñ 0×1Ò1Ø˜!”ÜØ?À¸xÀqÐIó
ð 	
ð �Ö˜!ÖÜðØ ˜ ð$ó
ð 	
ð ˆ<Ðr    c                 ó   € V 3# r"   r   rª   s   &&&r   r“   r“   \  r¯   r    c                 ó   € R RR.R.,           /# rŸ   r   rª   s   &&&r   r“   r“   a  s   € à�R˜�H 
˜|Õ+Ð,Ð,r    c                 óv  € VR ,          p\        V \        P                  4      '       d   V ^ 8  d   \        R4      h\        V\        P                  4      '       d   V^ 8  d   \        R4      hV ^,           ^\	        V4      ,          ^,           3\
        P                  ! W#4      ,           V^,           3,           3# )r‹   r¢   z!m must be a non-negative integer.©r#   r£   r¤   r+   r¥   r$   Úbroadcast_shapes)r¦   r§   Úz_shapeÚbranch_cut_shaperr   r   r‹   s   &&&&&, r   r“   r“   f  sœ   € à�HÕ€Fä�aœ×)Ñ)×*Ò*¨q°1¬uÜÐ<Ó=Ð=Ü�aœ×)Ñ)×*Ò*¨q°1¬uÜÐ<Ó=Ð=à��U�Aœ˜A›•J •NÐ#Ü
×Ò˜GÓ6õ7Ø:@À1½*¸õGð Ið Ir    c                 ó2   € \         P                  ! V R^ 4      # r–   r™   r›   s   &r   r“   r“   s  rœ   r    a  legendre_p(n, z, *, diff_n=0)

    Legendre polynomial of the first kind.

    Parameters
    ----------
    n : ArrayLike[int]
        Degree of the Legendre polynomial. Must have ``n >= 0``.
    z : ArrayLike[float]
        Input value.
    diff_n : Optional[int]
        A non-negative integer. Compute and return all derivatives up
        to order ``diff_n``. Default is 0.

    Returns
    -------
    p : ndarray or tuple[ndarray]
        Legendre polynomial with ``diff_n`` derivatives.

    See Also
    --------
    legendre

    References
    ----------
    .. [1] Zhang, Shanjie and Jin, Jianming. "Computation of Special
           Functions", John Wiley and Sons, 1996.
           https://people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html
    c                 ó²   € \        V \        P                  4      '       d   V ^ 8  d   \        RV  R24      h^ T u;8:  d   ^8:  g   M \	        RV  R24      hV # r²   )r#   r£   r¤   r+   ÚNotImplementedErrorrŠ   s   &r   r“   r“   ›  sh   € ä�vœw×/Ñ/×0Ò0°f¸q´jÜØ?À¸xÀqÐIó
ð 	
ð �Ö˜!ÖÜ!ðØ ˜ ð$ó
ð 	
ð €Mr    c                 ó2   € \         P                  ! V R^ 4      # r–   r™   r›   s   &r   r“   r“   ©  rœ   r    aŽ  legendre_p_all(n, z, *, diff_n=0)

    All Legendre polynomials of the first kind up to the specified degree
    ``n`` and all derivatives up to order ``diff_n``.

    Output shape is ``(diff_n + 1, n + 1, ...)``. The entry at ``(i, j)``
    corresponds to the ``i``-th derivative and degree ``j`` for all
    ``0 <= i <= diff_n`` and ``0 <= j <= n``.

    See Also
    --------
    legendre_p
    c                 ób   € \        V R RR7      p ^ T u;8:  d   ^8:  g   M \        RV  R24      hV # r�   r’   rŠ   s   &r   r“   r“   Á  r”   r    c                 ó   € R RR./# )r    r   )r   r˜   r   rŠ   s   &r   r“   r“   Ì  s   € à�R˜�MÐ"Ð"r    c                 ól   € \        V R RR7      p W ^,           3V,           V^,           3,           3,          # )r¦   FrŽ   r   )r¦   r¸   rr   r‹   s   &&&&r   r“   r“   Ñ  s2   € ä˜A˜s¨5Ô1€Aà˜•E�8˜gÕ%¨°!­¨Õ5Ð7Õ7Ð7r    c                 ó2   € \         P                  ! V R^ 4      # r–   r™   r›   s   &r   r“   r“   Ø  rœ   r    aÌ  sph_harm_y(n, m, theta, phi, *, diff_n=0)

    Spherical harmonics. They are defined as

    .. math::

        Y_n^m(\theta,\phi) = \sqrt{\frac{2 n + 1}{4 \pi} \frac{(n - m)!}{(n + m)!}}
            P_n^m(\cos(\theta)) e^{i m \phi}

    where :math:`P_n^m` are the (unnormalized) associated Legendre polynomials.

    Parameters
    ----------
    n : ArrayLike[int]
        Degree of the harmonic. Must have ``n >= 0``. This is
        often denoted by ``l`` (lower case L) in descriptions of
        spherical harmonics.
    m : ArrayLike[int]
        Order of the harmonic.
    theta : ArrayLike[float]
        Polar (colatitudinal) coordinate; must be in ``[0, pi]``.
    phi : ArrayLike[float]
        Azimuthal (longitudinal) coordinate; must be in ``[0, 2*pi]``.
    diff_n : Optional[int]
        A non-negative integer. Compute and return all derivatives up
        to order ``diff_n``. Default is 0.

    Returns
    -------
    y : ndarray[complex] or tuple[ndarray[complex]]
       Spherical harmonics with ``diff_n`` derivatives.

    Notes
    -----
    There are different conventions for the meanings of the input
    arguments ``theta`` and ``phi``. In SciPy ``theta`` is the
    polar angle and ``phi`` is the azimuthal angle. It is common to
    see the opposite convention, that is, ``theta`` as the azimuthal angle
    and ``phi`` as the polar angle.

    Note that SciPy's spherical harmonics include the Condon-Shortley
    phase [2]_ because it is part of `sph_legendre_p`.

    With SciPy's conventions, the first several spherical harmonics
    are

    .. math::

        Y_0^0(\theta, \phi) &= \frac{1}{2} \sqrt{\frac{1}{\pi}} \\
        Y_1^{-1}(\theta, \phi) &= \frac{1}{2} \sqrt{\frac{3}{2\pi}}
                                    e^{-i\phi} \sin(\theta) \\
        Y_1^0(\theta, \phi) &= \frac{1}{2} \sqrt{\frac{3}{\pi}}
                                 \cos(\theta) \\
        Y_1^1(\theta, \phi) &= -\frac{1}{2} \sqrt{\frac{3}{2\pi}}
                                 e^{i\phi} \sin(\theta).

    References
    ----------
    .. [1] Digital Library of Mathematical Functions, 14.30.
           https://dlmf.nist.gov/14.30
    .. [2] https://en.wikipedia.org/wiki/Spherical_harmonics#Condon.E2.80.93Shortley_phase
    T)r   r‹   c                 ób   € \        V R RR7      p ^ T u;8:  d   ^8:  g   M \        RV  R24      hV # r�   r’   rŠ   s   &r   r“   r“   !  r”   r    c                 ó:  € V P                   R,          ^8X  d
   V R,          # V P                   R,          ^8X  d   V R,          V R^^ .^ ^.3,          3# V P                   R,          ^8X  d1   V R,          V R^^ .^ ^.3,          V R^^.^^ ..^ ^.^^..3,          3# R# ©r—   .Nr˜   ).r   r   ©r_   r›   s   &r   r“   r“   ,  ó´   € à�	‰	�"�˜ÔØ�9�~Ðà�	‰	�"�˜ÔØ�9�~˜s 3¨¨A¨°°A°Ð#6Õ7Ð7Ð7à�	‰	�"�˜ÔØ�I•  C¨!¨Q¨°!°Q°Ð$7Õ 8Ø��q˜!�f˜q !˜fÐ%¨¨A¨°°A°Ð'7Ð7Õ8ð:ð 	:ñ 	r    a˜  sph_harm_y_all(n, m, theta, phi, *, diff_n=0)

    All spherical harmonics up to the specified degree ``n``, order ``m``,
    and all derivatives up to order ``diff_n``.

    Returns a tuple of length ``diff_n + 1`` (if ``diff_n > 0``). The first
    entry corresponds to the spherical harmonics, the second entry
    (if ``diff_n >= 1``) to the gradient, and the third entry
    (if ``diff_n >= 2``)  to the Hessian matrix. Each entry is an array of
    shape ``(n + 1, 2 * m + 1, ...)``, where the entry at ``(i, j)``
    corresponds to degree ``i`` and order ``j`` for all ``0 <= i <= n``
    and ``-m <= j <= m``.

    See Also
    --------
    sph_harm_y
    c                 ób   € \        V R RR7      p ^ T u;8:  d   ^8:  g   M \        RV  R24      hV # )r‹   FrŽ   z=diff_n is currently only implemented for orders 2, received: r‘   r’   rŠ   s   &r   r“   r“   P  r”   r    c                 ó   € R RR.R.,           /# )r    r   )r   r—   éþÿÿÿr˜   r   rŠ   s   &r   r“   r“   [  s   € à�R˜�H Ð/Õ/Ð0Ð0r    c                 ó"  € VR ,          p\        V \        P                  4      '       d   V ^ 8  d   \        R4      hV ^,           ^\	        V4      ,          ^,           3\
        P                  ! W#4      ,           V^,           V^,           3,           3# )r‹   r¢   r¶   )r¦   r§   r¨   Ú	phi_shaperr   r   r‹   s   &&&&&, r   r“   r“   `  sx   € à�HÕ€Fä�aœ×)Ñ)×*Ò*¨q°1¬uÜÐ<Ó=Ð=à��U�Aœ˜A›•J •NÐ#¤b×&9Ò&9¸+Ó&QÕQØ	�!��V˜a•ZÐ õ!ð #ð #r    c                 ó:  € V P                   R,          ^8X  d
   V R,          # V P                   R,          ^8X  d   V R,          V R^^ .^ ^.3,          3# V P                   R,          ^8X  d1   V R,          V R^^ .^ ^.3,          V R^^.^^ ..^ ^.^^..3,          3# R# rÄ   rÅ   r›   s   &r   r“   r“   k  rÆ   r    )r   r
   r   r	   r   r   r   r   )r&   r£   Únumpyr$   Ú_input_validationr   Ú_special_ufuncsr   r   r   r   Ú_gufuncsr	   r
   r   r   Ú__all__r   rJ   r“   rW   rP   rT   rM   r   r    r   Ú<module>rÒ      sÛ  ðÛ Û Û å 2÷:ó :÷;ó ;ò	€÷tñ tñn ØØð ð@ ôG$€ðN ×Ññó ðð ×&Ñ&ñ#ó 'ð#ñ  ØØðð ô#Ð ð* ×!Ñ!ñó "ðð ×2Ñ2ñ)ó 3ð)ð ×0Ñ0ñDó 1ðDð ×*Ñ*ñ#ó +ð#ñ ØØð$ðH ˜E¨!ôO(Ð ðV ×Ññó  ðð ×.Ñ.ñó /ðð ×(Ñ(ñ#ó )ð#ñ "ØØðð ˜E¨!ô#Ð ð* ×#Ñ#ñó $ðð ×2Ñ2ñó 3ðð ×4Ñ4ñ-ó 5ð-ð ×2Ñ2ñ	Ió 3ð	Ið ×,Ñ,ñ#ó -ð#ñ ØØðð8 ô? €
ðF ×Ññ
ó ð
ð ×"Ñ"ñ#ó #ð#ñ ØØðð ô€ð& ×Ññó ðð ×.Ñ.ñ#ó /ð#ð ×,Ñ,ñ8ó -ð8ð ×&Ñ&ñ#ó 'ð#ñ ØØð=ðz #¨1ôAA€
ðH ×Ññó ðð ×"Ñ"ñ	:ó #ð	:ñ ØØðð  #¨1ô'€ð. ×Ññó ðð ×.Ñ.ñ1ó /ð1ð ×,Ñ,ñ#ó -ð#ð ×&Ñ&ñ	:ó 'ò	:r    