code: def get_initial_state(self, source_length: mx.sym.Symbol, source_seq_len: int) -> AttentionState:
          
          dynamic_source = mx.sym.reshape(mx.sym.zeros_like(source_length), shape=(-1, 1, 1))
          # dynamic_source: (batch_size, source_seq_len, num_hidden_dynamic_source)
          dynamic_source = mx.sym.broadcast_to(dynamic_source, shape=(0, source_seq_len, self.dynamic_source_num_hidden))
          return AttentionState(context=None, probs=None, dynamic_source=dynamic_source)
docs: Returns initial attention state. Dynamic source encoding is initialized with zeros.
  
          :param source_length: Source length. Shape: (batch_size,).
          :param source_seq_len: Maximum length of source sequences.