code: def ensure_prepared(self):
          
  
          if self._prepared:
              return
  
          exact_count = 0
          fixed_count = 0
          inexact_count = 0
  
          self._logger.debug("Preparing UTCAssigner (%d total anchors)", len(self._anchor_points))
  
          for curr in self._anchor_points:
              if not curr.exact:
                  assignment = self.assign_utc(curr.reading_id, curr.uptime)
                  if assignment is not None and assignment.exact:
                      curr.utc = assignment.utc
                      curr.exact = True
                      fixed_count += 1
                  else:
                      inexact_count += 1
              else:
                  exact_count += 1
  
          self._logger.debug("Prepared UTCAssigner with %d reference points, "
                             "%d exact anchors and %d inexact anchors",
                             exact_count, fixed_count, inexact_count)
  
          self._prepared = True
docs: Calculate and cache UTC values for all exactly known anchor points.