code: def _get_instance_zones(instance_offer: InstanceOffer) -> List[str]:
      zones = []
      for offer in get_catalog_offers(backend=BackendType.GCP):
          if _unique_instance_name(
              instance_offer.instance
          ) != _unique_instance_name(offer.instance):
              continue
          if offer.region[:-2] != instance_offer.region:
              continue
          zones.append(offer.region)
      return zones
  
imports: from collections import defaultdict
  from typing import Callable, Dict, List, Optional, Tuple
  import google.api_core.exceptions
  import google.cloud.compute_v1
  import dstack._internal.core.backends.gcp.auth
  import dstack._internal.core.backends.gcp.resources
  from dstack._internal.core.backends.base.compute import Compute, get_gateway_user_data, get_instance_name, get_user_data
  from dstack._internal.core.backends.base.offers import get_catalog_offers
  from dstack._internal.core.backends.gcp.config import GCPConfig
  from dstack._internal.core.errors import NoCapacityError, ResourceNotFoundError
  from dstack._internal.core.models.backends.base import BackendType
  from dstack._internal.core.models.instances import InstanceAvailability, InstanceOffer, InstanceOfferWithAvailability, InstanceType, LaunchedGatewayInfo, LaunchedInstanceInfo, Resources
  from dstack._internal.core.models.runs import Job, Requirements, Run
label_desc: Use image node_id 4 for calling a global function with example usage: _get_instance_zones(instance_offer) and returns: zones