
nc"s                 @   s!  d  d l  m Z y e Wn e k
 r2 e Z Yn Xd  d l Z id d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d d! 6d" d# 6d$ d% 6d& d' 6d& d( 6d) d* 6d) d+ 6d d, 6d d- 6d d. 6d/ d0 6d/ d1 6d/ d2 6d	 d
 6d3 d4 6d5 d6 6d5 d7 6d5 d8 6d5 d9 6d: d; 6d< d= 6d: d> 6d< d? 6d@ dA 6dB dC 6dD dE 6dF dG 6dF dH 6dI dJ 6dI dK 6d dL 6dM dN 6dO dP 6dQ dR 6dS dT 6dU dV 6dW dX 6dY dZ 6d[ d\ 6d] d^ 6d_ d` 6da db 6dc dd 6de df 6dg dh 6di dj 6dk dl 6dm dn 6do dp 6dq dr 6ds dt 6du dv 6dw dx 6dy dz 6d{ d| 6d} d~ 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6dF d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d6dd6dd6dd6dd	6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d*d+6d,d-6d.d/6d0d16d2d36d4d56d6d76d8d96d:d;6d<d=6d>d?6d@dA6dBdC6dDdE6dFdG6dHdI6dJdK6dLdM6dNdO6dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6ddde6dfdg6dhdi6djdk6dldm6dndo6dpdq6drds6dtdu6dvdw6dxdy6dzd{6d|d}6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d6dd6dd6dd6dd	6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d*d+6d,d-6d.d/6d0d16d2d36d4d56d6d76d8d96d:d;6d<d=6d>d?6d@dA6dBdC6dDdE6dFdG6dHdI6dJdK6dLdM6dNdO6dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6ddde6dfdg6dhdi6djdk6dldm6dndo6dpdq6drds6dtdu6dvdw6dxdy6dzd{6d|d}6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dB d6dd6dd6dd6dd	6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d*d+6d,d-6d.d/6d0d16d2d36d4d56d6d76d8d96d:d;6d<d=6d>d?6d@dA6dBdC6dDdE6dFdG6dHdI6dJdK6dLdM6dNdO6dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6ddde6dfdg6dhdi6djdk6dldm6dndo6dpdq6drds6dtdu6dvdw6dxdy6ddz6d{dz6d|d}6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dD d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6ds d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd6dd6dd6dd6d	d
6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d] d-6d.d/6d0d16d.d26d3d46d5d66d7d86d9d:6d;d<6d=d>6d?d@6dAdB6dDdC6dDdE6dFdG6dHdI6dJdK6dLdM6dNdO6dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6ddde6dfdg6dhdi6dfdj6dkdl6dmdn6dmdo6dmdp6dqdr6dsdt6dudv6dwdx6dydz6d{d|6d}d~6dd6dd6dd6dd6dd6dd6dd6dd6dW d6dd6dd6dd6dd6dd6dd6dd6dU d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d6dd6dd6dd6dd	6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d*d+6d,d-6d.d/6d0d16d2d36d4d56d6d76d8d96d:d;6d<d=6d>d?6d@dA6dBdC6dDdE6dFdG6dHdI6dJdK6dLdM6dNdO6dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6ddde6dfdg6dhdi6djdk6dldm6dndo6dpdq6drds6dtdu6dvdw6dxdy6dzd{6d|d}6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dF d6dI d6dd6dd6dd6dd6dd6dd6dd6dB d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d*d6d_ d6dd6dd6dd6dd6d d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd6dd6dd6dd6d	d
6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d;d<6d=d>6d?d@6dAdB6dCdD6dEdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dO dc6ddde6dfdg6dhdi6djdk6dldm6dndo6dpdq6dldr6dsdt6dudv6dwdx6dydz6dd{6d|d}6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dF d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd6dd6dd6dd6d	d
6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d;d<6d=d>6d?d@6dAdB6dCdD6d[ dE6dFdG6dHdI6dJdK6dHdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dsdt6dudv6dwdx6dydz6d{d|6d}d~6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dY d6dd6dd6dd6dd6dD d6dd6dd6dAd6dd6dd6dd6dd6dd6dI d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dS d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd6dd6dd6dd6d	d
6dd6dd6dd6dQ d6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d-d16d/d26d3d46d5d66d7d86d9d:6d;d<6d=d>6d?d@6dAdB6dCdD6dEdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dsdt6dudv6dwdx6dydz6d{d|6d}d~6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dM d6dd6dd6dd6dd6dd6dd6dd6Z d	 d3 dd/ h Z d3 dk d	 dd/ h e dd  e D  Be dd  e D  BZ	 e j
   dk rC!e j i d1 d1 6d1 d/ 6d1 d2 6d1 d0 6d d 6d3 dk 6 d3 d	 dd/ h Z	 n  e j
   dk r!e j i dd6dd6d: d6d< d6 n  dd  Z d S(      )unicode_literalsNescescapeenterreturndeletedelctrlZcontrolleftz
left arrowupzup arrowdownz
down arrowrightzright arrowspace 	backspace
tab	zscroll lockZscrlkzprint screenZprtscnz	prnt scrnZsnapshotinsertinspausezpause breakz	caps lockz
ctrll lockZcapslockznum lockznumber lockZnumlockz	space barspacebarZlinefeedwindowswincommandcmdaltoptionmenuZappZappsapplicationapplicationsz	page downZpagedownzpage upZpageupZpgdownZpgupzplay/pause mediaz
play/pause*znum multiply/z
num divide+znum addznum plus-z	num minusznum subz	num enter0znum 01znum 12znum 23znum 34znum 45znum 56znum 67znum 78znum 89znum 9zleft windowszleft winzright windowsz	right winz	left ctrlzleft controlz
right ctrlzright controlzleft altz	left menuzalt grZaltgr   ÁAacute   áaacuteu   ZAacutesmallu   ˙Zabovedotu   ĂZAbreveu   ăZabreveu   ẮZAbreveacuteu   ắZabreveacuteu   ẶZAbrevebelowdotu   ặZabrevebelowdotu   ẰZAbrevegraveu   ằZabrevegraveu   ẲZ
Abrevehooku   ẳZ
abrevehooku   ẴZAbrevetildeu   ẵZabrevetilde   ÂZAcircumflex   âZacircumflexu   ẤZAcircumflexacuteu   ấZacircumflexacuteu   ẬZAcircumflexbelowdotu   ậZacircumflexbelowdotu   ẦZAcircumflexgraveu   ầZacircumflexgraveu   ẨZAcircumflexhooku   ẩZacircumflexhooku   ZAcircumflexsmallu   ẪZAcircumflextildeu   ẫZacircumflextilde   ´acuteu   ZAcuteu   ́Z	acutecombu   Z
Acutesmalladd   ÄZ
Adiaeresis   äZ
adiaeresisZ	AdieresisZ	adieresisu   ZAdieresissmall   æZae   ÆZAEu   ǼZAEacuteu   ǽZaeacuteu   ZAEsmallu   ―Z	afii00208u   АZ	afii10017u   БZ	afii10018u   ВZ	afii10019u   ГZ	afii10020u   ДZ	afii10021u   ЕZ	afii10022u   ЁZ	afii10023u   ЖZ	afii10024u   ЗZ	afii10025u   ИZ	afii10026u   ЙZ	afii10027u   КZ	afii10028u   ЛZ	afii10029u   МZ	afii10030u   НZ	afii10031u   ОZ	afii10032u   ПZ	afii10033u   РZ	afii10034u   СZ	afii10035u   ТZ	afii10036u   УZ	afii10037u   ФZ	afii10038u   ХZ	afii10039u   ЦZ	afii10040u   ЧZ	afii10041u   ШZ	afii10042u   ЩZ	afii10043u   ЪZ	afii10044u   ЫZ	afii10045u   ЬZ	afii10046u   ЭZ	afii10047u   ЮZ	afii10048u   ЯZ	afii10049u   ҐZ	afii10050u   ЂZ	afii10051u   ЃZ	afii10052u   ЄZ	afii10053u   ЅZ	afii10054u   ІZ	afii10055u   ЇZ	afii10056u   ЈZ	afii10057u   ЉZ	afii10058u   ЊZ	afii10059u   ЋZ	afii10060u   ЌZ	afii10061u   ЎZ	afii10062u   Z	afii10063u   Z	afii10064u   аZ	afii10065u   бZ	afii10066u   вZ	afii10067u   гZ	afii10068u   дZ	afii10069u   еZ	afii10070u   ёZ	afii10071u   жZ	afii10072u   зZ	afii10073u   иZ	afii10074u   йZ	afii10075u   кZ	afii10076u   лZ	afii10077u   мZ	afii10078u   нZ	afii10079u   оZ	afii10080u   пZ	afii10081u   рZ	afii10082u   сZ	afii10083u   тZ	afii10084u   уZ	afii10085u   фZ	afii10086u   хZ	afii10087u   цZ	afii10088u   чZ	afii10089u   шZ	afii10090u   щZ	afii10091u   ъZ	afii10092u   ыZ	afii10093u   ьZ	afii10094u   эZ	afii10095u   юZ	afii10096u   яZ	afii10097u   ґZ	afii10098u   ђZ	afii10099u   ѓZ	afii10100u   єZ	afii10101u   ѕZ	afii10102u   іZ	afii10103u   їZ	afii10104u   јZ	afii10105u   љZ	afii10106u   њZ	afii10107u   ћZ	afii10108u   ќZ	afii10109u   ўZ	afii10110u   ЏZ	afii10145u   ѢZ	afii10146u   ѲZ	afii10147u   ѴZ	afii10148u   Z	afii10192u   џZ	afii10193u   ѣZ	afii10194u   ѳZ	afii10195u   ѵZ	afii10196u   Z	afii10831u   Z	afii10832u   әZ	afii10846u   ‎Zafii299u   ‏Zafii300u   ‍Zafii301u   ٪Z	afii57381u   ،Z	afii57388u   ٠Z	afii57392u   ١Z	afii57393u   ٢Z	afii57394u   ٣Z	afii57395u   ٤Z	afii57396u   ٥Z	afii57397u   ٦Z	afii57398u   ٧Z	afii57399u   ٨Z	afii57400u   ٩Z	afii57401u   ؛Z	afii57403u   ؟Z	afii57407u   ءZ	afii57409u   آZ	afii57410u   أZ	afii57411u   ؤZ	afii57412u   إZ	afii57413u   ئZ	afii57414u   اZ	afii57415u   بZ	afii57416u   ةZ	afii57417u   تZ	afii57418u   ثZ	afii57419u   جZ	afii57420u   حZ	afii57421u   خZ	afii57422u   دZ	afii57423u   ذZ	afii57424u   رZ	afii57425u   زZ	afii57426u   سZ	afii57427u   شZ	afii57428u   صZ	afii57429u   ضZ	afii57430u   طZ	afii57431u   ظZ	afii57432u   عZ	afii57433u   غZ	afii57434u   ـZ	afii57440u   فZ	afii57441u   قZ	afii57442u   كZ	afii57443u   لZ	afii57444u   مZ	afii57445u   نZ	afii57446u   وZ	afii57448u   ىZ	afii57449u   يZ	afii57450u   ًZ	afii57451u   ٌZ	afii57452u   ٍZ	afii57453u   َZ	afii57454u   ُZ	afii57455u   ِZ	afii57456u   ّZ	afii57457u   ْZ	afii57458u   هZ	afii57470u   ڤZ	afii57505u   پZ	afii57506u   چZ	afii57507u   ژZ	afii57508u   گZ	afii57509u   ٹZ	afii57511u   ڈZ	afii57512u   ڑZ	afii57513u   ںZ	afii57514u   ےZ	afii57519u   ەZ	afii57534u   ₪Z	afii57636u   ־Z	afii57645u   ׃Z	afii57658u   אZ	afii57664u   בZ	afii57665u   גZ	afii57666u   דZ	afii57667u   הZ	afii57668u   וZ	afii57669u   זZ	afii57670u   חZ	afii57671u   טZ	afii57672u   יZ	afii57673u   ךZ	afii57674u   כZ	afii57675u   לZ	afii57676u   םZ	afii57677u   מZ	afii57678u   ןZ	afii57679u   נZ	afii57680u   סZ	afii57681u   עZ	afii57682u   ףZ	afii57683u   פZ	afii57684u   ץZ	afii57685u   צZ	afii57686u   קZ	afii57687u   רZ	afii57688u   שZ	afii57689u   תZ	afii57690u   שׁZ	afii57694u   שׂZ	afii57695u   וֹZ	afii57700u   ײַZ	afii57705u   װZ	afii57716u   ױZ	afii57717u   ײZ	afii57718u   וּZ	afii57723u   ִZ	afii57793u   ֵZ	afii57794u   ֶZ	afii57795u   ֻZ	afii57796u   ָZ	afii57797u   ַZ	afii57798u   ְZ	afii57799u   ֲZ	afii57800u   ֱZ	afii57801u   ֳZ	afii57802u   ׂZ	afii57803u   ׁZ	afii57804u   ֹZ	afii57806u   ּZ	afii57807u   ֽZ	afii57839u   ֿZ	afii57841u   ׀Z	afii57842u   ʼZ	afii57929u   ℅Z	afii61248u   ℓZ	afii61289u   №Z	afii61352u   ‬Z	afii61573u   ‭Z	afii61574u   ‮Z	afii61575u   ‌Z	afii61664u   ٭Z	afii63167u   ʽZ	afii64937   ÀAgrave   àagraveu   ZAgravesmallZagudou   ℵZalephu   ΑAlphau   αalphau   ΆZ
Alphatonosu   άZ
alphatonosu   ĀZAmacronu   āZamacron&	ampersandu   Zampersandsmallu   ∠Zangleu   〈Z	angleleftu   〉Z
anglerightu   ·Z	anoteleiau   ĄZAogoneku   ąZaogonek'
apostropheu   ≈Zapproxequal   ÅAring   åaringu   ǺZ
Aringacuteu   ǻZ
aringacuteu   Z
Aringsmallu   ↔Z	arrowbothu   ⇔Zarrowdblbothu   ⇓Zarrowdbldownu   ⇐Zarrowdblleftu   ⇒Zarrowdblrightu   ⇑Z
arrowdblupu   ↓Z	arrowdownu   Zarrowhorizexu   ←Z	arrowleftu   →Z
arrowrightu   ↑Zarrowupu   ↕Z	arrowupdnu   ↨Zarrowupdnbseu   Zarrowvertex^asciicircum~
asciitildeu   ZAsmallasterisku   ∗Zasteriskmathu   Z	asuperior@at   ÃAtilde   ãatildeu   ZAtildesmall\	backslash|baru   ΒBetau   βbetau   █blocku   Zbraceex{	braceleftu   Zbraceleftbtu   Zbraceleftmidu   Zbracelefttp}
bracerightu   Zbracerightbtu   Zbracerightmidu   Zbracerighttp[bracketleftu   Zbracketleftbtu   Zbracketleftexu   Zbracketlefttp]bracketrightu   Zbracketrightbtu   Zbracketrightexu   Zbracketrighttpu   ˘Zbreveu   Z
Brevesmall   ¦Z	brokenbaru   ZBsmallu   Z	bsuperioru   •Zbulletu   ĆZCacuteu   ćZcacuteu   ˇZcaronu   ZCaronu   Z
Caronsmallu   ↵Zcarriagereturnu   ČZCcaronu   čZccaron   ÇZCcedilla   çZccedillau   ZCcedillasmallu   ĈZCcircumflexu   ĉZccircumflexu   ĊZ
Cdotaccentu   ċZ
cdotaccent   ¸Zcedillau   ZCedillasmall   ¢centu   Zcentinferioru   Zcentoldstyleu   Zcentsuperioru   ΧChiu   χchiu   ○Zcircleu   ⊗Zcirclemultiplyu   ⊕Z
circleplusZ
circumflexu   ˆu   ZCircumflexsmallu   ♣Zclub:colonu   ₡ZcolonmonetaryZ	ColonSign,commau   Zcommaaccentu   Zcommainferioru   Zcommasuperioru   ≅Z	congruent   ©	copyrightu   Zcopyrightsansu   Zcopyrightserifu   ₢ZCruzeiroSignu   ZCsmall   ¤currencyu   ZcyrBreveu   Zcyrbreveu   ZcyrFlexu   Zcyrflexu   †daggeru   ‡Z	daggerdblu   ZdblGraveu   Zdblgraveu   ĎZDcaronu   ďZdcaronu   ĐZDcroatu   đZdcroat   °Zdegreeu   ΔDeltau   δdelta   ¨Z	diaeresisu   ♦ZdiamondZdieresisu   ZDieresisu   ZDieresisAcuteu   Zdieresisacuteu   ZDieresisGraveu   Zdieresisgraveu   ZDieresissmallu   ΅Zdieresistonosdivide   ÷divisionu   ▓Zdkshadeu   ▄Zdnblock$dollaru   Zdollarinferioru   Zdollaroldstyleu   Zdollarsuperioru   ₫ZdongZDongSign.dotZ	dotaccentu   ZDotaccentsmallu   ̣Zdotbelowcombu   ıZdotlessiu   Zdotlessju   ⋅Zdotmathu   ZDsmallZdstrokeZDstrokeu   Z	dsuperior   ÉEacute   éeacuteu   ZEacutesmallu   ĔZEbreveu   ĕZebreveu   ĚZEcaronu   ěZecaron   ÊZEcircumflex   êZecircumflexu   ẾZEcircumflexacuteu   ếZecircumflexacuteu   ỆZEcircumflexbelowdotu   ệZecircumflexbelowdotu   ỀZEcircumflexgraveu   ềZecircumflexgraveu   ỂZEcircumflexhooku   ểZecircumflexhooku   ZEcircumflexsmallu   ỄZEcircumflextildeu   ễZecircumflextildeu   ₠ZEcuSign   ËZ
Ediaeresis   ëZ
ediaeresisZ	EdieresisZ	edieresisu   ZEdieresissmallu   ĖZ
Edotaccentu   ėZ
edotaccent   ÈEgrave   èegraveu   ZEgravesmallZeightu   ₈Zeightinferioru   ZeightoldstyleZeightsubscriptu   ⁸Zeightsuperioru   ∈elementu   …Zellipsisu   ĒZEmacronu   ēZemacronu   —Zemdashu   ∅Zemptysetu   –ZendashZenfilledcircbulletu   ŊZEngu   ŋZengu   ĘZEogoneku   ęZeogoneku   ΕEpsilonu   εepsilonu   ΈZEpsilontonosu   έZepsilontonos=equalu   ≡Zequivalenceu   ZEsmallu   ℮Z	estimatedu   Z	esuperioru   ΗEtau   ηetau   ΉZEtatonosu   ήZetatonos   ÐETH   ðethZEthu   ZEthsmallu   €euroZEuroZEuroSign!exclamu   ‼Z	exclamdbl   ¡Z
exclamdownu   Zexclamdownsmallu   Zexclamsmallu   ∃Zexistentialu   ♀Zfemaleu   ﬀffu   ﬃffiu   ﬄfflu   ₣Z
FFrancSignu   ﬁfiu   ‒Z
figuredashu   ■Z	filledboxu   ▬Z
filledrectZfiveu   ⅝Zfiveeighthsu   ₅Zfiveinferioru   ZfiveoldstyleZfivesubscriptu   ⁵Zfivesuperioru   ﬂflu   ƒZflorinZfouru   ₄Zfourinferioru   ZfouroldstyleZfoursubscriptu   ⁴Zfoursuperioru   ∕fractionZfrancu   ZFsmallfunctionu   ΓGammau   γgammau   ĞZGbreveu   ğZgbreveu   ǦZGcaronu   ǧZgcaronu   ĜZGcircumflexu   ĝZgcircumflexu   ĢZGcommaaccentu   ģZgcommaaccentu   ĠZ
Gdotaccentu   ġZ
gdotaccent   ßZ
germandblsu   ∇Zgradient`Zgraveu   ZGraveu   ̀Z	gravecombu   Z
Gravesmall>greateru   ≥Zgreaterequalu   ZGsmall   «Zguillemotleft   »Zguillemotrightu   ‹Zguilsinglleftu   ›Zguilsinglrightu   ●ZH18533u   ▪ZH18543u   ▫ZH18551u   □ZH22073#hashZhashtagu   ĦZHbaru   ħhbaru   ĤZHcircumflexu   ĥZhcircumflexu   ♥Zheartu   ̉Zhookabovecombu   ⌂Zhouseu   ZHsmallu   ˝Zhungarumlautu   ZHungarumlautu   ZHungarumlautsmall   ­Zhyphenu   Zhypheninferioru   Zhyphensuperior   ÍIacute   íiacuteu   ZIacutesmallu   ĬZIbreveu   ĭZibreve   ÎZIcircumflex   îZicircumflexu   ZIcircumflexsmall   ÏZ
Idiaeresis   ïZ
idiaeresisZ	IdieresisZ	idieresisu   ZIdieresissmallu   İZ
Idotaccentu   ℑZIfraktur   ÌIgrave   ìigraveu   ZIgravesmallu   ĲZIJu   ĳZiju   ĪZImacronu   īZimacronu   ∞Zinfinityu   ∫Zintegralu   ⌡Z
integralbtu   Z
integralexu   ⌠Z
integraltpu   ∩intersectionu   ◘Z	invbulletu   ◙Z	invcircleu   ☻Zinvsmilefaceu   ĮZIogoneku   įZiogoneku   ΙIotau   ιiotau   ΪZIotadieresisu   ϊZiotadieresisu   ΐZiotadieresistonosu   ΊZ	Iotatonosu   ίZ	iotatonosu   ZIsmallu   Z	isuperioru   ĨZItildeu   ĩZitildeu   ĴZJcircumflexu   ĵZjcircumflexu   ZJsmallu   ΚKappau   κkappau   ĶZKcommaaccentu   ķZkcommaaccentu   ĸZkgreenlandicu   ZKsmallu   ĹZLacuteu   ĺZlacuteu   ΛLambdau   λlambdau   ĽZLcaronu   ľZlcaronu   ĻZLcommaaccentu   ļZlcommaaccentu   ĿZLdotu   ŀZldot<lessu   ≤Z	lessequalu   ▌Zlfblocku   ₤ZliraZLiraSignu   ZLLu   Zllu   ∧Z
logicaland   ¬Z
logicalnotu   ∨Z	logicaloru   ſZlongsu   ◊Zlozengeu   ŁZLslashu   łZlslashu   ZLslashsmallu   ZLsmallu   Z	lsuperioru   ░Zltshade   ¯Zmacronu   ˉu   ZMacronu   ZMacronsmallu   ♂Zmale   ºZ	masculineu   ₥ZMillSignZminplusminusu   −u   ′Zminuteu   ZMsmallu   Z	msuperior   µmuu   ΜMuu   μZmultiply   ×u   ♪Zmusicalnoteu   ♫Zmusicalnotedblu   ŃZNacuteu   ńZnacuteu   ₦Z	NairaSignu   ŉZnapostropheu   ŇZNcaronu   ňZncaronu   ŅZNcommaaccentu   ņZncommaaccentZNewSheqelSignZnineu   ₉Znineinferioru   ZnineoldstyleZninesubscriptu   ⁹ZninesuperiorZnobreakspaceu   ∉Z
notelementu   ≠ZnotequalZnotsignu   ⊄Z	notsubsetu   ZNsmallu   ⁿZ	nsuperior   ÑNtilde   ñntildeu   ZNtildesmallu   ΝNuu   νnu
numbersignZ
numerosign   ÓOacute   óoacuteu   ZOacutesmallu   ŎZObreveu   ŏZobreve   ÔZOcircumflex   ôZocircumflexu   ỐZOcircumflexacuteu   ốZocircumflexacuteu   ỘZOcircumflexbelowdotu   ộZocircumflexbelowdotu   ỒZOcircumflexgraveu   ồZocircumflexgraveu   ỔZOcircumflexhooku   ổZocircumflexhooku   ZOcircumflexsmallu   ỖZOcircumflextildeu   ỗZocircumflextilde   ÖZ
Odiaeresis   öZ
odiaeresisZ	OdieresisZ	odieresisu   ZOdieresissmallu   œZoeu   ŒZOEu   ZOEsmallu   ˛Zogoneku   ZOgoneksmall   ÒOgrave   òograveu   ZOgravesmallu   ƠZOhornu   ơZohornu   ỚZ
Ohornacuteu   ớZ
ohornacuteu   ỢZOhornbelowdotu   ợZohornbelowdotu   ỜZ
Ohorngraveu   ờZ
ohorngraveu   ỞZ	Ohornhooku   ởZ	ohornhooku   ỠZ
Ohorntildeu   ỡZ
ohorntildeu   ŐZOhungarumlautu   őZohungarumlautu   ŌZOmacronu   ōZomacronu   ΩOmegau   ωomegau   ϖZomega1u   ΏZ
Omegatonosu   ώZ
omegatonosu   ΟOmicronu   οomicronu   ΌZOmicrontonosu   όZomicrontonosoneu   ․Zonedotenleaderu   ⅛Z	oneeighthu   Z	onefitted   ½Zonehalfu   ₁Zoneinferioru   Zoneoldstyle   ¼Z
onequarterZonesubscript   ¹Zonesuperioru   ⅓Zonethirdu   ◦Z
openbullet   ªZordfeminineZordmasculineu   ∟Z
orthogonal   ØOslash   øoslashu   ǾZOslashacuteu   ǿZoslashacuteu   ZOslashsmallu   ZOsmallu   Z	osuperior   ÕOtilde   õotildeu   ZOtildesmall   ¶Z	paragraph(	parenleftu   Zparenleftbtu   Zparenleftexu   ₍Zparenleftinferioru   ⁽Zparenleftsuperioru   Zparenlefttp)
parenrightu   Zparenrightbtu   Zparenrightexu   ₎Zparenrightinferioru   ⁾Zparenrightsuperioru   Zparenrighttpu   ∂Zpartialdiff%percentperiod   ·Zperiodcenteredu   ∙u   Zperiodinferioru   Zperiodsuperioru   ⊥Zperpendicularu   ‰Zperthousandu   ₧ZpesetaZ
PesetaSignu   ΦPhiu   φphiu   ϕZphi1u   ΠPiu   πpiplus   ±Z	plusminus   £poundu   ℞Zprescriptionu   ∏productu   ⊂Zpropersubsetu   ⊃Zpropersupersetu   ∝Zproportionalu   ΨPsiu   ψpsiu   ZPsmallu   ZQsmall?question   ¿Zquestiondownu   Zquestiondownsmallu   Zquestionsmall"quotedblu   „Zquotedblbaseu   “Zquotedblleftu   ”Zquotedblrightu   ‘Z	quoteleftu   ‛Zquotereversedu   ’Z
quoterightu   ‚ZquotesinglbaseZquotesingleu   ŔZRacuteu   ŕZracuteu   √Zradicalu   Z	radicalexu   ŘZRcaronu   řZrcaronu   ŖZRcommaaccentu   ŗZrcommaaccentu   ⊆Zreflexsubsetu   ⊇Zreflexsuperset   ®Z
registeredu   Zregistersansu   Zregisterserifu   ⌐Zrevlogicalnotu   ℜZRfrakturu   ΡRhou   ρrhou   ˚Zringu   Z	Ringsmallu   ZRsmallu   Z	rsuperioru   ▐Zrtblocku   ₨Z	RupeeSignu   Zrupiahu   ŚZSacuteu   śZsacuteu   ŠScaronu   šscaronu   ZScaronsmallu   ZScedillau   Zscedillau   ŜZScircumflexu   ŝZscircumflexu   ȘZScommaaccentu   șZscommaaccentu   ″second   §section;	semicolonZsevenu   ⅞Zseveneighthsu   ₇Zseveninferioru   ZsevenoldstyleZsevensubscriptu   ⁷Zsevensuperioru   ┌ZSF010000u   └ZSF020000u   ┐ZSF030000u   ┘ZSF040000u   ┼ZSF050000u   ┬ZSF060000u   ┴ZSF070000u   ├ZSF080000u   ┤ZSF090000u   ─ZSF100000u   │ZSF110000u   ╡ZSF190000u   ╢ZSF200000u   ╖ZSF210000u   ╕ZSF220000u   ╣ZSF230000u   ║ZSF240000u   ╗ZSF250000u   ╝ZSF260000u   ╜ZSF270000u   ╛ZSF280000u   ╞ZSF360000u   ╟ZSF370000u   ╚ZSF380000u   ╔ZSF390000u   ╩ZSF400000u   ╦ZSF410000u   ╠ZSF420000u   ═ZSF430000u   ╬ZSF440000u   ╧ZSF450000u   ╨ZSF460000u   ╤ZSF470000u   ╥ZSF480000u   ╙ZSF490000u   ╘ZSF500000u   ╒ZSF510000u   ╓ZSF520000u   ╫ZSF530000u   ╪ZSF540000u   ▒Zshadeu   ΣSigmau   σsigmau   ςZsigma1u   ∼Zsimilaru   ≃ZsimilarequalZsixu   ₆Zsixinferioru   ZsixoldstyleZsixsubscriptu   ⁶Zsixsuperiorslashu   ☺Z	smilefaceu   ♠ZspadeZssharpu   ẞZSsharpu   ZSsmallu   Z	ssuperiorZsterlingsubtractu   ∋Zsuchthatu   ∑Z	summationu   ☼Zsunu   ΤTauu   τtauu   ŦZTbaru   ŧZtbaru   ŤZTcaronu   ťZtcaronu   ȚZTcommaaccentu   țZtcommaaccentu   ฿Z	Thai_bahtu   ∴Z	thereforeu   ΘThetau   θthetau   ϑZtheta1   ÞTHORN   þthornZThornu   Z
ThornsmallZthreeu   ⅜Zthreeeighthsu   ₃Zthreeinferioru   Zthreeoldstyle   ¾Zthreequartersu   ZthreequartersemdashZthreesubscript   ³ZthreesuperiorZtiltildeu   ˜u   ̃Z	tildecombu   Z
Tildesmallu   ΄Ztonosu   ™Z	trademarku   Ztrademarksansu   Ztrademarkserifu   ▼Ztriagdnu   ◄Ztriaglfu   ►Ztriagrtu   ▲Ztriagupu   ZTsmallu   Z	tsuperiortwou   ‥Ztwodotenleaderu   ₂Ztwoinferioru   ZtwooldstyleZtwosubscript   ²Ztwosuperioru   ⅔Z	twothirds   ÚUacute   úuacuteu   ZUacutesmallu   ŬZUbreveu   ŭZubreve   ÛZUcircumflex   ûZucircumflexu   ZUcircumflexsmall   ÜZ
Udiaeresis   üZ
udiaeresisZ	UdieresisZ	udieresisu   ZUdieresissmall   ÙUgrave   ùugraveu   ZUgravesmallu   ƯZUhornu   ưZuhornu   ỨZ
Uhornacuteu   ứZ
uhornacuteu   ỰZUhornbelowdotu   ựZuhornbelowdotu   ỪZ
Uhorngraveu   ừZ
uhorngraveu   ỬZ	Uhornhooku   ửZ	uhornhooku   ỮZ
Uhorntildeu   ữZ
uhorntildeu   ŰZUhungarumlautu   űZuhungarumlautu   ŪZUmacronu   ūZumacron_
underscoreu   ‗Zunderscoredblu   ∪unionu   ∀	universalu   ŲZUogoneku   ųZuogoneku   ▀Zupblocku   ΥUpsilonu   υupsilonu   ϒZUpsilon1u   ΫZUpsilondieresisu   ϋZupsilondieresisu   ΰZupsilondieresistonosu   ΎZUpsilontonosu   ύZupsilontonosu   ŮZUringu   ůZuringu   ZUsmallu   ŨZUtildeu   ũZutildeu   ZVsmallu   ẂZWacuteu   ẃZwacuteu   ŴZWcircumflexu   ŵZwcircumflexu   ẄZ	Wdieresisu   ẅZ	wdieresisu   ℘Zweierstrassu   ẀZWgraveu   ẁZwgraveu   ₩ZWonSignu   ZWsmallu   ΞXiu   ξxiu   ZXsmall   ÝYacute   ýyacuteu   ZYacutesmallu   ŶZYcircumflexu   ŷZycircumflex   ÿZ
ydiaeresisu   ŸZ	YdieresisZ	ydieresisu   ZYdieresissmall   ¥yenu   ỲZYgraveu   ỳZygraveu   ZYsmallu   ŹZZacuteu   źZzacuteu   ŽZZcaronu   žZzcaronu   ZZcaronsmallu   ŻZ
Zdotaccentu   żZ
zdotaccentZzerou   ₀Zzeroinferioru   ZzerooldstyleZzerosubscriptu   ⁰Zzerosuperioru   ζzetau   ΖZetau   ZZsmallshiftc             c   s   |  ] } d  | Vq d S)zleft N ).0nrD  rD  /C:\Python Projects\keyboard\_canonical_names.py	<genexpr>  s    rH  c             c   s   |  ] } d  | Vq d S)zright NrD  )rE  rF  rD  rD  rG  rH    s    DarwinLinuxendselecthomefindnextZpriorc             C   s   |  s t  |  t  r0 t d t |     n  t |   d k rQ |  j   }  n  |  d k r~ d |  k r~ |  j d d  }  n  t j |  |   S)z
    Given a key name (e.g. "LEFT CONTROL"), clean up the string and convert to
    the canonical representation (e.g. "left ctrl") if one is known.
    z6Can only normalize non-empty string names. Unexpected    r2  r   )	
isinstance
basestring
ValueErrorreprlenlowerreplacecanonical_namesget)namerD  rD  rG  normalize_name  s    r[  )
__future__r   rR  	NameErrorstrplatformrX  sided_modifierssetall_modifierssystemupdater[  rD  rD  rD  rG  <module>   sj	  
C		