JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr i f/ !@s;dZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCg!Z%dDdEZ&dFdGZ'dHdIZ(dJdKZ)dLdMZ*dNdOZ+dPdQZ,dRdSZ-dTdUZ.dVdWZ/dXdYZ0dZd[Z1d\d]Z2d^d_Z3d`daZ4dbdcZ5dddeZ6dfdgZ7dhdiZ8djdkZ9dlS)mz3Constants and membership tests for ASCII characters  NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPcCs*t|tdkr"t|S|SdS)N)typeord)crH1/opt/alt/python34/lib64/python3.4/curses/ascii.py_ctoi0s rJcCst|pt|S)N)isalphaisdigit)rGrHrHrIisalnum6srMcCst|pt|S)N)isupperislower)rGrHrHrIrK7srKcCst|dkS)Nr")rJ)rGrHrHrIisascii8srPcCst|dkS)Nr r!)r r!)rJ)rGrHrHrIisblank9srQcCst|dkS)Nr )rJ)rGrHrHrIiscntrl:srRcCs"t|dko!t|dkS)N09)rJ)rGrHrHrIrL;srLcCs"t|dko!t|dkS)N!~)rJ)rGrHrHrIisgraph<srWcCs"t|dko!t|dkS)Naz)rJ)rGrHrHrIrO=srOcCs"t|dko!t|dkS)Nr!rV)rJ)rGrHrHrIisprint>srZcCst|dkot| S)Nr!)rJrM)rGrHrHrIispunct?sr[cCst|dkS)Nr r r r rr!)r r r r rr!)rJ)rGrHrHrIisspace@sr\cCs"t|dko!t|dkS)NAZ)rJ)rGrHrHrIrNAsrNcCsRt|pQt|dkr0t|dkpQt|dkoQt|dkS)Nr]FrXf)rLrJ)rGrHrHrIisxdigitBs racCst|dkS)Nr!)rJ)rGrHrHrIisctrlDsrbcCst|dkS)Nr")rJ)rGrHrHrIismetaEsrccCs>t|tdkr,tt|d@St|d@SdS)NrDr")rEchrrJ)rGrHrHrIasciiGsrecCs>t|tdkr,tt|d@St|d@SdS)NrDr )rErdrJ)rGrHrHrIctrlMsrfcCs>t|tdkr,tt|dBSt|dBSdS)NrD)rErdrJ)rGrHrHrIaltSsrhcCsvt|}|dkr!d}n?t|d@rDt|d@}ndt|d@dBd}|d@rrd|S|S)Nr"z^?^r!rg!)rJrZrd)rGbitsZreprHrHrIunctrlYs    rlN):__doc__r#r$r%r&r'r(r)r*r+ZTABr,r-NLr.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCZDELZ controlnamesrJrMrKrPrQrRrLrWrOrZr[r\rNrarbrcrerfrhrlrHrHrHrIsz