§
     ! h(1  ã                  ór  — d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d	d
lmZmZmZmZmZmZmZ  e
e¬¦  «        dMd„¦   «         Z e
e¬¦  «        dNd„¦   «         Z e
e¬¦  «        dOd„¦   «         Z e
e¬¦  «        dMd„¦   «         Z e
e¬¦  «        dMd„¦   «         Z e
e¬¦  «        dMd„¦   «         Z e
e¬¦  «        dMd„¦   «         Z e
e¬¦  «        dMd„¦   «         Z  e
e¬¦  «        dMd„¦   «         Z! e
e¬¦  «        dMd„¦   «         Z" e
e¬¦  «        dMd„¦   «         Z# e
e¬¦  «        dMd„¦   «         Z$ e
e¬¦  «        dMd„¦   «         Z% e
e¬¦  «        dMd„¦   «         Z& e
e¬¦  «        dMd„¦   «         Z' e
e¬¦  «        dMd „¦   «         Z( e
e¬¦  «        dMd!„¦   «         Z) e
 e*e¦  «        ¬¦  «        dPd#„¦   «         Z+ e
e¬¦  «        dMd$„¦   «         Z,dQdRd*„Z- e
d+¬¦  «        dSd-„¦   «         Z.dTd/„Z/dUd1„Z0dVdWd5„Z1dXd9„Z2dYd:„Z3d;ej4        d<fdZd@„Z5	 d[d\dL„Z6dS )]é    )ÚannotationsN)ÚIncrementalDecoder)Úaliases)Ú	lru_cache)Úfindall)Ú	Generator)ÚMultibyteIncrementalDecoderé   )ÚENCODING_MARKSÚIANA_SUPPORTED_SIMILARÚRE_POSSIBLE_ENCODING_INDICATIONÚUNICODE_RANGES_COMBINEDÚUNICODE_SECONDARY_RANGE_KEYWORDÚUTF8_MAXIMAL_ALLOCATIONÚCOMMON_CJK_CHARACTERS)ÚmaxsizeÚ	characterÚstrÚreturnÚboolc                ó�   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd|v pd|v pd|v pd|v pd|v pd|v pd|v pd	|v S )
NFz
WITH GRAVEz
WITH ACUTEzWITH CEDILLAzWITH DIAERESISzWITH CIRCUMFLEXz
WITH TILDEzWITH MACRONzWITH RING ABOVE©ÚunicodedataÚnameÚ
ValueError©r   Údescriptions     úRc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\charset_normalizer/utils.pyÚis_accentuatedr      s¯   € ðÝ&Ô+¨IÑ6Ô6ˆˆøÝð ð ð Øˆuˆuðøøøð 	˜Ð#ð 	,Ø˜;Ð&ð	,à˜[Ð(ð	,ð ˜{Ð*ð	,ð  Ð+ð		,ð
 ˜;Ð&ð	,ð ˜KÐ'ð	,ð  Ð+ð	ó   ‚ —
%¤%c                ó¢   — t          j        | ¦  «        }|s| S |                     d¦  «        }t          t	          |d         d¦  «        ¦  «        S )Nú r   é   )r   ÚdecompositionÚsplitÚchrÚint)r   Ú
decomposedÚcodess      r   Úremove_accentr*   -   sO   € å!Ô/°	Ñ:Ô:€JØð ØÐà!×'Ò'¨Ñ,Ô,€Eå�s�5˜”8˜RÑ Ô Ñ!Ô!Ð!ó    ú
str | Nonec                óf   — t          | ¦  «        }t          j        ¦   «         D ]\  }}||v r|c S ŒdS )zK
    Retrieve the Unicode range official name from a single character.
    N)Úordr   Úitems)r   Úcharacter_ordÚ
range_nameÚ	ord_ranges       r   Úunicode_ranger3   8   sO   € õ
 ˜Y™œ€Må!8Ô!>Ñ!@Ô!@ð ð Ñˆ
