code: func extractLabels(input map[string]string) (map[string]string, map[string]string) {
  	labels := make(map[string]string)
  	annotations := make(map[string]string)
  	for k, v := range input {
  		// Check if the key is used internally by the shim.
  		internal := false
  		for _, internalKey := range internalLabelKeys {
  			if k == internalKey {
  				internal = true
  				break
  			}
  		}
  		if internal {
  			continue
  		}
  
  		// Delete the container name label for the sandbox. It is added in the shim,
  		// should not be exposed via CRI.
  		if k == types.KubernetesContainerNameLabel &&
  			input[containerTypeLabelKey] == containerTypeLabelSandbox {
  			continue
  		}
  
  		// Check if the label should be treated as an annotation.
  		if strings.HasPrefix(k, annotationPrefix) {
  			annotations[strings.TrimPrefix(k, annotationPrefix)] = v
  			continue
  		}
  		labels[k] = v
  	}
  	return labels, annotations
  }
docs: // extractLabels converts raw docker labels to the CRI labels and annotations.
  // It also filters out internal labels used by this shim.