code: def create_hang_app(config: Dict) -> Application:
      name: str = config["name"]
      min_replicas: int = config["min_replicas"]
      initial_replicas: int = config["initial_replicas"]
      max_replicas: int = config["max_replicas"]
  
      return HangDeployment.options(
          name=name,
          autoscaling_config={
              "min_replicas": min_replicas,
              "initial_replicas": initial_replicas,
              "max_replicas": max_replicas,
              "target_num_ongoing_requests_per_replicas": 1,
              "metrics_interval_s": 0.01,
              "downscale_delay_s": 0.01,
          },
          graceful_shutdown_timeout_s=0.01,
      ).bind()
  
imports: import asyncio
  import sys
  from copy import deepcopy
  from typing import Dict, Optional
  import pytest
  import ray
  from ray import serve
  from ray._private.pydantic_compat import BaseModel
  from ray._private.test_utils import SignalActor, wait_for_condition
  from ray.exceptions import RayActorError
  from ray.serve import Application
  from ray.serve._private.client import ServeControllerClient
  from ray.serve._private.common import ApplicationStatus, DeploymentStatus, DeploymentStatusTrigger, ReplicaState, TargetCapacityDirection
  from ray.serve._private.constants import SERVE_DEFAULT_APP_NAME, SERVE_NAMESPACE
  from ray.serve.config import AutoscalingConfig
  from ray.serve.context import _get_global_client
  from ray.serve.schema import ServeApplicationSchema, ServeDeploySchema
label_desc: Use image node_id 10 for calling a global function with example usage: create_hang_app(config) and returns: HangDeployment