�IØ˜IÐ%Ð%ØÐÐÐð &ð ˆ4r+   c                óX   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd|v S )NFÚLATINr   r   s     r   Úis_latinr6   F   sF   € ðÝ&Ô+¨IÑ6Ô6ˆˆøÝð ð ð Øˆuˆuðøøøà�kÐ!Ð!r    c                ód   — t          j        | ¦  «        }d|v rdS t          | ¦  «        }|€dS d|v S )NÚPTFÚPunctuation©r   Úcategoryr3   ©r   Úcharacter_categoryÚcharacter_ranges      r   Úis_punctuationr?   O   sG   € å)Ô2°9Ñ=Ô=Ðà
Ð Ð Ð Øˆtå"/°	Ñ":Ô":€OàÐØˆuà˜OÐ+Ð+r+   c                óx   — t          j        | ¦  «        }d|v sd|v rdS t          | ¦  «        }|€dS d|v o|dk    S )NÚSÚNTFÚFormsÚLor:   r<   s      r   Ú	is_symbolrE   ^   s]   € å)Ô2°9Ñ=Ô=Ðà
Ð Ð Ð  CÐ+=Ð$=Ð$=Øˆtå"/°	Ñ":Ô":€OàÐØˆuà�oÐ%ÐDÐ*<ÀÒ*DÐDr+   c                ó8   — t          | ¦  «        }|€dS d|v pd|v S )NFÚ	EmoticonsÚPictographs)r3   )r   r>   s     r   Úis_emoticonrI   m   s/   € å"/°	Ñ":Ô":€OàÐØˆuà˜/Ð)ÐM¨]¸oÐ-MÐMr+   c                ón   — |                       ¦   «         s| dv rdS t          j        | ¦  «        }d|v p|dv S )N>   õ   ï½œú+ú<ú>TÚZ>   ÚPcÚPdÚPo)Úisspacer   r;   )r   r=   s     r   Úis_separatorrT   w   sO   € à×ÒÑÔð ˜iÐ+AÐAÐAØˆtå)Ô2°9Ñ=Ô=ÐàÐ$Ð$ÐPÐ(:Ð>PÐ(PÐPr+   c                óV   — |                       ¦   «         |                      ¦   «         k    S ©N)ÚislowerÚisupper©r   s    r   Úis_case_variablerZ   �   s%   € à×ÒÑÔ )×"3Ò"3Ñ"5Ô"5Ò5Ð5r+   c                óX   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd|v S )NFÚCJKr   ©r   Úcharacter_names     r   Úis_cjkr_   †   sH   € ðÝ$Ô)¨)Ñ4Ô4ˆˆøÝð ð ð Øˆuˆuðøøøð �NÐ"Ð"r    c                óX   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd|v S )NFÚHIRAGANAr   r]   s     r   Úis_hiraganarb   �   óH   € ðÝ$Ô)¨)Ñ4Ô4ˆˆøÝð ð ð Øˆuˆuðøøøð ˜Ð'Ð'r    c                óX   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd|v S )NFÚKATAKANAr   r]   s     r   Úis_katakanarf   š   rc   r    c                óX   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd|v S )NFÚHANGULr   r]   s     r   Ú	is_hangulri   ¤   óH   € ðÝ$Ô)¨)Ñ4Ô4ˆˆøÝð ð ð Øˆuˆuðøøøð �~Ð%Ð%r    c                óX   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd|v S )NFÚTHAIr   r]   s     r   Úis_thairm   ®   sH   € ðÝ$Ô)¨)Ñ4Ô4ˆˆøÝð ð ð Øˆuˆuðøøøð �^Ð#Ð#r    c                óX   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd|v S )NFÚARABICr   r]   s     r   Ú	is_arabicrp   ¸   rj   r    c                ó`   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd|v od|v S )NFro   zISOLATED FORMr   r]   s     r   Úis_arabic_isolated_formrr   Â   sR   € ðÝ$Ô)¨)Ñ4Ô4ˆˆøÝð ð ð Øˆuˆuðøøøð �~Ð%ÐK¨/¸^Ð*KÐKr    c                ó   — | t           vS rV   )r   rY   s    r   Úis_cjk_uncommonrt   Ì   s   € àÕ1Ð1Ð1r+   r1   c                óD   ‡ — t          ˆ fd„t          D ¦   «         ¦  «        S )Nc              3  ó    •K  — | ]}|‰v V — Œ	d S rV   © )Ú.0Úkeywordr1   s     €r   ú	<genexpr>z-is_unicode_range_secondary.<locals>.<genexpr>Ó   s(   øè è € ÐTÐT¨ˆw˜*Ð$ÐTÐTÐTÐTÐTÐTr+   )Úanyr   )r1   s   `r   Úis_unicode_range_secondaryr|   Ñ   s'   ø€ åÐTÐTÐTÐTÕ4SÐTÑTÔTÑTÔTÐTr+   c                ór   — |                       ¦   «         du o!|                      ¦   «         du o| dk    o| dk    S )NFúu   ï»¿)rS   ÚisprintablerY   s    r   Úis_unprintabler€   Ö   sR   € ð 	×ÒÑÔ˜uÐ$ð 	"Ø×!Ò!Ñ#Ô# uÐ,ð	"à˜Òð	"ð ˜Ò!ð	r+   é    ÚsequenceÚbytesÚsearch_zoner'   c           	     óÂ  — t          | t          ¦  «        st          ‚t          | ¦  «        }t	          t
          | dt          ||¦  «        …                              dd¬¦  «        ¦  «        }t          |¦  «        dk    rdS |D ][}|                     ¦   «          	                    dd¦  «        }t          j        ¦   «         D ]\  }}||k    r|c c S ||k    r|c c S ŒŒ\dS )zW
    Extract using ASCII-only decoder any specified encoding in the first n-bytes.
    NÚasciiÚignore©Úerrorsr   ú-Ú_)Ú
