
    cJ                     &   U d dl mZmZmZmZmZ d dlmZ d dlm	Z	m
Z d dlmZmZmZmZ ddlmZ eg ddeegeegd	Zeeeeee         f         f         ed
<   dZeed<    ed          Zeed<   dZeed<   i d ed          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d  edd!          d" ed!d#          d$ ed#d%          d& ed%d'          d( ed'd)          d* ed)d+          d, ed+d-          d. ed-d/          d0 ed/d1          i d2 ed1d3          d4 ed3d5          d6 ed5d7          d8 ed7d9          d: ed;d<          d= ed<d>          d? ed>d@          dA ed@dB          dC edBdD          dE edDdF          dG edFdH          dI edHdJ          dK edJdL          dM edLdN          dO edNdP          dQ edPdR          dS edRdT          i dU edTdV          dW edVdX          dY edXdZ          d[ edZd\          d] ed\d^          d_ ed^d`          da ed`db          dc edbdd          de edddf          dg edfdh          di edhdj          dk edjdl          dm edldn          do edndp          dq edpdr          ds edrdt          du edtdv          i dw edvdx          dy edxdz          d{ edzd|          d} ed|d~          d ed~d          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          i d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          i d edd          d edd          d edd          d eddæ          d eddŦ          d eddǦ          d eddɦ          d edd˦          d eddͦ          d eddϦ          d eddѦ          d eddӦ          d eddզ          d eddצ          d edd٦          d eddۦ          d eddݦ          i d eddߦ          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd           i d ed d          d edd          d edd          d edd          d	 edd
          d ed
d          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd           d! ed d"          i d# ed"d$          d% ed$d&          d' ed&d(          d) ed(d*          d+ ed*d,          d- ed,d.          d/ ed.d0          d1 ed0d2          d3 ed2d4          d5 ed4d6          d7 ed6d8          d9 ed8d:          d; ed:d<          d= ed<d>          d? ed>d@          dA ed@dB          dC edBdD          i dE edDdF          dG edFdH          dI edHdJ          dK edJdL          dM edLdN          dO edNdP          dQ edPdR          dS edRdT          dU edTdV          dW edVdX          dY edXdZ          d[ edZd\          d] ed\d^          d_ ed^d`          da ed`db          dc edbdd          de edfdg          i dh edgdi          dj edidk          dl edkdm          dn edmdo          dp edodq          dr edqds          dt edsdu          dv edwdx          dy edxdz          d{ edzd|          d} ed|d~          d ed~d          d edd          d edd          d edd          d edd          d edd          i d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          i d edd          d edd          d edd          d edd          d edd          d edd          d eddæ          d edÐdŦ          d edǐdȦ          d edȐdʦ          d edʐd̦          d edΐdϦ          d edϐdѦ          d edӐdԦ          d edԐd֦          d ed֐dئ          d edؐdڦ          i d edܐdݦ          d edߐd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd           d ed d          d edd          d edd          i d ed	d
          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d edd          d ed d!          d" ed!d#          d$ ed#d%          d& ed'd(          d) ed(d*          d+ ed,d-          d. ed-d/          d0 ed1d2          i d3 ed4d5          d6 ed7d8          d9 ed:d;          d< ed=d>          d? ed>d@          dA ed@dB          dC edBdD          dE edDdF          dG edFdH          dI edHdJ          dK edJdL          dM edLdN          dO edNdP          dQ edPdR          dS edRdT          dU edTdV          dW edXdY           edZd[           ed[d\           ed\d]           ed]d^           ed_d`           edadb           edcdd          deZeeef         edf<   g dgZee         edh<    edie	          Z e e dj  e! e" ej#                                                            Z$ee         edk<    e%e$          Z&eedl<   i dmg dndog dpdqdrgdsg dtdudvgdwdxdygdzg d{d|d}gd~g d{ddgdg ddg ddg ddg ddg ddg ddg di dg ddg ddg ddg ddrdqgdg dddgddgdg ddg ddg ddvg ddg ddg dd}d|gdg ddxdwdygg dddgddgddgdwdxgdgdZ'eeee         f         ed<   i dddddddddddddddddvdddddd}ddÐdēdŐdƓdǐdȓdɐdʓdːd̓d͐dΐdϐdАdѐdҐdӐdԐdՐd֐dאdؐdِdڐdېdܜZ(eeef         ed<   h dޣZ)ee         ed<   h dZ*ee         ed<   h dZ+ee         ed<    e%e          Z,eed<   dZ-eed<   dS (      )BOM_UTF8BOM_UTF16_BEBOM_UTF16_LEBOM_UTF32_BEBOM_UTF32_LE)aliases)
