code: def _websocket_mask_python(mask: bytes, data: bytearray) -> None:
      
      assert isinstance(data, bytearray), data
      assert len(mask) == 4, mask
  
      if data:
          a, b, c, d = (_XOR_TABLE[n] for n in mask)
          data[::4] = data[::4].translate(a)
          data[1::4] = data[1::4].translate(b)
          data[2::4] = data[2::4].translate(c)
          data[3::4] = data[3::4].translate(d)
docs: Websocket masking function.
  
      `mask` is a `bytes` object of length 4; `data` is a `bytearray`
      object of any length. The contents of `data` are masked with `mask`,
      as specified in section 5.3 of RFC 6455.
  
      Note that this function mutates the `data` argument.
  
      This pure-python implementation may be replaced by an optimized
      version when available.