isinstancerƒ   Ú	TypeErrorÚlenr   r   ÚminÚdecodeÚlowerÚreplacer   r/   )r‚   r„   Úseq_lenÚresultsÚspecified_encodingÚencoding_aliasÚencoding_ianas          r   Úany_specified_encodingr˜   á   s  € õ �h¥Ñ&Ô&ð Ýˆå�x‘=”=€Gå Ý'ØÐ,•3�w Ñ,Ô,Ð,Ô-×4Ò4°WÀXÐ4ÑNÔNñô €Gõ
 ˆ7�|„|�qÒÐØˆtà%ð 
%ð 
%ÐØ/×5Ò5Ñ7Ô7×?Ò?ÀÀSÑIÔIÐõ
 .5¬]©_¬_ð 	%ð 	%Ñ)ˆN˜MØÐ!3Ò3Ð3Ø$Ð$Ð$Ð$Ð$Ð$ØÐ 2Ò2Ð2Ø$Ð$Ð$Ð$Ð$Ð$ð 3ð	%ð ˆ4r+   é€   r   c                óh   — | dv p.t          t          j        d| › �¦  «        j        t          ¦  «        S )zQ
    Verify is a specific encoding is a multi byte one based on it IANA name
    >	   Úutf_7Úutf_8Úutf_16Úutf_32Ú	utf_16_beÚ	utf_16_leÚ	utf_32_beÚ	utf_32_leÚ	utf_8_sigú
encodings.)Ú
issubclassÚ	importlibÚimport_moduler   r	   )r   s    r   Úis_multi_byte_encodingr¨     sG   € ð
 ð 
ð 
ð õ 
ÝÔÐ 3¨TÐ 3Ð 3Ñ4Ô4ÔGÝ#ñ
ô 
ðr+   útuple[str | None, bytes]c                ó¨   — t           D ]I}t           |         }t          |t          ¦  «        r|g}|D ]}|                      |¦  «        r||fc c S Œ ŒJdS )z9
    Identify and extract SIG/BOM in given sequence.
    )Nr+   )r   rŒ   rƒ   Ú
