<s> """<STR_LIT>""" <EOL> import ellyChar <EOL> import dateTransform <EOL> import timeTransform <EOL> dT = dateTransform . DateTransform ( ) <EOL> tT = timeTransform . TimeTransform ( ) <EOL> def date ( buffr ) : <EOL> """<STR_LIT>""" <EOL> if dT . rewrite ( buffr ) : <EOL> return dT . length ( ) <EOL> else : <EOL> return <NUM_LIT:0> <EOL> def time ( buffr ) : <EOL> """<STR_LIT>""" <EOL> if tT . rewrite ( buffr ) : <EOL> return tT . length ( ) <EOL> else : <EOL> return <NUM_LIT:0> <EOL> ziprs = { <EOL> '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:3>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:3>' , <EOL> '<STR_LIT>' : '<STR_LIT:3>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:5>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:4>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:4>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:0>' , <EOL> '<STR_LIT>' : '<STR_LIT:2>' , '<STR_LIT>' : '<STR_LIT:0>' , '<STR_LIT>' : '<STR_LIT:4>' , '<STR_LIT>' : '<STR_LIT:5>' , '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:3>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:2>' , '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:0>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:1>' , <EOL> '<STR_LIT>' : '<STR_LIT:4>' , '<STR_LIT:OK>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:1>' , '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:3>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:2>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:5>' , '<STR_LIT>' : '<STR_LIT:2>' , '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> def stateZip ( buffr ) : <EOL> """<STR_LIT>""" <EOL> if len ( buffr ) < <NUM_LIT:8> or buffr [ <NUM_LIT:2> ] != '<STR_LIT:U+0020>' : return <NUM_LIT:0> <EOL> st = '<STR_LIT>' . join ( buffr [ : <NUM_LIT:2> ] ) . upper ( ) <EOL> if not st in ziprs : return <NUM_LIT:0> <EOL> zc = ziprs [ st ] <EOL> b = buffr [ <NUM_LIT:3> : ] <EOL> i = <NUM_LIT:0> <EOL> for c in zc : <EOL> if c != b [ i ] : return <NUM_LIT:0> <EOL> i += <NUM_LIT:1> <EOL> while i < <NUM_LIT:5> : <EOL> if not ellyChar . isDigit ( b [ i ] ) : return <NUM_LIT:0> <EOL> i += <NUM_LIT:1> <EOL> b = b [ <NUM_LIT:5> : ] <EOL> if len ( b ) == <NUM_LIT:0> : <EOL> return <NUM_LIT:8> <EOL> c = b [ <NUM_LIT:0> ] <EOL> if ellyChar . isLetterOrDigit ( c ) : <EOL> return <NUM_LIT:0> <EOL> elif b [ <NUM_LIT:0> ] == '<STR_LIT:->' : <EOL> if len ( b ) > <NUM_LIT:5> : <EOL> b = b [ <NUM_LIT:1> : ] <EOL> for i in range ( <NUM_LIT:4> ) : <EOL> if not ellyChar . isDigit ( b [ i ] ) : return <NUM_LIT:0> <EOL> b = b [ <NUM_LIT:4> : ] <EOL> if len ( b ) > <NUM_LIT:0> and ellyChar . isLetterOrDigit ( b [ <NUM_LIT:0> ] ) : return <NUM_LIT:0> <EOL> return <NUM_LIT:8> + <NUM_LIT:5> <EOL> else : <EOL> return <NUM_LIT:8> </s>
