code: def connect_reuse_seed(
      seed: gr.Number,
      reuse_seed: gr.Button,
      generation_info: gr.Textbox,
      is_subseed,
  ):
      """Connects a 'reuse (sub)seed' button's click event so that it copies last used
      (sub)seed value from generation info the to the seed field. If copying subseed and subseed strength
      was 0, i.e. no variation seed was used, it copies the normal seed value instead.
      """
  
      def copy_seed(gen_info_string: str, index):
          res = -1
  
          try:
              gen_info = json.loads(gen_info_string)
              index -= gen_info.get("index_of_first_image", 0)
  
              if is_subseed and gen_info.get("subseed_strength", 0) > 0:
                  all_subseeds = gen_info.get("all_subseeds", [-1])
                  res = all_subseeds[
                      index if 0 <= index < len(all_subseeds) else 0
                  ]
              else:
                  all_seeds = gen_info.get("all_seeds", [-1])
                  res = all_seeds[
                      index if 0 <= index < len(all_seeds) else 0
                  ]
  
          except json.decoder.JSONDecodeError:
              if gen_info_string:
                  errors.report(
                      f"Error parsing JSON generation info: {gen_info_string}"
                  )
  
          return [res, gr.update()]
  
      reuse_seed.click(
          fn=copy_seed,
          _js="(x, y) => [x, selected_gallery_index()]",
          show_progress=False,
          inputs=[generation_info, seed],
          outputs=[seed, seed],
      )
  
file_path: stable-diffusion-webui/modules/processing_scripts/seed.py
imports: import json
  import gradio
  from modules import scripts, ui, errors
  from modules.shared import cmd_opts
  from modules.ui_components import ToolButton
label_desc: Use image node_id 1 for calling a global function with example usage: connect_reuse_seed(seed, reuse_seed, generation_info, is_subseed) and returns: list