<s> """<STR_LIT>""" <EOL> class BaseConverter ( object ) : <EOL> decimal_digits = "<STR_LIT>" <EOL> def __init__ ( self , digits ) : <EOL> self . digits = digits <EOL> def from_decimal ( self , i ) : <EOL> return self . convert ( i , self . decimal_digits , self . digits ) <EOL> def to_decimal ( self , s ) : <EOL> return int ( self . convert ( s , self . digits , self . decimal_digits ) ) <EOL> def convert ( number , fromdigits , todigits ) : <EOL> if str ( number ) [ <NUM_LIT:0> ] == '<STR_LIT:->' : <EOL> number = str ( number ) [ <NUM_LIT:1> : ] <EOL> neg = <NUM_LIT:1> <EOL> else : <EOL> neg = <NUM_LIT:0> <EOL> x = <NUM_LIT:0> <EOL> for digit in str ( number ) : <EOL> x = x * len ( fromdigits ) + fromdigits . index ( digit ) <EOL> if x == <NUM_LIT:0> : <EOL> res = todigits [ <NUM_LIT:0> ] <EOL> else : <EOL> res = "<STR_LIT>" <EOL> while x > <NUM_LIT:0> : <EOL> digit = x % len ( todigits ) <EOL> res = todigits [ digit ] + res <EOL> x = int ( x / len ( todigits ) ) <EOL> if neg : <EOL> res = '<STR_LIT:->' + res <EOL> return res <EOL> convert = staticmethod ( convert ) <EOL> bin = BaseConverter ( '<STR_LIT>' ) <EOL> hexconv = BaseConverter ( '<STR_LIT>' ) <EOL> base62 = BaseConverter ( <EOL> '<STR_LIT>' <EOL> ) </s>
