code: def copy_table_rows(
      driver: WebDriver, table: DataTable, rows: Sequence[int]
  ) -> None:
      actions = ActionChains(driver)
      row = get_table_row(driver, table, rows[0])
      actions.move_to_element(row)
      actions.click()
      actions.key_down(Keys.SHIFT)
      for r in rows[1:]:
          row = get_table_row(driver, table, r)
          actions.move_to_element(row)
          actions.click()
      actions.key_up(Keys.SHIFT)
      actions.key_down(Keys.CONTROL)
      actions.send_keys(Keys.INSERT)
      actions.key_up(Keys.CONTROL)
      # actions.send_keys(Keys.CONTROL, 'c')
      actions.perform()
  
imports: from __future__ import annotations
  import logging
  from typing import TYPE_CHECKING, Any, Sequence
  from selenium.webdriver.common.action_chains import ActionChains
  from selenium.webdriver.common.by import By
  from selenium.webdriver.common.keys import Keys
  from bokeh.models import Button
label_desc: Use image node_id 17 for calling a global function with example usage: copy_table_rows(driver, table, rows) without return types