smarter regex
use set
added stat.py
refined the logic of matching
it is not need because regex is smarter now
do normalize for smaller str
better logic
updated the comments
added a timer
it took too many time
added average
added cumulative percent
added stats
changed the behavior of flat
make __init__ and repr simpler
removed last_no_pair
reworded
removed unnecessary logic
reworded comment
better regex