        /* the ORDER, read from the stores rather than off the screen: after
           a drop the page re-reads its rows, so this is what the backend
           kept, not what the drag painted */
        plOrder: (function () { try { return __ss.pls.pls.current.items.map(function (x) { return x.title; }).join('|'); } catch (e) { return ''; } })(),
        qOrder: (function () { try { return __ss.player.queue.slice(__ss.player.qi + 1, __ss.player.qi + 9).map(function (x) { return x.t.title; }).join('|'); } catch (e) { return ''; } })(),
        plNote: (document.querySelector('.pl-note') || {}).textContent || '',
