يتم إعطاؤك مقتطف رمز يحدد وظيفتين: `reduceIndexed` و`genBitString`. مهمتك هي تنفيذ الوظيفة `genCombinations` التي تولد كل المجموعات الممكنة لمصفوفة معينة.

تأخذ الدالة `genCombinations` مصفوفة من الأرقام كمدخلات وترجع مصفوفة من المصفوفات التي تحتوي على جميع المجموعات الممكنة. ترتيب المجموعات لا يهم.

على سبيل المثال، في ضوء مصفوفة الإدخال `[1، 2، 3]`، يجب أن تقوم الدالة `genCombinations` بإرجاع `[[]، [3]، [2]، [2,3]، [1]، [1، 3]، [1،2]، [1،2،3]]`.

تحتاج إلى إكمال تعريف وظيفة `genCombinations`.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}