In general, it should be the case that value_encode and value_decode are inverses on the range of value_decode.
The meaning for attrs is the same as in output().
HTTP_COOKIEand add the values found there as Morsels. If it is a dictionary, it is equivalent to:
for k, v in rawdata.items(): cookie[k] = v