code: def forward_copying_source(self, src_embeds, src_masks, tgt_masks):
      length_sources = src_masks.sum(1)
      length_targets = tgt_masks.sum(1)
      mapped_inputs = _uniform_assignment(
          length_sources, length_targets
      ).masked_fill(~tgt_masks, 0)
      copied_embedding = torch.gather(
          src_embeds,
          1,
          mapped_inputs.unsqueeze(-1).expand(
              *mapped_inputs.size(), src_embeds.size(-1)
          ),
      )
      return copied_embedding
  
imports: import torch
  import torch.nn.functional
  from fairseq import utils
  from fairseq.iterative_refinement_generator import DecoderOut
  from fairseq.models import register_model, register_model_architecture
  from fairseq.models.nat import FairseqNATDecoder, FairseqNATModel, ensemble_decoder
  from fairseq.models.transformer import Embedding
  from fairseq.modules.transformer_sentence_encoder import init_bert_params
label_desc: Use image node_id 6 for calling the NATransformerDecoder obj's underlying member method code with example usage: obj.forward_copying_source(src_embeds, src_masks, tgt_masks) and returns: copied_embedding