o
    †Thc	  ã                   @   sr   d Z ddlmZ ddlmZ ddlmZ G dd„ deeeƒƒZG dd	„ d	eƒZG d
d„ deƒZ	G dd„ deƒZ
dS )zlinebot.models.filter module.é    )ÚABCMeta)Úwith_metaclassé   )ÚBasec                       ó    e Zd ZdZ‡ fdd„Z‡  ZS )ÚOperatoraA  Operator.

    https://developers.line.biz/en/reference/messaging-api/#narrowcast-demographic-filter

    Use logical AND, OR, and NOT operators to combine multiple recipient objects or
    demographic filter objects together.
    You can specify up to 10 recipient objects or demographic filter objects per request.
    c                    s    t t| ƒjdi |¤Ž d| _dS )z1__init__ method.

        :param kwargs:
        ÚoperatorN© )Úsuperr   Ú__init__Útype)ÚselfÚkwargs©Ú	__class__r	   úX/home/air/segue/gemini/back/venv/lib/python3.10/site-packages/linebot/models/operator.pyr   #   s   
zOperator.__init__©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__r	   r	   r   r   r      s    	r   c                       r   )ÚAndz˜And.

    Create a new recipient object or demographic filter object by taking the
    logical conjunction (AND) of the specified array of objects.
    c                    ó&   t t| ƒjdi |¤Ž t| d|ƒ dS )úF__init__ method.

        :param args:
        :param kwargs:
        ÚandNr	   )r
   r   r   Úsetattr©r   Úargsr   r   r	   r   r   4   ó   zAnd.__init__r   r	   r	   r   r   r   -   ó    r   c                       r   )ÚOrz–Or.

    Create a new recipient object or demographic filter object by taking the
    logical disjunction (OR) of the specified array of objects.
    c                    r   )r   ÚorNr	   )r
   r!   r   r   r   r   r	   r   r   F   r   zOr.__init__r   r	   r	   r   r   r!   ?   r    r!   c                       r   )ÚNotztNot.

    Create a new recipient object or demographic filter object that excludes
    in the specified object.
    c                    r   )zE__init__ method.

        :param arg:
        :param kwargs:
        ÚnotNr	   )r
   r#   r   r   )r   Úargr   r   r	   r   r   X   r   zNot.__init__r   r	   r	   r   r   r#   Q   r    r#   N)r   Úabcr   Úfuture.utilsr   Úbaser   r   r   r!   r#   r	   r	   r	   r   Ú<module>   s   