IGNORECASEcompile)DictListSetUnion   )FREQUENCIES)s   +/v8s   +/v9s   +/v+s   +/v/s   +/v8-s   13)utf_8utf_7gb18030utf_32utf_16ENCODING_MARKS    TOO_SMALL_SEQUENCEg    cATOO_BIG_SEQUENCEi  UTF8_MAXIMAL_ALLOCATIONzControl characterzBasic Latin   zLatin-1 Supplement   zLatin Extended-Ai  zLatin Extended-BiP  zIPA Extensionsi  zSpacing Modifier Lettersi   zCombining Diacritical Marksip  zGreek and Coptici   Cyrillici   zCyrillic Supplementi0  Armeniani  Hebrewi   Arabici   SyriaciP  zArabic Supplementi  Thaanai  NKoi   	Samaritani@  Mandaici`  zSyriac Supplementip  zArabic Extended-Ai  i 	  
Devanagarii	  Bengalii 
  Gurmukhii
  Gujaratii   Oriyai  Tamili   Telugui  Kannadai   	Malayalami  Sinhalai   Thaii  Laoi   Tibetani   Myanmari  Georgiani   zHangul Jamoi   Ethiopici  zEthiopic Supplementi  Cherokeei   z%Unified Canadian Aboriginal Syllabicsi  Oghami  Runici   Tagalogi   Hanunooi@  Buhidi`  Tagbanwai  Khmeri   	Mongoliani  z.Unified Canadian Aboriginal Syllabics Extendedi   LimbuiP  zTai Lei  zNew Tai Luei  zKhmer Symbolsi   Buginesei   zTai Thami  z$Combining Diacritical Marks Extendedi   Balinesei  	Sundanesei  Bataki   LepchaiP  zOl Chikii  zCyrillic Extended Ci  zSundanese Supplementi  i  zVedic Extensionsi   zPhonetic Extensionsi  zPhonetic Extensions Supplementi  z&Combining Diacritical Marks Supplementi   zLatin Extended Additionali   zGreek Extendedi    zGeneral Punctuationip   zSuperscripts and Subscriptsi   zCurrency Symbolsi   z'Combining Diacritical Marks for Symbolsi !  zLetterlike SymbolsiP!  zNumber Formsi!  Arrowsi "  zMathematical Operatorsi #  zMiscellaneous Technicali $  zControl Picturesi@$  zOptical Character Recognitioni`$  zEnclosed Alphanumericsi %  zBox Drawingi%  zBlock Elementsi%  zGeometric Shapesi &  zMiscellaneous Symbolsi '  Dingbatsi'  z$Miscellaneous Mathematical Symbols-Ai'  zSupplemental Arrows-Ai (  zBraille Patternsi )  zSupplemental Arrows-Bi)  z$Miscellaneous Mathematical Symbols-Bi *  z#Supplemental Mathematical Operatorsi +  z Miscellaneous Symbols and Arrowsi ,  
