// SPDX-FileCopyrightText: Chris Pressey, the original author of this work, has dedicated it to the public domain.
// For more information, please refer to <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
function allPermutations(items) {
    var item;
    var subItems;
    var permutations = [];
    for (var i = 0; i < items.length; i++) {
        item = items[i];
        subItems = items.slice();
        subItems.splice(i, 1);
        if (subItems.length > 0) {
            var subPermutations = allPermutations(subItems);
            for (var j = 0; j < subPermutations.length; j++) {
                var newItems = [item].concat(subPermutations[j]);
                permutations.push(newItems);
            }
        } else {
            permutations.push([item]);
        }
    }
    return permutations;
}