code: def create(cls, session_token):
          
  
          version = None
          global_lsn = None
          local_lsn_by_region = {}
  
          if not session_token:
              return None
  
          segments = session_token.split(cls.segment_separator)
          
          if len(segments) < 2:
              return None
  
          try:
              version = int(segments[0])
          except ValueError as _:
              return None
  
          try:
              global_lsn = int(segments[1])
          except ValueError as _:
              return None
  
          for i in range(2, len(segments)):
              region_segment = segments[i]
              region_id_with_lsn = region_segment.split(cls.region_progress_separator)
  
              if len(region_id_with_lsn) != 2:
                  return None
  
              try:
                  region_id = int(region_id_with_lsn[0])
                  local_lsn = int(region_id_with_lsn[1])
              except ValueError as _:
                  return None
              local_lsn_by_region[region_id] = local_lsn
  
          return VectorSessionToken(version, global_lsn, local_lsn_by_region, session_token)
docs: Parses session token and creates the vector session token
  
          :param str session_token:
  
          :return:
              A Vector session Token 
          :rtype: VectorSessionToken