Glagolitici`,  zLatin Extended-Ci,  Coptici -  zGeorgian Supplementi0-  Tifinaghi-  zEthiopic Extendedi-  zCyrillic Extended-Ai .  zSupplemental Punctuationi.  zCJK Radicals Supplementi /  zKangxi Radicalsi/  z"Ideographic Description Charactersi/  i 0  zCJK Symbols and Punctuationi@0  Hiraganai0  Katakanai 1  Bopomofoi01  zHangul Compatibility Jamoi1  Kanbuni1  zBopomofo Extendedi1  zCJK Strokesi1  zKatakana Phonetic Extensionsi 2  zEnclosed CJK Letters and Monthsi 3  zCJK Compatibilityi 4  z"CJK Unified Ideographs Extension AiM  zYijing Hexagram Symbolsi N  zCJK Unified Ideographsi   zYi Syllablesi  zYi RadicalsiФ  Lisui   Vaii@  zCyrillic Extended-Bi  Bamumi   zModifier Tone Lettersi   zLatin Extended-Di   zSyloti Nagrii0  zCommon Indic Number Formsi@  zPhags-pai  
Saurashtrai  zDevanagari Extendedi   zKayah Lii0  Rejangi`  zHangul Jamo Extended-Ai  Javanesei  zMyanmar Extended-Bi   Chami`  zMyanmar Extended-Ai  zTai Vieti  zMeetei Mayek Extensionsi   zEthiopic Extended-Ai0  zLatin Extended-Eip  zCherokee Supplementi  zMeetei Mayeki   zHangul Syllablesi  zHangul Jamo Extended-Bi   zHigh Surrogatesi  zHigh Private Use Surrogatesi   zLow Surrogatesi   zPrivate Use Areai   zCJK Compatibility Ideographsi   zAlphabetic Presentation FormsiP  zArabic Presentation Forms-Ai   zVariation Selectorsi  zVertical Formsi   zCombining Half Marksi0  zCJK Compatibility FormsiP  zSmall Form Variantsip  zArabic Presentation Forms-Bi   zHalfwidth and Fullwidth Formsi  Specialsi   zLinear B Syllabaryi  zLinear B Ideogramsi  zAegean Numbersi@ zAncient Greek Numbersi zAncient Symbolsi zPhaistos Disci  Lyciani i Cariani zCoptic Epact Numbersi  z
Old Italici0 GothiciP z
Old Permici Ugaritici zOld Persiani Desereti  iP Shaviani Osmanyai Osagei  Elbasani0 zCaucasian Albanianip zLinear Ai  i zCypriot Syllabaryi  i@ zImperial Aramaici` 	Palmyrenei 	Nabataeani Hatrani i 	 
Phoeniciani 	 Lydiani@	 zMeroitic Hieroglyphsi	 i	 zMeroitic Cursivei 
 
Kharoshthii`
 zOld South Arabiani
 zOld North Arabiani
 
Manichaeani
 i  Avestani@ zInscriptional Parthiani` zInscriptional Pahlavii zPsalter Pahlavii z
