code: def _unverified_decode(token):
      
      token = _helpers.to_bytes(token)
  
      if token.count(b'.') != 2:
          raise ValueError(
              'Wrong number of segments in token: {0}'.format(token))
  
      encoded_header, encoded_payload, signature = token.split(b'.')
      signed_section = encoded_header + b'.' + encoded_payload
      signature = _helpers.padded_urlsafe_b64decode(signature)
  
      # Parse segments
      header = _decode_jwt_segment(encoded_header)
      payload = _decode_jwt_segment(encoded_payload)
  
      return header, payload, signed_section, signature
docs: Decodes a token and does no verification.
  
      Args:
          token (Union[str, bytes]): The encoded JWT.
  
      Returns:
          Tuple[str, str, str, str]: header, payload, signed_section, and
              signature.
  
      Raises:
          ValueError: if there are an incorrect amount of segments in the token.