docs: def get_line_map(self, filename):
          """The line map for `filename`.
  
          A line map is a list of character offsets, indicating where each line
          in the text begins.  For example, a line map like this::
  
              [13, 19, 30]
  
          means that line 2 starts at character 13, line 3 starts at 19, etc.
          Line 1 always starts at character 0.
  
          """
          if filename not in self.source_map:
              template_source = read_template_source(filename)
              if 0:   # change to see the template text
                  for i in range(0, len(template_source), 10):
                      print("%3d: %r" % (i, template_source[i:i+10]))
              self.source_map[filename] = make_line_map(template_source)
          return self.source_map[filename]