
    XaJjD                         d Z dZddlZddlmZ ej
                  ej
                  dz   dz  fdZd Zd	 Zd
 Z	d Z
d Zd Z G d d      Z eddefdefdefde	fde
fdefdefd ee      ff       y)z
Generic conveniences for NSObject

The type is defined in Foundation, but NSObject is important
to the behavior of the bridge and therefore these conveniences
are kept in the core.
     N)addConvenienceForClass      c                 Z    | j                         }||kD  r||z  }|dk(  rd}t        |      S )N)hashint)self_max_constrvals       d/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/objc/_convenience_nsobject.pynsobject_hashr      s5    99;Dd{
 rzt9    c                 ^    | j                         r| |u S t        | j                  |            S N)__pyobjc_magic_coookie__bool
isEqualTo_r   others     r   nsobject__eq__r      s,    $$&u}&''r   c                 ^    | j                         r| |uS t        | j                  |            S r   )r   r   isNotEqualTo_r   s     r   nsobject__ne__r   "   s/    $$&5  ""5)**r   c                 b    | j                         rt        S t        | j                  |            S r   )r   NotImplementedr   isGreaterThan_r   s     r   nsobject__gt__r!   (   s*    $$&##E*++r   c                 b    | j                         rt        S t        | j                  |            S r   )r   r   r   isGreaterThanOrEqualTo_r   s     r   nsobject__ge__r$   .   s*    $$&,,U344r   c                 b    | j                         rt        S t        | j                  |            S r   )r   r   r   isLessThan_r   s     r   nsobject__lt__r'   4   s*    $$&  '((r   c                 b    | j                         rt        S t        | j                  |            S r   )r   r   r   isLessThanOrEqualTo_r   s     r   nsobject__le__r*   :   s*    $$&))%011r   c                   D     e Zd ZdZdZd Zd Zd Z fdZd Z	d Z
 xZS )	kvcz
    Key-Value-Coding accessor for Cocoa objects.

    Both attribute access and dict-like indexing will attempt to
    access the requested item through Key-Value-Coding.
    )__objectc                     || _         y r   _kvc__object)r   values     r   __init__zkvc.__init__J   s	    r   c                 "    d| j                   dS )Nz<KVC accessor for >r/   )r   s    r   __repr__zkvc.__repr__M   s    #DMM#4A66r   c                     	 | j                   j                  |      S # t        $ r/}t        |d      r|j                  d   dk(  rt        |       d }~ww xY w)N_pyobjc_info_nameNSUnknownKeyException)r0   valueForKey_KeyErrorhasattrr7   AttributeError)r   keymsgs      r   __getattr__zkvc.__getattr__P   sX    		==--c22 	_-%%f-1HH$S))	s    	A*AAc                     |j                  d      s| j                  j                  ||      S t        |   ||       y )N_)
startswithr0   setValue_forKey_super__setattr__)r   r>   r1   	__class__s      r   rF   zkvc.__setattr__\   s5    ~~c"==11%==GU+r   c                 n    t        |t              st        d      | j                  j	                  |      S NzKey must be string)
isinstancestr	TypeErrorr0   r:   )r   r>   s     r   __getitem__zkvc.__getitem__b   s-    #s#011}}))#..r   c                 p    t        |t              st        d      | j                  j	                  ||      S rI   )rJ   rK   rL   r0   rD   )r   r>   r1   s      r   __setitem__zkvc.__setitem__h   s/    #s#011}}--eS99r   )__name__
__module____qualname____doc__	__slots__r2   r5   r@   rF   rM   rO   __classcell__)rG   s   @r   r,   r,   @   s-     I7
,/:r   r,   NSObject__hash____eq____ne____gt____ge____lt____le__rB   )rS   __all__sysobjc._conveniencer   maxsizer   r   r   r!   r$   r'   r*   r,   propertyr   r   r   <module>rc      s     
 4 ![[3;;?a2G 
(+,5)2,: ,:^ 	]#	>"	>"	>"	>"	>"	>"	hsm	r   