human
Solve the following python programming problem given the following code:
@ classmethod 
def find_all_by_mapreduce_state(cls, mapreduce_state) : 
    'Find all shard states for given mapreduce.

    Args:
      mapreduce_state: MapreduceState instance

    Yields:
      shard states sorted by shard id.
    ' 
    keys = cls.calculate_keys_by_mapreduce_state (mapreduce_state) 
    i = 0 
    while (i < len (s)) : 
        @ db.non_transactional 
        def no_tx_get(i) : 
            return db.get (keys [i : (i + cls._MAX_STATES_IN_MEMORY)]) 
states = no_tx_get (i) 
        for s in states : 
            i += 1 
            if (s is not None) : 
                (yield s) 

    
    

    Fix the buggy line: while (i < len (s)) :
assistant
#Here is Python code to find all shard states for given mapreduce.

while (i < len (keys)) :