o
    ~#g(                     @   s  d dl Z d dlmZ d dlmZmZmZ G dd dZeeeeef ee f  Z	G dd dZ
G dd	 d	e
Zejjjejjj ejjj ej_eje_eje_eje_eje_eje_eje_ejjej_ejjej_ejjej_eje_ ej!e_"ej#e_$dS )
    N)filterfalse)ListTupleUnionc                   @   s   e Zd Zdd Zdd ZdS )_lazyclasspropertyc                 C   s   || _ |j| _|j| _d S )N)fn__doc____name__)selfr    r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pip/_vendor/pyparsing/unicode.py__init__	   s   z_lazyclassproperty.__init__c                    sl    d u rt | t drt fdd jdd  D r i  _| jj}| jvr1|   j|<  j| S )N_internc                 3   s"    | ]} j t|d g u V  qdS )r   N)r   getattr).0
superclassclsr   r   	<genexpr>   s
    
z-_lazyclassproperty.__get__.<locals>.<genexpr>   )typehasattrany__mro__r   r   r	   )r
   objr   attrnamer   r   r   __get__   s   

z_lazyclassproperty.__get__N)r	   
__module____qualname__r   r   r   r   r   r   r      s    r   c                   @   sr   e Zd ZU dZg Zeed< edd Zedd Z	edd Z
ed	d
 Zedd Zedd Zedd ZdS )unicode_seta  
    A set of Unicode characters, for language-specific strings for
    ``alphas``, ``nums``, ``alphanums``, and ``printables``.
    A unicode_set is defined by a list of ranges in the Unicode character
    set, in a class attribute ``_ranges``. Ranges can be specified using
    2-tuples or a 1-tuple, such as::

        _ranges = [
            (0x0020, 0x007e),
            (0x00a0, 0x00ff),
            (0x0100,),
            ]

    Ranges are left- and right-inclusive. A 1-tuple of (x,) is treated as (x, x).

    A unicode set can also be defined using multiple inheritance of other unicode sets::

        class CJK(Chinese, Japanese, Korean):
            pass
    _rangesc                 C   s`   g }| j D ]}|tu r nt|ddD ]}|t|d |d d  qqdd tt|D S )Nr    r   r   r   c                 S   s   g | ]}t |qS r   )chrr   cr   r   r   
<listcomp>?   s    z1unicode_set._chars_for_ranges.<locals>.<listcomp>)r   r   r   extendrangesortedset)r   retccrrr   r   r   _chars_for_ranges7   s   
zunicode_set._chars_for_rangesc                 C      d ttj| jS )z+all non-whitespace characters in this range )joinr   strisspacer-   r   r   r   r   
printablesA      zunicode_set.printablesc                 C   r.   )z'all alphabetic characters in this ranger/   )r0   filterr1   isalphar-   r   r   r   r   alphasF   r4   zunicode_set.alphasc                 C   r.   )z*all numeric digit characters in this ranger/   )r0   r5   r1   isdigitr-   r   r   r   r   numsK   r4   zunicode_set.numsc                 C   s   | j | j S )z)all alphanumeric characters in this range)r7   r9   r   r   r   r   	alphanumsP   s   zunicode_set.alphanumsc              	   C   s.   d ttd ttj| jd d d S )zVall characters in this range that are valid identifier characters, plus underscore '_'r/   u:   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzªµºu|   ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ_)r0   r(   r)   r5   r1   isidentifierr-   r   r   r   r   
identcharsU   s   zunicode_set.identcharsc              	   C   s.   d tt| jd d dd | jD  S )zu
        all characters in this range that are valid identifier body characters,
        plus the digits 0-9
        r/   
0123456789c                 S   s   g | ]
}d |   r|qS )r;   )r<   r#   r   r   r   r%   o   s    z.unicode_set.identbodychars.<locals>.<listcomp>)r0   r(   r)   r=   r-   r   r   r   r   identbodycharsc   s   zunicode_set.identbodycharsN)r	   r   r   r   r    UnicodeRangeList__annotations__r   r-   r3   r7   r9   r:   r=   r?   r   r   r   r   r      s"   
 
	




r   c                   @   s   e Zd ZU dZdejfgZeed< G dd de	Z
G dd de	ZG dd	 d	e	ZG d
d de	ZG dd de	ZG dd de	ZG dd de	ZG dd de	Ze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G dd de	ZdS )pyparsing_unicodezF
    A namespace class for defining common language unicode_sets.
        r    c                   @   "   e Zd ZU dZddgZeed< dS )zpyparsing_unicode.Latin1z/Unicode set for Latin-1 Unicode Character Range)rC   ~   )      r    Nr	   r   r   r   r    r@   rA   r   r   r   r   Latin1}   
   
 rI   c                   @       e Zd ZU dZdgZeed< dS )zpyparsing_unicode.LatinAz/Unicode set for Latin-A Unicode Character Range)   i  r    NrH   r   r   r   r   LatinA      
 rM   c                   @   rK   )zpyparsing_unicode.LatinBz/Unicode set for Latin-B Unicode Character Range)i  iO  r    NrH   r   r   r   r   LatinB   rN   rO   c                   @   "   e Zd ZU dZg dZeed< dS )zpyparsing_unicode.Greekz.Unicode set for Greek Unicode Character Ranges)#)iB  iE  )ip  iw  )iz  i  )i  i  )i  )i  i  )i  i  )i  i  )i&  i*  )i^  )i`  )if  ij  )i   i  )i  i  )i   iE  )iH  iM  )iP  iW  )iY  )i[  )i]  )i_  i}  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  )i)!  )i'  i'  )ie  )i@ i )i )i  iE )i i r    NrH   r   r   r   r   Greek      
 rQ   c                   @   rP   )zpyparsing_unicode.Cyrillicz0Unicode set for Cyrillic Unicode Character Range))i   i/  )i  i  )i+  )ix  )i-  i-  )i@  ir  )it  i  )i.  i/  r    NrH   r   r   r   r   Cyrillic   rR   rS   c                   @   rP   )zpyparsing_unicode.Chinesez/Unicode set for Chinese Unicode Character Range))i.  i.  )i.  i.  )i1  i1  )i 4  iM  ) N  i  )i   i  )i   im  )ip  i  )io io )i i )i i; )i@ iH )i   i֦ )i  i4 )i@ i )i  i )i i )i  i r    NrH   r   r   r   r   Chinese   rR   rU   c                   @   sN   e Zd ZU dZg Zeed< G dd deZG dd deZ	G dd deZ