Old Turkici  iP zOld Hungariani i  zRumi Numeral Symbolsi` i Brahmii  i Kaithii zSora Sompengi  ChakmaiP Mahajanii Sharadai zSinhala Archaic Numbersi  KhojkiiP Multanii i 	Khudawadii  Granthai Newai  i Tirhutai Siddhami i  Modii` zMongolian Supplementi Takrii Ahomi  i@ zWarang Citii i  zZanabazar Squarei  iP Soyomboi zPau Cin Haui i  	Bhaiksukii  ip Marcheni zMasaram Gondii  i` 	Cuneiformi   i $ z!Cuneiform Numbers and Punctuationi$ zEarly Dynastic CuneiformiP% zEgyptian Hieroglyphsi 0 i04 zAnatolian Hieroglyphsi D iF zBamum Supplementi h i@j Mroipj z	Bassa Vahij i k zPahawh Hmongik Miaoi o io z#Ideographic Symbols and Punctuationio i p Tanguti  zTangut Componentsi  zKana Supplementi  i  zKana Extended-Ai0 Nushuip i  Duployani  i zShorthand Format Controlsi zByzantine Musical Symbolsi  i  zMusical Symbolsi  zAncient Greek Musical NotationiP zTai Xuan Jing Symbolsi  i` zCounting Rod Numeralsi z!Mathematical Alphanumeric Symbolsi  i  zSutton SignWritingi zGlagolitic Supplementi  i0 zMende Kikakuii  i Adlami  i` z&Arabic Mathematical Alphabetic Symbolsi  i  zMahjong Tilesi  i0 zDomino Tilesi zPlaying Cardsi  z Enclosed Alphanumeric Supplementi  zEnclosed Ideographic Supplementi  z%Miscellaneous Symbols and Pictographsi  zEmoticons range(Emoji)iP zOrnamental Dingbatsi zTransport and Map Symbolsi  zAlchemical Symbolsi zGeometric Shapes Extendedi  zSupplemental Arrows-Ci  z$Supplemental Symbols and Pictographsi  z"CJK Unified Ideographs Extension Bi   i i  i@ i  i i i  i  i   i  i  i )z"CJK Unified Ideographs Extension Cz"CJK Unified Ideographs Extension Dz"CJK Unified Ideographs Extension Ez"CJK Unified Ideographs Extension Fz'CJK Compatibility Ideographs SupplementTagszVariation Selectors SupplementUNICODE_RANGES_COMBINED)
SupplementExtended
ExtensionsModifierMarksPunctuationSymbolsForms	OperatorsMiscellaneousDrawingBlockShapesSupplementalr   UNICODE_SECONDARY_RANGE_KEYWORDz^(?:(?:encoding)|(?:charset)|(?:coding))(?:[\:= ]{1,10})(?:[\"\']?)([a-zA-Z0-9\-_]+)(?:[\"\']?)c                 8    |                      d          du o| dvS )N_codecF>   mbcsrot_13tactis)endswith)xs    =/usr/lib/python3/dist-packages/charset_normalizer/constant.py<lambda>r   P  s(    !**X&&%/ 211     IANA_SUPPORTEDIANA_SUPPORTED_COUNTcp037)cp1026cp1140cp273cp500r   )r   r   r   r   cp1125cp866r   )r   r   r   r   cp1250	iso8859_2cp1251kz1048ptcp154cp1252)
iso8859_15	iso8859_9latin_1cp1253	iso8859_7cp1254cp1257
iso8859_13r   )r   r   r   r   cp437)cp850cp858cp860cp861cp862cp863cp865r   )r   r   r   r   r   )r   cp857r   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   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   r   r   
iso8859_10)
iso8859_14r   	iso8859_4r   r   
iso8859_11tis_620r   )r   r   
iso8859_16	iso8859_3r   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   r   )r   r   r   r   r   )
r   r   cp1258r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   	mac_romanmac_turkishmac_iceland)r   r   r   r   r   r   IANA_SUPPORTED_SIMILAR
iso2022_krzISO-2022-KR
iso2022_jpzISO-2022-JPeuc_krzEUC-KRzTIS-620r   zUTF-32euc_jpzEUC-JPkoi8_rzKOI8-R	iso8859_1z
ISO-8859-1z
ISO-8859-2	iso8859_5z
ISO-8859-5	iso8859_6z
ISO-8859-6z
ISO-8859-7	iso8859_8z
ISO-8859-8r   zUTF-16cp855IBM855mac_cyrillicMacCyrillicgb2312GB2312GB18030CP932IBM866zutf-8z	UTF-8-SIG	SHIFT_JISBig5zwindows-1250zwindows-1251zWindows-1252zwindows-1253zwindows-1255zwindows-1256zWindows-1254CP949)r   cp932r   r   	utf_8_sig	shift_jisbig5r   r   r   r   cp1255cp1256r   cp949CHARDET_CORRESPONDENCE>   "&,-/:;<=>[]{|}COMMON_SAFE_ASCII_CHARACTERS>   r   johabr   KO_NAMES>   hzr   cp950	big5hkscsZH_NAMESLANGUAGE_SUPPORTED_COUNT   TRACEN).codecsr   r   r   r   r   encodings.aliasesr   rer	   r
   
re_compiletypingr   r   r   r   assetsr   r   strbytes__annotations__r   intr   r   ranger   r   RE_POSSIBLE_ENCODING_INDICATIONsortedfilterlistsetvaluesr   lenr   r   r   r   r   r   r   r    r   r   <module>r     s$   S S S S S S S S S S S S S S S % % % % % % 0 0 0 0 0 0 0 0 ) ) ) ) ) ) ) ) ) ) ) )          #\*\*8 8S%tE{ 2334     C   D		 # ! ! !&  & & &X-vX-55W%%X- %%W--X- c7++	X-
 c7++X- eeC))X- c7 3 3X- "55g#6#6X- c8,,X- dH%%X- 55x00X- dH%%X- eeD(##X- eeD(##X- eeD(##X-  tX..!X-" eeD(###X- X-$ 
55x  %X-& tX&&'X-( uuT8$$)X-* tX..+X-, tX..-X-. %%h''/X-0 uuT8$$1X-2 dH%%3X-4 dH%%5X-6 UU4""7X-8 UU4""9X-: eeD(##;X-< uuT8$$=X-> tX&&?X-@ uuT8$$AX-B EE$!!CX-D 
55x  EX- X- X-F uuT8$$GX-H uuT8$$IX-J dH%%KX-L 55x((MX-N dH%%OX-P 55x00QX-R dH%%SX-T ,UU4-B-BUX-V UU4""WX-X UU4""YX-Z uuT8$$[X-\ uuT8$$]X-^ UU4""_X-` dH%%aX-b UU4""cX-d tX&&eX-f 5eeD(6K6KgX- X- X-h UU4""iX-j eeD(##kX-l 55x((mX-n UU4**oX-p dH%%qX-r dH%%sX-t +EE$,A,AuX-v dH%%wX-x tX&&yX-z UU4""{X-| eeD(##}X-~ dH%%X-@ 55x00AX-B EE$11CX-D dH--EX-F 55x00GX-H %eeD(&;&;IX- X- X-J -eeD(.C.CKX-L  tX!6!6MX-N eeD(++OX-P 55x00QX-R "55x#8#8SX-T dH--UX-V .uuT8/D/DWX-X %%h//YX-Z EE$))[X-\ eeD(##]X-^ eeD(33_X-` uuT844aX-b dH--cX-d $UU4%:%:eX-f eeD(33gX-h 55x((iX-j eeD(++kX- X- X-l dH--mX-n UU422oX-p dI&&qX-r +EE%,C,CsX-t UU5)44uX-v eY//wX-x UU5)44yX-z +EE%,C,C{X-| *55	+B+B}X-~ 'eY(?(?X-@ %%y))AX-B eY//CX-D eeE9%%EX-F 55	22GX-H eY''IX-J ui00KX-L 55	22MX- X- X-N eY 7 7OX-P uuUI66QX-R uuUI..SX-T )%%y*A*AUX-V "55	#:#:WX-X eY''YX-Z eY''[X-\ eY'']X-^  ui!8!8_X-` eeE9%%aX-b ui00cX-d 55	**eX-f #EE%$;$;gX-h &uuUI'>'>iX-j ui00kX-l )%%y*A*AmX-n uuUI66oX- X- X-p eeE955qX-r EE%++sX-t 55	**uX-v EE%##wX-x 
55	""yX-z 55	22{X-| UU5)$$}X-~ UU5)44X-@ eY//AX-B EE%++CX-D  ui!8!8EX-F eY''GX-H %%y))IX-J 55	22KX-L eY''MX-N eeE9%%OX-P eeE955QX- X- X-R eY''SX-T %%y11UX-V EE%##WX-X %%y11YX-Z eY''[X-\ uuUI66]X-^ 55	22_X-` eY//aX-b 55	22cX-d EE%++eX-f eY//gX-h eeE955iX-j uuUI..kX-l "55	#:#:mX-n eeE9--oX-p eY//qX-r #EE%$;$;sX- X- X-t $UU5)%<%<uX-v "55	#:#:wX-x 55	22yX-z eeE9--{X-| EE%33}X-~ uuUI66X-@ 55	22AX-B "55	#:#:CX-D $UU5)%<%<EX-F eY''GX-H %%y11IX-J %%y11KX-L eeE9--MX-N UU5)44OX-P uuUI..QX-R UU5),,SX-T eeE9%%UX- X- X-V eeE9%%WX-X EE%33YX-Z %%y))[X-\ eeE9%%]X-^ %%y))_X-` eY''aX-b 55	**cX-d uuUI&&eX-f uuUI&&gX-h uuUI&&iX-j UU5)$$kX-l uuUI&&mX-n %%y11oX-p eY''qX-r ui00sX-t eY//uX-v ui((wX- X- X-x ui((yX-z eeE9%%{X-| %%y))}X-~ eeE9%%X-@ EE%33AX-B eY//CX-D %%y))EX-F ui00GX-H ui00IX-J %%y))KX-L uuUI&&MX-N eeE955OX-P UU5)44QX-R uuUI..SX-T %%y))UX-V UU5),,WX-X EE%33YX- X- X-Z eeE9%%[X-\ eeE9%%]X-^ EE%++_X-` eeE9%%aX-b eY''cX-d uuUI&&eX-f uuUI66gX-h eeE9%%iX-j uuUI&&kX-l ui((mX-n uuUI&&oX-p EE%##qX-r uuUI&&sX-t uuUI&&uX-v EE%##wX-x EE%33yX-z UU5)$${X- X- X-| EE%##}X-~ 55	**X-@ eY//AX-B uuUI&&CX-D 55	**EX-F ui((GX-H uuUI&&IX-J UU5),,KX-L ui((MX-N (ui)@)@OX-P eY 7 7QX-R EE%33SX-T UU5)44UX-V eY//WX-X 
55	""YX-Z ui(([X-\ EE%++]X- X- X-^ EE%##_X-` *55	+B+BaX-b eeE:&&cX-d vz22eX-f uuVZ00gX-h uuVZ00iX-j UU6:&&kX-l fj))mX-n  vz!:!:oX-p  vz!:!:qX-r uuVZ00sX-t %eeFJ&?&?uX-v UU6:66wX-x UU6:66yX-z (vz)B)B{X-| %%
33}X-~ UU6:66X- X- X-@ UU6:..AX-B UU6:&&CX-D -eeFJ.G.GEX-F UU6:..GX-H EE&*--IX-J UU6:..KX-L 'fj(A(AMX-N &uuVZ'@'@OX-P ,UU6:-F-FQX-R eeFJ77SX-T 5544UX-V  vz!:!:WX-X %%
33YX-Z  vz!:!:[X-\ UU6:66]X-^ +EE&*,E,E_X-` )%%
*C*CaX- X-b +0%
*C*C*/%
*C*C*/%
*C*C*/%
*C*C/4uVZ/H/HE&*%%&+eFJ&?&?oX- X- X- c5j) X X Xv. . . c   $ #-*e# # 
 #F
F	2 	2SS!!""##  S	     C// c / / /V0333V0333V0 wiV0 333	V0
 {mV0 x#V0 444V0 {mV0 444V0 |nV0 333V0 LLLV0 333V0 111V0 (((V0  111!V0" :::#V0 V0$ :::%V0& :::'V0( :::)V0* UUU+V0, hZ-V0. SSS/V00 9+1V02 8*3V04    5V0D  	 	 	EV0X    YV0h 666iV0j SSSkV0l DDDmV0n (oV0p    qV0H x#IV0 V0J    //!;/(#~kV0 V0 V0 S$s)^, V V Vr!*-!*-!* h!* y	!*
 h!* h!* h!* !* !* !* !* !* !* h!* X!*  M!!*" h#!*$ A!* !* !* S#X ! ! !H* * * c#h   & 211#c( 1 1 1999#c( 9 9 9 #K 0 0 # 0 0 0 sr   