a DOgu2@sdZddlmZddZegdeeddZdd Zd d d d dddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d2d3d4d5d6d7d8d9d:d;dd?d@dAd:d;dd?d@dAdBdCdDdEdFdCddGdHdIdJdKdHdLddMdNdOddPdQdRdSdTdUdVdWdTdXdYdZd[d\d]d]d]d^d^d_d`dadbdcdddddddedfdgdhdhdidYdjdkdldmddndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddrddddddddddddddddddddddddddddddddddddddddddddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhddYdndddd`ddbdcddddddddhddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhddidndjdkdddd_dld`ddbdcdddddddddidndjdkdd^ddd_dlddddddddddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhddidYdndjdkdd]d^ddd_dld`ddbdcddddddddddhdddmddddddddd dddddddddddddddddmddddddddd dddddddddddddddddmddddddddd dddddddddddddddddmddddddddd dddddddddddddddddmddddddddd dddddddddddddddZ dd„Z ddĄZ ddƄZ ddȄZ ddʄZdd̄Zegd͢eeddσeeddуeeddӃeeddՃZddׄZddلZddۄZdd݄Zdd߄ZeeddZddZeeddZddZegdeeddeeddуZddZedgeeddZddZddZddZdS)zLibrary that exposes various tables found in the StringPrep RFC 3454. There are two kinds of tables: sets, for which a member test is provided, and mappings, for which a mapping function is provided. ) ucd_3_2_0cCsBt|dkrdSt|}d|kr.dkr6nndS|d@dvS)NZCnFr) unicodedatacategoryordcodecr"/usr/lib64/python3.9/stringprep.py in_table_a1 sr) iOii i i i ` iicCs t|tvSN)r b1_setr rrr in_table_b1sruμssui̇uʼnsuǰuιu ιuΐuΰuσuβuθuυuύuϋuφuπuκuρuεuեւuẖuẗuẘuẙuaʾuṡuὐuὒuὔuὖuἀιuἁιuἂιuἃιuἄιuἅιuἆιuἇιuἠιuἡιuἢιuἣιuἤιuἥιuἦιuἧιuὠιuὡιuὢιuὣιuὤιuὥιuὦιuὧιuὰιuαιuάιuᾶuᾶιuὴιuηιuήιuῆuῆιuῒuῖuῗuῢuῤuῦuῧuὼιuωιuώιuῶuῶιZrsr u°cuɛu°fhilnnopqrZsmtelZtmzbefmuγdZhpaZauZovpaZnauμaZmakaZkbZmbZgbZpfZnfuμfhzZkhzZmhzZghzZthzZkpaZmpaZgpaZpvnvuμvmvZkvZpwZnwuμwZmwkwukωumωZbquc∕kgzco.ZdbZgyZhpZkkZkmphZppmZprsvwbZfffiZflZffiZfflstuմնuմեuմիuվնuմխagjkotuvwxyuαuδuζuηuλuνuξuοuτuχuψuω(i0iIiiiEiziiiiiiiiiiiiiiiiiiiiiiPiRiTiViiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii i!i!i!i !i !i !i !i!i!i!i!i!i!i!i!i!i!i !i!!i"!i$!i(!i,!i-!i0!i1!i3!i>!i?!iE!iq3is3iu3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3iiiiiiiiiiiiiiiiiiiiii i i i i iiiiiiiiiiiii4i5i6i7i8i9i:i;i<i=i>i?i@iAiBiCiDiEiFiGiHiIiJiKiLiMihiiijikiliminioipiqirisitiuiviwixiyizi{i|i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii i i iiiiiiiiiiiiiii8i9i;i<i=i>i@iAiBiCiDiFiJiKiLiMiNiOiPiliminioipiqirisitiuiviwixiyizi{i|i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii i i i i iiiiiiiiiiiiiiiiiii i!i<i=i>i?i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUipiqirisitiuiviwixiyizi{i|i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4iGiViWiXiYiZi[i\i]i^i_i`iaibicidieifigihiiijikiliminiiiiiiiiiiiiiiiiiiiiiiiiiiicCs"tt|}|dur|S|Sr) b3_exceptionsgetr lower)r r#rrr map_table_b3s rFcCsHt|}td|}ddd|D}td|}||kr@|S|SdS)NNFKCcSsg|] }t|qSr)rF).0Zchrrr z map_table_b2..)rFr normalizejoin)r6Zalr&Zblr rrr map_table_b2s  rNcCs|dkS)N rrrrr in_table_c11srPcCst|dko|dkS)NZsrOrr rrrr in_table_c12srScCst|dkS)NrQrRrrrrin_table_c11_c12srTcCst|dkot|dkS)NCc)r rr rrrr in_table_c21srW)iiirri( i) rrid ij ip iiisi{cCs.t|}|dkrdSt|dkr&dS|tvS)NrUFrVT)r rr c22_specialsr rrr in_table_c22s rYcCst|dkpt|tvS)NrV)rr r rXrrrrin_table_c21_c22s rZcCst|dkS)NZCorRrrrr in_table_c3sr[cCs0t|}|dkrdS|dkr dSt|d@dvS)NrFrTrr)r r rrr in_table_c4s  r\cCst|dkS)NZCsrRrrrr in_table_c5sr]rcCs t|tvSr)r c6_setrrrr in_table_c6sr_i/i/cCs t|tvSr)r c7_setrrrr in_table_c7sra)i@iAi i i* i/ cCs t|tvSr)r c8_setrrrr in_table_c8srcii icCs t|tvSr)r c9_setrrrr in_table_c9srecCst|dvS)N)RZALrZ bidirectionalrrrr in_table_d1 srhcCst|dkS)NLrgrrrr in_table_d2srjN) __doc__rrrsetlistrangerrrCrFrNrPrSrTrWrXrYrZr[r\r]r^r_r`rarbrcrdrerhrjrrrrs & D(