code: def split_prefix_memory(cls, memory_text: str) -> Tuple[str, str]:
      MemoryUtils.validate_memory_format(memory_text)
      try:
          prfx, mem = memory_text.split(":", 1)
      except ValueError:
          # prompt agent sometimes says things like,
          # "Person 2 is"...
          assert memory_text.startswith(
              cls.self_prefix
          ) or memory_text.startswith(cls.partner_prefix)
          if memory_text.startswith(cls.self_prefix):
              prfx, mem = (
                  memory_text[: len(cls.self_prefix)],
                  memory_text[len(cls.self_prefix) + 1 :],
              )
          else:
              prfx, mem = (
                  memory_text[: len(cls.partner_prefix)],
                  memory_text[len(cls.partner_prefix) + 1 :],
              )
      return prfx.strip(), mem.strip()
  
imports: import aiohttp
  import asyncio
  from enum import Enum
  import json
  import math
  from nltk.corpus import stopwords
  from nltk.tokenize import word_tokenize
  from nltk.stem import PorterStemmer
  import os
  import random
  import string
  import time
  from typing import List, Tuple, Optional, Dict, Any, Set, Union
  from parlai.agents.ir_baseline.ir_baseline import score_match, MaxPriorityQueue
  from parlai.core.dict import DictionaryAgent
  from parlai.core.message import Message
  from parlai.core.metrics import F1Metric
  from parlai.core.torch_generator_agent import PPLMetric
  import parlai.utils.logging
  import projects.bb3.constants
  import projects.bb3.prompts
  from projects.bb3.agents.module import Module
label_desc: Use image node_id 5 for calling the MemoryUtils obj's underlying member method code with example usage: obj.split_prefix_memory(cls, memory_text) and returns: prfx,  mem