code: def __init__(
      self,
      compute_client: aiogoogle.GoogleComputeClient,  # BORROWED
      initial_region_info: Dict[str, Dict[str, Any]],
      initial_zones: List[str],
      regions: Set[str],
      default_zone: str,
      machine_family_valid_zones: Dict[str, Set[str]],
  ):
      self._compute_client = compute_client
      self._region_info: Dict[str, Dict[str, Any]] = initial_region_info
      self._regions = regions
      self.zones: List[str] = initial_zones
      self._default_zone = default_zone
      self._machine_family_valid_zones: Dict[
          str, Set[str]
      ] = machine_family_valid_zones
  
      self.zone_success_rate = ZoneSuccessRate()
  
imports: import collections
  import logging
  import random
  from typing import Any, Dict, List, Set, Tuple
  from hailtop.aiocloud import aiogoogle
  from hailtop.utils import url_basename
  from ....driver.exceptions import RegionsNotSupportedError
  from ....driver.location import CloudLocationMonitor
  from ....utils import WindowFractionCounter
label_desc: Use image node_id 1 to create a new ZoneMonitor object from inherited base classes: CloudLocationMonitor with example: obj = ZoneMonitor(compute_client, initial_region_info, initial_zones, regions, default_zone, machine_family_valid_zones)