d	S )
zpyparsing_unicode.Japanesez`Unicode set for Japanese Unicode Character Range, combining Kanji, Hiragana, and Katakana rangesr    c                   @   rD   )z pyparsing_unicode.Japanese.Kanjiz-Unicode set for Kanji Unicode Character Range)rT   i  )i 0  i?0  r    NrH   r   r   r   r   Kanji   rJ   rV   c                   @   rP   )z#pyparsing_unicode.Japanese.Hiraganaz0Unicode set for Hiragana Unicode Character Range))iA0  i0  )0  0  )i0  )ip  )i )iP iR )i  r    NrH   r   r   r   r   Hiragana   rR   rY   c                   @   rP   )z#pyparsing_unicode.Japanese.Katakanaz1Unicode set for Katakana  Unicode Character Range)	)rW   i0  )rX   i0  )i1  i1  )i2  i2  )ie  i  )i  )id ig )i i )i r    NrH   r   r   r   r   Katakana   rR   rZ   N)r	   r   r   r   r    r@   rA   r   rV   rY   rZ   r   r   r   r   Japanese   s   
 r[   c                   @   rP   )zpyparsing_unicode.Hangulz7Unicode set for Hangul (Korean) Unicode Character Range))i   i  )i.0  i/0  )i11  i1  )i 2  i2  )i`2  i{2  )i~2  )i`  i|  )i   i  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  )i  i  r    NrH   r   r   r   r   Hangul  rR   r\   c                   @   s   e Zd ZdZdS )zpyparsing_unicode.CJKzTUnicode set for combined Chinese, Japanese, and Korean (CJK) Unicode Character RangeN)r	   r   r   r   r   r   r   r   CJK  s    r]   c                   @   rD   )zpyparsing_unicode.Thaiz,Unicode set for Thai Unicode Character Range)i  i:  )i?  i[  r    NrH   r   r   r   r   Thai  rR   r^   c                   @   rP   )zpyparsing_unicode.Arabicz.Unicode set for Arabic Unicode Character Range))i   i  )i  i  )i   i  r    NrH   r   r   r   r   Arabic  rR   r_   c                   @   rP   )zpyparsing_unicode.Hebrewz.Unicode set for Hebrew Unicode Character Range)	)i  i  )i  i  )i  i  )i  i6  )i8  i<  )i>  )i@  iA  )iC  iD  )iF  iO  r    NrH   r   r   r   r   Hebrew'  rR   r`   c                   @   rD   )zpyparsing_unicode.Devanagariz2Unicode set for Devanagari Unicode Character Range)i 	  i	  )i  i  r    NrH   r   r   r   r   
Devanagari5  rR   ra   N)r	   r   r   r   sys
maxunicoder    r@   rA   r   rI   rM   rO   rQ   rS   rU   r[   r\   Koreanr]   r^   r_   r`   ra   r   r   r   r   rB   v   s"   
 (%rB   )%rb   	itertoolsr   typingr   r   r   r   intr@   r   rB   r[   rV   r    rY   rZ   r_      العربيةrU      中文rS      кириллицаrQ      Ελληνικάr`      עִברִית	   日本語   漢字   カタカナ   ひらがなrd   	   한국어r^   	   ไทยra      देवनागरीr   r   r   r   <module>   s4   W F