startswith)r‚   Úiana_encodingÚmarksÚmarks       r   Úidentify_sig_or_bomr¯     sƒ   € õ
 (ð +ð +ˆÝ%3°MÔ%Bˆå�e�UÑ#Ô#ð 	Ø�GˆEàð 	+ð 	+ˆDØ×"Ò" 4Ñ(Ô(ð +Ø$ dÐ*Ð*Ð*Ð*Ð*Ð*ð+ð	+ð ˆ9r+   r¬   c                ó
   — | dvS )N>   r�   rž   rw   )r¬   s    r   Úshould_strip_sig_or_bomr±   (  s   € ØÐ 4Ð4Ð4r+   TÚcp_nameÚstrictc                óÆ   — |                       ¦   «                              dd¦  «        } t          j        ¦   «         D ]\  }}| ||fv r|c S Œ|rt	          d| › d�¦  «        ‚| S )zIReturns the Python normalized encoding name (Not the IANA official name).rŠ   r‹   zUnable to retrieve IANA for 'ú')r‘   r’   r   r/   r   )r²   r³   r–   r—   s       r   Ú	iana_namer¶   ,  s†   € à�mŠm‰oŒo×%Ò% c¨3Ñ/Ô/€Gõ
 *1¬©¬ð !ð !Ñ%ˆ˜Ø�~ }Ð5Ð5Ð5Ø Ð Ð Ð ð 6ð ð EÝÐC¸ÐCÐCÐCÑDÔDÐDà€Nr+   Úiana_name_aÚiana_name_bÚfloatc                ó–  — t          | ¦  «        st          |¦  «        rdS t          j        d| › �¦  «        j        }t          j        d|› �¦  «        j        } |d¬¦  «        } |d¬¦  «        }d}t	          d¦  «        D ]C}t          |g¦  «        }|                     |¦  «        |                     |¦  «        k    r|dz  }ŒD|dz  S )	Ng        r¤   r‡   rˆ   r   éÿ   r
   éþ   )r¨   r¦   r§   r   Úrangerƒ   r�   )	r·   r¸   Ú	decoder_aÚ	decoder_bÚid_aÚid_bÚcharacter_match_countÚiÚto_be_decodeds	            r   Úcp_similarityrÅ   =  så   € Ý˜kÑ*Ô*ð Õ.DÀ[Ñ.QÔ.Qð ØˆsåÔ'Ð(B°[Ð(BÐ(BÑCÔCÔV€IÝÔ'Ð(B°[Ð(BÐ(BÑCÔCÔV€Ià(˜y°Ð9Ñ9Ô9€DØ(˜y°Ð9Ñ9Ô9€Dà!"Ðå�3‰ZŒZð 'ð 'ˆÝ$ a S™zœzˆØ�;Š;�}Ñ%Ô%¨¯ª°]Ñ)CÔ)CÒCÐCØ! QÑ&Ð!øà  3Ñ&Ð&r+   c                ó2   — | t           v o|t           |          v S )zŽ
    Determine if two code page are at least 80% similar. IANA_SUPPORTED_SIMILAR dict was generated using
    the function cp_similarity.
    )r   )r·   r¸   s     r   Úis_cp_similarrÇ   Q  s%   € ð 	Õ-Ð-ð 	?ØÕ1°+Ô>Ð>ðr+   Úcharset_normalizerz)%(asctime)s | %(levelname)s | %(message)sÚlevelÚformat_stringÚNonec                óö   — t          j        | ¦  «        }|                     |¦  «         t          j        ¦   «         }|                     t          j        |¦  «        ¦  «         |                     |¦  «         d S rV   )ÚloggingÚ	getLoggerÚsetLevelÚStreamHandlerÚsetFormatterÚ	FormatterÚ
addHandler)r   rÉ   rÊ   ÚloggerÚhandlers        r   Úset_logging_handlerrÖ   \  sm   € õ
 Ô˜tÑ$Ô$€FØ
‡O‚O�EÑÔÐåÔ#Ñ%Ô%€GØ×Ò�Ô*¨=Ñ9Ô9Ñ:Ô:Ð:Ø
×Ò�gÑÔÐÐÐr+   Ú	sequencesr—   Úoffsetsr½   Ú
chunk_sizeÚbom_or_sig_availableÚstrip_sig_or_bomÚsig_payloadÚis_multi_byte_decoderÚdecoded_payloadúGenerator[str, None, None]c	              #  óî  K  — |r!|du r|D ]}	||	|	|z   …         }
|
s d S |
V — Œd S |D ]Ì}	|	|z   }|t          | ¦  «        dz   k    rŒ| |	|	|z   …         }|r	|du r||z   }|                     ||rdnd¬¦  «        }
|ru|	dk    rot          |d¦  «        }|r]|
d |…         |vrQt          |	|	dz
  d	¦  «        D ]<}| ||…         }|r	|du r||z   }|                     |d¬¦  «        }
