class_docstr: Dedupe the input measures within a metric.
  
  This can be removed once the fix is in the dbt-core transformation.
code: def transform_model(
      semantic_manifest: PydanticSemanticManifest,
  ) -> PydanticSemanticManifest:  # noqa: D
      for metric in semantic_manifest.metrics:
          metric.type_params.input_measures = list(
              dict.fromkeys(metric.input_measures).keys()
          )
      return semantic_manifest
  
file_path: metricflow/metricflow/model/transformations/dedupe_metric_input_measures.py
imports: from __future__ import annotations
  from dbt_semantic_interfaces.implementations.semantic_manifest import PydanticSemanticManifest
  from dbt_semantic_interfaces.protocols import ProtocolHint
  from dbt_semantic_interfaces.transformations.transform_rule import SemanticManifestTransformRule
  from typing_extensions import override
label_desc: Use image node_id 2 for calling the DedupeMetricInputMeasuresRule obj's underlying member method code with example usage: obj.transform_model(semantic_manifest) and returns: semantic_manifest