
    Yi                     R    S r SSKJrJr  SSKJr  SSKJr  SSKJ	r	   " S S\5      r
g)	zCThis module contains an object that represents a Telegram Location.    )FinalOptional)	constants)TelegramObject)JSONDictc                   <  ^  \ rS rSr% SrSr    SSS.S\S\S\\   S	\\   S
\\   S\\   S\\	   4U 4S jjjjr
\R                  R                  r\\   \S'    \R                  R                   r\\   \S'    \R                  R"                  r\\   \S'   SrU =r$ )Location   a  This object represents a point on the map.

Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`longitude` and :attr:`latitude` are equal.

Args:
    longitude (:obj:`float`): Longitude as defined by the sender.
    latitude (:obj:`float`): Latitude as defined by the sender.
    horizontal_accuracy (:obj:`float`, optional): The radius of uncertainty for the location,
        measured in meters; 0-:tg-const:`telegram.Location.HORIZONTAL_ACCURACY`.
    live_period (:obj:`int`, optional): Time relative to the message sending date, during which
        the location can be updated, in seconds. For active live locations only.
    heading (:obj:`int`, optional): The direction in which user is moving, in degrees;
        :tg-const:`telegram.Location.MIN_HEADING`-:tg-const:`telegram.Location.MAX_HEADING`.
        For active live locations only.
    proximity_alert_radius (:obj:`int`, optional): Maximum distance for proximity alerts about
        approaching another chat member, in meters. For sent live locations only.

Attributes:
    longitude (:obj:`float`): Longitude as defined by the sender.
    latitude (:obj:`float`): Latitude as defined by the sender.
    horizontal_accuracy (:obj:`float`): Optional. The radius of uncertainty for the location,
        measured in meters; 0-:tg-const:`telegram.Location.HORIZONTAL_ACCURACY`.
    live_period (:obj:`int`): Optional. Time relative to the message sending date, during which
        the location can be updated, in seconds. For active live locations only.
    heading (:obj:`int`): Optional. The direction in which user is moving, in degrees;
        :tg-const:`telegram.Location.MIN_HEADING`-:tg-const:`telegram.Location.MAX_HEADING`.
        For active live locations only.
    proximity_alert_radius (:obj:`int`): Optional. Maximum distance for proximity alerts about
        approaching another chat member, in meters. For sent live locations only.

)headinghorizontal_accuracylatitudelive_period	longitudeproximity_alert_radiusN
api_kwargsr   r   r   r   r   r   r   c                   > [         TU ]  US9  Xl        X l        X0l        X@l        XPl        U(       a  [        U5      OS U l        U R                  U R                  4U l	        U R                  5         g )Nr   )super__init__r   r   r   r   r   intr   	_id_attrs_freeze)	selfr   r   r   r   r   r   r   	__class__s	           C/app/.venv/lib/python3.13/site-packages/telegram/_files/location.pyr   Location.__init__G   sg     	J/ )' 5H *5&-+AC&'t 	# ..$--8    HORIZONTAL_ACCURACYMIN_HEADINGMAX_HEADING)r   r   r   r   r   r   r   )NNNN)__name__
__module____qualname____firstlineno____doc__	__slots__floatr   r   r   r   r   LocationLimitr   r   __annotations__r   r    __static_attributes____classcell__)r   s   @r   r	   r	      s    BI 04%)!%04 *.  &e_	
 c] # !) X& 8 '0&=&=&Q&QsQ (55AAKsA (55AAKsAr   r	   N)r%   typingr   r   telegramr   telegram._telegramobjectr   telegram._utils.typesr   r	    r   r   <module>r1      s%   & J "  3 *U~ Ur   