|
d |…         |v r nŒ=|
V — ŒÍd S )
NFé   r‡   r³   rˆ   r   r#   é   éÿÿÿÿ)rŽ   r�   r�   r½   )r×   r—   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rÃ   ÚchunkÚ	chunk_endÚcut_sequenceÚchunk_partial_size_chkÚjs                  r   Úcut_sequence_chunksré   i  sÍ  è è € ð ð *Ð0°EÐ9Ð9Øð 	ð 	ˆAØ# A¨¨J©Ð$6Ô7ˆEØð Ø��ØˆKˆKˆKˆKð		ð 	ð ð #	ð #	ˆAØ˜J™ˆIØ�3˜y™>œ>¨AÑ-Ò-Ð-Øà$ Q¨¨Z©Ð%7Ô8ˆLà#ð :Ð(8¸EÐ(AÐ(AØ*¨\Ñ9�à ×'Ò'ØØ#8ÐF�x�x¸hð (ñ ô ˆEð %ð "¨¨Qª¨Ý.1°*¸bÑ.AÔ.AÐ&ð $ð"àÐ5Ð5Ð5Ô6¸oÐMÐMå" 1 a¨!¡e¨RÑ0Ô0ð 	"ð 	"˜Ø'0°°9°Ô'=˜à/ð FÐ4DÈÐ4MÐ4MØ+6¸Ñ+E˜Là ,× 3Ò 3°MÈ(Ð 3Ñ SÔ S˜à Ð!8Ð"8Ð!8Ô9¸_ÐLÐLØ!˜Eð Mð ˆKˆKˆKˆKðG#	ð #	r+   )r   r   r   r   )r   r   r   r   )r   r   r   r,   )r1   r   r   r   )r�   )r‚   rƒ   r„   r'   r   r,   )r   r   r   r   )r‚   rƒ   r   r©   )r¬   r   r   r   )T)r²   r   r³   r   r   r   )r·   r   r¸   r   r   r¹   )r·   r   r¸   r   r   r   )r   r   rÉ   r'   rÊ   r   r   rË   rV   )r×   rƒ   r—   r   rØ   r½   rÙ   r'   rÚ   r   rÛ   r   rÜ   rƒ   rÝ   r   rÞ   r,   r   rß   )7Ú
__future__r   r¦   rÍ   r   Úcodecsr   Úencodings.aliasesr   Ú	functoolsr   Úrer   Útypingr   Ú_multibytecodecr	   Úconstantr   r   r   r   r   r   r   r   r*   r3   r6   r?   rE   rI   rT   rZ   r_   rb   rf   ri   rm   rp   rr   rt   rŽ   r|   r€   r˜   r¨   r¯   r±   r¶   rÅ   rÇ   ÚINFOrÖ   ré   rw   r+   r   ú<module>ró      s¤  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €Ð*Ð+Ñ+Ô+ðð ð ñ ,Ô+ðð" €Ð*Ð+Ñ+Ô+ð"ð "ð "ñ ,Ô+ð"ð €Ð*Ð+Ñ+Ô+ð
ð 
ð 
ñ ,Ô+ð
ð €Ð*Ð+Ñ+Ô+ð"ð "ð "ñ ,Ô+ð"ð €Ð*Ð+Ñ+Ô+ð,ð ,ð ,ñ ,Ô+ð,ð €Ð*Ð+Ñ+Ô+ðEð Eð Eñ ,Ô+ðEð €Ð*Ð+Ñ+Ô+ðNð Nð Nñ ,Ô+ðNð €Ð*Ð+Ñ+Ô+ðQð Qð Qñ ,Ô+ðQð €Ð*Ð+Ñ+Ô+ð6ð 6ð 6ñ ,Ô+ð6ð €Ð*Ð+Ñ+Ô+ð#ð #ð #ñ ,Ô+ð#ð €Ð*Ð+Ñ+Ô+ð(ð (ð (ñ ,Ô+ð(ð €Ð*Ð+Ñ+Ô+ð(ð (ð (ñ ,Ô+ð(ð €Ð*Ð+Ñ+Ô+ð&ð &ð &ñ ,Ô+ð&ð €Ð*Ð+Ñ+Ô+ð$ð $ð $ñ ,Ô+ð$ð €Ð*Ð+Ñ+Ô+ð&ð &ð &ñ ,Ô+ð&ð €Ð*Ð+Ñ+Ô+ðLð Lð Lñ ,Ô+ðLð €Ð*Ð+Ñ+Ô+ð2ð 2ð 2ñ ,Ô+ð2ð €�3�3Ð.Ñ/Ô/Ð0Ñ0Ô0ðUð Uð Uñ 1Ô0ðUð €Ð*Ð+Ñ+Ô+ðð ð ñ ,Ô+ððð ð ð ð ð@ €�3ÐÑÔðð ð ñ Ôðð(ð ð ð ð$5ð 5ð 5ð 5ðð ð ð ð ð"'ð 'ð 'ð 'ð(ð ð ð ð %Ø”ØDð
ð 
ð 
ð 
ð 
ð, #'ð5ð 5ð 5ð 5ð 5ð 5ð 5r+   