code: def _parse_curves(block, **kwargs):
      
      count = int(block.pop(0))
  
      curves = []
      for i in range(count):
          for param in ['mod_reduc', 'damping']:
              length, name = parse_fixed_width([(5, int), (65, to_str)], block)
              curves.append(
                  site.NonlinearProperty(
                      name,
                      parse_fixed_width(length * [(10, float)], block),
                      parse_fixed_width(length * [(10, float)], block), param))
  
      length = int(block[0][:5])
      soil_types = parse_fixed_width((length + 1) * [(5, int)], block)[1:]
  
      # Group soil type number and curves together
      return {(soil_types[i // 2], c.param): c for i, c in enumerate(curves)}
docs: Parse nonlinear curves block.