@g4rcez/components 4.0.2 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/SKILL.md +120 -153
- package/ai/docs/Alert.md +47 -48
- package/ai/docs/AnimatedList.md +88 -87
- package/ai/docs/Autocomplete.md +102 -106
- package/ai/docs/Button.md +33 -33
- package/ai/docs/Calendar.md +67 -101
- package/ai/docs/Card.md +59 -55
- package/ai/docs/Checkbox.md +77 -82
- package/ai/docs/CommandPalette.md +154 -172
- package/ai/docs/DatePicker.md +45 -64
- package/ai/docs/Dropdown.md +98 -126
- package/ai/docs/Empty.md +41 -44
- package/ai/docs/Expand.md +40 -54
- package/ai/docs/FileUpload.md +102 -109
- package/ai/docs/Form.md +35 -29
- package/ai/docs/FormReset.md +37 -37
- package/ai/docs/Heading.md +4 -6
- package/ai/docs/Input.md +73 -98
- package/ai/docs/InputField.md +67 -67
- package/ai/docs/List.md +88 -85
- package/ai/docs/Menu.md +62 -60
- package/ai/docs/Modal.md +129 -136
- package/ai/docs/MultiSelect.md +65 -84
- package/ai/docs/Notifications.md +96 -96
- package/ai/docs/PageCalendar.md +88 -97
- package/ai/docs/Polymorph.md +25 -41
- package/ai/docs/Progress.md +55 -51
- package/ai/docs/Radiobox.md +49 -41
- package/ai/docs/RenderOnView.md +26 -32
- package/ai/docs/Resizable.md +60 -65
- package/ai/docs/Select.md +158 -158
- package/ai/docs/Shortcut.md +14 -14
- package/ai/docs/Skeleton.md +56 -60
- package/ai/docs/Slider.md +26 -49
- package/ai/docs/Slot.md +15 -17
- package/ai/docs/Spinner.md +17 -15
- package/ai/docs/Stats.md +44 -42
- package/ai/docs/Step.md +60 -60
- package/ai/docs/Switch.md +44 -54
- package/ai/docs/Table.md +124 -136
- package/ai/docs/Tabs.md +90 -90
- package/ai/docs/Tag.md +63 -65
- package/ai/docs/TaskList.md +40 -50
- package/ai/docs/Textarea.md +47 -70
- package/ai/docs/Timeline.md +98 -96
- package/ai/docs/Toolbar.md +46 -46
- package/ai/docs/Tooltip.md +103 -103
- package/ai/docs/Typography.md +55 -55
- package/ai/docs/Wizard.md +104 -109
- package/ai/docs/index.md +116 -116
- package/dist/autocomplete-DcTNOwyg.js +393 -0
- package/dist/autocomplete-DcTNOwyg.js.map +1 -0
- package/dist/{calendar-B5lSd0ID.js → calendar-BJMHRoy2.js} +104 -105
- package/dist/calendar-BJMHRoy2.js.map +1 -0
- package/dist/components/core/button.js +10 -10
- package/dist/components/core/button.js.map +1 -1
- package/dist/components/core/tag.js +4 -4
- package/dist/components/core/tag.js.map +1 -1
- package/dist/components/display/alert.js +48 -46
- package/dist/components/display/alert.js.map +1 -1
- package/dist/components/display/calendar.js +6 -6
- package/dist/components/display/card.js +2 -2
- package/dist/components/display/card.js.map +1 -1
- package/dist/components/display/list.js +1 -1
- package/dist/components/display/list.js.map +1 -1
- package/dist/components/display/notifications.js +3 -3
- package/dist/components/display/stats.js +1 -1
- package/dist/components/display/tabs.js +2 -2
- package/dist/components/display/timeline.js +1 -1
- package/dist/components/floating/dropdown.js +25 -17
- package/dist/components/floating/dropdown.js.map +1 -1
- package/dist/components/floating/expand.js +7 -7
- package/dist/components/floating/expand.js.map +1 -1
- package/dist/components/floating/menu.js +10 -10
- package/dist/components/floating/menu.js.map +1 -1
- package/dist/components/floating/modal.js +106 -102
- package/dist/components/floating/modal.js.map +1 -1
- package/dist/components/floating/tooltip.js +14 -14
- package/dist/components/floating/tooltip.js.map +1 -1
- package/dist/components/form/autocomplete.js +6 -6
- package/dist/components/form/checkbox.js +1 -1
- package/dist/components/form/date-picker.js +5 -5
- package/dist/components/form/file-upload.js +2 -2
- package/dist/components/form/form.js.map +1 -1
- package/dist/components/form/input.js +1 -1
- package/dist/components/form/radiobox.js +1 -1
- package/dist/components/form/select.js +3 -3
- package/dist/components/form/switch.js +2 -2
- package/dist/components/form/switch.js.map +1 -1
- package/dist/components/table/table.js +3 -3
- package/dist/{date-picker-DwNo22lx.js → date-picker-Bnl07nd8.js} +8 -6
- package/dist/date-picker-Bnl07nd8.js.map +1 -0
- package/dist/{dom-Dl8XH0CK.js → dom-CyQHY7ID.js} +66 -61
- package/dist/dom-CyQHY7ID.js.map +1 -0
- package/dist/{file-upload-Brf2NkLr.js → file-upload-93d5DR4q.js} +139 -129
- package/dist/file-upload-93d5DR4q.js.map +1 -0
- package/dist/{floating-ui.react-QNHG9W4N.js → floating-ui.react-M2PGXLDp.js} +8 -8
- package/dist/floating-ui.react-M2PGXLDp.js.map +1 -0
- package/dist/{fns-D2eyJKd5.js → fns-C7Dt27Qd.js} +2 -2
- package/dist/fns-C7Dt27Qd.js.map +1 -0
- package/dist/index-BJ1ayTam.js +126 -0
- package/dist/index-BJ1ayTam.js.map +1 -0
- package/dist/index-C-PuFUZi.js.map +1 -1
- package/dist/{index-BelDtX5M.js → index-DDeQW0JW.js} +399 -404
- package/dist/index-DDeQW0JW.js.map +1 -0
- package/dist/index-DE4shK8D.js +215 -0
- package/dist/index-DE4shK8D.js.map +1 -0
- package/dist/{index-DJSMaZR4.js → index-DlJ_2RBL.js} +2 -2
- package/dist/index-DlJ_2RBL.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.esm-BaIwleSE.js.map +1 -1
- package/dist/index.js +2810 -2756
- package/dist/index.js.map +1 -1
- package/dist/{input-CrGrSnUt.js → input-_MVxmIpu.js} +116 -114
- package/dist/input-_MVxmIpu.js.map +1 -0
- package/dist/{input-field-5vYcz5tT.js → input-field-CDCOODOl.js} +63 -47
- package/dist/input-field-CDCOODOl.js.map +1 -0
- package/dist/notifications-Dp0ydKJS.js +2576 -0
- package/dist/notifications-Dp0ydKJS.js.map +1 -0
- package/dist/polymorph-B5n9fs_K.js.map +1 -1
- package/dist/preset/plugin.tailwind.d.ts.map +1 -1
- package/dist/preset/plugin.tailwind.js +20 -18
- package/dist/preset/preset.tailwind.js +24 -25
- package/dist/preset/src/styles/common.js +6 -3
- package/dist/preset/src/styles/dark.d.ts.map +1 -1
- package/dist/preset/src/styles/dark.js +9 -5
- package/dist/preset/src/styles/design-tokens.js +68 -89
- package/dist/preset/src/styles/light.d.ts.map +1 -1
- package/dist/preset/src/styles/light.js +9 -5
- package/dist/preset/src/styles/theme.js +7 -4
- package/dist/preset/src/styles/theme.types.d.ts +2 -1
- package/dist/preset/src/styles/theme.types.d.ts.map +1 -1
- package/dist/preset/src/styles/theme.types.js +2 -1
- package/dist/skeleton-BjJobYYf.js +24 -0
- package/dist/skeleton-BjJobYYf.js.map +1 -0
- package/dist/slot-CRyweuj0.js.map +1 -1
- package/dist/styles/common.js +6 -3
- package/dist/styles/dark.d.ts.map +1 -1
- package/dist/styles/dark.js +9 -5
- package/dist/styles/design-tokens.js +68 -89
- package/dist/styles/light.d.ts.map +1 -1
- package/dist/styles/light.js +9 -5
- package/dist/styles/theme.js +7 -4
- package/dist/styles/theme.types.d.ts +2 -1
- package/dist/styles/theme.types.d.ts.map +1 -1
- package/dist/styles/theme.types.js +2 -1
- package/dist/tabs-B0g7YtQv.js +123 -0
- package/dist/tabs-B0g7YtQv.js.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/{context-BFXNJVn2.js → use-translations-DSltA7H_.js} +38 -30
- package/dist/use-translations-DSltA7H_.js.map +1 -0
- package/package.json +99 -86
- package/ai/docs/TransferList.md +0 -142
- package/dist/autocomplete-Cn9Z2hLq.js +0 -375
- package/dist/autocomplete-Cn9Z2hLq.js.map +0 -1
- package/dist/calendar-B5lSd0ID.js.map +0 -1
- package/dist/components/core/button.d.ts +0 -77
- package/dist/components/core/button.d.ts.map +0 -1
- package/dist/components/core/heading.d.ts +0 -3
- package/dist/components/core/heading.d.ts.map +0 -1
- package/dist/components/core/polymorph.d.ts +0 -10
- package/dist/components/core/polymorph.d.ts.map +0 -1
- package/dist/components/core/render-on-view.d.ts +0 -7
- package/dist/components/core/render-on-view.d.ts.map +0 -1
- package/dist/components/core/resizable.d.ts +0 -3
- package/dist/components/core/resizable.d.ts.map +0 -1
- package/dist/components/core/slot.d.ts +0 -16
- package/dist/components/core/slot.d.ts.map +0 -1
- package/dist/components/core/tag.d.ts +0 -35
- package/dist/components/core/tag.d.ts.map +0 -1
- package/dist/components/core/typography.d.ts +0 -25
- package/dist/components/core/typography.d.ts.map +0 -1
- package/dist/components/display/alert.d.ts +0 -28
- package/dist/components/display/alert.d.ts.map +0 -1
- package/dist/components/display/calendar.d.ts +0 -42
- package/dist/components/display/calendar.d.ts.map +0 -1
- package/dist/components/display/card.d.ts +0 -29
- package/dist/components/display/card.d.ts.map +0 -1
- package/dist/components/display/empty.d.ts +0 -8
- package/dist/components/display/empty.d.ts.map +0 -1
- package/dist/components/display/list.d.ts +0 -16
- package/dist/components/display/list.d.ts.map +0 -1
- package/dist/components/display/notifications.d.ts +0 -27
- package/dist/components/display/notifications.d.ts.map +0 -1
- package/dist/components/display/progress.d.ts +0 -13
- package/dist/components/display/progress.d.ts.map +0 -1
- package/dist/components/display/shortcut.d.ts +0 -4
- package/dist/components/display/shortcut.d.ts.map +0 -1
- package/dist/components/display/skeleton.d.ts +0 -12
- package/dist/components/display/skeleton.d.ts.map +0 -1
- package/dist/components/display/spinner.d.ts +0 -5
- package/dist/components/display/spinner.d.ts.map +0 -1
- package/dist/components/display/stats.d.ts +0 -12
- package/dist/components/display/stats.d.ts.map +0 -1
- package/dist/components/display/step.d.ts +0 -24
- package/dist/components/display/step.d.ts.map +0 -1
- package/dist/components/display/tabs.d.ts +0 -24
- package/dist/components/display/tabs.d.ts.map +0 -1
- package/dist/components/display/timeline.d.ts +0 -10
- package/dist/components/display/timeline.d.ts.map +0 -1
- package/dist/components/floating/command-palette.d.ts +0 -49
- package/dist/components/floating/command-palette.d.ts.map +0 -1
- package/dist/components/floating/dropdown.d.ts +0 -15
- package/dist/components/floating/dropdown.d.ts.map +0 -1
- package/dist/components/floating/expand.d.ts +0 -11
- package/dist/components/floating/expand.d.ts.map +0 -1
- package/dist/components/floating/menu.d.ts +0 -52
- package/dist/components/floating/menu.d.ts.map +0 -1
- package/dist/components/floating/modal.d.ts +0 -60
- package/dist/components/floating/modal.d.ts.map +0 -1
- package/dist/components/floating/toolbar.d.ts +0 -6
- package/dist/components/floating/toolbar.d.ts.map +0 -1
- package/dist/components/floating/tooltip.d.ts +0 -17
- package/dist/components/floating/tooltip.d.ts.map +0 -1
- package/dist/components/floating/wizard.d.ts +0 -26
- package/dist/components/floating/wizard.d.ts.map +0 -1
- package/dist/components/form/autocomplete.d.ts +0 -16
- package/dist/components/form/autocomplete.d.ts.map +0 -1
- package/dist/components/form/checkbox.d.ts +0 -12
- package/dist/components/form/checkbox.d.ts.map +0 -1
- package/dist/components/form/date-picker.d.ts +0 -10
- package/dist/components/form/date-picker.d.ts.map +0 -1
- package/dist/components/form/file-upload.d.ts +0 -15
- package/dist/components/form/file-upload.d.ts.map +0 -1
- package/dist/components/form/form.d.ts +0 -3
- package/dist/components/form/form.d.ts.map +0 -1
- package/dist/components/form/formReset.d.ts +0 -2
- package/dist/components/form/formReset.d.ts.map +0 -1
- package/dist/components/form/free-text.d.ts +0 -11
- package/dist/components/form/free-text.d.ts.map +0 -1
- package/dist/components/form/input-field.d.ts +0 -34
- package/dist/components/form/input-field.d.ts.map +0 -1
- package/dist/components/form/input.d.ts +0 -52
- package/dist/components/form/input.d.ts.map +0 -1
- package/dist/components/form/multi-select.d.ts +0 -19
- package/dist/components/form/multi-select.d.ts.map +0 -1
- package/dist/components/form/radiobox.d.ts +0 -7
- package/dist/components/form/radiobox.d.ts.map +0 -1
- package/dist/components/form/select.d.ts +0 -13
- package/dist/components/form/select.d.ts.map +0 -1
- package/dist/components/form/slider.d.ts +0 -7
- package/dist/components/form/slider.d.ts.map +0 -1
- package/dist/components/form/switch.d.ts +0 -9
- package/dist/components/form/switch.d.ts.map +0 -1
- package/dist/components/form/task-list.d.ts +0 -3
- package/dist/components/form/task-list.d.ts.map +0 -1
- package/dist/components/form/textarea.d.ts +0 -6
- package/dist/components/form/textarea.d.ts.map +0 -1
- package/dist/components/form/transfer-list.d.ts +0 -14
- package/dist/components/form/transfer-list.d.ts.map +0 -1
- package/dist/components/form/transfer-list.js +0 -55
- package/dist/components/form/transfer-list.js.map +0 -1
- package/dist/components/index.d.ts +0 -46
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/page-calendar/calendar-header.d.ts +0 -16
- package/dist/components/page-calendar/calendar-header.d.ts.map +0 -1
- package/dist/components/page-calendar/day-view.d.ts +0 -12
- package/dist/components/page-calendar/day-view.d.ts.map +0 -1
- package/dist/components/page-calendar/event-pill.d.ts +0 -9
- package/dist/components/page-calendar/event-pill.d.ts.map +0 -1
- package/dist/components/page-calendar/index.d.ts +0 -4
- package/dist/components/page-calendar/index.d.ts.map +0 -1
- package/dist/components/page-calendar/month-view.d.ts +0 -11
- package/dist/components/page-calendar/month-view.d.ts.map +0 -1
- package/dist/components/page-calendar/page-calendar.d.ts +0 -18
- package/dist/components/page-calendar/page-calendar.d.ts.map +0 -1
- package/dist/components/page-calendar/page-calendar.types.d.ts +0 -18
- package/dist/components/page-calendar/page-calendar.types.d.ts.map +0 -1
- package/dist/components/page-calendar/page-calendar.utils.d.ts +0 -24
- package/dist/components/page-calendar/page-calendar.utils.d.ts.map +0 -1
- package/dist/components/page-calendar/week-view.d.ts +0 -11
- package/dist/components/page-calendar/week-view.d.ts.map +0 -1
- package/dist/components/table/filter.d.ts +0 -42
- package/dist/components/table/filter.d.ts.map +0 -1
- package/dist/components/table/group.d.ts +0 -17
- package/dist/components/table/group.d.ts.map +0 -1
- package/dist/components/table/index.d.ts +0 -20
- package/dist/components/table/index.d.ts.map +0 -1
- package/dist/components/table/inner-table.d.ts +0 -29
- package/dist/components/table/inner-table.d.ts.map +0 -1
- package/dist/components/table/metadata.d.ts +0 -4
- package/dist/components/table/metadata.d.ts.map +0 -1
- package/dist/components/table/pagination.d.ts +0 -3
- package/dist/components/table/pagination.d.ts.map +0 -1
- package/dist/components/table/row.d.ts +0 -12
- package/dist/components/table/row.d.ts.map +0 -1
- package/dist/components/table/sort.d.ts +0 -28
- package/dist/components/table/sort.d.ts.map +0 -1
- package/dist/components/table/table-lib.d.ts +0 -135
- package/dist/components/table/table-lib.d.ts.map +0 -1
- package/dist/components/table/table.context.d.ts +0 -10
- package/dist/components/table/table.context.d.ts.map +0 -1
- package/dist/components/table/thead.d.ts +0 -9
- package/dist/components/table/thead.d.ts.map +0 -1
- package/dist/config/context.d.ts +0 -21
- package/dist/config/context.d.ts.map +0 -1
- package/dist/config/default-translations.d.ts +0 -90
- package/dist/config/default-translations.d.ts.map +0 -1
- package/dist/config/default-tweaks.d.ts +0 -13
- package/dist/config/default-tweaks.d.ts.map +0 -1
- package/dist/constants.d.ts +0 -3
- package/dist/constants.d.ts.map +0 -1
- package/dist/context-BFXNJVn2.js.map +0 -1
- package/dist/date-picker-DwNo22lx.js.map +0 -1
- package/dist/dom-Dl8XH0CK.js.map +0 -1
- package/dist/file-upload-Brf2NkLr.js.map +0 -1
- package/dist/floating-ui.react-QNHG9W4N.js.map +0 -1
- package/dist/fns-D2eyJKd5.js.map +0 -1
- package/dist/hooks/use-click-outside.d.ts +0 -3
- package/dist/hooks/use-click-outside.d.ts.map +0 -1
- package/dist/hooks/use-color-parser.d.ts +0 -2
- package/dist/hooks/use-color-parser.d.ts.map +0 -1
- package/dist/hooks/use-components-provider.d.ts +0 -15
- package/dist/hooks/use-components-provider.d.ts.map +0 -1
- package/dist/hooks/use-debounce.d.ts +0 -5
- package/dist/hooks/use-debounce.d.ts.map +0 -1
- package/dist/hooks/use-floating-ref.d.ts +0 -2
- package/dist/hooks/use-floating-ref.d.ts.map +0 -1
- package/dist/hooks/use-form.d.ts +0 -394
- package/dist/hooks/use-form.d.ts.map +0 -1
- package/dist/hooks/use-hover.d.ts +0 -3
- package/dist/hooks/use-hover.d.ts.map +0 -1
- package/dist/hooks/use-input-id.d.ts +0 -4
- package/dist/hooks/use-input-id.d.ts.map +0 -1
- package/dist/hooks/use-is-coarse-device.d.ts +0 -2
- package/dist/hooks/use-is-coarse-device.d.ts.map +0 -1
- package/dist/hooks/use-locale.d.ts +0 -3
- package/dist/hooks/use-locale.d.ts.map +0 -1
- package/dist/hooks/use-media-query.d.ts +0 -2
- package/dist/hooks/use-media-query.d.ts.map +0 -1
- package/dist/hooks/use-on-event.d.ts +0 -4
- package/dist/hooks/use-on-event.d.ts.map +0 -1
- package/dist/hooks/use-parent.d.ts +0 -3
- package/dist/hooks/use-parent.d.ts.map +0 -1
- package/dist/hooks/use-preferences.d.ts +0 -2
- package/dist/hooks/use-preferences.d.ts.map +0 -1
- package/dist/hooks/use-previous.d.ts +0 -2
- package/dist/hooks/use-previous.d.ts.map +0 -1
- package/dist/hooks/use-reactive.d.ts +0 -2
- package/dist/hooks/use-reactive.d.ts.map +0 -1
- package/dist/hooks/use-remove-scroll.d.ts +0 -4
- package/dist/hooks/use-remove-scroll.d.ts.map +0 -1
- package/dist/hooks/use-resize-observer.d.ts +0 -2
- package/dist/hooks/use-resize-observer.d.ts.map +0 -1
- package/dist/hooks/use-stable-ref.d.ts +0 -2
- package/dist/hooks/use-stable-ref.d.ts.map +0 -1
- package/dist/hooks/use-swipe.d.ts +0 -8
- package/dist/hooks/use-swipe.d.ts.map +0 -1
- package/dist/hooks/use-translations.d.ts +0 -88
- package/dist/hooks/use-translations.d.ts.map +0 -1
- package/dist/hooks/use-tweaks.d.ts +0 -3
- package/dist/hooks/use-tweaks.d.ts.map +0 -1
- package/dist/hooks/use-window-size.d.ts +0 -5
- package/dist/hooks/use-window-size.d.ts.map +0 -1
- package/dist/index-BelDtX5M.js.map +0 -1
- package/dist/index-DJSMaZR4.js.map +0 -1
- package/dist/index-Z-fZHxfJ.js +0 -335
- package/dist/index-Z-fZHxfJ.js.map +0 -1
- package/dist/index.d.ts +0 -22
- package/dist/index.d.ts.map +0 -1
- package/dist/input-CrGrSnUt.js.map +0 -1
- package/dist/input-field-5vYcz5tT.js.map +0 -1
- package/dist/lib/combi-keys.d.ts +0 -15
- package/dist/lib/combi-keys.d.ts.map +0 -1
- package/dist/lib/dict.d.ts +0 -12
- package/dist/lib/dict.d.ts.map +0 -1
- package/dist/lib/dom.d.ts +0 -19
- package/dist/lib/dom.d.ts.map +0 -1
- package/dist/lib/fns.d.ts +0 -11
- package/dist/lib/fns.d.ts.map +0 -1
- package/dist/lib/fzf.d.ts +0 -16
- package/dist/lib/fzf.d.ts.map +0 -1
- package/dist/lib/keyboard-area.d.ts +0 -16
- package/dist/lib/keyboard-area.d.ts.map +0 -1
- package/dist/notifications-cUdVPs-B.js +0 -2786
- package/dist/notifications-cUdVPs-B.js.map +0 -1
- package/dist/skeleton-D75GFBV6.js +0 -10
- package/dist/skeleton-D75GFBV6.js.map +0 -1
- package/dist/tabs-S00a8qq8.js +0 -106
- package/dist/tabs-S00a8qq8.js.map +0 -1
- package/dist/types.d.ts +0 -26
- package/dist/types.d.ts.map +0 -1
- package/dist/use-translations-BwLKTrZv.js +0 -10
- package/dist/use-translations-BwLKTrZv.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DDeQW0JW.js","sources":["../../../node_modules/@phosphor-icons/react/dist/defs/CaretUpDown.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/DotsSixVertical.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/Funnel.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/MagnifyingGlass.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/MagnifyingGlassMinus.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/Plus.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/SortAscending.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/SortDescending.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/StackMinus.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/Trash.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/CaretUpDown.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/DotsSixVertical.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/Funnel.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/MagnifyingGlass.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/MagnifyingGlassMinus.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/Plus.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/SortAscending.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/SortDescending.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/StackMinus.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/Trash.es.js","../node_modules/motion-dom/dist/es/utils/transform.mjs","../node_modules/motion-dom/dist/es/projection/node/group.mjs","../node_modules/framer-motion/dist/es/context/DeprecatedLayoutGroupContext.mjs","../node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs","../node_modules/framer-motion/dist/es/utils/use-force-update.mjs","../node_modules/framer-motion/dist/es/components/LayoutGroup/index.mjs","../node_modules/framer-motion/dist/es/value/use-combine-values.mjs","../node_modules/framer-motion/dist/es/value/use-computed.mjs","../node_modules/framer-motion/dist/es/value/use-transform.mjs","../node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs","../node_modules/framer-motion/dist/es/context/ReorderContext.mjs","../node_modules/framer-motion/dist/es/components/Reorder/utils/check-reorder.mjs","../node_modules/framer-motion/dist/es/components/Reorder/Group.mjs","../node_modules/framer-motion/dist/es/components/Reorder/utils/auto-scroll.mjs","../node_modules/framer-motion/dist/es/components/Reorder/Item.mjs","../../../node_modules/linq-arrays/dist/index.mjs","../src/components/display/empty.tsx","../src/components/table/pagination.tsx","../src/components/table/row.tsx","../../../node_modules/storage-manager-js/dist/index.js","../src/components/table/table-lib.ts","../src/components/table/sort.tsx","../src/components/table/table.context.tsx","../src/components/table/filter.tsx","../src/components/table/thead.tsx","../src/components/table/inner-table.tsx","../src/components/table/group.tsx","../src/components/table/metadata.tsx","../src/components/table/index.tsx"],"sourcesContent":["import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M184.49,167.51a12,12,0,0,1,0,17l-48,48a12,12,0,0,1-17,0l-48-48a12,12,0,0,1,17-17L128,207l39.51-39.52A12,12,0,0,1,184.49,167.51Zm-96-79L128,49l39.51,39.52a12,12,0,0,0,17-17l-48-48a12,12,0,0,0-17,0l-48,48a12,12,0,0,0,17,17Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M80,176h96l-48,48ZM128,32,80,80h96Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M176,168H80a8,8,0,0,0-5.66,13.66l48,48a8,8,0,0,0,11.32,0l48-48A8,8,0,0,0,176,168Zm-48,44.69L99.31,184h57.38ZM80,88h96a8,8,0,0,0,5.66-13.66l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,80,88Zm48-44.69L156.69,72H99.31Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M72.61,83.06a8,8,0,0,1,1.73-8.72l48-48a8,8,0,0,1,11.32,0l48,48A8,8,0,0,1,176,88H80A8,8,0,0,1,72.61,83.06ZM176,168H80a8,8,0,0,0-5.66,13.66l48,48a8,8,0,0,0,11.32,0l48-48A8,8,0,0,0,176,168Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M180.24,171.76a6,6,0,0,1,0,8.48l-48,48a6,6,0,0,1-8.48,0l-48-48a6,6,0,0,1,8.48-8.48L128,215.51l43.76-43.75A6,6,0,0,1,180.24,171.76Zm-96-87.52L128,40.49l43.76,43.75a6,6,0,0,0,8.48-8.48l-48-48a6,6,0,0,0-8.48,0l-48,48a6,6,0,0,0,8.48,8.48Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,170.34a8,8,0,0,1,0,11.32l-48,48a8,8,0,0,1-11.32,0l-48-48a8,8,0,0,1,11.32-11.32L128,212.69l42.34-42.35A8,8,0,0,1,181.66,170.34Zm-96-84.68L128,43.31l42.34,42.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,85.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M178.83,173.17a4,4,0,0,1,0,5.66l-48,48a4,4,0,0,1-5.66,0l-48-48a4,4,0,0,1,5.66-5.66L128,218.34l45.17-45.17A4,4,0,0,1,178.83,173.17Zm-96-90.34L128,37.66l45.17,45.17a4,4,0,1,0,5.66-5.66l-48-48a4,4,0,0,0-5.66,0l-48,48a4,4,0,0,0,5.66,5.66Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M108,60A16,16,0,1,1,92,44,16,16,0,0,1,108,60Zm56,16a16,16,0,1,0-16-16A16,16,0,0,0,164,76ZM92,112a16,16,0,1,0,16,16A16,16,0,0,0,92,112Zm72,0a16,16,0,1,0,16,16A16,16,0,0,0,164,112ZM92,180a16,16,0,1,0,16,16A16,16,0,0,0,92,180Zm72,0a16,16,0,1,0,16,16A16,16,0,0,0,164,180Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M208,32V224a16,16,0,0,1-16,16H64a16,16,0,0,1-16-16V32A16,16,0,0,1,64,16H192A16,16,0,0,1,208,32Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M104,60A12,12,0,1,1,92,48,12,12,0,0,1,104,60Zm60,12a12,12,0,1,0-12-12A12,12,0,0,0,164,72ZM92,116a12,12,0,1,0,12,12A12,12,0,0,0,92,116Zm72,0a12,12,0,1,0,12,12A12,12,0,0,0,164,116ZM92,184a12,12,0,1,0,12,12A12,12,0,0,0,92,184Zm72,0a12,12,0,1,0,12,12A12,12,0,0,0,164,184Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M192,16H64A16,16,0,0,0,48,32V224a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V32A16,16,0,0,0,192,16ZM100,200a12,12,0,1,1,12-12A12,12,0,0,1,100,200Zm0-60a12,12,0,1,1,12-12A12,12,0,0,1,100,140Zm0-60a12,12,0,1,1,12-12A12,12,0,0,1,100,80Zm56,120a12,12,0,1,1,12-12A12,12,0,0,1,156,200Zm0-60a12,12,0,1,1,12-12A12,12,0,0,1,156,140Zm0-60a12,12,0,1,1,12-12A12,12,0,0,1,156,80Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M102,60A10,10,0,1,1,92,50,10,10,0,0,1,102,60Zm62,10a10,10,0,1,0-10-10A10,10,0,0,0,164,70ZM92,118a10,10,0,1,0,10,10A10,10,0,0,0,92,118Zm72,0a10,10,0,1,0,10,10A10,10,0,0,0,164,118ZM92,186a10,10,0,1,0,10,10A10,10,0,0,0,92,186Zm72,0a10,10,0,1,0,10,10A10,10,0,0,0,164,186Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M104,60A12,12,0,1,1,92,48,12,12,0,0,1,104,60Zm60,12a12,12,0,1,0-12-12A12,12,0,0,0,164,72ZM92,116a12,12,0,1,0,12,12A12,12,0,0,0,92,116Zm72,0a12,12,0,1,0,12,12A12,12,0,0,0,164,116ZM92,184a12,12,0,1,0,12,12A12,12,0,0,0,92,184Zm72,0a12,12,0,1,0,12,12A12,12,0,0,0,164,184Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M100,60a8,8,0,1,1-8-8A8,8,0,0,1,100,60Zm64,8a8,8,0,1,0-8-8A8,8,0,0,0,164,68ZM92,120a8,8,0,1,0,8,8A8,8,0,0,0,92,120Zm72,0a8,8,0,1,0,8,8A8,8,0,0,0,164,120ZM92,188a8,8,0,1,0,8,8A8,8,0,0,0,92,188Zm72,0a8,8,0,1,0,8,8A8,8,0,0,0,164,188Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst l = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M234.29,47.91A20,20,0,0,0,216,36H40A20,20,0,0,0,25.2,69.45l.12.14L92,140.75V216a20,20,0,0,0,31.1,16.64l32-21.33A20,20,0,0,0,164,194.66V140.75l66.67-71.16.12-.14A20,20,0,0,0,234.29,47.91Zm-91,79.89A12,12,0,0,0,140,136v56.52l-24,16V136a12,12,0,0,0-3.25-8.2L49.23,60H206.77Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M221.9,61.38,152,136v58.65a8,8,0,0,1-3.56,6.66l-32,21.33A8,8,0,0,1,104,216V136L34.1,61.38A8,8,0,0,1,40,48H216A8,8,0,0,1,221.9,61.38Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.6,49.53A15.81,15.81,0,0,0,216,40H40A16,16,0,0,0,28.19,66.76l.08.09L96,139.17V216a16,16,0,0,0,24.87,13.32l32-21.34A16,16,0,0,0,160,194.66V139.17l67.74-72.32.08-.09A15.8,15.8,0,0,0,230.6,49.53ZM40,56h0Zm106.18,74.58A8,8,0,0,0,144,136v58.66L112,216V136a8,8,0,0,0-2.16-5.47L40,56H216Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M227.81,66.76l-.08.09L160,139.17v55.49A16,16,0,0,1,152.87,208l-32,21.34A16,16,0,0,1,96,216V139.17L28.27,66.85l-.08-.09A16,16,0,0,1,40,40H216a16,16,0,0,1,11.84,26.76Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228.77,50.34A13.8,13.8,0,0,0,216,42H40A14,14,0,0,0,29.67,65.42l.06.07L98,138.38V216a14,14,0,0,0,21.77,11.64l32-21.33A14,14,0,0,0,158,194.66V138.38l68.33-73A13.82,13.82,0,0,0,228.77,50.34Zm-11.26,6.94L147.62,131.9A6,6,0,0,0,146,136v58.66a2,2,0,0,1-.89,1.67l-32,21.33A2,2,0,0,1,110,216V136a6,6,0,0,0-1.62-4.1L38.53,57.32A2,2,0,0,1,40,54H216a1.9,1.9,0,0,1,1.83,1.19A1.86,1.86,0,0,1,217.51,57.28Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.6,49.53A15.81,15.81,0,0,0,216,40H40A16,16,0,0,0,28.19,66.76l.08.09L96,139.17V216a16,16,0,0,0,24.87,13.32l32-21.34A16,16,0,0,0,160,194.66V139.17l67.74-72.32.08-.09A15.8,15.8,0,0,0,230.6,49.53ZM40,56h0Zm106.18,74.58A8,8,0,0,0,144,136v58.66L112,216V136a8,8,0,0,0-2.16-5.47L40,56H216Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M227,51.15A11.85,11.85,0,0,0,216,44H40a12,12,0,0,0-8.88,20.07l.05.05L100,137.59V216a12,12,0,0,0,18.66,10l32-21.33a12,12,0,0,0,5.35-10V137.59l68.86-73.52A11.85,11.85,0,0,0,227,51.15Zm-8,7.5-69.9,74.62A4,4,0,0,0,148,136v58.65a4,4,0,0,1-1.78,3.33l-32,21.33A4,4,0,0,1,108,216V136a4,4,0,0,0-1.08-2.74L37.05,58.67A4,4,0,0,1,40,52H216a4,4,0,0,1,3,6.65Z\" }))\n ]\n]);\nexport {\n l as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168,112a56,56,0,1,1-56-56A56,56,0,0,1,168,112Zm61.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88,88,0,1,1,11.32-11.31l50.06,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228.24,219.76l-51.38-51.38a86.15,86.15,0,1,0-8.48,8.48l51.38,51.38a6,6,0,0,0,8.48-8.48ZM38,112a74,74,0,1,1,74,74A74.09,74.09,0,0,1,38,112Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M226.83,221.17l-52.7-52.7a84.1,84.1,0,1,0-5.66,5.66l52.7,52.7a4,4,0,0,0,5.66-5.66ZM36,112a76,76,0,1,1,76,76A76.08,76.08,0,0,1,36,112Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M156,112a12,12,0,0,1-12,12H80a12,12,0,0,1,0-24h64A12,12,0,0,1,156,112Zm76.49,120.49a12,12,0,0,1-17,0L168,185a92.12,92.12,0,1,1,17-17l47.54,47.53A12,12,0,0,1,232.49,232.49ZM112,180a68,68,0,1,0-68-68A68.08,68.08,0,0,0,112,180Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Zm112,0a8,8,0,0,1-8,8H80a8,8,0,0,1,0-16h64A8,8,0,0,1,152,112Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM144,120H80a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M150,112a6,6,0,0,1-6,6H80a6,6,0,0,1,0-12h64A6,6,0,0,1,150,112Zm78.24,116.24a6,6,0,0,1-8.48,0l-51.38-51.38a86.15,86.15,0,1,1,8.48-8.48l51.38,51.38A6,6,0,0,1,228.24,228.24ZM112,186a74,74,0,1,0-74-74A74.09,74.09,0,0,0,112,186Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M152,112a8,8,0,0,1-8,8H80a8,8,0,0,1,0-16h64A8,8,0,0,1,152,112Zm77.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88.11,88.11,0,1,1,11.31-11.31l50.07,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M148,112a4,4,0,0,1-4,4H80a4,4,0,0,1,0-8h64A4,4,0,0,1,148,112Zm78.83,114.83a4,4,0,0,1-5.66,0l-52.7-52.7a84.1,84.1,0,1,1,5.66-5.66l52.7,52.7A4,4,0,0,1,226.83,226.83ZM112,188a76,76,0,1,0-76-76A76.08,76.08,0,0,0,112,188Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M222,128a6,6,0,0,1-6,6H134v82a6,6,0,0,1-12,0V134H40a6,6,0,0,1,0-12h82V40a6,6,0,0,1,12,0v82h82A6,6,0,0,1,222,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M220,128a4,4,0,0,1-4,4H132v84a4,4,0,0,1-8,0V132H40a4,4,0,0,1,0-8h84V40a4,4,0,0,1,8,0v84h84A4,4,0,0,1,220,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M128,128a12,12,0,0,1-12,12H48a12,12,0,0,1,0-24h68A12,12,0,0,1,128,128ZM48,76H180a12,12,0,0,0,0-24H48a12,12,0,0,0,0,24Zm52,104H48a12,12,0,0,0,0,24h52a12,12,0,0,0,0-24Zm132.49-20.49a12,12,0,0,0-17,0L196,179V112a12,12,0,0,0-24,0v67l-19.51-19.52a12,12,0,0,0-17,17l40,40a12,12,0,0,0,17,0l40-40A12,12,0,0,0,232.49,159.51Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,80v88l-24,24H48V64H208A16,16,0,0,1,224,80Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M128,128a8,8,0,0,1-8,8H48a8,8,0,0,1,0-16h72A8,8,0,0,1,128,128ZM48,72H184a8,8,0,0,0,0-16H48a8,8,0,0,0,0,16Zm56,112H48a8,8,0,0,0,0,16h56a8,8,0,0,0,0-16Zm125.66-21.66a8,8,0,0,0-11.32,0L192,188.69V112a8,8,0,0,0-16,0v76.69l-26.34-26.35a8,8,0,0,0-11.32,11.32l40,40a8,8,0,0,0,11.32,0l40-40A8,8,0,0,0,229.66,162.34Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,72h96a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16Zm40,112H72a8,8,0,0,1,0-16h40a8,8,0,0,1,0,16Zm8-48H72a8,8,0,0,1,0-16h48a8,8,0,0,1,0,16Zm77.66,29.66-24,24a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L160,164.69V120a8,8,0,0,1,16,0v44.69l10.34-10.35a8,8,0,0,1,11.32,11.32Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M126,128a6,6,0,0,1-6,6H48a6,6,0,0,1,0-12h72A6,6,0,0,1,126,128ZM48,70H184a6,6,0,0,0,0-12H48a6,6,0,0,0,0,12Zm56,116H48a6,6,0,0,0,0,12h56a6,6,0,0,0,0-12Zm124.24-22.24a6,6,0,0,0-8.48,0L190,193.51V112a6,6,0,0,0-12,0v81.51l-29.76-29.75a6,6,0,0,0-8.48,8.48l40,40a6,6,0,0,0,8.48,0l40-40A6,6,0,0,0,228.24,163.76Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M128,128a8,8,0,0,1-8,8H48a8,8,0,0,1,0-16h72A8,8,0,0,1,128,128ZM48,72H184a8,8,0,0,0,0-16H48a8,8,0,0,0,0,16Zm56,112H48a8,8,0,0,0,0,16h56a8,8,0,0,0,0-16Zm125.66-21.66a8,8,0,0,0-11.32,0L192,188.69V112a8,8,0,0,0-16,0v76.69l-26.34-26.35a8,8,0,0,0-11.32,11.32l40,40a8,8,0,0,0,11.32,0l40-40A8,8,0,0,0,229.66,162.34Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M124,128a4,4,0,0,1-4,4H48a4,4,0,0,1,0-8h72A4,4,0,0,1,124,128ZM48,68H184a4,4,0,0,0,0-8H48a4,4,0,0,0,0,8Zm56,120H48a4,4,0,0,0,0,8h56a4,4,0,0,0,0-8Zm122.83-22.83a4,4,0,0,0-5.66,0L188,198.34V112a4,4,0,0,0-8,0v86.34l-33.17-33.17a4,4,0,0,0-5.66,5.66l40,40a4,4,0,0,0,5.66,0l40-40A4,4,0,0,0,226.83,165.17Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M36,128a12,12,0,0,1,12-12h68a12,12,0,0,1,0,24H48A12,12,0,0,1,36,128ZM48,76h52a12,12,0,0,0,0-24H48a12,12,0,0,0,0,24ZM180,180H48a12,12,0,0,0,0,24H180a12,12,0,0,0,0-24ZM232.49,79.51l-40-40a12,12,0,0,0-17,0l-40,40a12,12,0,0,0,17,17L172,77v67a12,12,0,0,0,24,0V77l19.51,19.52a12,12,0,0,0,17-17Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,88v88a16,16,0,0,1-16,16H48V64H200Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M40,128a8,8,0,0,1,8-8h72a8,8,0,0,1,0,16H48A8,8,0,0,1,40,128Zm8-56h56a8,8,0,0,0,0-16H48a8,8,0,0,0,0,16ZM184,184H48a8,8,0,0,0,0,16H184a8,8,0,0,0,0-16ZM229.66,82.34l-40-40a8,8,0,0,0-11.32,0l-40,40a8,8,0,0,0,11.32,11.32L176,67.31V144a8,8,0,0,0,16,0V67.31l26.34,26.35a8,8,0,0,0,11.32-11.32Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,72h40a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16Zm0,48h48a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16Zm96,64H72a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm29.66-82.34a8,8,0,0,1-11.32,0L176,91.31V136a8,8,0,0,1-16,0V91.31l-10.34,10.35a8,8,0,0,1-11.32-11.32l24-24a8,8,0,0,1,11.32,0l24,24A8,8,0,0,1,197.66,101.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M42,128a6,6,0,0,1,6-6h72a6,6,0,0,1,0,12H48A6,6,0,0,1,42,128Zm6-58h56a6,6,0,0,0,0-12H48a6,6,0,0,0,0,12ZM184,186H48a6,6,0,0,0,0,12H184a6,6,0,0,0,0-12ZM228.24,83.76l-40-40a6,6,0,0,0-8.48,0l-40,40a6,6,0,0,0,8.48,8.48L178,62.49V144a6,6,0,0,0,12,0V62.49l29.76,29.75a6,6,0,0,0,8.48-8.48Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M40,128a8,8,0,0,1,8-8h72a8,8,0,0,1,0,16H48A8,8,0,0,1,40,128Zm8-56h56a8,8,0,0,0,0-16H48a8,8,0,0,0,0,16ZM184,184H48a8,8,0,0,0,0,16H184a8,8,0,0,0,0-16ZM229.66,82.34l-40-40a8,8,0,0,0-11.32,0l-40,40a8,8,0,0,0,11.32,11.32L176,67.31V144a8,8,0,0,0,16,0V67.31l26.34,26.35a8,8,0,0,0,11.32-11.32Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M44,128a4,4,0,0,1,4-4h72a4,4,0,0,1,0,8H48A4,4,0,0,1,44,128Zm4-60h56a4,4,0,0,0,0-8H48a4,4,0,0,0,0,8ZM184,188H48a4,4,0,0,0,0,8H184a4,4,0,0,0,0-8ZM226.83,85.17l-40-40a4,4,0,0,0-5.66,0l-40,40a4,4,0,0,0,5.66,5.66L180,57.66V144a4,4,0,0,0,8,0V57.66l33.17,33.17a4,4,0,1,0,5.66-5.66Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as a from \"react\";\nconst l = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M240,200a12,12,0,0,1-12,12H188a12,12,0,0,1,0-24h40A12,12,0,0,1,240,200ZM218,117.63,128,170.11,38.05,117.63A12,12,0,0,0,26,138.37l96,56a12,12,0,0,0,12.1,0l96-56A12,12,0,1,0,218,117.63ZM20,80a12,12,0,0,1,6-10.37l96-56a12.06,12.06,0,0,1,12.1,0l96,56a12,12,0,0,1,0,20.74l-96,56a12,12,0,0,1-12.1,0l-96-56A12,12,0,0,1,20,80Zm35.82,0L128,122.11,200.18,80,128,37.89ZM138,212.3,128,218.11,38.05,165.63A12,12,0,0,0,26,186.37l96,56a12,12,0,0,0,12.1,0l16-9.34A12,12,0,1,0,138,212.3Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,80l-96,56L32,80l96-56Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M240,200a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16h48A8,8,0,0,1,240,200Zm-20-78.91-92,53.65L36,121.09A8,8,0,0,0,28,134.91l96,56a8,8,0,0,0,8.06,0l96-56A8,8,0,1,0,220,121.09ZM24,80a8,8,0,0,1,4-6.91l96-56a8,8,0,0,1,8.06,0l96,56a8,8,0,0,1,0,13.82l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,24,80Zm23.88,0L128,126.74,208.12,80,128,33.26ZM140,215.76l-12,7L36,169.09A8,8,0,0,0,28,182.91l96,56a8,8,0,0,0,8.06,0l16-9.33A8,8,0,1,0,140,215.76Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.91,124A8,8,0,0,1,228,134.91l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,36,121.09l92,53.65,92-53.65A8,8,0,0,1,230.91,124ZM28,86.91l96,56a8,8,0,0,0,8.06,0l96-56a8,8,0,0,0,0-13.82l-96-56a8,8,0,0,0-8.06,0l-96,56a8,8,0,0,0,0,13.82ZM232,192H184a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16Zm-92,23.76-12,7L36,169.09A8,8,0,0,0,28,182.91l96,56a8,8,0,0,0,8.06,0l16-9.33A8,8,0,1,0,140,215.76Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M238,200a6,6,0,0,1-6,6H184a6,6,0,0,1,0-12h48A6,6,0,0,1,238,200Zm-17-77.18-93,54.23L35,122.82a6,6,0,0,0-6,10.36l96,56a6,6,0,0,0,6,0l96-56a6,6,0,0,0-6-10.36ZM26,80a6,6,0,0,1,3-5.18l96-56a6,6,0,0,1,6,0l96,56a6,6,0,0,1,0,10.36l-96,56a6,6,0,0,1-6,0l-96-56A6,6,0,0,1,26,80Zm17.91,0L128,129.05,212.09,80,128,31ZM141,217.48l-13,7.57L35,170.82a6,6,0,0,0-6,10.36l96,56a6,6,0,0,0,6,0l16-9.33a6,6,0,0,0-6-10.37Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.91,124A8,8,0,0,1,228,134.91l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,36,121.09l92,53.65,92-53.65A8,8,0,0,1,230.91,124ZM24,80a8,8,0,0,1,4-6.91l96-56a8,8,0,0,1,8.06,0l96,56a8,8,0,0,1,0,13.82l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,24,80Zm23.88,0L128,126.74,208.12,80,128,33.26ZM232,192H184a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16Zm-92,23.76-12,7L36,169.09A8,8,0,0,0,28,182.91l96,56a8,8,0,0,0,8.06,0l16-9.33A8,8,0,1,0,140,215.76Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M236,200a4,4,0,0,1-4,4H184a4,4,0,0,1,0-8h48A4,4,0,0,1,236,200Zm-14-75.46-94,54.83L34,124.54a4,4,0,0,0-4,6.92l96,56a4,4,0,0,0,4,0l96-56a4,4,0,1,0-4-6.92ZM28,80a4,4,0,0,1,2-3.46l96-56a4,4,0,0,1,4,0l96,56a4,4,0,0,1,0,6.92l-96,56a4,4,0,0,1-4,0l-96-56A4,4,0,0,1,28,80Zm11.94,0L128,131.37,216.06,80,128,28.63ZM142,219.21l-14,8.16L34,172.54a4,4,0,0,0-4,6.92l96,56a4,4,0,0,0,4,0l16-9.34a4,4,0,1,0-4-6.91Z\" }))\n ]\n]);\nexport {\n l as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport n from \"../defs/CaretUpDown.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: n }));\ne.displayName = \"CaretUpDownIcon\";\nconst c = e;\nexport {\n c as CaretUpDown,\n e as CaretUpDownIcon\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/DotsSixVertical.es.js\";\nconst t = o.forwardRef((e, r) => /* @__PURE__ */ o.createElement(a, { ref: r, ...e, weights: i }));\nt.displayName = \"DotsSixVerticalIcon\";\nconst m = t;\nexport {\n m as DotsSixVertical,\n t as DotsSixVerticalIcon\n};\n","import * as e from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/Funnel.es.js\";\nconst o = e.forwardRef((n, r) => /* @__PURE__ */ e.createElement(t, { ref: r, ...n, weights: a }));\no.displayName = \"FunnelIcon\";\nconst s = o;\nexport {\n s as Funnel,\n o as FunnelIcon\n};\n","import * as a from \"react\";\nimport i from \"../lib/IconBase.es.js\";\nimport e from \"../defs/MagnifyingGlass.es.js\";\nconst o = a.forwardRef((s, n) => /* @__PURE__ */ a.createElement(i, { ref: n, ...s, weights: e }));\no.displayName = \"MagnifyingGlassIcon\";\nconst f = o;\nexport {\n f as MagnifyingGlass,\n o as MagnifyingGlassIcon\n};\n","import * as s from \"react\";\nimport o from \"../lib/IconBase.es.js\";\nimport e from \"../defs/MagnifyingGlassMinus.es.js\";\nconst n = s.forwardRef((a, i) => /* @__PURE__ */ s.createElement(o, { ref: i, ...a, weights: e }));\nn.displayName = \"MagnifyingGlassMinusIcon\";\nconst f = n;\nexport {\n f as MagnifyingGlassMinus,\n n as MagnifyingGlassMinusIcon\n};\n","import * as o from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/Plus.es.js\";\nconst e = o.forwardRef((r, s) => /* @__PURE__ */ o.createElement(t, { ref: s, ...r, weights: a }));\ne.displayName = \"PlusIcon\";\nconst n = e;\nexport {\n n as Plus,\n e as PlusIcon\n};\n","import * as o from \"react\";\nimport n from \"../lib/IconBase.es.js\";\nimport c from \"../defs/SortAscending.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(n, { ref: t, ...r, weights: c }));\ne.displayName = \"SortAscendingIcon\";\nconst i = e;\nexport {\n i as SortAscending,\n e as SortAscendingIcon\n};\n","import * as e from \"react\";\nimport n from \"../lib/IconBase.es.js\";\nimport c from \"../defs/SortDescending.es.js\";\nconst o = e.forwardRef((r, t) => /* @__PURE__ */ e.createElement(n, { ref: t, ...r, weights: c }));\no.displayName = \"SortDescendingIcon\";\nconst i = o;\nexport {\n i as SortDescending,\n o as SortDescendingIcon\n};\n","import * as o from \"react\";\nimport e from \"../lib/IconBase.es.js\";\nimport r from \"../defs/StackMinus.es.js\";\nconst t = o.forwardRef((a, c) => /* @__PURE__ */ o.createElement(e, { ref: c, ...a, weights: r }));\nt.displayName = \"StackMinusIcon\";\nconst i = t;\nexport {\n i as StackMinus,\n t as StackMinusIcon\n};\n","import * as o from \"react\";\nimport s from \"../lib/IconBase.es.js\";\nimport t from \"../defs/Trash.es.js\";\nconst r = o.forwardRef((a, e) => /* @__PURE__ */ o.createElement(s, { ref: e, ...a, weights: t }));\nr.displayName = \"TrashIcon\";\nconst n = r;\nexport {\n n as Trash,\n r as TrashIcon\n};\n","import { interpolate } from './interpolate.mjs';\n\nfunction transform(...args) {\n const useImmediate = !Array.isArray(args[0]);\n const argOffset = useImmediate ? 0 : -1;\n const inputValue = args[0 + argOffset];\n const inputRange = args[1 + argOffset];\n const outputRange = args[2 + argOffset];\n const options = args[3 + argOffset];\n const interpolator = interpolate(inputRange, outputRange, options);\n return useImmediate ? interpolator(inputValue) : interpolator;\n}\n\nexport { transform };\n//# sourceMappingURL=transform.mjs.map\n","const notify = (node) => !node.isLayoutDirty && node.willUpdate(false);\nfunction nodeGroup() {\n const nodes = new Set();\n const subscriptions = new WeakMap();\n const dirtyAll = () => nodes.forEach(notify);\n return {\n add: (node) => {\n nodes.add(node);\n subscriptions.set(node, node.addEventListener(\"willUpdate\", dirtyAll));\n },\n remove: (node) => {\n nodes.delete(node);\n const unsubscribe = subscriptions.get(node);\n if (unsubscribe) {\n unsubscribe();\n subscriptions.delete(node);\n }\n dirtyAll();\n },\n dirty: dirtyAll,\n };\n}\n\nexport { nodeGroup };\n//# sourceMappingURL=group.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * Note: Still used by components generated by old versions of Framer\n *\n * @deprecated\n */\nconst DeprecatedLayoutGroupContext = createContext(null);\n\nexport { DeprecatedLayoutGroupContext };\n//# sourceMappingURL=DeprecatedLayoutGroupContext.mjs.map\n","\"use client\";\nimport { useRef } from 'react';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-effect.mjs';\n\nfunction useIsMounted() {\n const isMounted = useRef(false);\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n}\n\nexport { useIsMounted };\n//# sourceMappingURL=use-is-mounted.mjs.map\n","\"use client\";\nimport { frame } from 'motion-dom';\nimport { useState, useCallback } from 'react';\nimport { useIsMounted } from './use-is-mounted.mjs';\n\nfunction useForceUpdate() {\n const isMounted = useIsMounted();\n const [forcedRenderCount, setForcedRenderCount] = useState(0);\n const forceRender = useCallback(() => {\n isMounted.current && setForcedRenderCount(forcedRenderCount + 1);\n }, [forcedRenderCount]);\n /**\n * Defer this to the end of the next animation frame in case there are multiple\n * synchronous calls.\n */\n const deferredForceRender = useCallback(() => frame.postRender(forceRender), [forceRender]);\n return [deferredForceRender, forcedRenderCount];\n}\n\nexport { useForceUpdate };\n//# sourceMappingURL=use-force-update.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { useContext, useRef, useMemo } from 'react';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.mjs';\nimport { DeprecatedLayoutGroupContext } from '../../context/DeprecatedLayoutGroupContext.mjs';\nimport { useForceUpdate } from '../../utils/use-force-update.mjs';\nimport { nodeGroup } from 'motion-dom';\n\nconst shouldInheritGroup = (inherit) => inherit === true;\nconst shouldInheritId = (inherit) => shouldInheritGroup(inherit === true) || inherit === \"id\";\nconst LayoutGroup = ({ children, id, inherit = true }) => {\n const layoutGroupContext = useContext(LayoutGroupContext);\n const deprecatedLayoutGroupContext = useContext(DeprecatedLayoutGroupContext);\n const [forceRender, key] = useForceUpdate();\n const context = useRef(null);\n const upstreamId = layoutGroupContext.id || deprecatedLayoutGroupContext;\n if (context.current === null) {\n if (shouldInheritId(inherit) && upstreamId) {\n id = id ? upstreamId + \"-\" + id : upstreamId;\n }\n context.current = {\n id,\n group: shouldInheritGroup(inherit)\n ? layoutGroupContext.group || nodeGroup()\n : nodeGroup(),\n };\n }\n const memoizedContext = useMemo(() => ({ ...context.current, forceRender }), [key]);\n return (jsx(LayoutGroupContext.Provider, { value: memoizedContext, children: children }));\n};\n\nexport { LayoutGroup };\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nimport { cancelFrame, frame } from 'motion-dom';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\nimport { useMotionValue } from './use-motion-value.mjs';\n\nfunction useCombineMotionValues(values, combineValues) {\n /**\n * Initialise the returned motion value. This remains the same between renders.\n */\n const value = useMotionValue(combineValues());\n /**\n * Create a function that will update the template motion value with the latest values.\n * This is pre-bound so whenever a motion value updates it can schedule its\n * execution in Framesync. If it's already been scheduled it won't be fired twice\n * in a single frame.\n */\n const updateValue = () => value.set(combineValues());\n /**\n * Synchronously update the motion value with the latest values during the render.\n * This ensures that within a React render, the styles applied to the DOM are up-to-date.\n */\n updateValue();\n /**\n * Subscribe to all motion values found within the template. Whenever any of them change,\n * schedule an update.\n */\n useIsomorphicLayoutEffect(() => {\n const scheduleUpdate = () => frame.preRender(updateValue, false, true);\n const subscriptions = values.map((v) => v.on(\"change\", scheduleUpdate));\n return () => {\n subscriptions.forEach((unsubscribe) => unsubscribe());\n cancelFrame(updateValue);\n };\n });\n return value;\n}\n\nexport { useCombineMotionValues };\n//# sourceMappingURL=use-combine-values.mjs.map\n","\"use client\";\nimport { collectMotionValues } from 'motion-dom';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\n\nfunction useComputed(compute) {\n /**\n * Open session of collectMotionValues. Any MotionValue that calls get()\n * will be saved into this array.\n */\n collectMotionValues.current = [];\n compute();\n const value = useCombineMotionValues(collectMotionValues.current, compute);\n /**\n * Synchronously close session of collectMotionValues.\n */\n collectMotionValues.current = undefined;\n return value;\n}\n\nexport { useComputed };\n//# sourceMappingURL=use-computed.mjs.map\n","\"use client\";\nimport { transform } from 'motion-dom';\nimport { useConstant } from '../utils/use-constant.mjs';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\nimport { useComputed } from './use-computed.mjs';\n\nfunction useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {\n if (typeof input === \"function\") {\n return useComputed(input);\n }\n /**\n * Detect if outputRangeOrMap is an output map (object with keys)\n * rather than an output range (array).\n */\n const isOutputMap = outputRangeOrMap !== undefined &&\n !Array.isArray(outputRangeOrMap) &&\n typeof inputRangeOrTransformer !== \"function\";\n if (isOutputMap) {\n return useMapTransform(input, inputRangeOrTransformer, outputRangeOrMap, options);\n }\n const outputRange = outputRangeOrMap;\n const transformer = typeof inputRangeOrTransformer === \"function\"\n ? inputRangeOrTransformer\n : transform(inputRangeOrTransformer, outputRange, options);\n const result = Array.isArray(input)\n ? useListTransform(input, transformer)\n : useListTransform([input], ([latest]) => transformer(latest));\n const inputAccelerate = !Array.isArray(input)\n ? input.accelerate\n : undefined;\n if (inputAccelerate &&\n !inputAccelerate.isTransformed &&\n typeof inputRangeOrTransformer !== \"function\" &&\n Array.isArray(outputRangeOrMap) &&\n options?.clamp !== false) {\n result.accelerate = {\n ...inputAccelerate,\n times: inputRangeOrTransformer,\n keyframes: outputRangeOrMap,\n isTransformed: true,\n ...(options?.ease ? { ease: options.ease } : {}),\n };\n }\n return result;\n}\nfunction useListTransform(values, transformer) {\n const latest = useConstant(() => []);\n return useCombineMotionValues(values, () => {\n latest.length = 0;\n const numValues = values.length;\n for (let i = 0; i < numValues; i++) {\n latest[i] = values[i].get();\n }\n return transformer(latest);\n });\n}\nfunction useMapTransform(inputValue, inputRange, outputMap, options) {\n /**\n * Capture keys once to ensure hooks are called in consistent order.\n */\n const keys = useConstant(() => Object.keys(outputMap));\n const output = useConstant(() => ({}));\n for (const key of keys) {\n output[key] = useTransform(inputValue, inputRange, outputMap[key], options);\n }\n return output;\n}\n\nexport { useTransform };\n//# sourceMappingURL=use-transform.mjs.map\n","import { useConstant } from '../../utils/use-constant.mjs';\n\n/**\n * Can manually trigger a drag gesture on one or more `drag`-enabled `motion` components.\n *\n * ```jsx\n * const dragControls = useDragControls()\n *\n * function startDrag(event) {\n * dragControls.start(event, { snapToCursor: true })\n * }\n *\n * return (\n * <>\n * <div onPointerDown={startDrag} />\n * <motion.div drag=\"x\" dragControls={dragControls} />\n * </>\n * )\n * ```\n *\n * @public\n */\nclass DragControls {\n constructor() {\n this.componentControls = new Set();\n }\n /**\n * Subscribe a component's internal `VisualElementDragControls` to the user-facing API.\n *\n * @internal\n */\n subscribe(controls) {\n this.componentControls.add(controls);\n return () => this.componentControls.delete(controls);\n }\n /**\n * Start a drag gesture on every `motion` component that has this set of drag controls\n * passed into it via the `dragControls` prop.\n *\n * ```jsx\n * dragControls.start(e, {\n * snapToCursor: true\n * })\n * ```\n *\n * @param event - PointerEvent\n * @param options - Options\n *\n * @public\n */\n start(event, options) {\n this.componentControls.forEach((controls) => {\n controls.start(event.nativeEvent || event, options);\n });\n }\n /**\n * Cancels a drag gesture.\n *\n * ```jsx\n * dragControls.cancel()\n * ```\n *\n * @public\n */\n cancel() {\n this.componentControls.forEach((controls) => {\n controls.cancel();\n });\n }\n /**\n * Stops a drag gesture.\n *\n * ```jsx\n * dragControls.stop()\n * ```\n *\n * @public\n */\n stop() {\n this.componentControls.forEach((controls) => {\n controls.stop();\n });\n }\n}\nconst createDragControls = () => new DragControls();\n/**\n * Usually, dragging is initiated by pressing down on a `motion` component with a `drag` prop\n * and moving it. For some use-cases, for instance clicking at an arbitrary point on a video scrubber, we\n * might want to initiate that dragging from a different component than the draggable one.\n *\n * By creating a `dragControls` using the `useDragControls` hook, we can pass this into\n * the draggable component's `dragControls` prop. It exposes a `start` method\n * that can start dragging from pointer events on other components.\n *\n * ```jsx\n * const dragControls = useDragControls()\n *\n * function startDrag(event) {\n * dragControls.start(event, { snapToCursor: true })\n * }\n *\n * return (\n * <>\n * <div onPointerDown={startDrag} />\n * <motion.div drag=\"x\" dragControls={dragControls} />\n * </>\n * )\n * ```\n *\n * @public\n */\nfunction useDragControls() {\n return useConstant(createDragControls);\n}\n\nexport { DragControls, useDragControls };\n//# sourceMappingURL=use-drag-controls.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst ReorderContext = createContext(null);\n\nexport { ReorderContext };\n//# sourceMappingURL=ReorderContext.mjs.map\n","import { mixNumber } from 'motion-dom';\nimport { moveItem } from 'motion-utils';\n\nfunction checkReorder(order, value, offset, velocity) {\n if (!velocity)\n return order;\n const index = order.findIndex((item) => item.value === value);\n if (index === -1)\n return order;\n const nextOffset = velocity > 0 ? 1 : -1;\n const nextItem = order[index + nextOffset];\n if (!nextItem)\n return order;\n const item = order[index];\n const nextLayout = nextItem.layout;\n const nextItemCenter = mixNumber(nextLayout.min, nextLayout.max, 0.5);\n if ((nextOffset === 1 && item.layout.max + offset > nextItemCenter) ||\n (nextOffset === -1 && item.layout.min + offset < nextItemCenter)) {\n return moveItem(order, index, index + nextOffset);\n }\n return order;\n}\n\nexport { checkReorder };\n//# sourceMappingURL=check-reorder.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { invariant } from 'motion-utils';\nimport { forwardRef, useRef, useEffect } from 'react';\nimport { ReorderContext } from '../../context/ReorderContext.mjs';\nimport { motion } from '../../render/components/motion/proxy.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { checkReorder } from './utils/check-reorder.mjs';\n\nfunction ReorderGroupComponent({ children, as = \"ul\", axis = \"y\", onReorder, values, ...props }, externalRef) {\n const Component = useConstant(() => motion[as]);\n const order = [];\n const isReordering = useRef(false);\n const groupRef = useRef(null);\n invariant(Boolean(values), \"Reorder.Group must be provided a values prop\", \"reorder-values\");\n const context = {\n axis,\n groupRef,\n registerItem: (value, layout) => {\n // If the entry was already added, update it rather than adding it again\n const idx = order.findIndex((entry) => value === entry.value);\n if (idx !== -1) {\n order[idx].layout = layout[axis];\n }\n else {\n order.push({ value: value, layout: layout[axis] });\n }\n order.sort(compareMin);\n },\n updateOrder: (item, offset, velocity) => {\n if (isReordering.current)\n return;\n const newOrder = checkReorder(order, item, offset, velocity);\n if (order !== newOrder) {\n isReordering.current = true;\n onReorder(newOrder\n .map(getValue)\n .filter((value) => values.indexOf(value) !== -1));\n }\n },\n };\n useEffect(() => {\n isReordering.current = false;\n });\n // Combine refs if external ref is provided\n const setRef = (element) => {\n groupRef.current = element;\n if (typeof externalRef === \"function\") {\n externalRef(element);\n }\n else if (externalRef) {\n externalRef.current = element;\n }\n };\n /**\n * Disable browser scroll anchoring on the group container.\n * When items reorder, scroll anchoring can cause the browser to adjust\n * the scroll position, which interferes with drag position calculations.\n */\n const groupStyle = {\n overflowAnchor: \"none\",\n ...props.style,\n };\n return (jsx(Component, { ...props, style: groupStyle, ref: setRef, ignoreStrict: true, children: jsx(ReorderContext.Provider, { value: context, children: children }) }));\n}\nconst ReorderGroup = /*@__PURE__*/ forwardRef(ReorderGroupComponent);\nfunction getValue(item) {\n return item.value;\n}\nfunction compareMin(a, b) {\n return a.layout.min - b.layout.min;\n}\n\nexport { ReorderGroup, ReorderGroupComponent };\n//# sourceMappingURL=Group.mjs.map\n","const threshold = 50;\nconst maxSpeed = 25;\nconst overflowStyles = new Set([\"auto\", \"scroll\"]);\n// Track initial scroll limits per scrollable element (Bug 1 fix)\nconst initialScrollLimits = new WeakMap();\nconst activeScrollEdge = new WeakMap();\n// Track which group element is currently dragging to clear state on end\nlet currentGroupElement = null;\nfunction resetAutoScrollState() {\n if (currentGroupElement) {\n const scrollableAncestor = findScrollableAncestor(currentGroupElement, \"y\");\n if (scrollableAncestor) {\n activeScrollEdge.delete(scrollableAncestor);\n initialScrollLimits.delete(scrollableAncestor);\n }\n // Also try x axis\n const scrollableAncestorX = findScrollableAncestor(currentGroupElement, \"x\");\n if (scrollableAncestorX && scrollableAncestorX !== scrollableAncestor) {\n activeScrollEdge.delete(scrollableAncestorX);\n initialScrollLimits.delete(scrollableAncestorX);\n }\n currentGroupElement = null;\n }\n}\nfunction isScrollableElement(element, axis) {\n const style = getComputedStyle(element);\n const overflow = axis === \"x\" ? style.overflowX : style.overflowY;\n const isDocumentScroll = element === document.body ||\n element === document.documentElement;\n return overflowStyles.has(overflow) || isDocumentScroll;\n}\nfunction findScrollableAncestor(element, axis) {\n let current = element?.parentElement;\n while (current) {\n if (isScrollableElement(current, axis)) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n}\nfunction getScrollAmount(pointerPosition, scrollElement, axis) {\n const rect = scrollElement.getBoundingClientRect();\n const start = axis === \"x\" ? Math.max(0, rect.left) : Math.max(0, rect.top);\n const end = axis === \"x\" ? Math.min(window.innerWidth, rect.right) : Math.min(window.innerHeight, rect.bottom);\n const distanceFromStart = pointerPosition - start;\n const distanceFromEnd = end - pointerPosition;\n if (distanceFromStart < threshold) {\n const intensity = 1 - distanceFromStart / threshold;\n return { amount: -maxSpeed * intensity * intensity, edge: \"start\" };\n }\n else if (distanceFromEnd < threshold) {\n const intensity = 1 - distanceFromEnd / threshold;\n return { amount: maxSpeed * intensity * intensity, edge: \"end\" };\n }\n return { amount: 0, edge: null };\n}\nfunction autoScrollIfNeeded(groupElement, pointerPosition, axis, velocity) {\n if (!groupElement)\n return;\n // Track the group element for cleanup\n currentGroupElement = groupElement;\n const scrollableAncestor = findScrollableAncestor(groupElement, axis);\n if (!scrollableAncestor)\n return;\n // Convert pointer position from page coordinates to viewport coordinates.\n // The gesture system uses pageX/pageY but getBoundingClientRect() returns\n // viewport-relative coordinates, so we need to account for page scroll.\n const viewportPointerPosition = pointerPosition - (axis === \"x\" ? window.scrollX : window.scrollY);\n const { amount: scrollAmount, edge } = getScrollAmount(viewportPointerPosition, scrollableAncestor, axis);\n // If not in any threshold zone, clear all state\n if (edge === null) {\n activeScrollEdge.delete(scrollableAncestor);\n initialScrollLimits.delete(scrollableAncestor);\n return;\n }\n const currentActiveEdge = activeScrollEdge.get(scrollableAncestor);\n const isDocumentScroll = scrollableAncestor === document.body ||\n scrollableAncestor === document.documentElement;\n // If not currently scrolling this edge, check velocity to see if we should start\n if (currentActiveEdge !== edge) {\n // Only start scrolling if velocity is towards the edge\n const shouldStart = (edge === \"start\" && velocity < 0) ||\n (edge === \"end\" && velocity > 0);\n if (!shouldStart)\n return;\n // Activate this edge\n activeScrollEdge.set(scrollableAncestor, edge);\n // Record initial scroll limit (prevents infinite scroll)\n const maxScroll = axis === \"x\"\n ? scrollableAncestor.scrollWidth - (isDocumentScroll ? window.innerWidth : scrollableAncestor.clientWidth)\n : scrollableAncestor.scrollHeight - (isDocumentScroll ? window.innerHeight : scrollableAncestor.clientHeight);\n initialScrollLimits.set(scrollableAncestor, maxScroll);\n }\n // Cap scrolling at initial limit (prevents infinite scroll)\n if (scrollAmount > 0) {\n const initialLimit = initialScrollLimits.get(scrollableAncestor);\n const currentScroll = axis === \"x\"\n ? (isDocumentScroll ? window.scrollX : scrollableAncestor.scrollLeft)\n : (isDocumentScroll ? window.scrollY : scrollableAncestor.scrollTop);\n if (currentScroll >= initialLimit)\n return;\n }\n // Apply scroll\n if (axis === \"x\") {\n if (isDocumentScroll) {\n window.scrollBy({ left: scrollAmount });\n }\n else {\n scrollableAncestor.scrollLeft += scrollAmount;\n }\n }\n else {\n if (isDocumentScroll) {\n window.scrollBy({ top: scrollAmount });\n }\n else {\n scrollableAncestor.scrollTop += scrollAmount;\n }\n }\n}\n\nexport { autoScrollIfNeeded, resetAutoScrollState };\n//# sourceMappingURL=auto-scroll.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { isMotionValue } from 'motion-dom';\nimport { invariant } from 'motion-utils';\nimport { forwardRef, useContext } from 'react';\nimport { ReorderContext } from '../../context/ReorderContext.mjs';\nimport { motion } from '../../render/components/motion/proxy.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { useMotionValue } from '../../value/use-motion-value.mjs';\nimport { useTransform } from '../../value/use-transform.mjs';\nimport { autoScrollIfNeeded, resetAutoScrollState } from './utils/auto-scroll.mjs';\n\nfunction useDefaultMotionValue(value, defaultValue = 0) {\n return isMotionValue(value) ? value : useMotionValue(defaultValue);\n}\nfunction ReorderItemComponent({ children, style = {}, value, as = \"li\", onDrag, onDragEnd, layout = true, ...props }, externalRef) {\n const Component = useConstant(() => motion[as]);\n const context = useContext(ReorderContext);\n const point = {\n x: useDefaultMotionValue(style.x),\n y: useDefaultMotionValue(style.y),\n };\n const zIndex = useTransform([point.x, point.y], ([latestX, latestY]) => latestX || latestY ? 1 : \"unset\");\n invariant(Boolean(context), \"Reorder.Item must be a child of Reorder.Group\", \"reorder-item-child\");\n const { axis, registerItem, updateOrder, groupRef } = context;\n return (jsx(Component, { drag: axis, ...props, dragSnapToOrigin: true, style: { ...style, x: point.x, y: point.y, zIndex }, layout: layout, onDrag: (event, gesturePoint) => {\n const { velocity, point: pointerPoint } = gesturePoint;\n const offset = point[axis].get();\n // Always attempt to update order - checkReorder handles the logic\n updateOrder(value, offset, velocity[axis]);\n autoScrollIfNeeded(groupRef.current, pointerPoint[axis], axis, velocity[axis]);\n onDrag && onDrag(event, gesturePoint);\n }, onDragEnd: (event, gesturePoint) => {\n resetAutoScrollState();\n onDragEnd && onDragEnd(event, gesturePoint);\n }, onLayoutMeasure: (measured) => {\n registerItem(value, measured);\n }, ref: externalRef, ignoreStrict: true, children: children }));\n}\nconst ReorderItem = /*@__PURE__*/ forwardRef(ReorderItemComponent);\n\nexport { ReorderItem, ReorderItemComponent };\n//# sourceMappingURL=Item.mjs.map\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// src/methods/any.ts\nvar any = (array, callback) => {\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const includes = callback(array[index], index, array);\n if (includes) {\n return true;\n }\n }\n return false;\n};\nvar anyLikeWhere = (array, args, symbol, value) => whereSymbol(any, array, args, symbol, value);\n\n// src/methods/utils.ts\nvar isObject = (a) => typeof a === \"object\";\nvar equals = (a, b) => {\n if (a === b) {\n return true;\n }\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n if (!a || !b || !isObject(a) && !isObject(b)) {\n return a === b;\n }\n if (a.prototype !== b.prototype) {\n return false;\n }\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every((k) => equals(a[k], b[k]));\n};\nvar getKey = (obj, key) => {\n if ((isObject(obj) || Array.isArray(obj)) && !!key) {\n return obj[key];\n }\n return obj;\n};\nvar sortBy = (key) => (a, b) => {\n if (a[key] === b[key]) {\n return 0;\n }\n return a[key] > b[key] ? 1 : -1;\n};\nvar isNumber = (a) => /[0-9.]+/.test(a);\nvar isNumberOrString = (o) => [\"string\", \"number\"].includes(typeof o);\n\n// src/symbols.ts\nvar isEmpty = (v) => v === void 0 || v === null || (v == null ? void 0 : v.length) === 0 || v === \"\";\nvar symbolMap = {\n eq: equals,\n is: Object.is,\n \"!=\": (v, c) => v != c,\n \"!==\": (v, c) => v !== c,\n \"<\": (v, c) => v < c,\n \"<=\": (v, c) => v <= c,\n \"==\": (v, c) => v == c,\n \"===\": (v, c) => v === c,\n \">\": (v, c) => v > c,\n \">=\": (v, c) => v >= c,\n includes: (v, c) => `${v}`.includes(c),\n notIncludes: (v, c) => !`${v}`.includes(c),\n startsWith: (v, c) => `${v}`.startsWith(c),\n endsWith: (v, c) => `${v}`.endsWith(c),\n like: (v, c) => new RegExp(`.*${c}.*`, \"gi\").test(`${v}`),\n alphabetical: (v, c) => v.toString().localeCompare(c.toString()),\n empty: isEmpty,\n notEmpty: (x) => !isEmpty(x),\n in: (v, c) => any(c, (x) => equals(v, x)),\n notIn: (v, c) => all(c, (x) => !equals(v, x))\n};\nvar GetOperationFromSymbol = (symbol) => {\n if (symbol in symbolMap)\n return symbolMap[symbol];\n throw new Error(\"Linq - Symbol not found\");\n};\n\n// src/methods/filter.ts\nvar filter = (array, callback) => {\n const mappedArray = [];\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const includes = callback(array[index], index, array);\n if (includes) {\n mappedArray.push(array[index]);\n }\n }\n return mappedArray;\n};\n\n// src/methods/where.ts\nvar whereSymbol = (func, array, args, symbol, value) => {\n if (typeof args === \"function\")\n return func(array, args);\n const op = GetOperationFromSymbol(symbol);\n if (!!args && !!symbol && value !== void 0)\n return func(array, (x) => op(x[args], value));\n return func(array, (x) => op(x, value));\n};\nvar where = (array, args, symbol, value) => whereSymbol(filter, array, args, symbol, value);\n\n// src/methods/all.ts\nvar all = (array, callback) => {\n for (let index = 0; index < array.length; index++) {\n const includes = callback(array[index], index, array);\n if (!includes) {\n return false;\n }\n }\n return true;\n};\nvar allLikeWhere = (array, args, symbol, value) => whereSymbol(all, array, args, symbol, value);\n\n// src/methods/clone.ts\nvar deepClone = (obj) => {\n if (obj === null) {\n return null;\n }\n const clone = __spreadValues({}, obj);\n Object.keys(clone).forEach((key) => clone[key] = isObject(obj[key]) ? deepClone(obj[key]) : obj[key]);\n return Array.isArray(obj) && obj.length ? (clone.length = obj.length) && Array.from(clone) : Array.isArray(obj) ? Array.from(obj) : clone;\n};\n\n// src/methods/contains.ts\nvar contains = (array, element) => {\n if (isObject(element)) {\n for (let index = 0; index < array.length; index++) {\n const current = array[index];\n if (equals(element, current)) {\n return true;\n }\n }\n return false;\n }\n for (let index = 0; index < array.length; index++) {\n const current = array[index];\n if (equals(element, current)) {\n return true;\n }\n }\n return false;\n};\n\n// src/methods/dict.ts\nvar dict = (array, key) => {\n const map2 = new Map(array.map((x) => [x[key], x]));\n return Object.fromEntries(map2.entries());\n};\n\n// src/methods/distinct.ts\nvar distinct = (array) => filter(\n array,\n (el, index, array2) => isObject(el) ? index === array2.findIndex((obj) => equals(obj, el)) : index === array2.indexOf(el)\n);\n\n// src/methods/find.ts\nvar find = (array, callback) => {\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const includes = callback(array[index], index, array);\n if (includes) {\n return array[index];\n }\n }\n return void 0;\n};\n\n// src/methods/group-by.ts\nvar groupWith = (array, func) => {\n const map2 = /* @__PURE__ */ new Map();\n array.forEach((x) => {\n const k = func(x);\n const item = map2.get(k) || [];\n item.push(x);\n map2.set(k, item);\n });\n return Object.fromEntries(map2.entries());\n};\nvar groupBy = (array, key) => groupWith(array, (item) => item[key]);\n\n// src/methods/map.ts\nvar map = (array, callback) => {\n const mappedArray = [];\n let index = 0;\n const len = array.length;\n for (index; index < len; index++) {\n const transform = callback(array[index], index, array);\n mappedArray.push(transform);\n }\n return mappedArray;\n};\n\n// src/methods/range.ts\nvar getInSequence = (a, b) => {\n let x = Number.parseInt(a, 10);\n let y = Number.parseInt(b, 10);\n return x > y ? [y, x] : [x, y];\n};\nvar individualChars = (charA, charZ, jumps = 1) => {\n const a = [];\n let i = charA.charCodeAt(0);\n const j = charZ.charCodeAt(0);\n for (; i <= j; i += jumps) {\n a.push(String.fromCharCode(i));\n }\n if (isNumber(charA) && isNumber(charZ)) {\n return a.map((x) => Number.parseInt(x));\n }\n return a;\n};\nvar createChars = (charA, charZ, jumps = 1) => {\n let abs = Math.abs(jumps);\n if (charA.length > 1 || charZ.length > 1) {\n if (isNumber(charA) && isNumber(charZ)) {\n const a = [];\n const [first2, second] = getInSequence(charA, charZ);\n for (let i = first2; i <= second; i += abs) {\n a.push(i);\n }\n return a;\n }\n }\n return individualChars(charA, charZ, abs);\n};\nvar range = (firstOrLength, secondOrSteps, jumps = 1) => {\n if (secondOrSteps === void 0) {\n const [x, y, jp] = firstOrLength.split(\"..\");\n if (jp === void 0) {\n return createChars(x, y, 1);\n }\n return createChars(x, jp, Number.parseInt(y, 10));\n }\n if (isNumberOrString(firstOrLength) && isNumberOrString(secondOrSteps)) {\n return createChars(`${firstOrLength}`, `${secondOrSteps}`, jumps);\n }\n return Array.from({ length: firstOrLength }, (_, i) => i * Math.abs(secondOrSteps));\n};\n\n// src/methods/reduce.ts\nvar reduce = (callback, initial, array) => {\n let accumulator = initial;\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n accumulator = callback(accumulator, element, index, array);\n }\n return accumulator;\n};\n\n// src/methods/reverse.ts\nvar reverse = (a) => {\n const array = Array.from(a.values());\n let left = null;\n let right = null;\n let length = array.length;\n for (left = 0; left < length / 2; left += 1) {\n right = length - 1 - left;\n let temporary = array[left];\n array[left] = array[right];\n array[right] = temporary;\n }\n return array;\n};\n\n// src/methods/skip.ts\nvar skip = (array, jumps) => {\n if (typeof jumps === \"number\") {\n return array.slice(jumps);\n }\n let len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n const assertion = jumps(element, index, array);\n if (assertion) {\n return array.slice(index);\n }\n }\n return array.slice(0);\n};\nvar skipLikeWhere = (array, args, symbol, value) => whereSymbol(skip, array, args, symbol, value);\n\n// src/methods/sort.ts\nvar selectTuple = (key, a, b) => {\n const valA = a[key];\n const valB = b[key];\n return [valA, valB];\n};\nvar isNil = (key) => key === void 0 || key === null;\nvar sortString = (key, reverse2 = false) => {\n if (reverse2) {\n return (a, b) => {\n if (isNil(key)) {\n return b.localeCompare(a);\n }\n const [valA, valB] = selectTuple(key, a, b);\n return valA.localeCompare(valB);\n };\n }\n return (a, b) => {\n if (isNil(key)) {\n return a.localeCompare(b);\n }\n const [valA, valB] = selectTuple(a, b, key);\n return valA.localeCompare(valB) * -1;\n };\n};\nvar sortNumber = (key, reverse2 = false) => {\n if (reverse2) {\n return (a, b) => {\n if (isNil(key)) {\n return b - a;\n }\n const [valA, valB] = selectTuple(key, a, b);\n return valB - valA;\n };\n }\n return (a, b) => {\n if (isNil(key)) {\n return a - b;\n }\n const [valA, valB] = selectTuple(a, b, key);\n return valA - valB;\n };\n};\nvar sortDate = (key, reverse2 = false) => {\n if (reverse2) {\n return (a, b) => {\n if (isNil(key)) {\n return Date.parse(b) - Date.parse(a);\n }\n const [valA, valB] = selectTuple(a, b, key);\n return Date.parse(valB.toISOString()) - Date.parse(valA.toISOString());\n };\n }\n return (a, b) => {\n if (isNil(key)) {\n return Date.parse(a) - Date.parse(b);\n }\n const [valA, valB] = selectTuple(a, b, key);\n return Date.parse(valA.toISOString()) - Date.parse(valB.toISOString());\n };\n};\nvar sort = (array, sorter) => {\n const shallowCopy = [...array];\n if (sorter === void 0)\n return shallowCopy.sort();\n if (typeof sorter === \"function\")\n return shallowCopy.toSorted(sorter);\n return shallowCopy.toSorted(sortBy(sorter));\n};\nvar Order = /* @__PURE__ */ ((Order2) => {\n Order2[\"Asc\"] = \"asc\";\n Order2[\"Desc\"] = \"desc\";\n return Order2;\n})(Order || {});\nvar createSorter = (fields) => (a, b) => fields.reduce((acc, x) => {\n const reverse2 = x.type === \"desc\" ? -1 : 1;\n const property = x.key;\n const p = a[property] > b[property] ? reverse2 : a[property] < b[property] ? -reverse2 : 0;\n return acc !== 0 ? acc : p;\n}, 0);\nvar multiSort = (array, fields) => array.sort(createSorter(fields));\n\n// src/methods/unique.ts\nvar unique = (array, key) => {\n if (key === void 0) {\n return [...new Set(array).values()];\n }\n const seen = /* @__PURE__ */ new Set();\n if (Array.isArray(key)) {\n return [...new Set(key)];\n }\n return filter(array, (el) => {\n const duplicate = key ? seen.has(el[key]) : seen.has(key);\n if (!!key) {\n if (!duplicate) {\n seen.add(el[key]);\n }\n }\n return !duplicate;\n });\n};\n\n// src/linq.ts\nvar Linq = class _Linq {\n constructor(array = []) {\n this.array = array;\n }\n static Range(...args) {\n return range(...args);\n }\n static New(array) {\n return new _Linq(array);\n }\n Where(args, symbol, value) {\n this.array = where(this.array, args, symbol, value);\n return this;\n }\n Some(args, symbol, value) {\n return anyLikeWhere(this.array, args, symbol, value);\n }\n All(args, symbol, value) {\n return allLikeWhere(this.array, args, symbol, value);\n }\n Reverse() {\n this.array = reverse(this.array);\n return this;\n }\n Add(el) {\n this.array = Array.isArray(el) ? this.array.concat(el) : this.array.concat([el]);\n return this;\n }\n Prepend(el) {\n this.array = Array.isArray(el) ? el.concat(this.array) : [el].concat(this.array);\n return this;\n }\n Select(transform) {\n return transform === void 0 ? this.array : this.array.map(transform);\n }\n Take(init, end) {\n if (end !== void 0) {\n this.array = this.array.slice(init, Math.max(0, end));\n } else {\n this.array = this.array.slice(init);\n }\n return this;\n }\n Head() {\n return this.array[0];\n }\n Tail() {\n return this.Skip(1);\n }\n Skip(args, symbol, value) {\n this.array = skipLikeWhere(this.array, args, symbol, value);\n return this;\n }\n Distinct() {\n this.array = distinct(this.array);\n return this;\n }\n First(predicate) {\n return predicate === void 0 ? this.array[0] : find(this.array, predicate) || null;\n }\n Last(predicate) {\n const len = this.array.length;\n if (predicate === void 0) {\n return this.array[len - 1];\n }\n for (let index = len; index !== 0; index--) {\n const includes = predicate(this.array[index], index, this.array);\n if (includes) {\n return this.array[index];\n }\n }\n return void 0;\n }\n Sum(key) {\n return key === void 0 ? reduce((acc, el) => acc + el, 0, this.array) : reduce((acc, el) => acc + getKey(el, key), 0, this.array);\n }\n Average(key) {\n return this.Sum(key) / this.array.length;\n }\n GroupBy(key) {\n return groupBy(this.array, key);\n }\n GroupWith(func) {\n return groupWith(this.array, func);\n }\n Except(exceptions) {\n return filter(this.array, (x) => !contains(exceptions, x));\n }\n Intersect(commons) {\n return filter(this.array, (x) => contains(commons, x));\n }\n OrderBy(key, order) {\n let array;\n array = !!key ? sort(this.array, key) : this.array.toSorted();\n this.array = order === \"desc\" ? reverse(array) : array;\n return this;\n }\n Includes(object) {\n return any(this.array, (x) => equals(x, object));\n }\n In(array) {\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n const includesElement = this.Includes(element);\n if (includesElement)\n return true;\n }\n return false;\n }\n Reduce(fn, firstValue) {\n return reduce(fn, firstValue != null ? firstValue : this.array[0], this.array);\n }\n Empty() {\n return this.array.length === 0;\n }\n ToMap(key) {\n return new Map(map(this.array, (item) => [key, item]));\n }\n Zip(array, fn) {\n return map(this.array, (item, index) => fn(item, array[index]));\n }\n Count(predicate) {\n return predicate === void 0 ? this.array.length : filter(this.array, predicate).length;\n }\n Get(n) {\n return this.array[n];\n }\n Clone() {\n return new _Linq(deepClone(this.array));\n }\n ToObject(key) {\n return dict(this.array, key);\n }\n Sort(sorter) {\n return Array.isArray(sorter) ? multiSort(this.array, sorter) : sort(this.array, sorter);\n }\n Unique(k) {\n return unique(this.array, k);\n }\n};\n\n// src/methods/chunk.ts\nvar chunk = (array, size) => reduce(\n (arr, item, index) => index % size === 0 ? [...arr, [item]] : [...arr.slice(0, -1), [...arr.slice(-1)[0], item]],\n [],\n array\n);\n\n// src/methods/compact.ts\nvar compact = (array) => {\n const mappedArray = [];\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n if (Boolean(element)) {\n mappedArray.push(array[index]);\n }\n }\n return mappedArray;\n};\n\n// src/methods/get.ts\nvar first = (array) => array[0];\nvar last = (array) => array[array.length - 1];\nvar tail = (array) => skip(array, 1);\n\n// src/methods/numbers.ts\nvar MathMinMax = (fn, key, array) => Array.isArray(key) ? reduce((acc, el) => fn(acc, el), 0, key) : reduce((acc, el) => fn(acc, el[key]), 0, array);\nvar max = (array, key) => MathMinMax(Math.max, key, array);\nvar min = (array, key) => MathMinMax(Math.min, key, array);\nvar sum = (array, key) => MathMinMax((a, b) => a + b, key, array);\nvar diff = (array, key) => MathMinMax((a, b) => a - b, key, array);\n\n// src/methods/random.ts\nvar random = (array) => {\n const len = array.length;\n const i = Math.floor(Math.random() * len);\n return array[i];\n};\n\n// src/methods/repeat.ts\nvar repeat = (element, repeat2) => {\n const array = [];\n for (let index = 0; index < repeat2; index++) {\n array.push(element);\n }\n return array;\n};\n\n// src/methods/to-map.ts\nvar toMap = (array, key) => {\n const map2 = /* @__PURE__ */ new Map();\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n const elementKey = element[key];\n map2.set(elementKey, element);\n }\n return map2;\n};\n\n// src/index.ts\nvar src_default = Linq;\n\nexport { Linq, Order, all, any, chunk, compact, contains, deepClone, src_default as default, dict, diff, distinct, filter, find, first, groupBy, last, map, max, min, multiSort, random, range, reduce, repeat, reverse, skip, sort, sortDate, sortNumber, sortString, sum, tail, toMap, unique, where };\n","import { FileIcon, type Icon } from \"@phosphor-icons/react\";\nimport React from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\n\nexport type EmptyProps = { Icon?: Icon; message?: string };\n\nexport const Empty = (props: EmptyProps) => {\n const Icon = props.Icon ?? FileIcon;\n const translate = useTranslations();\n return (\n <div className=\"flex w-full flex-col items-center justify-center gap-4 px-8 py-12\">\n <Icon size={64} className=\"text-disabled\" />\n <p className=\"text-disabled\">{props.message ?? translate.emptyDataMessage}</p>\n </div>\n );\n};\n","import React, { Fragment, useId, useMemo } from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { Polymorph } from \"../core/polymorph\";\nimport { TablePagination } from \"./table-lib\";\n\nexport function createPaginationItems(current: number, max: number) {\n if (!current || !max) return [];\n const items: Array<string | number> = [1];\n if (current === 1 && max === 1) return items;\n if (current > 4) items.push(\"-\");\n const r = 2;\n const r1 = current - r;\n const r2 = current + r;\n for (let i = r1 > 2 ? r1 : 2; i <= Math.min(max, r2); i++) items.push(i);\n const p2 = max - 2;\n if (r2 + 1 !== p2) {\n if (r2 + 1 < max) items.push(\"_\");\n }\n if (r2 < max) {\n items.push(max - 2);\n items.push(max - 1);\n items.push(max);\n }\n return Array.from(new Set(items));\n}\n\nexport const Pagination = (pagination: TablePagination) => {\n const id = useId();\n const translation = useTranslations();\n const pageNavigation = useMemo(() => createPaginationItems(pagination.current, pagination.pages), [pagination.current, pagination.pages]);\n const hasNext = pagination.current < pagination.pages;\n const Link: React.ElementType = pagination.asLink ?? \"button\";\n\n return (\n <footer className=\"flex flex-wrap items-center justify-center gap-4 border-t-muted p-3 text-sm lg:flex-nowrap lg:justify-between\">\n <p>\n <translation.tablePaginationFooter\n {...pagination}\n sizes={pagination.sizes}\n select={\n pagination.onChangeSize && Array.isArray(pagination.sizes) ? (\n <Fragment>\n <label htmlFor={id}>{translation.tablePaginationSelectLabel}</label>\n <select\n id={id}\n value={pagination.size}\n className=\"cursor-pointer bg-transparent\"\n onChange={(e) => {\n pagination.onChangeSize?.(Number(e.target.value));\n }}\n >\n {pagination.sizes.map((value) => (\n <option key={`pagination-opt-${value}`} value={value}>\n {value}\n </option>\n ))}\n </select>{\" \"}\n </Fragment>\n ) : null\n }\n />\n </p>\n <nav>\n <ul className=\"flex items-center gap-2\">\n {pagination.current > 1 ? (\n <li>\n <Polymorph as={Link} href=\"previous\" className=\"\">\n {translation.tablePaginationPrevious}\n </Polymorph>\n </li>\n ) : null}\n {pageNavigation.map((x) => {\n if (x === null) return null;\n return (\n <Fragment key={`pagination-${x}`}>\n {typeof x === \"string\" ? (\n <li>...</li>\n ) : (\n <li>\n <Polymorph\n href={x}\n as={Link}\n className={`cursor-pointer border-b-2 px-3 py-1 proportional-nums transition-colors hover:border-primary-subtle hover:text-primary-subtle ${x === pagination.current ? \"border-primary text-primary\" : \"border-transparent\"}`}\n >\n {x}\n </Polymorph>\n </li>\n )}\n </Fragment>\n );\n })}\n {hasNext ? (\n <li>\n <Polymorph as={Link} href=\"next\" className=\"\">\n {translation.tablePaginationNext}\n </Polymorph>\n </li>\n ) : null}\n </ul>\n </nav>\n </footer>\n );\n};\n","import React, { Fragment, PropsWithChildren, useRef, useState } from \"react\";\nimport { Is } from \"sidekicker\";\nimport { path } from \"../../lib/fns\";\nimport { SkeletonCell } from \"../display/skeleton\";\nimport { CellAsideElement, CellPropsElement, Col, ColMatrix } from \"./table-lib\";\n\ntype ItemContentContext<T extends Record<string, unknown>> = {\n cols: Col<T>[];\n loading?: boolean;\n loadingMore?: boolean;\n Aside?: React.FC<CellAsideElement<T>>;\n};\n\nconst RowAside = (props: PropsWithChildren) => {\n const parentRef = useRef<HTMLDivElement>(null);\n const ref = useRef<HTMLDivElement>(null);\n const [className, setClassName] = useState(\"opacity-0\");\n const ariaHidden = className === \"opacity-0\";\n\n const onLeave = () => setClassName(\"opacity-0\");\n\n const onEnter = () => {\n const child = ref.current;\n const parent = parentRef.current;\n if (child !== null && parent !== null) {\n parent.style.left = `-${child.getBoundingClientRect().width + 4}px`;\n }\n setClassName(\"opacity-100\");\n };\n\n return (\n <div\n ref={parentRef}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n data-component=\"cell-aside\"\n inert={ariaHidden ? true : undefined}\n tabIndex={ariaHidden ? -1 : undefined}\n className={`group-table-cell-aside absolute inset-0 top-0 flex h-full w-full items-stretch transition-opacity duration-300 ease-in-out ${className}`}\n >\n <div ref={ref} className=\"isolate block\">\n {props.children}\n </div>\n </div>\n );\n};\n\nexport const Row = <T extends Record<string, unknown>>(index: number, row: T, context: ItemContentContext<T>) => {\n const cols = context.cols;\n const loading = context.loading;\n return (\n <Fragment>\n {cols.map((col, colIndex) => {\n const matrix: ColMatrix = `${colIndex},${index}`;\n const value = path(row, col.id);\n const Component = col.Element as React.FC<CellPropsElement<T, typeof col.id>> | undefined;\n const className = col.cellProps?.className || \"\";\n const exposeAside = colIndex === 0 && context.Aside && loading === false;\n const Aside = context.Aside!;\n return (\n <td\n {...col.cellProps}\n role=\"cell\"\n data-matrix={matrix}\n key={`accessor-${index}-${colIndex}`}\n className={`typography group-table-cell flex border-collapse flex-col whitespace-pre-wrap border border-y border-b border-table-border p-[var(--table-cell-padding)] md:table-cell md:border-b-0 md:border-r md:border-l-transparent md:last:border-r-transparent ${className}`}\n >\n {exposeAside ? (\n <RowAside>\n <Aside col={col} row={row} rowIndex={index} />\n </RowAside>\n ) : null}\n <span className=\"block text-sm font-bold leading-tight md:hidden\">{col.thead}</span>\n <span className=\"relative\">\n {loading ? (\n SkeletonCell\n ) : Component ? (\n <Fragment>\n <Component\n row={row}\n matrix={matrix}\n col={col}\n rowIndex={index}\n value={value as CellPropsElement<T, typeof col.id>[\"value\"]}\n />\n </Fragment>\n ) : (\n <Fragment>{Is.nil(value) ? \"\" : (value as React.ReactNode)}</Fragment>\n )}\n </span>\n </td>\n );\n })}\n </Fragment>\n );\n};\n","\"use strict\";Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});const k=(e,t)=>{try{Object.keys(e).forEach(t)}catch(o){window.console.log(o)}},i=e=>e==null,w=e=>{const t=typeof e;return t===\"string\"||t===\"number\"||t===\"boolean\"||i(e)},h=(e,t)=>{const o=t.getItem(e);try{return JSON.parse(o)}catch{return o??null}},u=e=>Object.keys(e).reduce((t,o)=>({...t,[o]:h(o,e)}),{}),p=e=>e instanceof Date?e:typeof e==\"number\"?new Date(new Date*1+e*864e5):e,d=\"1969-12-31T23:59:59.000Z\",S=()=>document.cookie===\"\"?{}:document.cookie.split(\"; \").map(t=>t.split(\"=\")).reduce((t,o)=>(t[decodeURIComponent(o[0].trim())]=decodeURIComponent(o[1].trim()),t),{}),c=new Set,a=()=>{const e=S();c.forEach(t=>t(e))},y=[{name:\"expires\",parse:e=>`expires=${p(e.expires??d)}`},{name:\"maxAge\",parse:e=>e.maxAge?`max-age=${p(e.expires??d)}`:\"\"},{name:\"path\",parse:e=>`path=${e.path??\"/\"}`},{name:\"sameSite\",parse:e=>`samesite=${e.sameSite??\"strict\"}`},{name:\"useSecure\",parse:e=>`${e.useSecure??!0?\"secure\":\"\"}`},{name:\"domain\",parse:e=>{const t=e.domain??\"\";return t===\"\"?\"\":`domain=${e.multiDomain?\".\":\"\"}${t}`}},{name:\"partitioned\",parse:e=>e.partitioned?\"Partitioned\":\"\"}],f={json:S,listener:e=>(c.add(e),()=>c.delete(e)),clearListeners:()=>c.clear(),has:e=>document.cookie.split(\";\").some(t=>t.trim().startsWith(`${e}=`)),deleteAll:()=>{document.cookie.split(\";\").forEach(e=>{document.cookie=e.replace(/^ +/,\"\").replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}),a()},get:e=>{const t=f.json()[e];if(i(t))return null;try{return JSON.parse(decodeURIComponent(t))}catch{return t}},delete:e=>{document.cookie=`${encodeURIComponent(e)}=;expires=${new Date().toUTCString()}`,a()},set:(e,t,o={})=>{const n=w(t)?t:encodeURIComponent(JSON.stringify(t)),s=y.reduce((r,$)=>{const m=$.parse(o);return m===\"\"?r:r.concat(m)},[`${encodeURIComponent(e)}=${n}`]).join(\";\");document.cookie=s,a()}},l=e=>{const t=new Set,o=n=>{e().removeItem(n);const s=u(e());t.forEach(r=>r(s))};return{delete:o,listener:n=>(t.add(n),()=>t.delete(n)),clearListeners:()=>t.clear(),json:(n=!1)=>n?u(e()):e(),has:n=>{const s=e().getItem(n);return!i(s)},deleteAll:()=>{k(e(),o),t.forEach(n=>n(e()))},get:n=>h(n,e()),set:(n,s)=>{e().setItem(n,JSON.stringify(s)),t.forEach(r=>r(e()))}}},I=l(()=>window.sessionStorage),C=l(()=>window.localStorage);exports.Cookie=f;exports.LocalStorage=C;exports.SessionStorage=I;exports.createStorage=l;\n//# sourceMappingURL=index.js.map\n","\"use client\";\nimport React, { useCallback, useRef } from \"react\";\nimport { AllPaths } from \"sidekicker\";\nimport { LocalStorage } from \"storage-manager-js\";\nimport { useReducer } from \"use-typed-reducer\";\nimport { useStableRef } from \"../../hooks/use-stable-ref\";\nimport { isSsr } from \"../../lib/fns\";\nimport { Any, POJO, SetState } from \"../../types\";\nimport { OptionProps } from \"../form/select\";\nimport { FilterConfig } from \"./filter\";\nimport { GroupItem } from \"./group\";\nimport { Sorter } from \"./sort\";\n\nexport const getLabel = <T extends POJO>(col: Col<T>) => col.headerLabel ?? col.thead ?? (col.id as string);\n\nexport type TableConfiguration<T extends POJO, M extends POJO = Any> = M & {\n cols: Col<T>[];\n options: OptionProps[];\n};\n\nexport const createOptionCols = <T extends POJO>(cols: Col<T>[]): OptionProps[] =>\n cols.map((opt) => ({\n value: opt.id as string,\n label: (opt.thead ?? opt.headerLabel ?? (opt.id as string)) as string,\n }));\n\nexport enum ColType {\n Boolean = \"boolean\",\n Number = \"number\",\n Select = \"select\",\n Text = \"text\",\n}\n\nexport const valueFromType = (input: HTMLInputElement) => (input.type === \"number\" ? input.valueAsNumber : input.value);\n\ntype THead = React.ReactElement | React.ReactNode;\n\nexport type ColMatrix = `${number},${number}`;\n\n// ref: https://github.com/gvergnaud/hotscript/blob/main/src/internals/objects/impl/objects.ts\ntype ParsePath<path, output extends string[] = [], currentChunk extends string = \"\"> = path extends number\n ? [`${path}`]\n : path extends `${infer first}${infer rest}`\n ? first extends \".\" | \"[\" | \"]\"\n ? ParsePath<rest, [...output, ...(currentChunk extends \"\" ? [] : [currentChunk])], \"\">\n : ParsePath<rest, output, `${currentChunk}${first}`>\n : [...output, ...(currentChunk extends \"\" ? [] : [currentChunk])];\n\ntype RecursiveGet<Obj, pathList> = Obj extends any\n ? pathList extends [infer first, ...infer rest]\n ? first extends keyof Obj\n ? RecursiveGet<Obj[first], rest>\n : [first, Obj] extends [`${number}` | \"number\", readonly any[]]\n ? RecursiveGet<Extract<Obj, any[]>[number], rest>\n : undefined\n : Obj\n : never;\n\ntype GetFromPath<Obj, path> = RecursiveGet<Obj, ParsePath<path>>;\n\nexport type CellAsideElement<T extends POJO> = {\n row: T;\n rowIndex: number;\n col: ColOptions<T, AllPaths<T>>;\n};\n\nexport type CellPropsElement<T extends POJO, K extends AllPaths<T>> = {\n row: T;\n value: GetFromPath<T, K>;\n rowIndex: number;\n matrix: ColMatrix;\n col: ColOptions<T, K> & { id: K; thead: THead };\n};\n\ntype ColOptions<T extends POJO, K extends AllPaths<T>> = Partial<{\n type: ColType;\n allowSort: boolean;\n headerLabel: string;\n allowFilter: boolean;\n Element: React.FC<CellPropsElement<T, K>>;\n thProps: React.HTMLAttributes<HTMLTableCellElement>;\n cellProps: React.HTMLAttributes<HTMLTableCellElement>;\n}>;\n\nexport type ColConstructor<T extends POJO> = {\n getAll: () => Col<T>[];\n remove: <K extends AllPaths<T>>(id: K) => void;\n filter: (c: (c: Col<T>) => boolean) => Col<T>[];\n add: <K extends AllPaths<T>>(id: K, thead: THead, props?: ColOptions<T, K>) => void;\n};\n\nconst cols =\n <T extends POJO>() =>\n <K extends AllPaths<T>>(id: K, thead: THead, options: ColOptions<T, K>) => ({ ...options, id, thead });\n\nexport type Col<T extends POJO> = ReturnType<ReturnType<typeof cols<T>>>;\n\nexport type TablePagination = {\n size: number;\n pages: number;\n current: number;\n hasNext: boolean;\n sizes?: number[];\n totalItems: number;\n hasPrevious: boolean;\n onChangeSize?: (size: number) => void;\n asLink?: React.FC<React.PropsWithChildren<{ href: number | \"previous\" | \"next\"; className: string }>>;\n};\n\nexport type TableGetters<T extends POJO> = {\n rows: T[];\n cols: Col<T>[];\n sorters: Sorter<T>[];\n groups: GroupItem<T>[];\n filters: FilterConfig<T>[];\n pagination: TablePagination | null;\n};\n\ntype TableSetters<T extends POJO> = {\n setCols: SetState<Col<T>[]>;\n setSorters: SetState<Sorter<T>[]>;\n setGroups: SetState<GroupItem<T>[]>;\n setFilters: SetState<FilterConfig<T>[]>;\n};\n\nexport type TableOperationProps<T extends POJO> = TableConfiguration<\n T,\n TableSetters<T> &\n TableGetters<T> & {\n set?: (v: TableGetters<T>) => void;\n } & {\n inlineSorter: boolean;\n inlineFilter: boolean;\n }\n>;\n\nexport const createColumns = <T extends POJO>(callback: (o: ColConstructor<T>) => void) => {\n let items: Col<T>[] = [];\n const add: ColConstructor<T>[\"add\"] = (id, thead, options) => items.push({ ...options, id, thead } as Col<T>);\n const remove: ColConstructor<T>[\"remove\"] = (id) => (items = items.filter((x) => x.id !== id));\n const getAll: ColConstructor<T>[\"getAll\"] = () => Array.from(items);\n const filter: ColConstructor<T>[\"filter\"] = (c) => (items = Array.from(items.filter(c)));\n callback({ add, remove, getAll, filter });\n return items;\n};\n\ntype TablePreferenceState<T extends POJO> = {\n name: string;\n cols: Col<T>[];\n groups: GroupItem<T>[];\n sorters: Sorter<T>[];\n filters: FilterConfig<T>[];\n};\n\nconst noop = {};\n\nconst mergeCols = <T extends POJO>(cols: Col<T>[], saved?: Col<T>[]) => {\n if (!Array.isArray(saved)) return cols;\n const savedSet = new Set(saved.map((x) => x.id));\n if (!cols.every((x) => savedSet.has(x.id))) {\n return cols;\n }\n const map = new Map(cols.map((x) => [x.id, x]));\n return saved.map((mock, index) => {\n const original = map.get(mock.id);\n if (original === undefined) return cols[index];\n return original;\n });\n};\n\nexport const useTablePreferences = <T extends POJO>(name: string, cols: Col<T>[], options: Partial<TableGetters<T>> = noop) => {\n const init: TableGetters<T> | null = isSsr() ? null : (LocalStorage.get(`@components/table-${name}`) as TableGetters<T>) || null;\n const [state, dispatch] = useReducer(\n {\n name,\n groups: options.groups || init?.groups || [],\n sorters: options.sorters || init?.sorters || [],\n filters: options.filters || init?.filters || [],\n cols: mergeCols(cols, init?.cols),\n } as Omit<TableGetters<T>, \"rows\"> & { name: string },\n (get) => {\n const intercept = (partial: Partial<TablePreferenceState<T>>) => {\n const prev = get.state();\n const result = { ...prev, ...partial };\n if (!isSsr()) LocalStorage.set(`@components/table-${prev.name}`, result);\n return result;\n };\n intercept(get.state());\n return {\n set: (getters: TableGetters<T>) => intercept(getters),\n };\n }\n );\n return { ...state, ...dispatch, name };\n};\n\nexport const useWidthControl = <T extends object>(reorder: (c: Col<T>[]) => void) => {\n const stableRef = useStableRef(reorder);\n const ref = useRef<HTMLTableRowElement>(null);\n const onChange = useCallback(\n (cols: Col<T>[]) => {\n stableRef.current(cols);\n cols.forEach((x) => {\n const c = ref.current!.querySelector(`th[data-tableheader=\"${x.id}\"]`) as HTMLElement | null;\n if (!c) return;\n c.style.width = \"auto\";\n });\n },\n [stableRef]\n );\n return [ref, onChange] as const;\n};\n\nexport const getModalScrollerRef = () => (isSsr() ? undefined : (document.querySelector(`[data-component=\"modal-body\"]`) as HTMLElement));\n","\"use client\";\nimport { SortAscendingIcon, SortDescendingIcon, CaretUpDownIcon, PlusIcon, TrashIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, useState } from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { uuid } from \"../../lib/fns\";\nimport { Any, Label } from \"../../types\";\nimport { Dropdown } from \"../floating/dropdown\";\nimport { OptionProps, Select } from \"../form/select\";\nimport { Col, getLabel, TableConfiguration, TableOperationProps } from \"./table-lib\";\n\ntype Keyof<T extends Any> = keyof T extends infer R extends string ? R : never;\n\nenum Order {\n Asc = \"asc\",\n Desc = \"desc\",\n Undefined = \"undefined\",\n}\n\nexport type Sorter<T extends Any> = { value: Keyof<T>; type: Order; label: Label; id: string };\n\nconst createSorterFn =\n <T extends Any>(fields: Sorter<T>[]) =>\n (a: T, b: T) =>\n fields.reduce<number>((acc, x) => {\n const reverse = x.type === \"desc\" ? -1 : 1;\n const property = x.value;\n const p = a[property] > b[property] ? reverse : a[property] < b[property] ? -reverse : 0;\n return acc !== 0 ? acc : p;\n }, 0);\n\nexport const multiSort = <T extends Any>(array: T[], fields: Sorter<T>[]) => {\n array.sort(createSorterFn(fields));\n return array;\n};\n\ntype Props<T extends Any> = TableConfiguration<\n T,\n {\n cols: Col<T>[];\n sorters: Sorter<T>[];\n set: React.Dispatch<React.SetStateAction<Sorter<T>[]>>;\n }\n>;\n\nconst createSorter = <T extends Any>(col: Col<T>, label: string, order: Order): Sorter<T> => ({\n label,\n id: uuid(),\n type: order,\n value: col.id as Keyof<T>,\n});\n\nexport const Sort = <T extends Any>(props: Props<T>) => {\n const translation = useTranslations();\n\n const orders = {\n asc: { label: translation.tableSortAsc, value: Order.Asc },\n desc: { label: translation.tableSortDesc, value: Order.Desc },\n } satisfies Omit<Record<Order, OptionProps>, Order.Undefined>;\n\n const orderOptions: OptionProps[] = [orders.asc, orders.desc];\n\n const onAddSorter = () => {\n const col = props.cols[0];\n if (col) props.set((prev) => [...prev, createSorter(col, orders.asc.label, orders.asc.value)]);\n };\n\n const onSetSorter = (id: string) => (e: React.ChangeEvent<HTMLSelectElement>) => {\n const value = e.target.value;\n props.set((prev) => prev.map((x) => (x.id === id ? { ...x, value: value as Keyof<T> } : x)));\n };\n\n const onSortOrderType = (id: string) => (e: React.ChangeEvent<HTMLSelectElement>) => {\n const type = e.target.value;\n props.set((prev) => prev.map((x) => (x.id === id ? { ...x, type: type as Order } : x)));\n };\n\n const onDelete = (e: React.MouseEvent<HTMLButtonElement>) => {\n const id = e.currentTarget.dataset.id || \"\";\n props.set((prev) => prev.filter((x) => x.id !== id));\n };\n\n return (\n <Fragment>\n <Dropdown\n title={translation.tableSortDropdownTitle}\n trigger={\n <span className=\"flex items-center gap-1 proportional-nums\">\n <CaretUpDownIcon size={14} />\n {translation.tableSortOrderByLabel} {props.sorters.length === 0 ? \"\" : ` (${props.sorters.length})`}\n </span>\n }\n >\n <ul className=\"mt-4 space-y-2\">\n {props.sorters.map((sorter) => {\n return (\n <li key={`sorter-select-${sorter.id}`} className=\"flex flex-nowrap gap-3\">\n <Select\n options={props.options}\n value={sorter.value as string}\n onChange={onSetSorter(sorter.id)}\n title={translation.tableSortOrderInputTitle}\n placeholder={translation.tableSortOrderInputPlaceholder}\n />\n <Select\n onChange={onSortOrderType(sorter.id)}\n value={sorter.type}\n options={orderOptions}\n title={translation.tableSortTypeInputTitle}\n placeholder={translation.tableSortTypeInputPlaceholder}\n />\n <button className=\"mt-4\" data-id={sorter.id} onClick={onDelete}>\n <TrashIcon className=\"text-danger\" size={14} />\n </button>\n </li>\n );\n })}\n <li>\n <button type=\"button\" onClick={onAddSorter} className=\"flex items-center gap-1 text-primary\">\n <PlusIcon size={14} /> {translation.tableSortAddButton}\n </button>\n </li>\n </ul>\n </Dropdown>\n </Fragment>\n );\n};\n\ntype SorterHeadProps<T extends Any> = Pick<TableOperationProps<T>, \"sorters\" | \"setSorters\"> & { col: Col<T> };\n\nexport const SorterHead = <T extends Any>(props: SorterHeadProps<T>) => {\n const translations = useTranslations();\n const [status, setStatus] = useState(() => {\n const sorter = props.sorters.find((sort) => sort.value === props.col.id);\n return sorter ? sorter.type : Order.Undefined;\n });\n\n const onClick = () => {\n const next = status === Order.Undefined ? Order.Asc : status === Order.Asc ? Order.Desc : Order.Undefined;\n setStatus(next);\n props.setSorters((prev) => {\n if (next === Order.Undefined) return prev.filter((x) => x.value !== props.col.id);\n const findIndex = prev.findIndex((p) => (p.value as string) === props.col.id);\n const sorter = createSorter(props.col, next, next);\n if (findIndex === -1) return [...prev, sorter];\n prev[findIndex] = sorter;\n return [...prev];\n });\n };\n\n const labelId = `${props.col.id}-sorter-id`;\n\n const label = getLabel(props.col);\n\n return (\n <button aria-labelledby={labelId} className=\"isolate flex items-center\" onClick={onClick} type=\"button\">\n <span id={labelId} className=\"sr-only\">\n {translations.tableSortDropdownTitle} {label}\n </span>\n {status === Order.Asc ? <SortAscendingIcon size={14} /> : null}\n {status === Order.Desc ? <SortDescendingIcon size={14} /> : null}\n {status === Order.Undefined ? <CaretUpDownIcon size={14} /> : null}\n </button>\n );\n};\n","import { createContext, useContext } from \"react\";\n\nexport type TableContextProps = Partial<{ sticky: number }>;\n\nconst TableContext = createContext<TableContextProps>({});\n\nexport const TableProvider = TableContext.Provider;\n\nexport const useTable = () => useContext(TableContext);\n","import { Symbols } from \"linq-arrays\";\nimport { FunnelIcon, PlusIcon, TrashIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, useMemo } from \"react\";\nimport { AllPaths } from \"sidekicker\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { uuid } from \"../../lib/fns\";\nimport { Any, Label } from \"../../types\";\nimport { Dropdown } from \"../floating/dropdown\";\nimport { Input, InputTypes } from \"../form/input\";\nimport { OptionProps, Select } from \"../form/select\";\nimport { Col, ColType, getLabel, TableConfiguration, valueFromType } from \"./table-lib\";\n\ntype Operators = { value: string; label: string; symbol: string; \"data-default\"?: string };\n\ntype OperatorTypes = \"contains\" | \"is\" | \"isNot\" | \"notContains\" | \"lessThan\" | \"greaterThan\" | \"startsWith\" | \"endsWith\";\n\ntype Operations = Record<OperatorTypes, Operators>;\n\ntype OperationOptions = Partial<Record<ColType, OptionProps[]>>;\n\ntype FilterValue = string | number | string[] | boolean;\n\nexport type FilterConfig<T extends object = object> = {\n id: string;\n label: Label;\n name: AllPaths<T>;\n type: ColType;\n operation: Operators;\n value: FilterValue;\n};\n\ntype Props<T extends object> = TableConfiguration<\n T,\n {\n cols: Col<T>[];\n filters: FilterConfig<T>[];\n set: React.Dispatch<React.SetStateAction<FilterConfig<T>[]>>;\n }\n>;\n\nexport const createFilterFromCol = <T extends Any>(\n f: Col<T>,\n options: OperationOptions,\n operations: Operations,\n rest: Partial<FilterConfig<T>> = {}\n): FilterConfig<T> => {\n const name = f.id;\n const type = f.type ?? ColType.Text;\n const typeOptions = options[type] ?? [];\n const operatorId = (typeOptions.find((x) => x[\"data-default\"])?.value ?? typeOptions[0]?.value) as OperatorTypes;\n const operation = operations[operatorId];\n return { id: uuid(), operation, label: getLabel(f), name, type, value: \"\", ...rest };\n};\n\nexport const useOperators = () => {\n const translation = useTranslations();\n const operations = useMemo(\n (): Operations =>\n ({\n contains: {\n value: \"contains\",\n label: translation.tableFilterTypeContains,\n symbol: \"includes\",\n \"data-default\": \"true\",\n },\n is: { value: \"is\", label: translation.tableFilterTypeIs, symbol: \"is\" },\n isNot: { value: \"isNot\", label: translation.tableFilterTypeIsNot, symbol: \"!==\" },\n notContains: {\n value: \"notContains\",\n label: translation.tableFilterTypeNotContains,\n symbol: \"notIncludes\",\n },\n lessThan: { value: \"lessThan\", label: translation.tableFilterTypeLessThan, symbol: \"<=\" },\n greaterThan: { value: \"greaterThan\", label: translation.tableFilterTypeGreaterThan, symbol: \">=\" },\n startsWith: { value: \"startsWith\", label: translation.tableFilterTypeStartsWith, symbol: \"startsWith\" },\n endsWith: { value: \"endsWith\", label: translation.tableFilterTypeEndsWith, symbol: \"endsWith\" },\n }) satisfies Record<string, OptionProps & { symbol: Symbols }>,\n [translation]\n );\n\n const options = useMemo(\n (): OperationOptions => ({\n [ColType.Text]: [\n operations.is,\n operations.isNot,\n operations.contains,\n operations.notContains,\n operations.startsWith,\n operations.endsWith,\n ],\n [ColType.Boolean]: [operations.is, operations.isNot],\n [ColType.Number]: [operations.is, operations.isNot, operations.greaterThan, operations.lessThan],\n }),\n [operations]\n );\n return { options, operations };\n};\n\nexport const Filter = <T extends object>(props: Props<T>) => {\n const translation = useTranslations();\n const operators = useOperators();\n\n const onAddFilter = () => {\n const col = props.cols.at(0)!;\n props.set((prev) => [...prev, createFilterFromCol(col, operators.options, operators.operations)]);\n };\n\n const onSelectProperty = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const changedId = e.target.dataset.id || \"\";\n const newId = e.target.value;\n props.set((prev) =>\n prev.map((x) => {\n if (changedId !== x.id) return x;\n const col = props.cols.find((x) => newId === x.id)!;\n return createFilterFromCol(col, operators.options, operators.operations, { value: \"\" });\n })\n );\n };\n\n const onSelectOperation = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const id = e.target.dataset.id || \"\";\n const operator = e.target.value;\n props.set((prev) =>\n prev.map((x) =>\n x.id === id\n ? {\n ...x,\n operation: operators.operations[operator as OperatorTypes],\n }\n : x\n )\n );\n };\n\n const onDelete = (e: React.MouseEvent<HTMLButtonElement>) => {\n const id = e.currentTarget.dataset.id || \"\";\n props.set((prev) => prev.filter((x) => x.id !== id));\n };\n\n const onChangeValue = (e: React.ChangeEvent<HTMLInputElement>) => {\n const id = e.target.dataset.id || \"\";\n const value = valueFromType(e.target);\n props.set((prev) => prev.map((x) => (x.id === id ? { ...x, value } : x)));\n };\n\n return (\n <Fragment>\n <Dropdown\n arrow\n title={translation.tableFilterDropdownTitle}\n trigger={\n <span className=\"flex items-center gap-1 proportional-nums\">\n <FunnelIcon size={14} />\n {translation.tableFilterLabel} {props.filters.length === 0 ? \"\" : ` (${props.filters.length})`}\n </span>\n }\n >\n <ul className=\"mt-4 space-y-2\">\n {props.filters.map((filter) => {\n const options = operators.options[filter.type]!;\n return (\n <li key={`filter-select-${filter.id}`} className=\"flex flex-nowrap gap-3\">\n <Select\n options={props.options}\n title={translation.tableFilterColumnTitle}\n placeholder={translation.tableFilterColumnPlaceholder}\n value={filter.name as string}\n data-id={filter.id}\n onChange={onSelectProperty}\n />\n <Select\n data-id={filter.id}\n onChange={onSelectOperation}\n value={filter.operation.value}\n options={options}\n title={translation.tableFilterOperatorTitle}\n placeholder={translation.tableFilterOperatorPlaceholder}\n />\n <Input\n optionalText=\"\"\n data-id={filter.id}\n onChange={onChangeValue}\n value={filter.value as string}\n type={filter.type as InputTypes}\n title={translation.tableFilterValueTitle}\n placeholder={translation.tableFilterValuePlaceholder}\n />\n <div className=\"mt-5 flex items-center justify-center\">\n <button data-id={filter.id} type=\"button\" onClick={onDelete}>\n <TrashIcon className=\"text-danger\" size={16} />\n </button>\n </div>\n </li>\n );\n })}\n <li>\n <button type=\"button\" onClick={onAddFilter} className=\"flex items-center gap-1 text-primary\">\n <PlusIcon size={14} /> {translation.tableFilterNewFilter}\n </button>\n </li>\n </ul>\n </Dropdown>\n </Fragment>\n );\n};\n\ntype ColumnHeaderFilterProps<T extends object> = {\n filter: FilterConfig<T>;\n onDelete: (e: React.MouseEvent<HTMLButtonElement>) => void;\n set: React.Dispatch<React.SetStateAction<FilterConfig<T>[]>>;\n};\n\nexport const ColumnHeaderFilter = <T extends object>({ filter, onDelete, set }: ColumnHeaderFilterProps<T>) => {\n const translation = useTranslations();\n const operators = useOperators();\n\n const onSelectOperation = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const operator = e.target.value;\n const id = e.target.dataset.id || \"\";\n set((prev) =>\n prev.map((x) =>\n x.id === id\n ? {\n ...x,\n operation: operators.operations[operator as OperatorTypes],\n }\n : x\n )\n );\n };\n\n const onChangeValue = (e: React.ChangeEvent<HTMLInputElement>) => {\n const id = e.target.dataset.id || \"\";\n const value = valueFromType(e.target);\n set((prev) => prev.map((x) => (x.id === id ? { ...x, value } : x)));\n };\n\n return (\n <div className=\"flex flex-nowrap items-center gap-4 py-2\">\n <Select\n data-id={filter.id}\n onChange={onSelectOperation}\n value={filter.operation.value}\n options={operators.options[filter.type]!}\n title={translation.tableFilterColumnTitle}\n placeholder={translation.tableFilterColumnPlaceholder}\n />\n <Input\n optionalText=\" \"\n data-id={filter.id}\n onChange={onChangeValue}\n value={filter.value as string}\n type={filter.type as InputTypes}\n title={translation.tableFilterValueTitle}\n placeholder={translation.tableFilterValueTitle}\n />\n <button onClick={onDelete} data-id={filter.id} type=\"button\" className=\"mt-4\">\n <TrashIcon className=\"text-danger\" size={14} />\n </button>\n </div>\n );\n};\n","\"use client\";\nimport { AnimatePresence, motion, PanInfo, Reorder } from \"motion/react\";\nimport { Order } from \"linq-arrays\";\nimport { PlusIcon, MagnifyingGlassIcon, MagnifyingGlassMinusIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, useCallback, useRef } from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { useTweaks } from \"../../hooks/use-tweaks\";\nimport { Dropdown } from \"../floating/dropdown\";\nimport { ColumnHeaderFilter, createFilterFromCol, useOperators } from \"./filter\";\nimport { SorterHead } from \"./sort\";\nimport { Col, getLabel, TableOperationProps, useWidthControl } from \"./table-lib\";\n\nconst dragConstraints = { top: 0, left: 0, right: 0, bottom: -1 };\n\ntype TableHeaderProps<T extends object> = {\n loading: boolean;\n headers: Col<T>[];\n} & Pick<TableOperationProps<T>, \"filters\" | \"setFilters\" | \"setCols\" | \"setSorters\" | \"sorters\" | \"inlineSorter\" | \"inlineFilter\">;\n\ntype HeaderChildProps<T extends object> = {\n index: number;\n isLast: boolean;\n header: Col<T>;\n loading: boolean;\n} & Pick<TableOperationProps<T>, \"filters\" | \"setFilters\" | \"sorters\" | \"setSorters\" | \"inlineFilter\" | \"inlineSorter\">;\n\nconst HeaderChild = <T extends object>(props: HeaderChildProps<T>) => {\n const tweaks = useTweaks();\n const translation = useTranslations();\n const ownFilters = props.filters.filter((x) => x.name === props.header.id);\n const hasFilters = ownFilters.length > 0;\n const defaultAllowSort = props.header.allowSort ?? tweaks.table.sorters ?? true;\n const defaultAllowFilter = props.header.allowFilter ?? tweaks.table.filters ?? true;\n const operators = useOperators();\n const FilterIcon = hasFilters ? MagnifyingGlassIcon : MagnifyingGlassMinusIcon;\n const th = useRef<HTMLTableCellElement | null>(null);\n\n const onDelete = (e: React.MouseEvent<HTMLButtonElement>) => {\n const id = e.currentTarget.dataset.id || \"\";\n return props.setFilters((prev) => prev.filter((x) => x.id !== id));\n };\n\n const dragRef = useCallback((dom: HTMLTableCellElement | null) => {\n if (dom === null) return;\n th.current = dom;\n const controller = new AbortController();\n dom.addEventListener(\n \"pointerdown\",\n (e) => {\n const target = e.target as HTMLButtonElement;\n if (target.dataset.type === \"resizer\") {\n e.stopPropagation();\n return e.stopImmediatePropagation();\n }\n },\n { signal: controller.signal }\n );\n return () => controller.abort();\n }, []);\n\n const ownSorter = props.sorters.find((x) => props.header.id === x.value);\n\n const ariaSort = !ownSorter?.type ? \"none\" : ownSorter.type === Order.Asc ? \"ascending\" : \"descending\";\n\n const label = getLabel(props.header);\n\n return (\n <Reorder.Item\n {...(props.header.thProps as object)}\n as=\"th\"\n ref={dragRef}\n initial={false}\n dragSnapToOrigin\n dragDirectionLock\n role=\"columnheader\"\n aria-sort={ariaSort}\n value={props.header}\n aria-busy={props.loading}\n data-tableheader={props.header.id}\n whileDrag={{ cursor: \"grabbing\" }}\n className={`typography relative min-w-0 cursor-grab overflow-clip border-r-[1px] border-table-border bg-table-header font-medium first:rounded-tl-lg last:rounded-tr-lg last:border-r-transparent md:h-14 ${props.header.thProps?.className ?? \"\"}`}\n >\n <span\n className={`flex h-full items-center justify-between bg-table-header p-[var(--table-cell-padding)] ${props.isLast ? \"rounded-tr-lg\" : \"\"} ${props.index === 0 ? \"rounded-tl-lg\" : \"\"}`}\n >\n <span className=\"flex items-center gap-1\">\n {props.inlineFilter && defaultAllowFilter ? (\n <Dropdown\n arrow\n trigger={\n <span>\n <span id={`${props.header.id}-filter-dropdown-button`} className=\"sr-only\">\n {translation.tableFilterDropdownTitleUnique} {label}\n </span>\n <FilterIcon aria-labelledby={`${props.header.id}-filter-dropdown-button`} size={14} />\n </span>\n }\n title={\n <span className=\"text-lg\">\n {translation.tableFilterDropdownTitleUnique} <span className=\"font-medium\">{label}</span>\n </span>\n }\n >\n <ul className=\"font-medium\">\n {ownFilters.length === 0 ? null : (\n <Fragment>\n {ownFilters.map((filter) => (\n <li key={`thead-filter-${filter.id}`} className=\"my-1\">\n <ColumnHeaderFilter onDelete={onDelete} filter={filter} set={props.setFilters} />\n </li>\n ))}\n </Fragment>\n )}\n <li>\n <button\n type=\"button\"\n className=\"flex items-center gap-1 text-primary\"\n onClick={() =>\n props.setFilters((prev) =>\n prev.concat(createFilterFromCol(props.header, operators.options, operators.operations))\n )\n }\n >\n <PlusIcon size={14} /> {translation.tableFilterNewFilter}\n </button>\n </li>\n </ul>\n </Dropdown>\n ) : null}\n <span className=\"pointer-events-auto text-balance text-base\">{props.header.thead}</span>\n {props.inlineSorter && defaultAllowSort ? (\n <SorterHead col={props.header} setSorters={props.setSorters} sorters={props.sorters} />\n ) : null}\n </span>\n </span>\n {props.isLast ? null : (\n <motion.button\n drag=\"x\"\n draggable\n dragListener\n dragMomentum\n type=\"button\"\n animate={false}\n dragElastic={0}\n dragPropagation\n initial={false}\n dragSnapToOrigin\n dragDirectionLock\n data-type=\"resizer\"\n title={props.header.id}\n dragConstraints={dragConstraints}\n className=\"absolute -right-[0.5px] top-0 z-calendar block h-full w-[1px] cursor-col-resize bg-transparent hover:w-1.5 hover:bg-primary active:w-1.5 active:bg-primary\"\n onClick={(e) => void e.currentTarget.focus()}\n onKeyDown={(e) => {\n if (e.key === \"ArrowLeft\" || e.key === \"ArrowRight\") {\n if (th.current === null) return;\n th.current.setAttribute(\"data-resized\", \"true\");\n const v = th.current.getBoundingClientRect().width;\n const move = e.shiftKey ? 50 : 10;\n const delta = move * (e.key === \"ArrowLeft\" ? -1 : 1);\n th.current.style.width = `${Math.abs(v + delta)}px`;\n }\n }}\n onDoubleClick={() => {\n if (th.current === null) return;\n th.current.style.width = \"auto\";\n }}\n onDrag={(_: never, info: PanInfo) => {\n if (th.current === null) return;\n th.current.setAttribute(\"data-resized\", \"true\");\n const v = th.current.getBoundingClientRect().width;\n const delta = info.delta.x;\n th.current.style.width = `${Math.abs(v + delta)}px`;\n }}\n />\n )}\n </Reorder.Item>\n );\n};\n\nexport const TableHeader = <T extends object>(props: TableHeaderProps<T>) => {\n const [ref, onChange] = useWidthControl(props.setCols);\n return (\n <Reorder.Group layout as=\"tr\" axis=\"x\" drag=\"x\" ref={ref} layoutRoot role=\"row\" layoutScroll onReorder={onChange} values={props.headers}>\n <AnimatePresence>\n {props.headers.map((header, index) => (\n <HeaderChild<T>\n index={index}\n header={header}\n filters={props.filters}\n loading={props.loading}\n sorters={props.sorters}\n setFilters={props.setFilters}\n setSorters={props.setSorters}\n inlineFilter={props.inlineFilter}\n inlineSorter={props.inlineSorter}\n isLast={index === props.headers.length - 1}\n key={`header-child-item-${header.id as string}`}\n />\n ))}\n </AnimatePresence>\n </Reorder.Group>\n );\n};\n","import Linq from \"linq-arrays\";\nimport { Symbols } from \"linq-arrays\";\nimport { AnimatePresence } from \"motion/react\";\nimport React, { ComponentProps, CSSProperties, Fragment, HTMLAttributes, useEffect, useMemo, useRef, useState } from \"react\";\nimport { ContextProp, ItemProps, TableBodyProps, TableComponents, TableVirtuoso } from \"react-virtuoso\";\nimport { Is } from \"sidekicker\";\nimport { useStableRef } from \"../../hooks/use-stable-ref\";\nimport { Empty } from \"../display/empty\";\nimport { SkeletonCell } from \"../display/skeleton\";\nimport { OptionProps } from \"../form/select\";\nimport { FilterConfig } from \"./filter\";\nimport { GroupItem } from \"./group\";\nimport { Pagination } from \"./pagination\";\nimport { Row } from \"./row\";\nimport { multiSort, Sorter } from \"./sort\";\nimport { CellAsideElement, Col, TableOperationProps } from \"./table-lib\";\nimport { useTable } from \"./table.context\";\nimport { TableHeader } from \"./thead\";\n\ntype VirtuosoCtx = {\n cols: Col<Record<string, unknown>>[];\n loading?: boolean;\n loadingMore?: boolean;\n Aside?: React.FC<CellAsideElement<Record<string, unknown>>>;\n getRowProps?: (_: Record<string, unknown>) => ComponentProps<\"tr\">;\n};\n\ntype VirtuosoData = Record<string, unknown>;\n\nexport type InnerTableProps<T extends Record<string, unknown>> = HTMLAttributes<HTMLTableElement> &\n TableOperationProps<T> & {\n rows: T[];\n index: number;\n cols: Col<T>[];\n border?: boolean;\n loading?: boolean;\n group?: GroupItem<T>;\n useControl?: boolean;\n loadingMore?: boolean;\n sorters?: Sorter<T>[];\n showMetadata?: boolean;\n groups?: GroupItem<T>[];\n onScrollEnd?: () => void;\n optionCols: OptionProps[];\n filters?: FilterConfig<T>[];\n Aside?: React.FC<CellAsideElement<T>>;\n getScrollRef?: () => HTMLElement | undefined;\n getRowProps?: (_: T) => ComponentProps<\"tr\">;\n setGroups: React.Dispatch<React.SetStateAction<GroupItem<T>[]>>;\n };\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps & ContextProp<unknown>>(\n ({ context: _context, className = \"\", ...props }, ref) => (\n <tbody {...props} role=\"rowgroup\" className={`divide-y divide-table-border ${className}`} ref={ref}>\n <AnimatePresence>{props.children}</AnimatePresence>\n </tbody>\n )\n);\n\ntype VirtualTableProps = Pick<React.ComponentProps<\"table\">, \"children\" | \"style\" | \"className\"> & ContextProp<unknown>;\n\nconst VirtualTable = React.forwardRef<HTMLTableElement, VirtualTableProps>(({ context: _context, className = \"\", ...props }, ref) => (\n <table\n {...props}\n role=\"table\"\n ref={ref}\n style={{ ...props.style, \"--table-cell-padding\": \"0.75rem\" } as CSSProperties}\n className={`table w-full table-fixed border-separate border-spacing-0 text-left ${className ?? \"\"}`}\n />\n));\n\ntype TheadProps = Pick<React.ComponentProps<\"thead\">, \"children\" | \"style\"> & ContextProp<unknown>;\n\nconst Thead = React.forwardRef<HTMLTableSectionElement, TheadProps>(({ context: _context, ...props }, ref) => {\n const ctx = useTable();\n const style = {\n ...props.style,\n top: Is.number(ctx.sticky) ? `${ctx.sticky}px` : undefined,\n };\n return <thead {...props} ref={ref} style={style} role=\"rowgroup\" className=\"group:sticky top-0 hidden bg-transparent md:table-header-group\" />;\n});\n\ntype TRowProps = ItemProps<VirtuosoData> & ContextProp<VirtuosoCtx> & { className?: string };\n\nconst TRow = React.forwardRef<HTMLTableRowElement, TRowProps>(({ context, item, className, ...props }, ref) => {\n const contextProps = item ? context?.getRowProps?.(item) : undefined;\n const innerProps = { ...props, ...contextProps };\n return (\n <tr\n {...(innerProps as React.HTMLAttributes<HTMLTableRowElement>)}\n role=\"row\"\n ref={ref}\n className={`group-table-row flex h-fit flex-col flex-wrap justify-center gap-1 pb-4 md:table-row ${[className, contextProps?.className].filter(Boolean).join(\" \")}`}\n />\n );\n});\n\ntype TFootProps = Pick<React.ComponentProps<\"tfoot\">, \"children\" | \"style\"> & ContextProp<VirtuosoCtx>;\n\nconst TFoot = React.forwardRef<HTMLTableSectionElement, TFootProps>(({ context, ...props }, ref) => {\n if (context?.loadingMore) {\n return (\n <tfoot {...props} ref={ref} className=\"bg-card-background\">\n <tr role=\"row\" className=\"bg-card-background\">\n <td colSpan={999} className=\"h-14 bg-card-background px-2\">\n <span className=\"block h-2 w-full animate-pulse rounded bg-foreground opacity-60\" />\n </td>\n </tr>\n </tfoot>\n );\n }\n return null;\n});\n\nconst components: TableComponents<VirtuosoData, VirtuosoCtx> = {\n TableRow: TRow,\n TableFoot: TFoot,\n TableHead: Thead,\n Table: VirtualTable,\n TableBody: TableBody,\n};\n\nconst loadingArray = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\nconst EmptyContent = (props: { loading?: boolean }) => (\n <div className=\"flex h-48 w-full items-center justify-center px-2\">{props.loading ? SkeletonCell : <Empty />}</div>\n);\n\nconst EmptyCell = () => <Fragment />;\n\nconst emptyRows: never[] = [];\n\nexport const InnerTable = <T extends Record<string, unknown>>({\n cols,\n filters,\n setCols,\n sorters,\n setFilters,\n setSorters,\n onScrollEnd,\n getScrollRef,\n pagination = null,\n useControl = false,\n ...props\n}: InnerTableProps<T>) => {\n const ref = useRef<HTMLDivElement | null>(null);\n const [, setShowLoadingFooter] = useState(false);\n const onScrollEndRef = useStableRef(onScrollEnd);\n const loadingMoreRef = useStableRef(props.loadingMore);\n\n const rows = useMemo(() => {\n if (props.loading) return loadingArray as unknown as T[];\n if (useControl) return props.rows;\n const linq = new Linq(props.rows);\n if (filters.length > 0) {\n filters.forEach((x) =>\n x.value === \"\" || Number.isNaN(x.value) ? undefined : linq.Where(x.name as keyof T, x.operation.symbol as Symbols, x.value)\n );\n }\n if (sorters.length === 0) return linq.Select();\n return multiSort(linq.Select(), sorters);\n }, [props.loading, props.rows, useControl, filters, sorters]);\n\n useEffect(() => {\n if (ref.current === null) return () => {};\n const div = ref.current;\n const observer = new IntersectionObserver((entries) => {\n const endOfPage = entries[entries.length - 1];\n const condition = endOfPage.isIntersecting && loadingMoreRef.current;\n if (condition) {\n onScrollEndRef.current?.();\n return void setShowLoadingFooter(true);\n }\n return setShowLoadingFooter(false);\n });\n observer.observe(div);\n return () => observer.disconnect();\n }, [loadingMoreRef, onScrollEndRef]);\n\n const empty = rows.length === 0;\n\n const context = {\n cols: cols,\n Aside: props.Aside,\n loading: props.loading,\n getRowProps: props.getRowProps,\n loadingMore: props.loadingMore,\n };\n\n return (\n <div className=\"group relative flex w-full flex-col whitespace-nowrap rounded-lg bg-table-background\">\n <TableVirtuoso\n components={components}\n context={context as VirtuosoCtx}\n totalCount={rows.length}\n itemContent={empty ? EmptyCell : Row}\n data={empty ? emptyRows : rows}\n useWindowScroll={getScrollRef ? false : true}\n customScrollParent={getScrollRef ? getScrollRef() : undefined}\n fixedHeaderContent={() => (\n <TableHeader<T>\n headers={cols}\n filters={filters}\n setCols={setCols}\n sorters={sorters}\n setFilters={setFilters}\n setSorters={setSorters}\n loading={!!props.loading}\n inlineFilter={props.inlineFilter}\n inlineSorter={props.inlineSorter}\n />\n )}\n />\n {empty ? <EmptyContent loading={props.loading} /> : null}\n <div aria-hidden=\"true\" ref={ref} className=\"h-0.5 w-full\" />\n {pagination !== null ? <Pagination {...pagination} /> : null}\n </div>\n );\n};\n","\"use client\";\nimport { LayoutGroup, Reorder, useDragControls, useMotionValue } from \"motion/react\";\nimport Linq from \"linq-arrays\";\nimport { DotsSixVerticalIcon, TrashIcon, StackMinusIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, useState } from \"react\";\nimport { keys } from \"sidekicker\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { uuid } from \"../../lib/fns\";\nimport { Button } from \"../core/button\";\nimport { Dropdown } from \"../floating/dropdown\";\nimport { Select } from \"../form/select\";\nimport { Col, createOptionCols, TableConfiguration } from \"./table-lib\";\n\nexport type GroupItem<T extends object> = Col<T> & {\n rows: T[];\n index: number;\n groupId: string;\n groupName: string;\n groupKey: keyof T;\n};\n\ntype Props<T extends object> = TableConfiguration<\n T,\n {\n rows: T[];\n groups: GroupItem<T>[];\n setGroups: React.Dispatch<React.SetStateAction<GroupItem<T>[]>>;\n }\n>;\n\nconst Item = <T extends object>({ item, onPointerDown }: { item: GroupItem<T>; onPointerDown: (e: React.PointerEvent) => void }) => {\n const y = useMotionValue(0);\n return (\n <Reorder.Item\n onPointerDown={onPointerDown}\n id={item.groupId}\n className=\"flex flex-row items-center gap-2\"\n key={item.groupId}\n value={item}\n style={{ y }}\n >\n <button type=\"button\" className=\"cursor-grab\">\n <DotsSixVerticalIcon size={14} />\n </button>\n <span>{item.groupName}</span>\n </Reorder.Item>\n );\n};\n\nexport const Group = <T extends object>(props: Props<T>) => {\n const translations = useTranslations();\n const options = createOptionCols(props.cols);\n const controls = useDragControls();\n const [group, setGroup] = useState((props.groups[0]?.thead as string) || \"\");\n\n const onChange = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const select = e.target;\n const key = select.value as keyof T;\n const index = select.options.selectedIndex;\n const label = select.options.item(index)?.label || \"\";\n setGroup(label);\n const groupBy = new Linq(props.rows).GroupBy(key);\n const col = props.cols.find((x) => x.id === key)!;\n props.setGroups(\n keys(groupBy).map((groupName, index): GroupItem<T> => {\n const rows = groupBy[groupName];\n return { ...col, groupId: uuid(), groupKey: key, index, rows, groupName: groupName as string };\n })\n );\n };\n\n const onDelete = () => props.setGroups([]);\n\n return (\n <Fragment>\n <Dropdown\n arrow={false}\n title={translations.tableGroupLabel}\n trigger={\n <span className=\"flex items-center gap-1 proportional-nums\">\n <StackMinusIcon size={14} />\n {translations.tableGroupLabelWithCount}\n {props.groups.length > 0 ? ` - ${group}(${props.groups.length})` : \"\"}\n </span>\n }\n >\n <div className=\"flex flex-nowrap items-center\">\n <Select value={group} title=\"Tipo de agrupamento\" onChange={onChange} options={options} placeholder=\"Agrupar por...\" />\n <Button className=\"mt-4\" onClick={onDelete} theme=\"raw\" data-id={group}>\n <TrashIcon size={16} className=\"text-danger\" />\n </Button>\n </div>\n {props.groups.length > 0 ? (\n <section className=\"my-4\">\n <header>\n <h2 className=\"text-xl font-medium\">Order groups</h2>\n </header>\n <LayoutGroup>\n <Reorder.Group\n axis=\"y\"\n className=\"relative space-y-2\"\n drag\n dragControls={controls}\n dragListener={false}\n layoutScroll\n onReorder={props.setGroups}\n values={props.groups}\n >\n {props.groups.map((item) => (\n <Item\n key={item.groupId}\n item={item}\n onPointerDown={(e) => {\n controls.start(e);\n props.setGroups([...props.groups]);\n }}\n />\n ))}\n </Reorder.Group>\n </LayoutGroup>\n </section>\n ) : null}\n </Dropdown>\n </Fragment>\n );\n};\n","import { Any } from \"../../types\";\nimport { Filter } from \"./filter\";\nimport { Group } from \"./group\";\nimport { Sort } from \"./sort\";\nimport { TableOperationProps, valueFromType } from \"./table-lib\";\n\nexport const Metadata = <T extends Any>(props: TableOperationProps<T>) => (\n <header className=\"mb-1 min-w-full\">\n <div className=\"flex min-w-full flex-wrap items-center justify-between gap-x-4 gap-y-1\">\n <div className=\"items-centeend flex w-fit gap-4 whitespace-nowrap py-2\">\n <span>\n <Filter cols={props.cols} options={props.options} filters={props.filters} set={props.setFilters} />\n </span>\n <span>\n <Sort options={props.options} cols={props.cols} sorters={props.sorters} set={props.setSorters} />\n </span>\n <span>\n <Group rows={props.rows} groups={props.groups} setGroups={props.setGroups} options={props.options} cols={props.cols} />\n </span>\n </div>\n <ul className=\"flex w-full flex-1 flex-grow flex-row flex-wrap items-center gap-4 md:justify-end\">\n {props.filters.map((x) => (\n <li key={`filter-table-${x.id}`} className=\"flex items-center gap-1 rounded-xl border border-card-border px-4 py-0.5\">\n <span>\n <span className=\"mr-2 inline-block aspect-square size-3 rounded-full bg-primary\" aria-hidden=\"true\" />\n {x.label} {x.operation.label.toLowerCase()}:\n </span>\n <div className=\"relative w-min min-w-[1ch]\">\n <span aria-hidden=\"true\" className=\"invisible whitespace-pre p-0\">\n {x.value || \" \"}\n </span>\n <input\n type={x.type}\n value={x.value as string}\n className=\"absolute left-0 top-0 m-0 inline-block w-full bg-transparent p-0 placeholder-primary/70 outline-none [appearance:textfield] after:empty:text-primary/70 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none\"\n onChange={(e) => {\n const value = valueFromType(e.target);\n props.setFilters((prev) => prev.map((item) => (x.id === item.id ? { ...item, value } : item)));\n }}\n />\n </div>\n </li>\n ))}\n </ul>\n </div>\n </header>\n);\n","\"use client\";\nimport { AnimatePresence } from \"motion/react\";\nimport { ComponentProps, useEffect, useMemo } from \"react\";\nimport { useReducer } from \"use-typed-reducer\";\nimport { useTweaks } from \"../../hooks/use-tweaks\";\nimport { FilterConfig } from \"./filter\";\nimport { GroupItem } from \"./group\";\nimport { InnerTable, InnerTableProps } from \"./inner-table\";\nimport { Metadata } from \"./metadata\";\nimport { Sorter } from \"./sort\";\nimport { Col, createOptionCols, TableGetters, TableOperationProps } from \"./table-lib\";\nimport { TableContextProps, TableProvider } from \"./table.context\";\n\nexport type TableProps<T extends Record<string, unknown>> = Pick<InnerTableProps<T>, \"cols\" | \"rows\" | \"loadingMore\" | \"border\" | \"Aside\"> & {\n name: string;\n} & Partial<\n TableOperationProps<T> & {\n loading: boolean;\n reference: keyof T;\n operations: boolean;\n useControl: boolean;\n inlineFilter: boolean;\n inlineSorter: boolean;\n sticky: number | null;\n onScrollEnd: () => void;\n getScrollRef?: () => HTMLElement | undefined;\n getRowProps: (row: T) => ComponentProps<\"tr\">;\n }\n >;\n\nconst dispatcherFun = <Prev extends object, S extends Prev | ((prev: Prev) => Prev)>(prev: Prev, setter: S) =>\n typeof setter === \"function\" ? setter(prev) : setter;\n\ntype DispatcherFun<T extends object> = T | ((prev: T) => T);\n\nconst compareAndExec = <T extends unknown[]>(prev: T, state: T, exec?: (t: T) => void) => (prev === state ? undefined : exec?.(state));\n\nexport const Table = <T extends Record<string, unknown>>(props: TableProps<T>) => {\n const tweaks = useTweaks();\n const contextState = useMemo(\n (): TableContextProps => ({\n sticky: props.sticky === undefined ? (tweaks.table.sticky ?? undefined) : (props.sticky ?? undefined),\n }),\n [props.sticky, tweaks.table.sticky]\n );\n const operations = props.operations ?? tweaks.table.operations ?? true;\n const optionCols = useMemo(() => createOptionCols(props.cols), [props.cols]);\n const [state, dispatch] = useReducer(\n {\n cols: props.cols as Col<T>[],\n sorters: (props.sorters ?? []) as Sorter<T>[],\n groups: (props.groups ?? []) as GroupItem<T>[],\n filters: (props.filters ?? []) as FilterConfig<T>[],\n },\n (get) => {\n const create =\n <V extends object>(key: string) =>\n (arg: V) => {\n const state = get.state();\n type StateValue = (typeof state)[keyof typeof state];\n return { ...state, [key]: dispatcherFun(state[key as keyof typeof state], arg as StateValue) };\n };\n return {\n cols: create<DispatcherFun<Col<T>[]>>(\"cols\"),\n sorters: create<DispatcherFun<Sorter<T>[]>>(\"sorters\"),\n groups: create<DispatcherFun<GroupItem<T>[]>>(\"groups\"),\n filters: create<DispatcherFun<FilterConfig<T>[]>>(\"filters\"),\n };\n },\n {\n postMiddleware: [\n (state, prev) => {\n props.set?.(state as unknown as TableGetters<T>);\n compareAndExec(prev?.filters ?? [], state.filters ?? [], props.setFilters);\n compareAndExec(prev?.sorters ?? [], state.sorters ?? [], props.setSorters);\n compareAndExec(prev?.groups ?? [], state.groups ?? [], props.setGroups);\n compareAndExec(prev?.cols ?? [], state.cols ?? [], props.setCols);\n return state;\n },\n ],\n }\n );\n\n useEffect(() => {\n dispatch.cols(props.cols);\n }, [props.cols]);\n\n return (\n <TableProvider value={contextState}>\n <AnimatePresence propagate initial={false}>\n {operations ? (\n <Metadata\n cols={state.cols}\n rows={props.rows}\n options={optionCols}\n groups={state.groups}\n filters={state.filters}\n setCols={dispatch.cols}\n sorters={state.sorters}\n setGroups={dispatch.groups}\n setFilters={dispatch.filters}\n setSorters={dispatch.sorters}\n pagination={props.pagination ?? null}\n inlineFilter={props.inlineFilter ?? true}\n inlineSorter={props.inlineSorter ?? true}\n />\n ) : null}\n {state.groups.length === 0 ? (\n <InnerTable\n {...props}\n index={0}\n cols={state.cols}\n options={optionCols}\n groups={state.groups}\n filters={state.filters}\n optionCols={optionCols}\n setCols={dispatch.cols}\n sorters={state.sorters}\n setGroups={dispatch.groups}\n setFilters={dispatch.filters}\n setSorters={dispatch.sorters}\n onScrollEnd={props.onScrollEnd}\n pagination={props.pagination ?? null}\n inlineFilter={props.inlineFilter ?? true}\n inlineSorter={props.inlineSorter ?? true}\n />\n ) : (\n <div className=\"flex flex-wrap gap-4\">\n {state.groups.map((group, index) => (\n <div className=\"min-w-full\" key={`group-${group.groupId}`}>\n <InnerTable\n {...props}\n group={group}\n index={index}\n cols={state.cols}\n pagination={null}\n rows={group.rows}\n options={optionCols}\n groups={state.groups}\n filters={state.filters}\n optionCols={optionCols}\n setCols={dispatch.cols}\n sorters={state.sorters}\n setGroups={dispatch.groups}\n setFilters={dispatch.filters}\n setSorters={dispatch.sorters}\n onScrollEnd={props.onScrollEnd}\n inlineFilter={props.inlineFilter ?? true}\n inlineSorter={props.inlineSorter ?? true}\n />\n </div>\n ))}\n </div>\n )}\n </AnimatePresence>\n </TableProvider>\n );\n};\n"],"names":["a","e","l","o","r","n","t","i","s","c","transform","args","useImmediate","argOffset","inputValue","inputRange","outputRange","options","interpolator","interpolate","notify","node","nodeGroup","nodes","subscriptions","dirtyAll","unsubscribe","DeprecatedLayoutGroupContext","createContext","useIsMounted","isMounted","useRef","useIsomorphicLayoutEffect","useForceUpdate","forcedRenderCount","setForcedRenderCount","useState","forceRender","useCallback","frame","shouldInheritGroup","inherit","shouldInheritId","LayoutGroup","children","id","layoutGroupContext","useContext","LayoutGroupContext","deprecatedLayoutGroupContext","key","context","upstreamId","memoizedContext","useMemo","jsx","useCombineMotionValues","values","combineValues","value","useMotionValue","updateValue","scheduleUpdate","v","cancelFrame","useComputed","compute","collectMotionValues","useTransform","input","inputRangeOrTransformer","outputRangeOrMap","transformer","result","useListTransform","latest","inputAccelerate","useConstant","numValues","DragControls","controls","event","createDragControls","useDragControls","ReorderContext","checkReorder","order","offset","velocity","index","item","nextOffset","nextItem","nextLayout","nextItemCenter","mixNumber","moveItem","ReorderGroupComponent","as","axis","onReorder","props","externalRef","Component","motion","isReordering","groupRef","invariant","layout","idx","entry","compareMin","newOrder","getValue","useEffect","setRef","element","groupStyle","ReorderGroup","forwardRef","b","threshold","maxSpeed","overflowStyles","initialScrollLimits","activeScrollEdge","currentGroupElement","resetAutoScrollState","scrollableAncestor","findScrollableAncestor","scrollableAncestorX","isScrollableElement","style","overflow","isDocumentScroll","current","getScrollAmount","pointerPosition","scrollElement","rect","start","end","distanceFromStart","distanceFromEnd","intensity","autoScrollIfNeeded","groupElement","viewportPointerPosition","scrollAmount","edge","currentActiveEdge","maxScroll","initialLimit","useDefaultMotionValue","defaultValue","isMotionValue","ReorderItemComponent","onDrag","onDragEnd","point","zIndex","latestX","latestY","registerItem","updateOrder","gesturePoint","pointerPoint","measured","ReorderItem","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","__spreadValues","prop","any","array","callback","len","anyLikeWhere","symbol","whereSymbol","isObject","equals","keys","k","getKey","sortBy","isNumber","isNumberOrString","isEmpty","symbolMap","x","all","GetOperationFromSymbol","filter","mappedArray","func","op","where","allLikeWhere","deepClone","clone","contains","dict","map2","distinct","el","array2","find","groupWith","groupBy","map","getInSequence","y","individualChars","charA","charZ","jumps","j","createChars","abs","first2","second","range","firstOrLength","secondOrSteps","jp","_","reduce","initial","accumulator","reverse","left","right","length","temporary","skip","skipLikeWhere","sort","sorter","shallowCopy","Order","Order2","createSorter","fields","acc","reverse2","property","p","multiSort","unique","seen","duplicate","Linq","_Linq","init","predicate","exceptions","commons","object","fn","firstValue","src_default","Empty","Icon","FileIcon","translate","useTranslations","jsxs","createPaginationItems","max","items","r1","r2","p2","Pagination","pagination","useId","translation","pageNavigation","hasNext","Link","Fragment","Polymorph","RowAside","parentRef","ref","className","setClassName","ariaHidden","child","parent","Row","row","cols","loading","col","colIndex","matrix","path","exposeAside","Aside","createElement","SkeletonCell","Is","exports","w","h","u","d","S","f","$","m","I","C","getLabel","createOptionCols","opt","ColType","valueFromType","createColumns","thead","noop","mergeCols","saved","savedSet","mock","original","useTablePreferences","name","isSsr","LocalStorage","state","dispatch","useReducer","get","intercept","partial","prev","getters","useWidthControl","reorder","stableRef","useStableRef","onChange","getModalScrollerRef","createSorterFn","label","uuid","Sort","orders","orderOptions","onAddSorter","onSetSorter","onSortOrderType","type","onDelete","Dropdown","CaretUpDownIcon","Select","TrashIcon","PlusIcon","SorterHead","translations","status","setStatus","onClick","next","findIndex","labelId","SortAscendingIcon","SortDescendingIcon","TableContext","TableProvider","useTable","createFilterFromCol","operations","rest","typeOptions","operatorId","operation","useOperators","Filter","operators","onAddFilter","onSelectProperty","changedId","newId","onSelectOperation","operator","onChangeValue","FunnelIcon","Input","ColumnHeaderFilter","set","dragConstraints","HeaderChild","tweaks","useTweaks","ownFilters","hasFilters","defaultAllowSort","defaultAllowFilter","FilterIcon","MagnifyingGlassIcon","MagnifyingGlassMinusIcon","th","dragRef","dom","controller","ownSorter","ariaSort","Reorder.Item","delta","info","TableHeader","Reorder.Group","AnimatePresence","header","TableBody","React","_context","VirtualTable","Thead","ctx","TRow","contextProps","innerProps","TFoot","components","loadingArray","EmptyContent","EmptyCell","emptyRows","InnerTable","filters","setCols","sorters","setFilters","setSorters","onScrollEnd","getScrollRef","useControl","setShowLoadingFooter","onScrollEndRef","loadingMoreRef","rows","linq","div","observer","entries","empty","TableVirtuoso","Item","onPointerDown","DotsSixVerticalIcon","Group","group","setGroup","select","groupName","StackMinusIcon","Button","Metadata","dispatcherFun","setter","compareAndExec","exec","Table","contextState","optionCols","create","arg"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,MAAMA,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBC,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,gOAA+N,CAAE,CAAC;AAAA,EACrU;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,uCAAuC,SAAS,MAAK,CAAE,GAAmBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,yNAAyN,CAAC;AAAA,EACpa;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,6LAA4L,CAAE,CAAC;AAAA,EAClS;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,6OAA4O,CAAE,CAAC;AAAA,EAClV;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,sPAAqP,CAAE,CAAC;AAAA,EAC3V;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,6OAA4O,CAAE,CAAC;AAAA,EAClV;AACA,CAAC,GCzBKA,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBD,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8QAA6Q,CAAE,CAAC;AAAA,EACnX;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE;AAAA,MAClE;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,SAAS;AAAA,MACjB;AAAA,IACA,GAAuBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8QAA6Q,CAAE,CAAC;AAAA,EACpU;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,6WAA4W,CAAE,CAAC;AAAA,EACld;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8QAA6Q,CAAE,CAAC;AAAA,EACnX;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8QAA6Q,CAAE,CAAC;AAAA,EACnX;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,yOAAwO,CAAE,CAAC;AAAA,EAC9U;AACA,CAAC,GC/BKE,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBD,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,kRAAiR,CAAE,CAAC;AAAA,EACvX;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE;AAAA,MAClE;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,SAAS;AAAA,MACjB;AAAA,IACA,GAAuBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,gSAA+R,CAAE,CAAC;AAAA,EACtV;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,wKAAuK,CAAE,CAAC;AAAA,EAC7Q;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,4YAA2Y,CAAE,CAAC;AAAA,EACjf;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,gSAA+R,CAAE,CAAC;AAAA,EACrY;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,4VAA2V,CAAE,CAAC;AAAA,EACjc;AACA,CAAC,GC/BKD,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBC,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mIAAkI,CAAE,CAAC;AAAA,EACxO;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mDAAmD,SAAS,MAAK,CAAE,GAAmBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mJAAmJ,CAAC;AAAA,EAC1W;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,gNAA+M,CAAE,CAAC;AAAA,EACrT;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8IAA6I,CAAE,CAAC;AAAA,EACnP;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,kJAAiJ,CAAE,CAAC;AAAA,EACvP;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,wIAAuI,CAAE,CAAC;AAAA,EAC7O;AACA,CAAC,GCzBKD,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBC,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mOAAkO,CAAE,CAAC;AAAA,EACxU;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mDAAmD,SAAS,MAAK,CAAE,GAAmBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,+MAA+M,CAAC;AAAA,EACta;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,4IAA2I,CAAE,CAAC;AAAA,EACjP;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,kOAAiO,CAAE,CAAC;AAAA,EACvU;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,qOAAoO,CAAE,CAAC;AAAA,EAC1U;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2NAA0N,CAAE,CAAC;AAAA,EAChU;AACA,CAAC,GCzBKD,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBC,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,+HAA8H,CAAE,CAAC;AAAA,EACpO;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE;AAAA,MAClE;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,SAAS;AAAA,MACjB;AAAA,IACA,GAAuBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mHAAkH,CAAE,CAAC;AAAA,EACzK;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,iMAAgM,CAAE,CAAC;AAAA,EACtS;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mHAAkH,CAAE,CAAC;AAAA,EACxN;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mHAAkH,CAAE,CAAC;AAAA,EACxN;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,gHAA+G,CAAE,CAAC;AAAA,EACrN;AACA,CAAC,GC/BKA,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBD,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,8TAA6T,CAAE,CAAC;AAAA,EACna;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mDAAmD,SAAS,MAAK,CAAE,GAAmBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,uTAAuT,CAAC;AAAA,EAC9gB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2WAA0W,CAAE,CAAC;AAAA,EAChd;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,kTAAiT,CAAE,CAAC;AAAA,EACvZ;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,sTAAqT,CAAE,CAAC;AAAA,EAC3Z;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,4SAA2S,CAAE,CAAC;AAAA,EACjZ;AACA,CAAC,GCzBKC,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBD,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,mSAAkS,CAAE,CAAC;AAAA,EACxY;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2CAA2C,SAAS,MAAK,CAAE,GAAmBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,iSAAiS,CAAC;AAAA,EAChf;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,6XAA4X,CAAE,CAAC;AAAA,EACle;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,2RAA0R,CAAE,CAAC;AAAA,EAChY;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,gSAA+R,CAAE,CAAC;AAAA,EACrY;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,qRAAoR,CAAE,CAAC;AAAA,EAC1X;AACA,CAAC,GCzBKE,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBF,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,ydAAwd,CAAE,CAAC;AAAA,EAC9jB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,+BAA+B,SAAS,MAAK,CAAE,GAAmBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,yaAAya,CAAC;AAAA,EAC5mB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,wXAAuX,CAAE,CAAC;AAAA,EAC7d;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,kZAAiZ,CAAE,CAAC;AAAA,EACvf;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,4aAA2a,CAAE,CAAC;AAAA,EACjhB;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,+YAA8Y,CAAE,CAAC;AAAA,EACpf;AACA,CAAC,GCzBKC,KAAoB,oBAAI,IAAI;AAAA,EAChC;AAAA,IACE;AAAA,IACgBD,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,sTAAqT,CAAE,CAAC;AAAA,EAC3Z;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,kDAAkD,SAAS,MAAK,CAAE,GAAmBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,uSAAuS,CAAC;AAAA,EAC7f;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,+QAA8Q,CAAE,CAAC;AAAA,EACpX;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,+UAA8U,CAAE,CAAC;AAAA,EACpb;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,sSAAqS,CAAE,CAAC;AAAA,EAC3Y;AAAA,EACE;AAAA,IACE;AAAA,IACgBA,gBAAAA,EAAE,cAAcA,EAAE,UAAU,MAAsBA,gBAAAA,EAAE,cAAc,QAAQ,EAAE,GAAG,yUAAwU,CAAE,CAAC;AAAA,EAC9a;AACA,CAAC,GCvBKC,KAAIE,EAAE,WAAW,CAACC,GAAG,MAAsBD,gBAAAA,EAAE,cAAcH,GAAG,EAAE,KAAK,GAAG,GAAGI,GAAG,SAASC,GAAC,CAAE,CAAC;AACjGJ,GAAE,cAAc;ACDhB,MAAMK,KAAIH,EAAE,WAAW,CAAC,GAAGC,MAAsBD,gBAAAA,EAAE,cAAcH,GAAG,EAAE,KAAKI,GAAG,GAAG,GAAG,SAASG,GAAC,CAAE,CAAC;AACjGD,GAAE,cAAc;ACDX,MAACH,KAAIF,EAAE,WAAW,CAACI,GAAGD,MAAsBH,gBAAAA,EAAE,cAAcK,GAAG,EAAE,KAAKF,GAAG,GAAGC,GAAG,SAASL,IAAG,CAAC;AACjGG,GAAE,cAAc;ACDhB,MAAMA,KAAIH,EAAE,WAAW,CAACQ,GAAGH,MAAsBL,gBAAAA,EAAE,cAAcO,GAAG,EAAE,KAAKF,GAAG,GAAGG,GAAG,SAASP,GAAC,CAAE,CAAC;AACjGE,GAAE,cAAc;ACDhB,MAAME,KAAIG,EAAE,WAAW,CAACR,GAAGO,MAAsBC,gBAAAA,EAAE,cAAcL,GAAG,EAAE,KAAKI,GAAG,GAAGP,GAAG,SAASC,GAAC,CAAE,CAAC;AACjGI,GAAE,cAAc;ACDhB,MAAMJ,IAAIE,EAAE,WAAW,CAACC,GAAGI,MAAsBL,gBAAAA,EAAE,cAAcG,GAAG,EAAE,KAAKE,GAAG,GAAGJ,GAAG,SAASJ,GAAC,CAAE,CAAC;AACjGC,EAAE,cAAc;ACDhB,MAAMA,KAAIE,EAAE,WAAW,CAACC,GAAG,MAAsBD,gBAAAA,EAAE,cAAcE,GAAG,EAAE,KAAK,GAAG,GAAGD,GAAG,SAASK,GAAC,CAAE,CAAC;AACjGR,GAAE,cAAc;ACDhB,MAAME,KAAIF,EAAE,WAAW,CAACG,GAAG,MAAsBH,gBAAAA,EAAE,cAAcI,GAAG,EAAE,KAAK,GAAG,GAAGD,GAAG,SAASK,GAAC,CAAE,CAAC;AACjGN,GAAE,cAAc;ACDhB,MAAMG,KAAIH,EAAE,WAAW,CAACH,GAAGS,MAAsBN,gBAAAA,EAAE,cAAcF,GAAG,EAAE,KAAKQ,GAAG,GAAGT,GAAG,SAASI,GAAC,CAAE,CAAC;AACjGE,GAAE,cAAc;ACDhB,MAAMF,IAAID,EAAE,WAAW,CAACH,GAAGC,MAAsBE,gBAAAA,EAAE,cAAcK,GAAG,EAAE,KAAKP,GAAG,GAAGD,GAAG,SAASM,GAAC,CAAE,CAAC;AACjGF,EAAE,cAAc;ACFhB,SAASM,MAAaC,GAAM;AACxB,QAAMC,IAAe,CAAC,MAAM,QAAQD,EAAK,CAAC,CAAC,GACrCE,IAAYD,IAAe,IAAI,IAC/BE,IAAaH,EAAK,IAAIE,CAAS,GAC/BE,IAAaJ,EAAK,IAAIE,CAAS,GAC/BG,IAAcL,EAAK,IAAIE,CAAS,GAChCI,IAAUN,EAAK,IAAIE,CAAS,GAC5BK,IAAeC,GAAYJ,GAAYC,GAAaC,CAAO;AACjE,SAAOL,IAAeM,EAAaJ,CAAU,IAAII;AACrD;ACXA,MAAME,KAAS,CAACC,MAAS,CAACA,EAAK,iBAAiBA,EAAK,WAAW,EAAK;AACrE,SAASC,KAAY;AACjB,QAAMC,IAAQ,oBAAI,IAAG,GACfC,IAAgB,oBAAI,QAAO,GAC3BC,IAAW,MAAMF,EAAM,QAAQH,EAAM;AAC3C,SAAO;AAAA,IACH,KAAK,CAACC,MAAS;AACX,MAAAE,EAAM,IAAIF,CAAI,GACdG,EAAc,IAAIH,GAAMA,EAAK,iBAAiB,cAAcI,CAAQ,CAAC;AAAA,IACjF;AAAA,IACQ,QAAQ,CAACJ,MAAS;AACd,MAAAE,EAAM,OAAOF,CAAI;AACjB,YAAMK,IAAcF,EAAc,IAAIH,CAAI;AAC1C,MAAIK,MACAA,EAAW,GACXF,EAAc,OAAOH,CAAI,IAE7BI,EAAQ;AAAA,IACpB;AAAA,IACQ,OAAOA;AAAA,EACf;AACA;ACbA,MAAME,KAA+BC,GAAc,IAAI;ACJvD,SAASC,KAAe;AACpB,QAAMC,IAAYC,EAAO,EAAK;AAC9B,SAAAC,GAA0B,OACtBF,EAAU,UAAU,IACb,MAAM;AACT,IAAAA,EAAU,UAAU;AAAA,EAChC,IACO,EAAE,GACEA;AACX;ACRA,SAASG,KAAiB;AACtB,QAAMH,IAAYD,GAAY,GACxB,CAACK,GAAmBC,CAAoB,IAAIC,EAAS,CAAC,GACtDC,IAAcC,EAAY,MAAM;AAClC,IAAAR,EAAU,WAAWK,EAAqBD,IAAoB,CAAC;AAAA,EACvE,GAAO,CAACA,CAAiB,CAAC;AAMtB,SAAO,CADqBI,EAAY,MAAMC,GAAM,WAAWF,CAAW,GAAG,CAACA,CAAW,CAAC,GAC7DH,CAAiB;AAClD;ACTA,MAAMM,KAAqB,CAACC,MAAYA,MAAY,IAC9CC,KAAkB,CAACD,MAAYD,GAAmBC,MAAY,EAAI,KAAKA,MAAY,MACnFE,KAAc,CAAC,EAAE,UAAAC,GAAU,IAAAC,GAAI,SAAAJ,IAAU,GAAI,MAAO;AACtD,QAAMK,IAAqBC,EAAWC,EAAkB,GAClDC,IAA+BF,EAAWpB,EAA4B,GACtE,CAACU,GAAaa,CAAG,IAAIjB,GAAc,GACnCkB,IAAUpB,EAAO,IAAI,GACrBqB,IAAaN,EAAmB,MAAMG;AAC5C,EAAIE,EAAQ,YAAY,SAChBT,GAAgBD,CAAO,KAAKW,MAC5BP,IAAKA,IAAKO,IAAa,MAAMP,IAAKO,IAEtCD,EAAQ,UAAU;AAAA,IACd,IAAAN;AAAA,IACA,OAAOL,GAAmBC,CAAO,KAC3BK,EAAmB,SAASxB,GAAS;AAAA,EAEvD;AAEI,QAAM+B,IAAkBC,EAAQ,OAAO,EAAE,GAAGH,EAAQ,SAAS,aAAAd,EAAW,IAAK,CAACa,CAAG,CAAC;AAClF,SAAQK,EAAIP,GAAmB,UAAU,EAAE,OAAOK,GAAiB,UAAUT,GAAU;AAC3F;ACxBA,SAASY,GAAuBC,GAAQC,GAAe;AAInD,QAAMC,IAAQC,GAAeF,GAAe,GAOtCG,IAAc,MAAMF,EAAM,IAAID,EAAa,CAAE;AAKnD,SAAAG,EAAW,GAKX7B,GAA0B,MAAM;AAC5B,UAAM8B,IAAiB,MAAMvB,GAAM,UAAUsB,GAAa,IAAO,EAAI,GAC/DrC,IAAgBiC,EAAO,IAAI,CAACM,MAAMA,EAAE,GAAG,UAAUD,CAAc,CAAC;AACtE,WAAO,MAAM;AACT,MAAAtC,EAAc,QAAQ,CAACE,MAAgBA,EAAW,CAAE,GACpDsC,GAAYH,CAAW;AAAA,IACnC;AAAA,EACA,CAAK,GACMF;AACX;AC/BA,SAASM,GAAYC,GAAS;AAK1B,EAAAC,EAAoB,UAAU,CAAA,GAC9BD,EAAO;AACP,QAAMP,IAAQH,GAAuBW,EAAoB,SAASD,CAAO;AAIzE,SAAAC,EAAoB,UAAU,QACvBR;AACX;ACXA,SAASS,GAAaC,GAAOC,GAAyBC,GAAkBtD,GAAS;AAC7E,MAAI,OAAOoD,KAAU;AACjB,WAAOJ,GAAYI,CAAK;AAa5B,QAAMG,IAAc,OAAOF,KAA4B,aACjDA,IACA5D,GAAU4D,GAHIC,GAGkCtD,CAAO,GACvDwD,IAAS,MAAM,QAAQJ,CAAK,IAC5BK,GAAiBL,GAAOG,CAAW,IACnCE,GAAiB,CAACL,CAAK,GAAG,CAAC,CAACM,CAAM,MAAMH,EAAYG,CAAM,CAAC,GAC3DC,IAAmB,MAAM,QAAQP,CAAK,IAEtC,SADAA,EAAM;AAEZ,SAAIO,KACA,CAACA,EAAgB,iBACjB,OAAON,KAA4B,cACnC,MAAM,QAAQC,CAAgB,KAC9BtD,GAAS,UAAU,OACnBwD,EAAO,aAAa;AAAA,IAChB,GAAGG;AAAA,IACH,OAAON;AAAA,IACP,WAAWC;AAAA,IACX,eAAe;AAAA,EAE3B,IAEWE;AACX;AACA,SAASC,GAAiBjB,GAAQe,GAAa;AAC3C,QAAMG,IAASE,EAAY,MAAM,EAAE;AACnC,SAAOrB,GAAuBC,GAAQ,MAAM;AACxC,IAAAkB,EAAO,SAAS;AAChB,UAAMG,IAAYrB,EAAO;AACzB,aAASlD,IAAI,GAAGA,IAAIuE,GAAWvE;AAC3B,MAAAoE,EAAOpE,CAAC,IAAIkD,EAAOlD,CAAC,EAAE,IAAG;AAE7B,WAAOiE,EAAYG,CAAM;AAAA,EACjC,CAAK;AACL;ACjCA,MAAMI,GAAa;AAAA,EACf,cAAc;AACV,SAAK,oBAAoB,oBAAI,IAAG;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMI,UAAUC,GAAU;AAChB,gBAAK,kBAAkB,IAAIA,CAAQ,GAC5B,MAAM,KAAK,kBAAkB,OAAOA,CAAQ;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBI,MAAMC,GAAOhE,GAAS;AAClB,SAAK,kBAAkB,QAAQ,CAAC+D,MAAa;AACzC,MAAAA,EAAS,MAAMC,EAAM,eAAeA,GAAOhE,CAAO;AAAA,IAC9D,CAAS;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUI,SAAS;AACL,SAAK,kBAAkB,QAAQ,CAAC+D,MAAa;AACzC,MAAAA,EAAS,OAAM;AAAA,IAC3B,CAAS;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUI,OAAO;AACH,SAAK,kBAAkB,QAAQ,CAACA,MAAa;AACzC,MAAAA,EAAS,KAAI;AAAA,IACzB,CAAS;AAAA,EACT;AACA;AACA,MAAME,KAAqB,MAAM,IAAIH,GAAY;AA2BjD,SAASI,KAAkB;AACvB,SAAON,EAAYK,EAAkB;AACzC;AC9GA,MAAME,KAAiBxD,GAAc,IAAI;ACAzC,SAASyD,GAAaC,GAAO3B,GAAO4B,GAAQC,GAAU;AAClD,MAAI,CAACA;AACD,WAAOF;AACX,QAAMG,IAAQH,EAAM,UAAU,CAACI,MAASA,EAAK,UAAU/B,CAAK;AAC5D,MAAI8B,MAAU;AACV,WAAOH;AACX,QAAMK,IAAaH,IAAW,IAAI,IAAI,IAChCI,IAAWN,EAAMG,IAAQE,CAAU;AACzC,MAAI,CAACC;AACD,WAAON;AACX,QAAMI,IAAOJ,EAAMG,CAAK,GAClBI,IAAaD,EAAS,QACtBE,IAAiBC,GAAUF,EAAW,KAAKA,EAAW,KAAK,GAAG;AACpE,SAAKF,MAAe,KAAKD,EAAK,OAAO,MAAMH,IAASO,KAC/CH,MAAe,MAAMD,EAAK,OAAO,MAAMH,IAASO,IAC1CE,GAASV,GAAOG,GAAOA,IAAQE,CAAU,IAE7CL;AACX;ACZA,SAASW,GAAsB,EAAE,UAAArD,GAAU,IAAAsD,IAAK,MAAM,MAAAC,IAAO,KAAK,WAAAC,GAAW,QAAA3C,GAAQ,GAAG4C,EAAK,GAAIC,GAAa;AAC1G,QAAMC,IAAY1B,EAAY,MAAM2B,GAAON,CAAE,CAAC,GACxCZ,IAAQ,CAAA,GACRmB,IAAe1E,EAAO,EAAK,GAC3B2E,IAAW3E,EAAO,IAAI;AAC5B,EAAA4E,GAAU,EAAQlD,GAAS,gDAAgD,gBAAgB;AAC3F,QAAMN,IAAU;AAAA,IACZ,MAAAgD;AAAA,IACA,UAAAO;AAAA,IACA,cAAc,CAAC/C,GAAOiD,MAAW;AAE7B,YAAMC,IAAMvB,EAAM,UAAU,CAACwB,MAAUnD,MAAUmD,EAAM,KAAK;AAC5D,MAAID,MAAQ,KACRvB,EAAMuB,CAAG,EAAE,SAASD,EAAOT,CAAI,IAG/Bb,EAAM,KAAK,EAAE,OAAO3B,GAAO,QAAQiD,EAAOT,CAAI,GAAG,GAErDb,EAAM,KAAKyB,EAAU;AAAA,IACjC;AAAA,IACQ,aAAa,CAACrB,GAAMH,GAAQC,MAAa;AACrC,UAAIiB,EAAa;AACb;AACJ,YAAMO,IAAW3B,GAAaC,GAAOI,GAAMH,GAAQC,CAAQ;AAC3D,MAAIF,MAAU0B,MACVP,EAAa,UAAU,IACvBL,EAAUY,EACL,IAAIC,EAAQ,EACZ,OAAO,CAACtD,MAAUF,EAAO,QAAQE,CAAK,MAAM,EAAE,CAAC;AAAA,IAEpE;AAAA,EACA;AACI,EAAAuD,GAAU,MAAM;AACZ,IAAAT,EAAa,UAAU;AAAA,EAC/B,CAAK;AAED,QAAMU,IAAS,CAACC,MAAY;AACxB,IAAAV,EAAS,UAAUU,GACf,OAAOd,KAAgB,aACvBA,EAAYc,CAAO,IAEdd,MACLA,EAAY,UAAUc;AAAA,EAElC,GAMUC,IAAa;AAAA,IACf,gBAAgB;AAAA,IAChB,GAAGhB,EAAM;AAAA,EACjB;AACI,SAAQ9C,EAAIgD,GAAW,EAAE,GAAGF,GAAO,OAAOgB,GAAY,KAAKF,GAAQ,cAAc,IAAM,UAAU5D,EAAI6B,GAAe,UAAU,EAAE,OAAOjC,GAAS,UAAUP,EAAQ,CAAE,GAAG;AAC3K;AACA,MAAM0E,KAA6B,gBAAAC,GAAWtB,EAAqB;AACnE,SAASgB,GAASvB,GAAM;AACpB,SAAOA,EAAK;AAChB;AACA,SAASqB,GAAW/G,GAAGwH,GAAG;AACtB,SAAOxH,EAAE,OAAO,MAAMwH,EAAE,OAAO;AACnC;ACvEA,MAAMC,IAAY,IACZC,KAAW,IACXC,KAAiB,oBAAI,IAAI,CAAC,QAAQ,QAAQ,CAAC,GAE3CC,IAAsB,oBAAI,QAAO,GACjCC,IAAmB,oBAAI,QAAO;AAEpC,IAAIC,IAAsB;AAC1B,SAASC,KAAuB;AAC5B,MAAID,GAAqB;AACrB,UAAME,IAAqBC,GAAuBH,GAAqB,GAAG;AAC1E,IAAIE,MACAH,EAAiB,OAAOG,CAAkB,GAC1CJ,EAAoB,OAAOI,CAAkB;AAGjD,UAAME,IAAsBD,GAAuBH,GAAqB,GAAG;AAC3E,IAAII,KAAuBA,MAAwBF,MAC/CH,EAAiB,OAAOK,CAAmB,GAC3CN,EAAoB,OAAOM,CAAmB,IAElDJ,IAAsB;AAAA,EAC9B;AACA;AACA,SAASK,GAAoBf,GAASjB,GAAM;AACxC,QAAMiC,IAAQ,iBAAiBhB,CAAO,GAChCiB,IAAWlC,MAAS,MAAMiC,EAAM,YAAYA,EAAM,WAClDE,IAAmBlB,MAAY,SAAS,QAC1CA,MAAY,SAAS;AACzB,SAAOO,GAAe,IAAIU,CAAQ,KAAKC;AAC3C;AACA,SAASL,GAAuBb,GAASjB,GAAM;AAC3C,MAAIoC,IAAUnB,GAAS;AACvB,SAAOmB,KAAS;AACZ,QAAIJ,GAAoBI,GAASpC,CAAI;AACjC,aAAOoC;AAEX,IAAAA,IAAUA,EAAQ;AAAA,EAC1B;AACI,SAAO;AACX;AACA,SAASC,GAAgBC,GAAiBC,GAAevC,GAAM;AAC3D,QAAMwC,IAAOD,EAAc,sBAAqB,GAC1CE,IAAQzC,MAAS,MAAM,KAAK,IAAI,GAAGwC,EAAK,IAAI,IAAI,KAAK,IAAI,GAAGA,EAAK,GAAG,GACpEE,IAAM1C,MAAS,MAAM,KAAK,IAAI,OAAO,YAAYwC,EAAK,KAAK,IAAI,KAAK,IAAI,OAAO,aAAaA,EAAK,MAAM,GACvGG,IAAoBL,IAAkBG,GACtCG,IAAkBF,IAAMJ;AAC9B,MAAIK,IAAoBrB,GAAW;AAC/B,UAAMuB,IAAY,IAAIF,IAAoBrB;AAC1C,WAAO,EAAE,QAAQ,CAACC,KAAWsB,IAAYA,GAAW,MAAM,QAAO;AAAA,EACzE,WACaD,IAAkBtB,GAAW;AAClC,UAAMuB,IAAY,IAAID,IAAkBtB;AACxC,WAAO,EAAE,QAAQC,KAAWsB,IAAYA,GAAW,MAAM,MAAK;AAAA,EACtE;AACI,SAAO,EAAE,QAAQ,GAAG,MAAM,KAAI;AAClC;AACA,SAASC,GAAmBC,GAAcT,GAAiBtC,GAAMX,GAAU;AACvE,MAAI,CAAC0D;AACD;AAEJ,EAAApB,IAAsBoB;AACtB,QAAMlB,IAAqBC,GAAuBiB,GAAc/C,CAAI;AACpE,MAAI,CAAC6B;AACD;AAIJ,QAAMmB,IAA0BV,KAAmBtC,MAAS,MAAM,OAAO,UAAU,OAAO,UACpF,EAAE,QAAQiD,GAAc,MAAAC,EAAI,IAAKb,GAAgBW,GAAyBnB,GAAoB7B,CAAI;AAExG,MAAIkD,MAAS,MAAM;AACf,IAAAxB,EAAiB,OAAOG,CAAkB,GAC1CJ,EAAoB,OAAOI,CAAkB;AAC7C;AAAA,EACR;AACI,QAAMsB,IAAoBzB,EAAiB,IAAIG,CAAkB,GAC3DM,IAAmBN,MAAuB,SAAS,QACrDA,MAAuB,SAAS;AAEpC,MAAIsB,MAAsBD,GAAM;AAI5B,QAAI,EAFiBA,MAAS,WAAW7D,IAAW,KAC/C6D,MAAS,SAAS7D,IAAW;AAE9B;AAEJ,IAAAqC,EAAiB,IAAIG,GAAoBqB,CAAI;AAE7C,UAAME,IAAYpD,MAAS,MACrB6B,EAAmB,eAAeM,IAAmB,OAAO,aAAaN,EAAmB,eAC5FA,EAAmB,gBAAgBM,IAAmB,OAAO,cAAcN,EAAmB;AACpG,IAAAJ,EAAoB,IAAII,GAAoBuB,CAAS;AAAA,EAC7D;AAEI,MAAIH,IAAe,GAAG;AAClB,UAAMI,IAAe5B,EAAoB,IAAII,CAAkB;AAI/D,SAHsB7B,MAAS,MACxBmC,IAAmB,OAAO,UAAUN,EAAmB,aACvDM,IAAmB,OAAO,UAAUN,EAAmB,cACzCwB;AACjB;AAAA,EACZ;AAEI,EAAIrD,MAAS,MACLmC,IACA,OAAO,SAAS,EAAE,MAAMc,EAAY,CAAE,IAGtCpB,EAAmB,cAAcoB,IAIjCd,IACA,OAAO,SAAS,EAAE,KAAKc,EAAY,CAAE,IAGrCpB,EAAmB,aAAaoB;AAG5C;AC5GA,SAASK,GAAsB9F,GAAO+F,IAAe,GAAG;AACpD,SAAOC,GAAchG,CAAK,IAAIA,IAAQC,GAAe8F,CAAY;AACrE;AACA,SAASE,GAAqB,EAAE,UAAAhH,GAAU,OAAAwF,IAAQ,CAAA,GAAI,OAAAzE,GAAO,IAAAuC,IAAK,MAAM,QAAA2D,GAAQ,WAAAC,GAAW,QAAAlD,IAAS,IAAM,GAAGP,EAAK,GAAIC,GAAa;AAC/H,QAAMC,IAAY1B,EAAY,MAAM2B,GAAON,CAAE,CAAC,GACxC/C,IAAUJ,EAAWqC,EAAc,GACnC2E,IAAQ;AAAA,IACV,GAAGN,GAAsBrB,EAAM,CAAC;AAAA,IAChC,GAAGqB,GAAsBrB,EAAM,CAAC;AAAA,EACxC,GACU4B,IAAS5F,GAAa,CAAC2F,EAAM,GAAGA,EAAM,CAAC,GAAG,CAAC,CAACE,GAASC,CAAO,MAAMD,KAAWC,IAAU,IAAI,OAAO;AACxG,EAAAvD,GAAU,EAAQxD,GAAU,iDAAiD,oBAAoB;AACjG,QAAM,EAAE,MAAAgD,GAAM,cAAAgE,GAAc,aAAAC,GAAa,UAAA1D,EAAQ,IAAKvD;AACtD,SAAQI,EAAIgD,GAAW,EAAE,MAAMJ,GAAM,GAAGE,GAAO,kBAAkB,IAAM,OAAO,EAAE,GAAG+B,GAAO,GAAG2B,EAAM,GAAG,GAAGA,EAAM,GAAG,QAAAC,EAAM,GAAI,QAAQpD,GAAQ,QAAQ,CAAC3B,GAAOoF,MAAiB;AACrK,UAAM,EAAE,UAAA7E,GAAU,OAAO8E,EAAY,IAAKD,GACpC9E,IAASwE,EAAM5D,CAAI,EAAE,IAAG;AAE9B,IAAAiE,EAAYzG,GAAO4B,GAAQC,EAASW,CAAI,CAAC,GACzC8C,GAAmBvC,EAAS,SAAS4D,EAAanE,CAAI,GAAGA,GAAMX,EAASW,CAAI,CAAC,GAC7E0D,KAAUA,EAAO5E,GAAOoF,CAAY;AAAA,EAChD,GAAW,WAAW,CAACpF,GAAOoF,MAAiB;AACnC,IAAAtC,GAAoB,GACpB+B,KAAaA,EAAU7E,GAAOoF,CAAY;AAAA,EACtD,GAAW,iBAAiB,CAACE,MAAa;AAC9B,IAAAJ,EAAaxG,GAAO4G,CAAQ;AAAA,EACxC,GAAW,KAAKjE,GAAa,cAAc,IAAM,UAAU1D,GAAU;AACrE;AACA,MAAM4H,KAA4B,gBAAAjD,GAAWqC,EAAoB;ACvCjE,IAAIa,KAAY,OAAO,gBACnBC,KAAsB,OAAO,uBAC7BC,KAAe,OAAO,UAAU,gBAChCC,KAAe,OAAO,UAAU,sBAChCC,KAAkB,CAACC,GAAK5H,GAAKS,MAAUT,KAAO4H,IAAML,GAAUK,GAAK5H,GAAK,EAAE,YAAY,IAAM,cAAc,IAAM,UAAU,IAAM,OAAAS,EAAK,CAAE,IAAImH,EAAI5H,CAAG,IAAIS,GACtJoH,KAAiB,CAAC/K,GAAGwH,MAAM;AAC7B,WAASwD,KAAQxD,MAAMA,IAAI,CAAA;AACzB,IAAImD,GAAa,KAAKnD,GAAGwD,CAAI,KAC3BH,GAAgB7K,GAAGgL,GAAMxD,EAAEwD,CAAI,CAAC;AACpC,MAAIN;AACF,aAASM,KAAQN,GAAoBlD,CAAC;AACpC,MAAIoD,GAAa,KAAKpD,GAAGwD,CAAI,KAC3BH,GAAgB7K,GAAGgL,GAAMxD,EAAEwD,CAAI,CAAC;AAEtC,SAAOhL;AACT,GAGIiL,KAAM,CAACC,GAAOC,MAAa;AAC7B,QAAMC,IAAMF,EAAM;AAClB,WAASzF,IAAQ,GAAGA,IAAQ2F,GAAK3F;AAE/B,QADiB0F,EAASD,EAAMzF,CAAK,GAAGA,GAAOyF,CAAK;AAElD,aAAO;AAGX,SAAO;AACT,GACIG,KAAe,CAACH,GAAOvK,GAAM2K,GAAQ3H,MAAU4H,EAAYN,IAAKC,GAAOvK,GAAM2K,GAAQ3H,CAAK,GAG1F6H,IAAW,CAACxL,MAAM,OAAOA,KAAM,UAC/ByL,IAAS,CAACzL,GAAGwH,MAAM;AACrB,MAAIxH,MAAMwH;AACR,WAAO;AAET,MAAIxH,aAAa,QAAQwH,aAAa;AACpC,WAAOxH,EAAE,cAAcwH,EAAE,QAAO;AAElC,MAAI,CAACxH,KAAK,CAACwH,KAAK,CAACgE,EAASxL,CAAC,KAAK,CAACwL,EAAShE,CAAC;AACzC,WAAOxH,MAAMwH;AAEf,MAAIxH,EAAE,cAAcwH,EAAE;AACpB,WAAO;AAET,QAAMkE,IAAO,OAAO,KAAK1L,CAAC;AAC1B,SAAI0L,EAAK,WAAW,OAAO,KAAKlE,CAAC,EAAE,SAC1B,KAEFkE,EAAK,MAAM,CAACC,MAAMF,EAAOzL,EAAE2L,CAAC,GAAGnE,EAAEmE,CAAC,CAAC,CAAC;AAC7C,GACIC,KAAS,CAACd,GAAK5H,OACZsI,EAASV,CAAG,KAAK,MAAM,QAAQA,CAAG,MAAQ5H,IACtC4H,EAAI5H,CAAG,IAET4H,GAELe,KAAS,CAAC3I,MAAQ,CAAClD,GAAGwH,MACpBxH,EAAEkD,CAAG,MAAMsE,EAAEtE,CAAG,IACX,IAEFlD,EAAEkD,CAAG,IAAIsE,EAAEtE,CAAG,IAAI,IAAI,IAE3B4I,IAAW,CAAC9L,MAAM,UAAU,KAAKA,CAAC,GAClC+L,KAAmB,CAAC5L,MAAM,CAAC,UAAU,QAAQ,EAAE,SAAS,OAAOA,CAAC,GAGhE6L,KAAU,CAACjI,MAAsBA,KAAM,QAA8BA,GAAE,WAAY,KAAKA,MAAM,IAC9FkI,KAAY;AAAA,EACd,IAAIR;AAAA,EACJ,IAAI,OAAO;AAAA,EACX,MAAM,CAAC1H,GAAGtD,MAAMsD,KAAKtD;AAAA,EACrB,OAAO,CAACsD,GAAGtD,MAAMsD,MAAMtD;AAAA,EACvB,KAAK,CAACsD,GAAGtD,MAAMsD,IAAItD;AAAA,EACnB,MAAM,CAACsD,GAAGtD,MAAMsD,KAAKtD;AAAA,EACrB,MAAM,CAACsD,GAAGtD,MAAMsD,KAAKtD;AAAA,EACrB,OAAO,CAACsD,GAAGtD,MAAMsD,MAAMtD;AAAA,EACvB,KAAK,CAACsD,GAAGtD,MAAMsD,IAAItD;AAAA,EACnB,MAAM,CAACsD,GAAGtD,MAAMsD,KAAKtD;AAAA,EACrB,UAAU,CAACsD,GAAGtD,MAAM,GAAGsD,CAAC,GAAG,SAAStD,CAAC;AAAA,EACrC,aAAa,CAACsD,GAAGtD,MAAM,CAAC,GAAGsD,CAAC,GAAG,SAAStD,CAAC;AAAA,EACzC,YAAY,CAACsD,GAAGtD,MAAM,GAAGsD,CAAC,GAAG,WAAWtD,CAAC;AAAA,EACzC,UAAU,CAACsD,GAAGtD,MAAM,GAAGsD,CAAC,GAAG,SAAStD,CAAC;AAAA,EACrC,MAAM,CAACsD,GAAGtD,MAAM,IAAI,OAAO,KAAKA,CAAC,MAAM,IAAI,EAAE,KAAK,GAAGsD,CAAC,EAAE;AAAA,EACxD,cAAc,CAACA,GAAGtD,MAAMsD,EAAE,SAAQ,EAAG,cAActD,EAAE,UAAU;AAAA,EAC/D,OAAOuL;AAAA,EACP,UAAU,CAACE,MAAM,CAACF,GAAQE,CAAC;AAAA,EAC3B,IAAI,CAACnI,GAAGtD,MAAMwK,GAAIxK,GAAG,CAACyL,MAAMT,EAAO1H,GAAGmI,CAAC,CAAC;AAAA,EACxC,OAAO,CAACnI,GAAGtD,MAAM0L,GAAI1L,GAAG,CAACyL,MAAM,CAACT,EAAO1H,GAAGmI,CAAC,CAAC;AAC9C,GACIE,KAAyB,CAACd,MAAW;AACvC,MAAIA,KAAUW;AACZ,WAAOA,GAAUX,CAAM;AACzB,QAAM,IAAI,MAAM,yBAAyB;AAC3C,GAGIe,IAAS,CAACnB,GAAOC,MAAa;AAChC,QAAMmB,IAAc,CAAA,GACdlB,IAAMF,EAAM;AAClB,WAASzF,IAAQ,GAAGA,IAAQ2F,GAAK3F;AAE/B,IADiB0F,EAASD,EAAMzF,CAAK,GAAGA,GAAOyF,CAAK,KAElDoB,EAAY,KAAKpB,EAAMzF,CAAK,CAAC;AAGjC,SAAO6G;AACT,GAGIf,IAAc,CAACgB,GAAMrB,GAAOvK,GAAM2K,GAAQ3H,MAAU;AACtD,MAAI,OAAOhD,KAAS;AAClB,WAAO4L,EAAKrB,GAAOvK,CAAI;AACzB,QAAM6L,IAAKJ,GAAuBd,CAAM;AACxC,SAAM3K,KAAU2K,KAAU3H,MAAU,SAC3B4I,EAAKrB,GAAO,CAACgB,MAAMM,EAAGN,EAAEvL,CAAI,GAAGgD,CAAK,CAAC,IACvC4I,EAAKrB,GAAO,CAACgB,MAAMM,EAAGN,GAAGvI,CAAK,CAAC;AACxC,GACI8I,KAAQ,CAACvB,GAAOvK,GAAM2K,GAAQ3H,MAAU4H,EAAYc,GAAQnB,GAAOvK,GAAM2K,GAAQ3H,CAAK,GAGtFwI,KAAM,CAACjB,GAAOC,MAAa;AAC7B,WAAS1F,IAAQ,GAAGA,IAAQyF,EAAM,QAAQzF;AAExC,QAAI,CADa0F,EAASD,EAAMzF,CAAK,GAAGA,GAAOyF,CAAK;AAElD,aAAO;AAGX,SAAO;AACT,GACIwB,KAAe,CAACxB,GAAOvK,GAAM2K,GAAQ3H,MAAU4H,EAAYY,IAAKjB,GAAOvK,GAAM2K,GAAQ3H,CAAK,GAG1FgJ,KAAY,CAAC7B,MAAQ;AACvB,MAAIA,MAAQ;AACV,WAAO;AAET,QAAM8B,IAAQ7B,GAAe,CAAA,GAAID,CAAG;AACpC,gBAAO,KAAK8B,CAAK,EAAE,QAAQ,CAAC1J,MAAQ0J,EAAM1J,CAAG,IAAIsI,EAASV,EAAI5H,CAAG,CAAC,IAAIyJ,GAAU7B,EAAI5H,CAAG,CAAC,IAAI4H,EAAI5H,CAAG,CAAC,GAC7F,MAAM,QAAQ4H,CAAG,KAAKA,EAAI,UAAU8B,EAAM,SAAS9B,EAAI,WAAW,MAAM,KAAK8B,CAAK,IAAI,MAAM,QAAQ9B,CAAG,IAAI,MAAM,KAAKA,CAAG,IAAI8B;AACtI,GAGIC,KAAW,CAAC3B,GAAO9D,MAAY;AACjC,MAAIoE,EAASpE,CAAO,GAAG;AACrB,aAAS3B,IAAQ,GAAGA,IAAQyF,EAAM,QAAQzF,KAAS;AACjD,YAAM8C,IAAU2C,EAAMzF,CAAK;AAC3B,UAAIgG,EAAOrE,GAASmB,CAAO;AACzB,eAAO;AAAA,IAEf;AACI,WAAO;AAAA,EACX;AACE,WAAS9C,IAAQ,GAAGA,IAAQyF,EAAM,QAAQzF,KAAS;AACjD,UAAM8C,IAAU2C,EAAMzF,CAAK;AAC3B,QAAIgG,EAAOrE,GAASmB,CAAO;AACzB,aAAO;AAAA,EAEb;AACE,SAAO;AACT,GAGIuE,KAAO,CAAC5B,GAAOhI,MAAQ;AACzB,QAAM6J,IAAO,IAAI,IAAI7B,EAAM,IAAI,CAACgB,MAAM,CAACA,EAAEhJ,CAAG,GAAGgJ,CAAC,CAAC,CAAC;AAClD,SAAO,OAAO,YAAYa,EAAK,QAAO,CAAE;AAC1C,GAGIC,KAAW,CAAC9B,MAAUmB;AAAA,EACxBnB;AAAA,EACA,CAAC+B,GAAIxH,GAAOyH,MAAW1B,EAASyB,CAAE,IAAIxH,MAAUyH,EAAO,UAAU,CAACpC,MAAQW,EAAOX,GAAKmC,CAAE,CAAC,IAAIxH,MAAUyH,EAAO,QAAQD,CAAE;AAC1H,GAGIE,KAAO,CAACjC,GAAOC,MAAa;AAC9B,QAAMC,IAAMF,EAAM;AAClB,WAASzF,IAAQ,GAAGA,IAAQ2F,GAAK3F;AAE/B,QADiB0F,EAASD,EAAMzF,CAAK,GAAGA,GAAOyF,CAAK;AAElD,aAAOA,EAAMzF,CAAK;AAIxB,GAGI2H,KAAY,CAAClC,GAAOqB,MAAS;AAC/B,QAAMQ,IAAuB,oBAAI,IAAG;AACpC,SAAA7B,EAAM,QAAQ,CAACgB,MAAM;AACnB,UAAMP,IAAIY,EAAKL,CAAC,GACVxG,IAAOqH,EAAK,IAAIpB,CAAC,KAAK,CAAA;AAC5B,IAAAjG,EAAK,KAAKwG,CAAC,GACXa,EAAK,IAAIpB,GAAGjG,CAAI;AAAA,EACpB,CAAG,GACM,OAAO,YAAYqH,EAAK,QAAO,CAAE;AAC1C,GACIM,KAAU,CAACnC,GAAOhI,MAAQkK,GAAUlC,GAAO,CAACxF,MAASA,EAAKxC,CAAG,CAAC,GAG9DoK,KAAM,CAACpC,GAAOC,MAAa;AAC7B,QAAMmB,IAAc,CAAA;AACpB,MAAI7G,IAAQ;AACZ,QAAM2F,IAAMF,EAAM;AAClB,OAAKzF,GAAOA,IAAQ2F,GAAK3F,KAAS;AAChC,UAAM/E,IAAYyK,EAASD,EAAMzF,CAAK,GAAGA,GAAOyF,CAAK;AACrD,IAAAoB,EAAY,KAAK5L,CAAS;AAAA,EAC9B;AACE,SAAO4L;AACT,GAGIiB,KAAgB,CAACvN,GAAGwH,MAAM;AAC5B,MAAI0E,IAAI,OAAO,SAASlM,GAAG,EAAE,GACzBwN,IAAI,OAAO,SAAShG,GAAG,EAAE;AAC7B,SAAO0E,IAAIsB,IAAI,CAACA,GAAGtB,CAAC,IAAI,CAACA,GAAGsB,CAAC;AAC/B,GACIC,KAAkB,CAACC,GAAOC,GAAOC,IAAQ,MAAM;AACjD,QAAM,IAAI,CAAA;AACV,MAAIrN,IAAImN,EAAM,WAAW,CAAC;AAC1B,QAAMG,IAAIF,EAAM,WAAW,CAAC;AAC5B,SAAOpN,KAAKsN,GAAGtN,KAAKqN;AAClB,MAAE,KAAK,OAAO,aAAarN,CAAC,CAAC;AAE/B,SAAIuL,EAAS4B,CAAK,KAAK5B,EAAS6B,CAAK,IAC5B,EAAE,IAAI,CAACzB,MAAM,OAAO,SAASA,CAAC,CAAC,IAEjC;AACT,GACI4B,IAAc,CAACJ,GAAOC,GAAOC,IAAQ,MAAM;AAC7C,MAAIG,IAAM,KAAK,IAAIH,CAAK;AACxB,OAAIF,EAAM,SAAS,KAAKC,EAAM,SAAS,MACjC7B,EAAS4B,CAAK,KAAK5B,EAAS6B,CAAK,GAAG;AACtC,UAAM3N,IAAI,CAAA,GACJ,CAACgO,GAAQC,CAAM,IAAIV,GAAcG,GAAOC,CAAK;AACnD,aAASpN,IAAIyN,GAAQzN,KAAK0N,GAAQ1N,KAAKwN;AACrC,MAAA/N,EAAE,KAAKO,CAAC;AAEV,WAAOP;AAAA,EACb;AAEE,SAAOyN,GAAgBC,GAAOC,GAAOI,CAAG;AAC1C,GACIG,KAAQ,CAACC,GAAeC,GAAeR,IAAQ,MAAM;AACvD,MAAIQ,MAAkB,QAAQ;AAC5B,UAAM,CAAClC,GAAGsB,GAAGa,CAAE,IAAIF,EAAc,MAAM,IAAI;AAC3C,WAAIE,MAAO,SACFP,EAAY5B,GAAGsB,GAAG,CAAC,IAErBM,EAAY5B,GAAGmC,GAAI,OAAO,SAASb,GAAG,EAAE,CAAC;AAAA,EACpD;AACE,SAAIzB,GAAiBoC,CAAa,KAAKpC,GAAiBqC,CAAa,IAC5DN,EAAY,GAAGK,CAAa,IAAI,GAAGC,CAAa,IAAIR,CAAK,IAE3D,MAAM,KAAK,EAAE,QAAQO,EAAa,GAAI,CAACG,GAAG/N,MAAMA,IAAI,KAAK,IAAI6N,CAAa,CAAC;AACpF,GAGIG,IAAS,CAACpD,GAAUqD,GAAStD,MAAU;AACzC,MAAIuD,IAAcD;AAClB,QAAMpD,IAAMF,EAAM;AAClB,WAASzF,IAAQ,GAAGA,IAAQ2F,GAAK3F,KAAS;AACxC,UAAM2B,IAAU8D,EAAMzF,CAAK;AAC3B,IAAAgJ,IAActD,EAASsD,GAAarH,GAAS3B,GAAOyF,CAAK;AAAA,EAC7D;AACE,SAAOuD;AACT,GAGIC,KAAU,CAAC1O,MAAM;AACnB,QAAMkL,IAAQ,MAAM,KAAKlL,EAAE,OAAM,CAAE;AACnC,MAAI2O,IAAO,MACPC,IAAQ,MACRC,IAAS3D,EAAM;AACnB,OAAKyD,IAAO,GAAGA,IAAOE,IAAS,GAAGF,KAAQ,GAAG;AAC3C,IAAAC,IAAQC,IAAS,IAAIF;AACrB,QAAIG,IAAY5D,EAAMyD,CAAI;AAC1B,IAAAzD,EAAMyD,CAAI,IAAIzD,EAAM0D,CAAK,GACzB1D,EAAM0D,CAAK,IAAIE;AAAA,EACnB;AACE,SAAO5D;AACT,GAGI6D,KAAO,CAAC7D,GAAO0C,MAAU;AAC3B,MAAI,OAAOA,KAAU;AACnB,WAAO1C,EAAM,MAAM0C,CAAK;AAE1B,MAAIxC,IAAMF,EAAM;AAChB,WAASzF,IAAQ,GAAGA,IAAQ2F,GAAK3F,KAAS;AACxC,UAAM2B,IAAU8D,EAAMzF,CAAK;AAE3B,QADkBmI,EAAMxG,GAAS3B,GAAOyF,CAAK;AAE3C,aAAOA,EAAM,MAAMzF,CAAK;AAAA,EAE9B;AACE,SAAOyF,EAAM,MAAM,CAAC;AACtB,GACI8D,KAAgB,CAAC9D,GAAOvK,GAAM2K,GAAQ3H,MAAU4H,EAAYwD,IAAM7D,GAAOvK,GAAM2K,GAAQ3H,CAAK,GA+D5FsL,KAAO,CAAC/D,GAAOgE,MAAW;AAC5B,QAAMC,IAAc,CAAC,GAAGjE,CAAK;AAC7B,SAAIgE,MAAW,SACNC,EAAY,KAAI,IACrB,OAAOD,KAAW,aACbC,EAAY,SAASD,CAAM,IAC7BC,EAAY,SAAStD,GAAOqD,CAAM,CAAC;AAC5C,GACIE,KAAyB,kBAACC,OAC5BA,EAAO,MAAS,OAChBA,EAAO,OAAU,QACVA,IACND,MAAS,CAAA,CAAE,GACVE,KAAe,CAACC,MAAW,CAACvP,GAAGwH,MAAM+H,EAAO,OAAO,CAACC,GAAKtD,MAAM;AACjE,QAAMuD,IAAWvD,EAAE,SAAS,SAAS,KAAK,GACpCwD,IAAWxD,EAAE,KACbyD,IAAI3P,EAAE0P,CAAQ,IAAIlI,EAAEkI,CAAQ,IAAID,IAAWzP,EAAE0P,CAAQ,IAAIlI,EAAEkI,CAAQ,IAAI,CAACD,IAAW;AACzF,SAAOD,MAAQ,IAAIA,IAAMG;AAC3B,GAAG,CAAC,GACAC,KAAY,CAAC1E,GAAOqE,MAAWrE,EAAM,KAAKoE,GAAaC,CAAM,CAAC,GAG9DM,KAAS,CAAC3E,GAAOhI,MAAQ;AAC3B,MAAIA,MAAQ;AACV,WAAO,CAAC,GAAG,IAAI,IAAIgI,CAAK,EAAE,OAAM,CAAE;AAEpC,QAAM4E,IAAuB,oBAAI,IAAG;AACpC,SAAI,MAAM,QAAQ5M,CAAG,IACZ,CAAC,GAAG,IAAI,IAAIA,CAAG,CAAC,IAElBmJ,EAAOnB,GAAO,CAAC+B,MAAO;AAC3B,UAAM8C,IAAY7M,IAAM4M,EAAK,IAAI7C,EAAG/J,CAAG,CAAC,IAAI4M,EAAK,IAAI5M,CAAG;AACxD,WAAMA,MACC6M,KACHD,EAAK,IAAI7C,EAAG/J,CAAG,CAAC,IAGb,CAAC6M;AAAA,EACZ,CAAG;AACH,GAGIC,KAAO,MAAMC,GAAM;AAAA,EACrB,YAAY/E,IAAQ,IAAI;AACtB,SAAK,QAAQA;AAAA,EACjB;AAAA,EACE,OAAO,SAASvK,GAAM;AACpB,WAAOuN,GAAM,GAAGvN,CAAI;AAAA,EACxB;AAAA,EACE,OAAO,IAAIuK,GAAO;AAChB,WAAO,IAAI+E,GAAM/E,CAAK;AAAA,EAC1B;AAAA,EACE,MAAMvK,GAAM2K,GAAQ3H,GAAO;AACzB,gBAAK,QAAQ8I,GAAM,KAAK,OAAO9L,GAAM2K,GAAQ3H,CAAK,GAC3C;AAAA,EACX;AAAA,EACE,KAAKhD,GAAM2K,GAAQ3H,GAAO;AACxB,WAAO0H,GAAa,KAAK,OAAO1K,GAAM2K,GAAQ3H,CAAK;AAAA,EACvD;AAAA,EACE,IAAIhD,GAAM2K,GAAQ3H,GAAO;AACvB,WAAO+I,GAAa,KAAK,OAAO/L,GAAM2K,GAAQ3H,CAAK;AAAA,EACvD;AAAA,EACE,UAAU;AACR,gBAAK,QAAQ+K,GAAQ,KAAK,KAAK,GACxB;AAAA,EACX;AAAA,EACE,IAAIzB,GAAI;AACN,gBAAK,QAAQ,MAAM,QAAQA,CAAE,IAAI,KAAK,MAAM,OAAOA,CAAE,IAAI,KAAK,MAAM,OAAO,CAACA,CAAE,CAAC,GACxE;AAAA,EACX;AAAA,EACE,QAAQA,GAAI;AACV,gBAAK,QAAQ,MAAM,QAAQA,CAAE,IAAIA,EAAG,OAAO,KAAK,KAAK,IAAI,CAACA,CAAE,EAAE,OAAO,KAAK,KAAK,GACxE;AAAA,EACX;AAAA,EACE,OAAOvM,GAAW;AAChB,WAAOA,MAAc,SAAS,KAAK,QAAQ,KAAK,MAAM,IAAIA,CAAS;AAAA,EACvE;AAAA,EACE,KAAKwP,GAAMrH,GAAK;AACd,WAAIA,MAAQ,SACV,KAAK,QAAQ,KAAK,MAAM,MAAMqH,GAAM,KAAK,IAAI,GAAGrH,CAAG,CAAC,IAEpD,KAAK,QAAQ,KAAK,MAAM,MAAMqH,CAAI,GAE7B;AAAA,EACX;AAAA,EACE,OAAO;AACL,WAAO,KAAK,MAAM,CAAC;AAAA,EACvB;AAAA,EACE,OAAO;AACL,WAAO,KAAK,KAAK,CAAC;AAAA,EACtB;AAAA,EACE,KAAKvP,GAAM2K,GAAQ3H,GAAO;AACxB,gBAAK,QAAQqL,GAAc,KAAK,OAAOrO,GAAM2K,GAAQ3H,CAAK,GACnD;AAAA,EACX;AAAA,EACE,WAAW;AACT,gBAAK,QAAQqJ,GAAS,KAAK,KAAK,GACzB;AAAA,EACX;AAAA,EACE,MAAMmD,GAAW;AACf,WAAOA,MAAc,SAAS,KAAK,MAAM,CAAC,IAAIhD,GAAK,KAAK,OAAOgD,CAAS,KAAK;AAAA,EACjF;AAAA,EACE,KAAKA,GAAW;AACd,UAAM/E,IAAM,KAAK,MAAM;AACvB,QAAI+E,MAAc;AAChB,aAAO,KAAK,MAAM/E,IAAM,CAAC;AAE3B,aAAS3F,IAAQ2F,GAAK3F,MAAU,GAAGA;AAEjC,UADiB0K,EAAU,KAAK,MAAM1K,CAAK,GAAGA,GAAO,KAAK,KAAK;AAE7D,eAAO,KAAK,MAAMA,CAAK;AAAA,EAI/B;AAAA,EACE,IAAIvC,GAAK;AACP,WAAOA,MAAQ,SAASqL,EAAO,CAACiB,GAAKvC,MAAOuC,IAAMvC,GAAI,GAAG,KAAK,KAAK,IAAIsB,EAAO,CAACiB,GAAKvC,MAAOuC,IAAM5D,GAAOqB,GAAI/J,CAAG,GAAG,GAAG,KAAK,KAAK;AAAA,EACnI;AAAA,EACE,QAAQA,GAAK;AACX,WAAO,KAAK,IAAIA,CAAG,IAAI,KAAK,MAAM;AAAA,EACtC;AAAA,EACE,QAAQA,GAAK;AACX,WAAOmK,GAAQ,KAAK,OAAOnK,CAAG;AAAA,EAClC;AAAA,EACE,UAAUqJ,GAAM;AACd,WAAOa,GAAU,KAAK,OAAOb,CAAI;AAAA,EACrC;AAAA,EACE,OAAO6D,GAAY;AACjB,WAAO/D,EAAO,KAAK,OAAO,CAACH,MAAM,CAACW,GAASuD,GAAYlE,CAAC,CAAC;AAAA,EAC7D;AAAA,EACE,UAAUmE,GAAS;AACjB,WAAOhE,EAAO,KAAK,OAAO,CAACH,MAAMW,GAASwD,GAASnE,CAAC,CAAC;AAAA,EACzD;AAAA,EACE,QAAQhJ,GAAKoC,GAAO;AAClB,QAAI4F;AACJ,WAAAA,IAAUhI,IAAM+L,GAAK,KAAK,OAAO/L,CAAG,IAAI,KAAK,MAAM,SAAQ,GAC3D,KAAK,QAAQoC,MAAU,SAASoJ,GAAQxD,CAAK,IAAIA,GAC1C;AAAA,EACX;AAAA,EACE,SAASoF,GAAQ;AACf,WAAOrF,GAAI,KAAK,OAAO,CAACiB,MAAMT,EAAOS,GAAGoE,CAAM,CAAC;AAAA,EACnD;AAAA,EACE,GAAGpF,GAAO;AACR,UAAME,IAAMF,EAAM;AAClB,aAASzF,IAAQ,GAAGA,IAAQ2F,GAAK3F,KAAS;AACxC,YAAM2B,IAAU8D,EAAMzF,CAAK;AAE3B,UADwB,KAAK,SAAS2B,CAAO;AAE3C,eAAO;AAAA,IACf;AACI,WAAO;AAAA,EACX;AAAA,EACE,OAAOmJ,GAAIC,GAAY;AACrB,WAAOjC,EAAOgC,GAAIC,KAAkC,KAAK,MAAM,CAAC,GAAG,KAAK,KAAK;AAAA,EACjF;AAAA,EACE,QAAQ;AACN,WAAO,KAAK,MAAM,WAAW;AAAA,EACjC;AAAA,EACE,MAAMtN,GAAK;AACT,WAAO,IAAI,IAAIoK,GAAI,KAAK,OAAO,CAAC5H,MAAS,CAACxC,GAAKwC,CAAI,CAAC,CAAC;AAAA,EACzD;AAAA,EACE,IAAIwF,GAAOqF,GAAI;AACb,WAAOjD,GAAI,KAAK,OAAO,CAAC5H,GAAMD,MAAU8K,EAAG7K,GAAMwF,EAAMzF,CAAK,CAAC,CAAC;AAAA,EAClE;AAAA,EACE,MAAM0K,GAAW;AACf,WAAOA,MAAc,SAAS,KAAK,MAAM,SAAS9D,EAAO,KAAK,OAAO8D,CAAS,EAAE;AAAA,EACpF;AAAA,EACE,IAAI9P,GAAG;AACL,WAAO,KAAK,MAAMA,CAAC;AAAA,EACvB;AAAA,EACE,QAAQ;AACN,WAAO,IAAI4P,GAAMtD,GAAU,KAAK,KAAK,CAAC;AAAA,EAC1C;AAAA,EACE,SAASzJ,GAAK;AACZ,WAAO4J,GAAK,KAAK,OAAO5J,CAAG;AAAA,EAC/B;AAAA,EACE,KAAKgM,GAAQ;AACX,WAAO,MAAM,QAAQA,CAAM,IAAIU,GAAU,KAAK,OAAOV,CAAM,IAAID,GAAK,KAAK,OAAOC,CAAM;AAAA,EAC1F;AAAA,EACE,OAAOvD,GAAG;AACR,WAAOkE,GAAO,KAAK,OAAOlE,CAAC;AAAA,EAC/B;AACA,GA+DI8E,KAAcT;ACxlBX,MAAMU,KAAQ,CAACrK,MAAsB;AACxC,QAAMsK,IAAOtK,EAAM,QAAQuK,IACrBC,IAAYC,EAAA;AAClB,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,qEACX,UAAA;AAAA,IAAA,gBAAAxN,EAACoN,GAAA,EAAK,MAAM,IAAI,WAAU,iBAAgB;AAAA,sBACzC,KAAA,EAAE,WAAU,iBAAiB,UAAAtK,EAAM,WAAWwK,EAAU,iBAAA,CAAiB;AAAA,EAAA,GAC9E;AAER;ACVO,SAASG,GAAsBzI,GAAiB0I,GAAa;AAChE,MAAI,CAAC1I,KAAW,CAAC0I,UAAY,CAAA;AAC7B,QAAMC,IAAgC,CAAC,CAAC;AACxC,MAAI3I,MAAY,KAAK0I,MAAQ,EAAG,QAAOC;AACvC,EAAI3I,IAAU,KAAG2I,EAAM,KAAK,GAAG;AAC/B,QAAM9Q,IAAI,GACJ+Q,IAAK5I,IAAUnI,GACfgR,IAAK7I,IAAUnI;AACrB,WAASG,IAAI4Q,IAAK,IAAIA,IAAK,GAAG5Q,KAAK,KAAK,IAAI0Q,GAAKG,CAAE,GAAG7Q,IAAK,CAAA2Q,EAAM,KAAK3Q,CAAC;AACvE,QAAM8Q,IAAKJ,IAAM;AACjB,SAAIG,IAAK,MAAMC,KACPD,IAAK,IAAIH,KAAKC,EAAM,KAAK,GAAG,GAEhCE,IAAKH,MACLC,EAAM,KAAKD,IAAM,CAAC,GAClBC,EAAM,KAAKD,IAAM,CAAC,GAClBC,EAAM,KAAKD,CAAG,IAEX,MAAM,KAAK,IAAI,IAAIC,CAAK,CAAC;AACpC;AAEO,MAAMI,KAAa,CAACC,MAAgC;AACvD,QAAM1O,IAAK2O,GAAA,GACLC,IAAcX,EAAA,GACdY,IAAiBpO,EAAQ,MAAM0N,GAAsBO,EAAW,SAASA,EAAW,KAAK,GAAG,CAACA,EAAW,SAASA,EAAW,KAAK,CAAC,GAClII,IAAUJ,EAAW,UAAUA,EAAW,OAC1CK,IAA0BL,EAAW,UAAU;AAErD,SACI,gBAAAR,EAAC,UAAA,EAAO,WAAU,iHACd,UAAA;AAAA,IAAA,gBAAAxN,EAAC,KAAA,EACG,UAAA,gBAAAA;AAAA,MAACkO,EAAY;AAAA,MAAZ;AAAA,QACI,GAAGF;AAAA,QACJ,OAAOA,EAAW;AAAA,QAClB,QACIA,EAAW,gBAAgB,MAAM,QAAQA,EAAW,KAAK,IACrD,gBAAAR,EAACc,GAAA,EACG,UAAA;AAAA,UAAA,gBAAAtO,EAAC,SAAA,EAAM,SAASV,GAAK,UAAA4O,EAAY,4BAA2B;AAAA,UAC5D,gBAAAlO;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,IAAAV;AAAA,cACA,OAAO0O,EAAW;AAAA,cAClB,WAAU;AAAA,cACV,UAAU,CAACtR,MAAM;AACb,gBAAAsR,EAAW,eAAe,OAAOtR,EAAE,OAAO,KAAK,CAAC;AAAA,cAAA;AAAA,cAGnD,UAAAsR,EAAW,MAAM,IAAI,CAAC5N,MACnB,gBAAAJ,EAAC,UAAA,EAAuC,OAAAI,GACnC,UAAAA,EAAA,GADQ,kBAAkBA,CAAK,EAEpC,CACH;AAAA,YAAA;AAAA,UAAA;AAAA,UACK;AAAA,QAAA,EAAA,CACd,IACA;AAAA,MAAA;AAAA,IAAA,GAGhB;AAAA,IACA,gBAAAJ,EAAC,OAAA,EACG,UAAA,gBAAAwN,EAAC,MAAA,EAAG,WAAU,2BACT,UAAA;AAAA,MAAAQ,EAAW,UAAU,IAClB,gBAAAhO,EAAC,MAAA,EACG,4BAACuO,GAAA,EAAU,IAAIF,GAAM,MAAK,YAAW,WAAU,IAC1C,UAAAH,EAAY,wBAAA,CACjB,GACJ,IACA;AAAA,MACHC,EAAe,IAAI,CAACxF,MACbA,MAAM,OAAa,OAEnB,gBAAA3I,EAACsO,GAAA,EACI,UAAA,OAAO3F,KAAM,6BACT,MAAA,EAAG,UAAA,OAAG,IAEP,gBAAA3I,EAAC,MAAA,EACG,UAAA,gBAAAA;AAAA,QAACuO;AAAA,QAAA;AAAA,UACG,MAAM5F;AAAA,UACN,IAAI0F;AAAA,UACJ,WAAW,iIAAiI1F,MAAMqF,EAAW,UAAU,gCAAgC,oBAAoB;AAAA,UAE1N,UAAArF;AAAA,QAAA;AAAA,MAAA,EACL,CACJ,EAAA,GAZO,cAAcA,CAAC,EAc9B,CAEP;AAAA,MACAyF,IACG,gBAAApO,EAAC,MAAA,EACG,UAAA,gBAAAA,EAACuO,KAAU,IAAIF,GAAM,MAAK,QAAO,WAAU,IACtC,UAAAH,EAAY,oBAAA,CACjB,GACJ,IACA;AAAA,IAAA,EAAA,CACR,EAAA,CACJ;AAAA,EAAA,GACJ;AAER,GCzFMM,KAAW,CAAC1L,MAA6B;AAC3C,QAAM2L,IAAYjQ,EAAuB,IAAI,GACvCkQ,IAAMlQ,EAAuB,IAAI,GACjC,CAACmQ,GAAWC,CAAY,IAAI/P,EAAS,WAAW,GAChDgQ,IAAaF,MAAc;AAajC,SACI,gBAAA3O;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAKyO;AAAA,MACL,cAZQ,MAAM;AAClB,cAAMK,IAAQJ,EAAI,SACZK,IAASN,EAAU;AACzB,QAAIK,MAAU,QAAQC,MAAW,SAC7BA,EAAO,MAAM,OAAO,IAAID,EAAM,wBAAwB,QAAQ,CAAC,OAEnEF,EAAa,aAAa;AAAA,MAAA;AAAA,MAOtB,cAfQ,MAAMA,EAAa,WAAW;AAAA,MAgBtC,kBAAe;AAAA,MACf,OAAOC,IAAa,KAAO;AAAA,MAC3B,UAAUA,IAAa,KAAK;AAAA,MAC5B,WAAW,8HAA8HF,CAAS;AAAA,MAElJ,4BAAC,OAAA,EAAI,KAAAD,GAAU,WAAU,iBACpB,YAAM,SAAA,CACX;AAAA,IAAA;AAAA,EAAA;AAGZ,GAEaM,KAAM,CAAoC9M,GAAe+M,GAAQrP,MAAmC;AAC7G,QAAMsP,IAAOtP,EAAQ,MACfuP,IAAUvP,EAAQ;AACxB,2BACK0O,GAAA,EACI,UAAAY,EAAK,IAAI,CAACE,GAAKC,MAAa;AACzB,UAAMC,IAAoB,GAAGD,CAAQ,IAAInN,CAAK,IACxC9B,IAAQmP,GAAKN,GAAKG,EAAI,EAAE,GACxBpM,IAAYoM,EAAI,SAChBT,IAAYS,EAAI,WAAW,aAAa,IACxCI,IAAcH,MAAa,KAAKzP,EAAQ,SAASuP,MAAY,IAC7DM,IAAQ7P,EAAQ;AACtB,WACI,gBAAA8P;AAAA,MAAC;AAAA,MAAA;AAAA,QACI,GAAGN,EAAI;AAAA,QACR,MAAK;AAAA,QACL,eAAaE;AAAA,QACb,KAAK,YAAYpN,CAAK,IAAImN,CAAQ;AAAA,QAClC,WAAW,yPAAyPV,CAAS;AAAA,MAAA;AAAA,MAE5Qa,IACG,gBAAAxP,EAACwO,IAAA,EACG,UAAA,gBAAAxO,EAACyP,GAAA,EAAM,KAAAL,GAAU,KAAAH,GAAU,UAAU/M,EAAA,CAAO,EAAA,CAChD,IACA;AAAA,MACJ,gBAAAlC,EAAC,QAAA,EAAK,WAAU,mDAAmD,YAAI,OAAM;AAAA,MAC7E,gBAAAA,EAAC,UAAK,WAAU,YACX,cACG2P,KACA3M,sBACCsL,GAAA,EACG,UAAA,gBAAAtO;AAAA,QAACgD;AAAA,QAAA;AAAA,UACG,KAAAiM;AAAA,UACA,QAAAK;AAAA,UACA,KAAAF;AAAA,UACA,UAAUlN;AAAA,UACV,OAAA9B;AAAA,QAAA;AAAA,MAAA,EACJ,CACJ,IAEA,gBAAAJ,EAACsO,GAAA,EAAU,UAAAsB,GAAG,IAAIxP,CAAK,IAAI,KAAMA,EAAA,CAA0B,EAAA,CAEnE;AAAA,IAAA;AAAA,EACJ,CAEP,GACL;AAER;;;;AC/Fa,WAAO,eAAeyP,GAAQ,OAAO,aAAY,EAAC,OAAM,SAAQ,CAAC;AAAE,UAAMzH,IAAE,CAAC1L,GAAEK,MAAI;AAAC,UAAG;AAAC,eAAO,KAAKL,CAAC,EAAE,QAAQK,CAAC;AAAA,MAAC,SAAOH,GAAE;AAAC,eAAO,QAAQ,IAAIA,CAAC;AAAA,MAAC;AAAA,IAAC,GAAEI,IAAE,CAAAN,MAAGA,KAAG,MAAKoT,IAAE,CAAApT,MAAG;AAAC,YAAMK,IAAE,OAAOL;AAAE,aAAOK,MAAI,YAAUA,MAAI,YAAUA,MAAI,aAAWC,EAAEN,CAAC;AAAA,IAAC,GAAEqT,IAAE,CAACrT,GAAEK,MAAI;AAAC,YAAMH,IAAEG,EAAE,QAAQL,CAAC;AAAE,UAAG;AAAC,eAAO,KAAK,MAAME,CAAC;AAAA,MAAC,QAAM;AAAC,eAAOA,KAAG;AAAA,MAAI;AAAA,IAAC,GAAEoT,IAAE,CAAAtT,MAAG,OAAO,KAAKA,CAAC,EAAE,OAAO,CAACK,GAAEH,OAAK,EAAC,GAAGG,GAAE,CAACH,CAAC,GAAEmT,EAAEnT,GAAEF,CAAC,EAAC,IAAG,CAAA,CAAE,GAAE0P,IAAE,CAAA1P,MAAGA,aAAa,OAAKA,IAAE,OAAOA,KAAG,WAAS,IAAI,KAAK,oBAAI,SAAK,IAAEA,IAAE,KAAK,IAAEA,GAAEuT,IAAE,4BAA2BC,IAAE,MAAI,SAAS,WAAS,KAAG,CAAA,IAAG,SAAS,OAAO,MAAM,IAAI,EAAE,IAAI,CAAAnT,MAAGA,EAAE,MAAM,GAAG,CAAC,EAAE,OAAO,CAACA,GAAEH,OAAKG,EAAE,mBAAmBH,EAAE,CAAC,EAAE,KAAI,CAAE,CAAC,IAAE,mBAAmBA,EAAE,CAAC,EAAE,KAAI,CAAE,GAAEG,IAAG,CAAA,CAAE,GAAEG,IAAE,oBAAI,OAAIT,IAAE,MAAI;AAAC,YAAMC,IAAEwT,EAAC;AAAG,MAAAhT,EAAE,QAAQ,CAAAH,MAAGA,EAAEL,CAAC,CAAC;AAAA,IAAC,GAAEuN,IAAE,CAAC,EAAC,MAAK,WAAU,OAAM,CAAAvN,MAAG,WAAW0P,EAAE1P,EAAE,WAASuT,CAAC,CAAC,GAAE,GAAE,EAAC,MAAK,UAAS,OAAM,CAAAvT,MAAGA,EAAE,SAAO,WAAW0P,EAAE1P,EAAE,WAASuT,CAAC,CAAC,KAAG,GAAE,GAAE,EAAC,MAAK,QAAO,OAAM,CAAAvT,MAAG,QAAQA,EAAE,QAAM,GAAG,GAAE,GAAE,EAAC,MAAK,YAAW,OAAM,CAAAA,MAAG,YAAYA,EAAE,YAAU,QAAQ,GAAE,GAAE,EAAC,MAAK,aAAY,OAAM,CAAAA,MAAG,GAAGA,EAAE,aAAW,KAAG,WAAS,EAAE,GAAE,GAAE,EAAC,MAAK,UAAS,OAAM,CAAAA,MAAG;AAAC,YAAMK,IAAEL,EAAE,UAAQ;AAAG,aAAOK,MAAI,KAAG,KAAG,UAAUL,EAAE,cAAY,MAAI,EAAE,GAAGK,CAAC;AAAA,IAAE,EAAC,GAAE,EAAC,MAAK,eAAc,OAAM,CAAAL,MAAGA,EAAE,cAAY,gBAAc,GAAE,CAAC,GAAEyT,IAAE,EAAC,MAAKD,GAAE,UAAS,CAAAxT,OAAIQ,EAAE,IAAIR,CAAC,GAAE,MAAIQ,EAAE,OAAOR,CAAC,IAAG,gBAAe,MAAIQ,EAAE,MAAK,GAAG,KAAI,CAAAR,MAAG,SAAS,OAAO,MAAM,GAAG,EAAE,KAAK,CAAAK,MAAGA,EAAE,KAAI,EAAG,WAAW,GAAGL,CAAC,GAAG,CAAC,GAAE,WAAU,MAAI;AAAC,eAAS,OAAO,MAAM,GAAG,EAAE,QAAQ,CAAAA,MAAG;AAAC,iBAAS,SAAOA,EAAE,QAAQ,OAAM,EAAE,EAAE,QAAQ,OAAM,cAAa,oBAAI,KAAI,GAAG,YAAW,CAAE,SAAS;AAAA,MAAC,CAAC,GAAED,EAAC;AAAA,IAAE,GAAE,KAAI,CAAAC,MAAG;AAAC,YAAMK,IAAEoT,EAAE,KAAI,EAAGzT,CAAC;AAAE,UAAGM,EAAED,CAAC,EAAE,QAAO;AAAK,UAAG;AAAC,eAAO,KAAK,MAAM,mBAAmBA,CAAC,CAAC;AAAA,MAAC,QAAM;AAAC,eAAOA;AAAA,MAAC;AAAA,IAAC,GAAE,QAAO,CAAAL,MAAG;AAAC,eAAS,SAAO,GAAG,mBAAmBA,CAAC,CAAC,cAAa,oBAAI,KAAI,GAAG,YAAW,CAAE,IAAGD,EAAC;AAAA,IAAE,GAAE,KAAI,CAACC,GAAEK,GAAEH,IAAE,CAAA,MAAK;AAAC,YAAME,IAAEgT,EAAE/S,CAAC,IAAEA,IAAE,mBAAmB,KAAK,UAAUA,CAAC,CAAC,GAAEE,IAAEgN,EAAE,OAAO,CAACpN,GAAEuT,OAAI;AAAC,cAAMC,KAAED,GAAE,MAAMxT,CAAC;AAAE,eAAOyT,OAAI,KAAGxT,IAAEA,EAAE,OAAOwT,EAAC;AAAA,MAAC,GAAE,CAAC,GAAG,mBAAmB3T,CAAC,CAAC,IAAII,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG;AAAE,eAAS,SAAOG,GAAER,EAAC;AAAA,IAAE,EAAC,GAAEE,IAAE,CAAAD,MAAG;AAAC,YAAMK,IAAE,oBAAI,OAAIH,IAAE,CAAAE,MAAG;AAAC,QAAAJ,EAAC,EAAG,WAAWI,CAAC;AAAE,cAAMG,IAAE+S,EAAEtT,EAAC,CAAE;AAAE,QAAAK,EAAE,QAAQ,CAAAF,MAAGA,EAAEI,CAAC,CAAC;AAAA,MAAC;AAAE,aAAM,EAAC,QAAOL,GAAE,UAAS,CAAAE,OAAIC,EAAE,IAAID,CAAC,GAAE,MAAIC,EAAE,OAAOD,CAAC,IAAG,gBAAe,MAAIC,EAAE,MAAK,GAAG,MAAK,CAACD,IAAE,OAAKA,IAAEkT,EAAEtT,EAAC,CAAE,IAAEA,EAAC,GAAG,KAAI,CAAAI,MAAG;AAAC,cAAMG,IAAEP,EAAC,EAAG,QAAQI,CAAC;AAAE,eAAM,CAACE,EAAEC,CAAC;AAAA,MAAC,GAAE,WAAU,MAAI;AAAC,QAAAmL,EAAE1L,EAAC,GAAGE,CAAC,GAAEG,EAAE,QAAQ,CAAAD,MAAGA,EAAEJ,EAAC,CAAE,CAAC;AAAA,MAAC,GAAE,KAAI,CAAAI,MAAGiT,EAAEjT,GAAEJ,EAAC,CAAE,GAAE,KAAI,CAACI,GAAEG,MAAI;AAAC,QAAAP,EAAC,EAAG,QAAQI,GAAE,KAAK,UAAUG,CAAC,CAAC,GAAEF,EAAE,QAAQ,CAAAF,MAAGA,EAAEH,EAAC,CAAE,CAAC;AAAA,MAAC,EAAC;AAAA,IAAC,GAAE4T,IAAE3T,EAAE,MAAI,OAAO,cAAc,GAAE4T,IAAE5T,EAAE,MAAI,OAAO,YAAY;AAAE,IAAAkT,EAAA,SAAeM,GAAEN,EAAA,eAAqBU,GAAEV,EAAA,iBAAuBS,GAAET,EAAA,gBAAsBlT;AAAA;;;ACax1E,MAAM6T,KAAW,CAAiBpB,MAAgBA,EAAI,eAAeA,EAAI,SAAUA,EAAI,IAOjFqB,KAAmB,CAAiBvB,MAC7CA,EAAK,IAAI,CAACwB,OAAS;AAAA,EACf,OAAOA,EAAI;AAAA,EACX,OAAQA,EAAI,SAASA,EAAI,eAAgBA,EAAI;AACjD,EAAE;AAEC,IAAKC,sBAAAA,OACRA,EAAA,UAAU,WACVA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,OAAO,QAJCA,IAAAA,KAAA,CAAA,CAAA;AAOL,MAAMC,KAAgB,CAAC9P,MAA6BA,EAAM,SAAS,WAAWA,EAAM,gBAAgBA,EAAM,OAuGpG+P,KAAgB,CAAiBjJ,MAA6C;AACvF,MAAI+F,IAAkB,CAAA;AAKtB,SAAA/F,EAAS,EAAE,KAJ2B,CAACtI,GAAIwR,GAAOpT,MAAYiQ,EAAM,KAAK,EAAE,GAAGjQ,GAAS,IAAA4B,GAAI,OAAAwR,EAAA,CAAiB,GAI5F,QAH4B,CAACxR,MAAQqO,IAAQA,EAAM,OAAO,CAAChF,MAAMA,EAAE,OAAOrJ,CAAE,GAGpE,QAFoB,MAAM,MAAM,KAAKqO,CAAK,GAElC,QADY,CAACzQ,MAAOyQ,IAAQ,MAAM,KAAKA,EAAM,OAAOzQ,CAAC,CAAC,GAC9C,GACjCyQ;AACX,GAUMoD,KAAO,CAAA,GAEPC,KAAY,CAAiB9B,GAAgB+B,MAAqB;AACpE,MAAI,CAAC,MAAM,QAAQA,CAAK,EAAG,QAAO/B;AAClC,QAAMgC,IAAW,IAAI,IAAID,EAAM,IAAI,CAACtI,MAAMA,EAAE,EAAE,CAAC;AAC/C,MAAI,CAACuG,EAAK,MAAM,CAACvG,MAAMuI,EAAS,IAAIvI,EAAE,EAAE,CAAC;AACrC,WAAOuG;AAEX,QAAMnF,IAAM,IAAI,IAAImF,EAAK,IAAI,CAACvG,MAAM,CAACA,EAAE,IAAIA,CAAC,CAAC,CAAC;AAC9C,SAAOsI,EAAM,IAAI,CAACE,GAAMjP,MAAU;AAC9B,UAAMkP,IAAWrH,EAAI,IAAIoH,EAAK,EAAE;AAChC,WAAIC,MAAa,SAAkBlC,EAAKhN,CAAK,IACtCkP;AAAA,EAAA,CACV;AACL,GAEaC,KAAsB,CAAiBC,GAAcpC,GAAgBxR,IAAoCqT,OAAS;AAC3H,QAAMpE,IAA+B4E,OAAU,OAAQC,GAAAA,aAAa,IAAI,qBAAqBF,CAAI,EAAE,KAAyB,MACtH,CAACG,GAAOC,CAAQ,IAAIC;AAAA,IACtB;AAAA,MACI,MAAAL;AAAA,MACA,QAAQ5T,EAAQ,UAAUiP,GAAM,UAAU,CAAA;AAAA,MAC1C,SAASjP,EAAQ,WAAWiP,GAAM,WAAW,CAAA;AAAA,MAC7C,SAASjP,EAAQ,WAAWiP,GAAM,WAAW,CAAA;AAAA,MAC7C,MAAMqE,GAAU9B,GAAMvC,GAAM,IAAI;AAAA,IAAA;AAAA,IAEpC,CAACiF,MAAQ;AACL,YAAMC,IAAY,CAACC,MAA8C;AAC7D,cAAMC,IAAOH,EAAI,MAAA,GACX1Q,IAAS,EAAE,GAAG6Q,GAAM,GAAGD,EAAA;AAC7B,eAAKP,QAASC,GAAAA,aAAa,IAAI,qBAAqBO,EAAK,IAAI,IAAI7Q,CAAM,GAChEA;AAAA,MAAA;AAEX,aAAA2Q,EAAUD,EAAI,OAAO,GACd;AAAA,QACH,KAAK,CAACI,MAA6BH,EAAUG,CAAO;AAAA,MAAA;AAAA,IACxD;AAAA,EACJ;AAEJ,SAAO,EAAE,GAAGP,GAAO,GAAGC,GAAU,MAAAJ,EAAA;AACpC,GAEaW,KAAkB,CAAmBC,MAAmC;AACjF,QAAMC,IAAYC,GAAaF,CAAO,GAChCxD,IAAMlQ,EAA4B,IAAI,GACtC6T,IAAWtT;AAAA,IACb,CAACmQ,MAAmB;AAChB,MAAAiD,EAAU,QAAQjD,CAAI,GACtBA,EAAK,QAAQ,CAACvG,MAAM;AAChB,cAAMzL,IAAIwR,EAAI,QAAS,cAAc,wBAAwB/F,EAAE,EAAE,IAAI;AACrE,QAAKzL,MACLA,EAAE,MAAM,QAAQ;AAAA,MAAA,CACnB;AAAA,IAAA;AAAA,IAEL,CAACiV,CAAS;AAAA,EAAA;AAEd,SAAO,CAACzD,GAAK2D,CAAQ;AACzB,GAEaC,KAAsB,MAAOf,OAAU,SAAa,SAAS,cAAc,+BAA+B,GCjMjHgB,KACF,CAAgBvG,MAChB,CAACvP,GAAMwH,MACH+H,EAAO,OAAe,CAACC,GAAKtD,MAAM;AAC9B,QAAMwC,IAAUxC,EAAE,SAAS,SAAS,KAAK,GACnCwD,IAAWxD,EAAE,OACbyD,IAAI3P,EAAE0P,CAAQ,IAAIlI,EAAEkI,CAAQ,IAAIhB,IAAU1O,EAAE0P,CAAQ,IAAIlI,EAAEkI,CAAQ,IAAI,CAAChB,IAAU;AACvF,SAAOc,MAAQ,IAAIA,IAAMG;AAC7B,GAAG,CAAC,GAECC,KAAY,CAAgB1E,GAAYqE,OACjDrE,EAAM,KAAK4K,GAAevG,CAAM,CAAC,GAC1BrE,IAYLoE,KAAe,CAAgBqD,GAAaoD,GAAezQ,OAA6B;AAAA,EAC1F,OAAAyQ;AAAA,EACA,IAAIC,GAAA;AAAA,EACJ,MAAM1Q;AAAA,EACN,OAAOqN,EAAI;AACf,IAEasD,KAAO,CAAgB5P,MAAoB;AACpD,QAAMoL,IAAcX,EAAA,GAEdoF,IAAS;AAAA,IACX,KAAK;AAAA,MAAE,OAAOzE,EAAY;AAAA,MAAc,OAAO;AAAA;AAAA,IAAA;AAAA,IAC/C,MAAM;AAAA,MAAE,OAAOA,EAAY;AAAA,MAAe,OAAO;AAAA;AAAA,IAAA;AAAA,EAAW,GAG1D0E,IAA8B,CAACD,EAAO,KAAKA,EAAO,IAAI,GAEtDE,IAAc,MAAM;AACtB,UAAMzD,IAAMtM,EAAM,KAAK,CAAC;AACxB,IAAIsM,KAAKtM,EAAM,IAAI,CAACiP,MAAS,CAAC,GAAGA,GAAMhG,GAAaqD,GAAKuD,EAAO,IAAI,OAAOA,EAAO,IAAI,KAAK,CAAC,CAAC;AAAA,EAAA,GAG3FG,IAAc,CAACxT,MAAe,CAAC5C,MAA4C;AAC7E,UAAM0D,IAAQ1D,EAAE,OAAO;AACvB,IAAAoG,EAAM,IAAI,CAACiP,MAASA,EAAK,IAAI,CAACpJ,MAAOA,EAAE,OAAOrJ,IAAK,EAAE,GAAGqJ,GAAG,OAAAvI,EAAA,IAA6BuI,CAAE,CAAC;AAAA,EAAA,GAGzFoK,IAAkB,CAACzT,MAAe,CAAC5C,MAA4C;AACjF,UAAMsW,IAAOtW,EAAE,OAAO;AACtB,IAAAoG,EAAM,IAAI,CAACiP,MAASA,EAAK,IAAI,CAACpJ,MAAOA,EAAE,OAAOrJ,IAAK,EAAE,GAAGqJ,GAAG,MAAAqK,EAAA,IAAwBrK,CAAE,CAAC;AAAA,EAAA,GAGpFsK,IAAW,CAACvW,MAA2C;AACzD,UAAM4C,IAAK5C,EAAE,cAAc,QAAQ,MAAM;AACzC,IAAAoG,EAAM,IAAI,CAACiP,MAASA,EAAK,OAAO,CAACpJ,MAAMA,EAAE,OAAOrJ,CAAE,CAAC;AAAA,EAAA;AAGvD,2BACKgP,GAAA,EACG,UAAA,gBAAAtO;AAAA,IAACkT;AAAA,IAAA;AAAA,MACG,OAAOhF,EAAY;AAAA,MACnB,SACI,gBAAAV,EAAC,QAAA,EAAK,WAAU,6CACZ,UAAA;AAAA,QAAA,gBAAAxN,EAACmT,IAAA,EAAgB,MAAM,GAAA,CAAI;AAAA,QAC1BjF,EAAY;AAAA,QAAsB;AAAA,QAAEpL,EAAM,QAAQ,WAAW,IAAI,KAAK,KAAKA,EAAM,QAAQ,MAAM;AAAA,MAAA,GACpG;AAAA,MAGJ,UAAA,gBAAA0K,EAAC,MAAA,EAAG,WAAU,kBACT,UAAA;AAAA,QAAA1K,EAAM,QAAQ,IAAI,CAAC6I,MAEZ,gBAAA6B,EAAC,MAAA,EAAsC,WAAU,0BAC7C,UAAA;AAAA,UAAA,gBAAAxN;AAAA,YAACoT;AAAA,YAAA;AAAA,cACG,SAAStQ,EAAM;AAAA,cACf,OAAO6I,EAAO;AAAA,cACd,UAAUmH,EAAYnH,EAAO,EAAE;AAAA,cAC/B,OAAOuC,EAAY;AAAA,cACnB,aAAaA,EAAY;AAAA,YAAA;AAAA,UAAA;AAAA,UAE7B,gBAAAlO;AAAA,YAACoT;AAAA,YAAA;AAAA,cACG,UAAUL,EAAgBpH,EAAO,EAAE;AAAA,cACnC,OAAOA,EAAO;AAAA,cACd,SAASiH;AAAA,cACT,OAAO1E,EAAY;AAAA,cACnB,aAAaA,EAAY;AAAA,YAAA;AAAA,UAAA;AAAA,UAE7B,gBAAAlO,EAAC,UAAA,EAAO,WAAU,QAAO,WAAS2L,EAAO,IAAI,SAASsH,GAClD,4BAACI,GAAA,EAAU,WAAU,eAAc,MAAM,IAAI,EAAA,CACjD;AAAA,QAAA,EAAA,GAjBK,iBAAiB1H,EAAO,EAAE,EAkBnC,CAEP;AAAA,QACD,gBAAA3L,EAAC,QACG,UAAA,gBAAAwN,EAAC,UAAA,EAAO,MAAK,UAAS,SAASqF,GAAa,WAAU,wCAClD,UAAA;AAAA,UAAA,gBAAA7S,EAACsT,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,UAAE;AAAA,UAAEpF,EAAY;AAAA,QAAA,EAAA,CACxC,EAAA,CACJ;AAAA,MAAA,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA,GAER;AAER,GAIaqF,KAAa,CAAgBzQ,MAA8B;AACpE,QAAM0Q,IAAejG,EAAA,GACf,CAACkG,GAAQC,CAAS,IAAI7U,EAAS,MAAM;AACvC,UAAM8M,IAAS7I,EAAM,QAAQ,KAAK,CAAC4I,MAASA,EAAK,UAAU5I,EAAM,IAAI,EAAE;AACvE,WAAO6I,IAASA,EAAO,OAAO;AAAA,EAAA,CACjC,GAEKgI,IAAU,MAAM;AAClB,UAAMC,IAAOH,MAAW,cAAkB,QAAYA,MAAW,QAAY,SAAa;AAC1F,IAAAC,EAAUE,CAAI,GACd9Q,EAAM,WAAW,CAACiP,MAAS;AACvB,UAAI6B,MAAS,YAAiB,QAAO7B,EAAK,OAAO,CAACpJ,MAAMA,EAAE,UAAU7F,EAAM,IAAI,EAAE;AAChF,YAAM+Q,IAAY9B,EAAK,UAAU,CAAC3F,MAAOA,EAAE,UAAqBtJ,EAAM,IAAI,EAAE,GACtE6I,IAASI,GAAajJ,EAAM,KAAK8Q,GAAMA,CAAI;AACjD,aAAIC,MAAc,KAAW,CAAC,GAAG9B,GAAMpG,CAAM,KAC7CoG,EAAK8B,CAAS,IAAIlI,GACX,CAAC,GAAGoG,CAAI;AAAA,IAAA,CAClB;AAAA,EAAA,GAGC+B,IAAU,GAAGhR,EAAM,IAAI,EAAE,cAEzB0P,IAAQhC,GAAS1N,EAAM,GAAG;AAEhC,SACI,gBAAA0K,EAAC,YAAO,mBAAiBsG,GAAS,WAAU,6BAA4B,SAAAH,GAAkB,MAAK,UAC3F,UAAA;AAAA,IAAA,gBAAAnG,EAAC,QAAA,EAAK,IAAIsG,GAAS,WAAU,WACxB,UAAA;AAAA,MAAAN,EAAa;AAAA,MAAuB;AAAA,MAAEhB;AAAA,IAAA,GAC3C;AAAA,IACCiB,MAAW,QAAY,gBAAAzT,EAAC+T,IAAA,EAAkB,MAAM,IAAI,IAAK;AAAA,IACzDN,MAAW,SAAa,gBAAAzT,EAACgU,IAAA,EAAmB,MAAM,IAAI,IAAK;AAAA,IAC3DP,MAAW,cAAkB,gBAAAzT,EAACmT,IAAA,EAAgB,MAAM,IAAI,IAAK;AAAA,EAAA,GAClE;AAER,GC/JMc,KAAe5V,GAAiC,EAAE,GAE3C6V,KAAgBD,GAAa,UAE7BE,KAAW,MAAM3U,EAAWyU,EAAY,GCgCxCG,KAAsB,CAC/BjE,GACAzS,GACA2W,GACAC,IAAiC,CAAA,MACf;AAClB,QAAMhD,IAAOnB,EAAE,IACT6C,IAAO7C,EAAE,QAAQQ,EAAQ,MACzB4D,IAAc7W,EAAQsV,CAAI,KAAK,CAAA,GAC/BwB,IAAcD,EAAY,KAAK,CAAC5L,MAAMA,EAAE,cAAc,CAAC,GAAG,SAAS4L,EAAY,CAAC,GAAG,OACnFE,IAAYJ,EAAWG,CAAU;AACvC,SAAO,EAAE,IAAI/B,GAAA,GAAQ,WAAAgC,GAAW,OAAOjE,GAASL,CAAC,GAAG,MAAAmB,GAAM,MAAA0B,GAAM,OAAO,IAAI,GAAGsB,EAAA;AAClF,GAEaI,KAAe,MAAM;AAC9B,QAAMxG,IAAcX,EAAA,GACd8G,IAAatU;AAAA,IACf,OACK;AAAA,MACG,UAAU;AAAA,QACN,OAAO;AAAA,QACP,OAAOmO,EAAY;AAAA,QACnB,QAAQ;AAAA,QACR,gBAAgB;AAAA,MAAA;AAAA,MAEpB,IAAI,EAAE,OAAO,MAAM,OAAOA,EAAY,mBAAmB,QAAQ,KAAA;AAAA,MACjE,OAAO,EAAE,OAAO,SAAS,OAAOA,EAAY,sBAAsB,QAAQ,MAAA;AAAA,MAC1E,aAAa;AAAA,QACT,OAAO;AAAA,QACP,OAAOA,EAAY;AAAA,QACnB,QAAQ;AAAA,MAAA;AAAA,MAEZ,UAAU,EAAE,OAAO,YAAY,OAAOA,EAAY,yBAAyB,QAAQ,KAAA;AAAA,MACnF,aAAa,EAAE,OAAO,eAAe,OAAOA,EAAY,4BAA4B,QAAQ,KAAA;AAAA,MAC5F,YAAY,EAAE,OAAO,cAAc,OAAOA,EAAY,2BAA2B,QAAQ,aAAA;AAAA,MACzF,UAAU,EAAE,OAAO,YAAY,OAAOA,EAAY,yBAAyB,QAAQ,WAAA;AAAA,IAAW;AAAA,IAEtG,CAACA,CAAW;AAAA,EAAA;AAkBhB,SAAO,EAAE,SAfOnO;AAAA,IACZ,OAAyB;AAAA,MACrB,CAAC4Q,EAAQ,IAAI,GAAG;AAAA,QACZ0D,EAAW;AAAA,QACXA,EAAW;AAAA,QACXA,EAAW;AAAA,QACXA,EAAW;AAAA,QACXA,EAAW;AAAA,QACXA,EAAW;AAAA,MAAA;AAAA,MAEf,CAAC1D,EAAQ,OAAO,GAAG,CAAC0D,EAAW,IAAIA,EAAW,KAAK;AAAA,MACnD,CAAC1D,EAAQ,MAAM,GAAG,CAAC0D,EAAW,IAAIA,EAAW,OAAOA,EAAW,aAAaA,EAAW,QAAQ;AAAA,IAAA;AAAA,IAEnG,CAACA,CAAU;AAAA,EAAA,GAEG,YAAAA,EAAA;AACtB,GAEaM,KAAS,CAAmB7R,MAAoB;AACzD,QAAMoL,IAAcX,EAAA,GACdqH,IAAYF,GAAA,GAEZG,IAAc,MAAM;AACtB,UAAMzF,IAAMtM,EAAM,KAAK,GAAG,CAAC;AAC3B,IAAAA,EAAM,IAAI,CAACiP,MAAS,CAAC,GAAGA,GAAMqC,GAAoBhF,GAAKwF,EAAU,SAASA,EAAU,UAAU,CAAC,CAAC;AAAA,EAAA,GAG9FE,IAAmB,CAACpY,MAA4C;AAClE,UAAMqY,IAAYrY,EAAE,OAAO,QAAQ,MAAM,IACnCsY,IAAQtY,EAAE,OAAO;AACvB,IAAAoG,EAAM;AAAA,MAAI,CAACiP,MACPA,EAAK,IAAI,CAACpJ,MAAM;AACZ,YAAIoM,MAAcpM,EAAE,GAAI,QAAOA;AAC/B,cAAMyG,IAAMtM,EAAM,KAAK,KAAK,CAAC6F,MAAMqM,MAAUrM,EAAE,EAAE;AACjD,eAAOyL,GAAoBhF,GAAKwF,EAAU,SAASA,EAAU,YAAY,EAAE,OAAO,IAAI;AAAA,MAAA,CACzF;AAAA,IAAA;AAAA,EACL,GAGEK,IAAoB,CAACvY,MAA4C;AACnE,UAAM4C,IAAK5C,EAAE,OAAO,QAAQ,MAAM,IAC5BwY,IAAWxY,EAAE,OAAO;AAC1B,IAAAoG,EAAM;AAAA,MAAI,CAACiP,MACPA,EAAK;AAAA,QAAI,CAACpJ,MACNA,EAAE,OAAOrJ,IACH;AAAA,UACI,GAAGqJ;AAAA,UACH,WAAWiM,EAAU,WAAWM,CAAyB;AAAA,QAAA,IAE7DvM;AAAA,MAAA;AAAA,IACV;AAAA,EACJ,GAGEsK,IAAW,CAACvW,MAA2C;AACzD,UAAM4C,IAAK5C,EAAE,cAAc,QAAQ,MAAM;AACzC,IAAAoG,EAAM,IAAI,CAACiP,MAASA,EAAK,OAAO,CAACpJ,MAAMA,EAAE,OAAOrJ,CAAE,CAAC;AAAA,EAAA,GAGjD6V,IAAgB,CAACzY,MAA2C;AAC9D,UAAM4C,IAAK5C,EAAE,OAAO,QAAQ,MAAM,IAC5B0D,IAAQwQ,GAAclU,EAAE,MAAM;AACpC,IAAAoG,EAAM,IAAI,CAACiP,MAASA,EAAK,IAAI,CAACpJ,MAAOA,EAAE,OAAOrJ,IAAK,EAAE,GAAGqJ,GAAG,OAAAvI,EAAA,IAAUuI,CAAE,CAAC;AAAA,EAAA;AAG5E,2BACK2F,GAAA,EACG,UAAA,gBAAAtO;AAAA,IAACkT;AAAA,IAAA;AAAA,MACG,OAAK;AAAA,MACL,OAAOhF,EAAY;AAAA,MACnB,SACI,gBAAAV,EAAC,QAAA,EAAK,WAAU,6CACZ,UAAA;AAAA,QAAA,gBAAAxN,EAACoV,IAAA,EAAW,MAAM,GAAA,CAAI;AAAA,QACrBlH,EAAY;AAAA,QAAiB;AAAA,QAAEpL,EAAM,QAAQ,WAAW,IAAI,KAAK,KAAKA,EAAM,QAAQ,MAAM;AAAA,MAAA,GAC/F;AAAA,MAGJ,UAAA,gBAAA0K,EAAC,MAAA,EAAG,WAAU,kBACT,UAAA;AAAA,QAAA1K,EAAM,QAAQ,IAAI,CAACgG,MAAW;AAC3B,gBAAMpL,IAAUkX,EAAU,QAAQ9L,EAAO,IAAI;AAC7C,iBACI,gBAAA0E,EAAC,MAAA,EAAsC,WAAU,0BAC7C,UAAA;AAAA,YAAA,gBAAAxN;AAAA,cAACoT;AAAA,cAAA;AAAA,gBACG,SAAStQ,EAAM;AAAA,gBACf,OAAOoL,EAAY;AAAA,gBACnB,aAAaA,EAAY;AAAA,gBACzB,OAAOpF,EAAO;AAAA,gBACd,WAASA,EAAO;AAAA,gBAChB,UAAUgM;AAAA,cAAA;AAAA,YAAA;AAAA,YAEd,gBAAA9U;AAAA,cAACoT;AAAA,cAAA;AAAA,gBACG,WAAStK,EAAO;AAAA,gBAChB,UAAUmM;AAAA,gBACV,OAAOnM,EAAO,UAAU;AAAA,gBACxB,SAAApL;AAAA,gBACA,OAAOwQ,EAAY;AAAA,gBACnB,aAAaA,EAAY;AAAA,cAAA;AAAA,YAAA;AAAA,YAE7B,gBAAAlO;AAAA,cAACqV;AAAA,cAAA;AAAA,gBACG,cAAa;AAAA,gBACb,WAASvM,EAAO;AAAA,gBAChB,UAAUqM;AAAA,gBACV,OAAOrM,EAAO;AAAA,gBACd,MAAMA,EAAO;AAAA,gBACb,OAAOoF,EAAY;AAAA,gBACnB,aAAaA,EAAY;AAAA,cAAA;AAAA,YAAA;AAAA,YAE7B,gBAAAlO,EAAC,SAAI,WAAU,yCACX,4BAAC,UAAA,EAAO,WAAS8I,EAAO,IAAI,MAAK,UAAS,SAASmK,GAC/C,4BAACI,GAAA,EAAU,WAAU,eAAc,MAAM,GAAA,CAAI,GACjD,EAAA,CACJ;AAAA,UAAA,EAAA,GA9BK,iBAAiBvK,EAAO,EAAE,EA+BnC;AAAA,QAAA,CAEP;AAAA,QACD,gBAAA9I,EAAC,QACG,UAAA,gBAAAwN,EAAC,UAAA,EAAO,MAAK,UAAS,SAASqH,GAAa,WAAU,wCAClD,UAAA;AAAA,UAAA,gBAAA7U,EAACsT,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,UAAE;AAAA,UAAEpF,EAAY;AAAA,QAAA,EAAA,CACxC,EAAA,CACJ;AAAA,MAAA,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA,GAER;AAER,GAQaoH,KAAqB,CAAmB,EAAE,QAAAxM,GAAQ,UAAAmK,GAAU,KAAAsC,QAAsC;AAC3G,QAAMrH,IAAcX,EAAA,GACdqH,IAAYF,GAAA,GAEZO,IAAoB,CAACvY,MAA4C;AACnE,UAAMwY,IAAWxY,EAAE,OAAO,OACpB4C,IAAK5C,EAAE,OAAO,QAAQ,MAAM;AAClC,IAAA6Y;AAAA,MAAI,CAACxD,MACDA,EAAK;AAAA,QAAI,CAACpJ,MACNA,EAAE,OAAOrJ,IACH;AAAA,UACI,GAAGqJ;AAAA,UACH,WAAWiM,EAAU,WAAWM,CAAyB;AAAA,QAAA,IAE7DvM;AAAA,MAAA;AAAA,IACV;AAAA,EACJ,GAGEwM,IAAgB,CAACzY,MAA2C;AAC9D,UAAM4C,IAAK5C,EAAE,OAAO,QAAQ,MAAM,IAC5B0D,IAAQwQ,GAAclU,EAAE,MAAM;AACpC,IAAA6Y,EAAI,CAACxD,MAASA,EAAK,IAAI,CAACpJ,MAAOA,EAAE,OAAOrJ,IAAK,EAAE,GAAGqJ,GAAG,OAAAvI,EAAA,IAAUuI,CAAE,CAAC;AAAA,EAAA;AAGtE,SACI,gBAAA6E,EAAC,OAAA,EAAI,WAAU,4CACX,UAAA;AAAA,IAAA,gBAAAxN;AAAA,MAACoT;AAAA,MAAA;AAAA,QACG,WAAStK,EAAO;AAAA,QAChB,UAAUmM;AAAA,QACV,OAAOnM,EAAO,UAAU;AAAA,QACxB,SAAS8L,EAAU,QAAQ9L,EAAO,IAAI;AAAA,QACtC,OAAOoF,EAAY;AAAA,QACnB,aAAaA,EAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAE7B,gBAAAlO;AAAA,MAACqV;AAAA,MAAA;AAAA,QACG,cAAa;AAAA,QACb,WAASvM,EAAO;AAAA,QAChB,UAAUqM;AAAA,QACV,OAAOrM,EAAO;AAAA,QACd,MAAMA,EAAO;AAAA,QACb,OAAOoF,EAAY;AAAA,QACnB,aAAaA,EAAY;AAAA,MAAA;AAAA,IAAA;AAAA,sBAE5B,UAAA,EAAO,SAAS+E,GAAU,WAASnK,EAAO,IAAI,MAAK,UAAS,WAAU,QACnE,UAAA,gBAAA9I,EAACqT,GAAA,EAAU,WAAU,eAAc,MAAM,IAAI,EAAA,CACjD;AAAA,EAAA,GACJ;AAER,GCzPMmC,KAAkB,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAA,GAcvDC,KAAc,CAAmB3S,MAA+B;AAClE,QAAM4S,IAASC,GAAA,GACTzH,IAAcX,EAAA,GACdqI,IAAa9S,EAAM,QAAQ,OAAO,CAAC6F,MAAMA,EAAE,SAAS7F,EAAM,OAAO,EAAE,GACnE+S,IAAaD,EAAW,SAAS,GACjCE,IAAmBhT,EAAM,OAAO,aAAa4S,EAAO,MAAM,WAAW,IACrEK,IAAqBjT,EAAM,OAAO,eAAe4S,EAAO,MAAM,WAAW,IACzEd,IAAYF,GAAA,GACZsB,IAAaH,IAAaI,KAAsBC,IAChDC,IAAK3X,EAAoC,IAAI,GAE7CyU,IAAW,CAACvW,MAA2C;AACzD,UAAM4C,IAAK5C,EAAE,cAAc,QAAQ,MAAM;AACzC,WAAOoG,EAAM,WAAW,CAACiP,MAASA,EAAK,OAAO,CAACpJ,MAAMA,EAAE,OAAOrJ,CAAE,CAAC;AAAA,EAAA,GAG/D8W,IAAUrX,EAAY,CAACsX,MAAqC;AAC9D,QAAIA,MAAQ,KAAM;AAClB,IAAAF,EAAG,UAAUE;AACb,UAAMC,IAAa,IAAI,gBAAA;AACvB,WAAAD,EAAI;AAAA,MACA;AAAA,MACA,CAAC3Z,MAAM;AAEH,YADeA,EAAE,OACN,QAAQ,SAAS;AACxB,iBAAAA,EAAE,gBAAA,GACKA,EAAE,yBAAA;AAAA,MACb;AAAA,MAEJ,EAAE,QAAQ4Z,EAAW,OAAA;AAAA,IAAO,GAEzB,MAAMA,EAAW,MAAA;AAAA,EAAM,GAC/B,EAAE,GAECC,IAAYzT,EAAM,QAAQ,KAAK,CAAC6F,MAAM7F,EAAM,OAAO,OAAO6F,EAAE,KAAK,GAEjE6N,IAAYD,GAAW,OAAgBA,EAAU,SAAS1K,GAAM,MAAM,cAAc,eAAtD,QAE9B2G,IAAQhC,GAAS1N,EAAM,MAAM;AAEnC,SACI,gBAAA0K;AAAA,IAACiJ;AAAAA,IAAA;AAAA,MACI,GAAI3T,EAAM,OAAO;AAAA,MAClB,IAAG;AAAA,MACH,KAAKsT;AAAA,MACL,SAAS;AAAA,MACT,kBAAgB;AAAA,MAChB,mBAAiB;AAAA,MACjB,MAAK;AAAA,MACL,aAAWI;AAAA,MACX,OAAO1T,EAAM;AAAA,MACb,aAAWA,EAAM;AAAA,MACjB,oBAAkBA,EAAM,OAAO;AAAA,MAC/B,WAAW,EAAE,QAAQ,WAAA;AAAA,MACrB,WAAW,iMAAiMA,EAAM,OAAO,SAAS,aAAa,EAAE;AAAA,MAEjP,UAAA;AAAA,QAAA,gBAAA9C;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAW,0FAA0F8C,EAAM,SAAS,kBAAkB,EAAE,IAAIA,EAAM,UAAU,IAAI,kBAAkB,EAAE;AAAA,YAEpL,UAAA,gBAAA0K,EAAC,QAAA,EAAK,WAAU,2BACX,UAAA;AAAA,cAAA1K,EAAM,gBAAgBiT,IACnB,gBAAA/V;AAAA,gBAACkT;AAAA,gBAAA;AAAA,kBACG,OAAK;AAAA,kBACL,2BACK,QAAA,EACG,UAAA;AAAA,oBAAA,gBAAA1F,EAAC,QAAA,EAAK,IAAI,GAAG1K,EAAM,OAAO,EAAE,2BAA2B,WAAU,WAC5D,UAAA;AAAA,sBAAAoL,EAAY;AAAA,sBAA+B;AAAA,sBAAEsE;AAAA,oBAAA,GAClD;AAAA,oBACA,gBAAAxS,EAACgW,KAAW,mBAAiB,GAAGlT,EAAM,OAAO,EAAE,2BAA2B,MAAM,GAAA,CAAI;AAAA,kBAAA,GACxF;AAAA,kBAEJ,OACI,gBAAA0K,EAAC,QAAA,EAAK,WAAU,WACX,UAAA;AAAA,oBAAAU,EAAY;AAAA,oBAA+B;AAAA,oBAAC,gBAAAlO,EAAC,QAAA,EAAK,WAAU,eAAe,UAAAwS,EAAA,CAAM;AAAA,kBAAA,GACtF;AAAA,kBAGJ,UAAA,gBAAAhF,EAAC,MAAA,EAAG,WAAU,eACT,UAAA;AAAA,oBAAAoI,EAAW,WAAW,IAAI,OACvB,gBAAA5V,EAACsO,GAAA,EACI,UAAAsH,EAAW,IAAI,CAAC9M,MACb,gBAAA9I,EAAC,MAAA,EAAqC,WAAU,QAC5C,4BAACsV,IAAA,EAAmB,UAAArC,GAAoB,QAAAnK,GAAgB,KAAKhG,EAAM,WAAA,CAAY,EAAA,GAD1E,gBAAgBgG,EAAO,EAAE,EAElC,CACH,GACL;AAAA,sCAEH,MAAA,EACG,UAAA,gBAAA0E;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACG,MAAK;AAAA,wBACL,WAAU;AAAA,wBACV,SAAS,MACL1K,EAAM;AAAA,0BAAW,CAACiP,MACdA,EAAK,OAAOqC,GAAoBtR,EAAM,QAAQ8R,EAAU,SAASA,EAAU,UAAU,CAAC;AAAA,wBAAA;AAAA,wBAI9F,UAAA;AAAA,0BAAA,gBAAA5U,EAACsT,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,0BAAE;AAAA,0BAAEpF,EAAY;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBAAA,EACxC,CACJ;AAAA,kBAAA,EAAA,CACJ;AAAA,gBAAA;AAAA,cAAA,IAEJ;AAAA,gCACH,QAAA,EAAK,WAAU,8CAA8C,UAAApL,EAAM,OAAO,OAAM;AAAA,cAChFA,EAAM,gBAAgBgT,IACnB,gBAAA9V,EAACuT,MAAW,KAAKzQ,EAAM,QAAQ,YAAYA,EAAM,YAAY,SAASA,EAAM,SAAS,IACrF;AAAA,YAAA,EAAA,CACR;AAAA,UAAA;AAAA,QAAA;AAAA,QAEHA,EAAM,SAAS,OACZ,gBAAA9C;AAAA,UAACiD,GAAO;AAAA,UAAP;AAAA,YACG,MAAK;AAAA,YACL,WAAS;AAAA,YACT,cAAY;AAAA,YACZ,cAAY;AAAA,YACZ,MAAK;AAAA,YACL,SAAS;AAAA,YACT,aAAa;AAAA,YACb,iBAAe;AAAA,YACf,SAAS;AAAA,YACT,kBAAgB;AAAA,YAChB,mBAAiB;AAAA,YACjB,aAAU;AAAA,YACV,OAAOH,EAAM,OAAO;AAAA,YACpB,iBAAA0S;AAAA,YACA,WAAU;AAAA,YACV,SAAS,CAAC9Y,MAAA;AAAM,cAAKA,EAAE,cAAc,MAAA;AAAA;AAAA,YACrC,WAAW,CAACA,MAAM;AACd,kBAAIA,EAAE,QAAQ,eAAeA,EAAE,QAAQ,cAAc;AACjD,oBAAIyZ,EAAG,YAAY,KAAM;AACzB,gBAAAA,EAAG,QAAQ,aAAa,gBAAgB,MAAM;AAC9C,sBAAM3V,IAAI2V,EAAG,QAAQ,sBAAA,EAAwB,OAEvCO,KADOha,EAAE,WAAW,KAAK,OACTA,EAAE,QAAQ,cAAc,KAAK;AACnD,gBAAAyZ,EAAG,QAAQ,MAAM,QAAQ,GAAG,KAAK,IAAI3V,IAAIkW,CAAK,CAAC;AAAA,cAAA;AAAA,YACnD;AAAA,YAEJ,eAAe,MAAM;AACjB,cAAIP,EAAG,YAAY,SACnBA,EAAG,QAAQ,MAAM,QAAQ;AAAA,YAAA;AAAA,YAE7B,QAAQ,CAACpL,GAAU4L,MAAkB;AACjC,kBAAIR,EAAG,YAAY,KAAM;AACzB,cAAAA,EAAG,QAAQ,aAAa,gBAAgB,MAAM;AAC9C,oBAAM3V,IAAI2V,EAAG,QAAQ,sBAAA,EAAwB,OACvCO,IAAQC,EAAK,MAAM;AACzB,cAAAR,EAAG,QAAQ,MAAM,QAAQ,GAAG,KAAK,IAAI3V,IAAIkW,CAAK,CAAC;AAAA,YAAA;AAAA,UACnD;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EAAA;AAIhB,GAEaE,KAAc,CAAmB9T,MAA+B;AACzE,QAAM,CAAC4L,GAAK2D,CAAQ,IAAIJ,GAAgBnP,EAAM,OAAO;AACrD,SACI,gBAAA9C,EAAC6W,IAAA,EAAc,QAAM,IAAC,IAAG,MAAK,MAAK,KAAI,MAAK,KAAI,KAAAnI,GAAU,YAAU,IAAC,MAAK,OAAM,cAAY,IAAC,WAAW2D,GAAU,QAAQvP,EAAM,SAC5H,UAAA,gBAAA9C,EAAC8W,IAAA,EACI,UAAAhU,EAAM,QAAQ,IAAI,CAACiU,GAAQ7U,MACxB,gBAAAlC;AAAA,IAACyV;AAAA,IAAA;AAAA,MACG,OAAAvT;AAAA,MACA,QAAA6U;AAAA,MACA,SAASjU,EAAM;AAAA,MACf,SAASA,EAAM;AAAA,MACf,SAASA,EAAM;AAAA,MACf,YAAYA,EAAM;AAAA,MAClB,YAAYA,EAAM;AAAA,MAClB,cAAcA,EAAM;AAAA,MACpB,cAAcA,EAAM;AAAA,MACpB,QAAQZ,MAAUY,EAAM,QAAQ,SAAS;AAAA,IAAA;AAAA,IACpC,qBAAqBiU,EAAO,EAAY;AAAA,EAAA,CAEpD,GACL,EAAA,CACJ;AAER,GCxJMC,KAAYC,EAAM;AAAA,EACpB,CAAC,EAAE,SAASC,GAAU,WAAAvI,IAAY,IAAI,GAAG7L,KAAS4L,MAC9C,gBAAA1O,EAAC,SAAA,EAAO,GAAG8C,GAAO,MAAK,YAAW,WAAW,gCAAgC6L,CAAS,IAAI,KAAAD,GACtF,UAAA,gBAAA1O,EAAC8W,IAAA,EAAiB,UAAAhU,EAAM,SAAA,CAAS,EAAA,CACrC;AAER,GAIMqU,KAAeF,EAAM,WAAgD,CAAC,EAAE,SAASC,GAAU,WAAAvI,IAAY,IAAI,GAAG7L,EAAA,GAAS4L,MACzH,gBAAA1O;AAAA,EAAC;AAAA,EAAA;AAAA,IACI,GAAG8C;AAAA,IACJ,MAAK;AAAA,IACL,KAAA4L;AAAA,IACA,OAAO,EAAE,GAAG5L,EAAM,OAAO,wBAAwB,UAAA;AAAA,IACjD,WAAW,uEAAuE6L,KAAa,EAAE;AAAA,EAAA;AACrG,CACH,GAIKyI,KAAQH,EAAM,WAAgD,CAAC,EAAE,SAASC,GAAU,GAAGpU,EAAA,GAAS4L,MAAQ;AAC1G,QAAM2I,IAAMlD,GAAA,GACNtP,IAAQ;AAAA,IACV,GAAG/B,EAAM;AAAA,IACT,KAAK8M,GAAG,OAAOyH,EAAI,MAAM,IAAI,GAAGA,EAAI,MAAM,OAAO;AAAA,EAAA;AAErD,SAAO,gBAAArX,EAAC,WAAO,GAAG8C,GAAO,KAAA4L,GAAU,OAAA7J,GAAc,MAAK,YAAW,WAAU,iEAAA,CAAiE;AAChJ,CAAC,GAIKyS,KAAOL,EAAM,WAA2C,CAAC,EAAE,SAAArX,GAAS,MAAAuC,GAAM,WAAAwM,GAAW,GAAG7L,EAAA,GAAS4L,MAAQ;AAC3G,QAAM6I,IAAepV,IAAOvC,GAAS,cAAcuC,CAAI,IAAI,QACrDqV,IAAa,EAAE,GAAG1U,GAAO,GAAGyU,EAAA;AAClC,SACI,gBAAAvX;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAIwX;AAAA,MACL,MAAK;AAAA,MACL,KAAA9I;AAAA,MACA,WAAW,wFAAwF,CAACC,GAAW4I,GAAc,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,CAAC;AAAA,IAAA;AAAA,EAAA;AAG7K,CAAC,GAIKE,KAAQR,EAAM,WAAgD,CAAC,EAAE,SAAArX,GAAS,GAAGkD,EAAA,GAAS4L,MACpF9O,GAAS,cAEL,gBAAAI,EAAC,SAAA,EAAO,GAAG8C,GAAO,KAAA4L,GAAU,WAAU,sBAClC,UAAA,gBAAA1O,EAAC,MAAA,EAAG,MAAK,OAAM,WAAU,sBACrB,UAAA,gBAAAA,EAAC,MAAA,EAAG,SAAS,KAAK,WAAU,gCACxB,UAAA,gBAAAA,EAAC,QAAA,EAAK,WAAU,kEAAA,CAAkE,EAAA,CACtF,EAAA,CACJ,GACJ,IAGD,IACV,GAEK0X,KAAyD;AAAA,EAC3D,UAAUJ;AAAA,EACV,WAAWG;AAAA,EACX,WAAWL;AAAA,EACX,OAAOD;AAAA,EACP,WAAAH;AACJ,GAEMW,KAAe,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAE5CC,KAAe,CAAC9U,MAClB,gBAAA9C,EAAC,OAAA,EAAI,WAAU,qDAAqD,UAAA8C,EAAM,UAAU6M,KAAe,gBAAA3P,EAACmN,IAAA,CAAA,CAAM,GAAG,GAG3G0K,KAAY,MAAM,gBAAA7X,EAACsO,GAAA,EAAS,GAE5BwJ,KAAqB,CAAA,GAEdC,KAAa,CAAoC;AAAA,EAC1D,MAAA7I;AAAA,EACA,SAAA8I;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAtK,IAAa;AAAA,EACb,YAAAuK,IAAa;AAAA,EACb,GAAGzV;AACP,MAA0B;AACtB,QAAM4L,IAAMlQ,EAA8B,IAAI,GACxC,GAAGga,CAAoB,IAAI3Z,EAAS,EAAK,GACzC4Z,IAAiBrG,GAAaiG,CAAW,GACzCK,IAAiBtG,GAAatP,EAAM,WAAW,GAE/C6V,IAAO5Y,EAAQ,MAAM;AACvB,QAAI+C,EAAM,QAAS,QAAO6U;AAC1B,QAAIY,UAAmBzV,EAAM;AAC7B,UAAM8V,IAAO,IAAInM,GAAK3J,EAAM,IAAI;AAMhC,WALIkV,EAAQ,SAAS,KACjBA,EAAQ;AAAA,MAAQ,CAACrP,MACbA,EAAE,UAAU,MAAM,OAAO,MAAMA,EAAE,KAAK,IAAI,SAAYiQ,EAAK,MAAMjQ,EAAE,MAAiBA,EAAE,UAAU,QAAmBA,EAAE,KAAK;AAAA,IAAA,GAG9HuP,EAAQ,WAAW,IAAUU,EAAK,OAAA,IAC/BvM,GAAUuM,EAAK,OAAA,GAAUV,CAAO;AAAA,EAAA,GACxC,CAACpV,EAAM,SAASA,EAAM,MAAMyV,GAAYP,GAASE,CAAO,CAAC;AAE5D,EAAAvU,GAAU,MAAM;AACZ,QAAI+K,EAAI,YAAY,KAAM,QAAO,MAAM;AAAA,IAAA;AACvC,UAAMmK,IAAMnK,EAAI,SACVoK,IAAW,IAAI,qBAAqB,CAACC,MACrBA,EAAQA,EAAQ,SAAS,CAAC,EAChB,kBAAkBL,EAAe,WAEzDD,EAAe,UAAA,GACR,KAAKD,EAAqB,EAAI,KAElCA,EAAqB,EAAK,CACpC;AACD,WAAAM,EAAS,QAAQD,CAAG,GACb,MAAMC,EAAS,WAAA;AAAA,EAAW,GAClC,CAACJ,GAAgBD,CAAc,CAAC;AAEnC,QAAMO,IAAQL,EAAK,WAAW,GAExB/Y,IAAU;AAAA,IACZ,MAAAsP;AAAA,IACA,OAAOpM,EAAM;AAAA,IACb,SAASA,EAAM;AAAA,IACf,aAAaA,EAAM;AAAA,IACnB,aAAaA,EAAM;AAAA,EAAA;AAGvB,SACI,gBAAA0K,EAAC,OAAA,EAAI,WAAU,wFACX,UAAA;AAAA,IAAA,gBAAAxN;AAAA,MAACiZ;AAAAA,MAAA;AAAA,QACG,YAAAvB;AAAA,QACA,SAAA9X;AAAA,QACA,YAAY+Y,EAAK;AAAA,QACjB,aAAaK,IAAQnB,KAAY7I;AAAA,QACjC,MAAMgK,IAAQlB,KAAYa;AAAA,QAC1B,iBAAiB,CAAAL;AAAA,QACjB,oBAAoBA,IAAeA,EAAA,IAAiB;AAAA,QACpD,oBAAoB,MAChB,gBAAAtY;AAAA,UAAC4W;AAAA,UAAA;AAAA,YACG,SAAS1H;AAAA,YACT,SAAA8I;AAAA,YACA,SAAAC;AAAA,YACA,SAAAC;AAAA,YACA,YAAAC;AAAA,YACA,YAAAC;AAAA,YACA,SAAS,CAAC,CAACtV,EAAM;AAAA,YACjB,cAAcA,EAAM;AAAA,YACpB,cAAcA,EAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACxB;AAAA,IAAA;AAAA,IAGPkW,IAAQ,gBAAAhZ,EAAC4X,IAAA,EAAa,SAAS9U,EAAM,SAAS,IAAK;AAAA,sBACnD,OAAA,EAAI,eAAY,QAAO,KAAA4L,GAAU,WAAU,gBAAe;AAAA,IAC1DV,MAAe,OAAO,gBAAAhO,EAAC+N,IAAA,EAAY,GAAGC,GAAY,IAAK;AAAA,EAAA,GAC5D;AAER,GC5LMkL,KAAO,CAAmB,EAAE,MAAA/W,GAAM,eAAAgX,QAA4F;AAChI,QAAMlP,IAAI5J,GAAe,CAAC;AAC1B,SACI,gBAAAmN;AAAA,IAACiJ;AAAAA,IAAA;AAAA,MACG,eAAA0C;AAAA,MACA,IAAIhX,EAAK;AAAA,MACT,WAAU;AAAA,MAEV,OAAOA;AAAA,MACP,OAAO,EAAE,GAAA8H,EAAA;AAAA,MAET,UAAA;AAAA,QAAA,gBAAAjK,EAAC,UAAA,EAAO,MAAK,UAAS,WAAU,eAC5B,UAAA,gBAAAA,EAACoZ,IAAA,EAAoB,MAAM,GAAA,CAAI,EAAA,CACnC;AAAA,QACA,gBAAApZ,EAAC,QAAA,EAAM,UAAAmC,EAAK,UAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAPjBA,EAAK;AAAA,EAAA;AAUtB,GAEakX,KAAQ,CAAmBvW,MAAoB;AACxD,QAAM0Q,IAAejG,EAAA,GACf7P,IAAU+S,GAAiB3N,EAAM,IAAI,GACrCrB,IAAWG,GAAA,GACX,CAAC0X,GAAOC,CAAQ,IAAI1a,EAAUiE,EAAM,OAAO,CAAC,GAAG,SAAoB,EAAE,GAErEuP,IAAW,CAAC3V,MAA4C;AAC1D,UAAM8c,IAAS9c,EAAE,QACXiD,IAAM6Z,EAAO,OACbtX,IAAQsX,EAAO,QAAQ,eACvBhH,IAAQgH,EAAO,QAAQ,KAAKtX,CAAK,GAAG,SAAS;AACnD,IAAAqX,EAAS/G,CAAK;AACd,UAAM1I,IAAU,IAAI2C,GAAK3J,EAAM,IAAI,EAAE,QAAQnD,CAAG,GAC1CyP,IAAMtM,EAAM,KAAK,KAAK,CAAC6F,MAAMA,EAAE,OAAOhJ,CAAG;AAC/C,IAAAmD,EAAM;AAAA,MACFqF,GAAK2B,CAAO,EAAE,IAAI,CAAC2P,GAAWvX,MAAwB;AAClD,cAAMyW,IAAO7O,EAAQ2P,CAAS;AAC9B,eAAO,EAAE,GAAGrK,GAAK,SAASqD,GAAA,GAAQ,UAAU9S,GAAK,OAAAuC,GAAO,MAAAyW,GAAM,WAAAc,EAAA;AAAA,MAA+B,CAChG;AAAA,IAAA;AAAA,EACL,GAGExG,IAAW,MAAMnQ,EAAM,UAAU,CAAA,CAAE;AAEzC,2BACKwL,GAAA,EACG,UAAA,gBAAAd;AAAA,IAAC0F;AAAA,IAAA;AAAA,MACG,OAAO;AAAA,MACP,OAAOM,EAAa;AAAA,MACpB,SACI,gBAAAhG,EAAC,QAAA,EAAK,WAAU,6CACZ,UAAA;AAAA,QAAA,gBAAAxN,EAAC0Z,IAAA,EAAe,MAAM,GAAA,CAAI;AAAA,QACzBlG,EAAa;AAAA,QACb1Q,EAAM,OAAO,SAAS,IAAI,MAAMwW,CAAK,IAAIxW,EAAM,OAAO,MAAM,MAAM;AAAA,MAAA,GACvE;AAAA,MAGJ,UAAA;AAAA,QAAA,gBAAA0K,EAAC,OAAA,EAAI,WAAU,iCACX,UAAA;AAAA,UAAA,gBAAAxN,EAACoT,GAAA,EAAO,OAAOkG,GAAO,OAAM,uBAAsB,UAAAjH,GAAoB,SAAA3U,GAAkB,aAAY,iBAAA,CAAiB;AAAA,4BACpHic,IAAA,EAAO,WAAU,QAAO,SAAS1G,GAAU,OAAM,OAAM,WAASqG,GAC7D,4BAACjG,GAAA,EAAU,MAAM,IAAI,WAAU,eAAc,EAAA,CACjD;AAAA,QAAA,GACJ;AAAA,QACCvQ,EAAM,OAAO,SAAS,IACnB,gBAAA0K,EAAC,WAAA,EAAQ,WAAU,QACf,UAAA;AAAA,UAAA,gBAAAxN,EAAC,YACG,UAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,uBAAsB,0BAAY,EAAA,CACpD;AAAA,4BACCZ,IAAA,EACG,UAAA,gBAAAY;AAAA,YAAC6W;AAAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,WAAU;AAAA,cACV,MAAI;AAAA,cACJ,cAAcpV;AAAA,cACd,cAAc;AAAA,cACd,cAAY;AAAA,cACZ,WAAWqB,EAAM;AAAA,cACjB,QAAQA,EAAM;AAAA,cAEb,UAAAA,EAAM,OAAO,IAAI,CAACX,MACf,gBAAAnC;AAAA,gBAACkZ;AAAA,gBAAA;AAAA,kBAEG,MAAA/W;AAAA,kBACA,eAAe,CAACzF,MAAM;AAClB,oBAAA+E,EAAS,MAAM/E,CAAC,GAChBoG,EAAM,UAAU,CAAC,GAAGA,EAAM,MAAM,CAAC;AAAA,kBAAA;AAAA,gBACrC;AAAA,gBALKX,EAAK;AAAA,cAAA,CAOjB;AAAA,YAAA;AAAA,UAAA,EACL,CACJ;AAAA,QAAA,EAAA,CACJ,IACA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEZ;AAER,GCvHayX,KAAW,CAAgB9W,MACpC,gBAAA9C,EAAC,UAAA,EAAO,WAAU,mBACd,UAAA,gBAAAwN,EAAC,OAAA,EAAI,WAAU,0EACX,UAAA;AAAA,EAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,0DACX,UAAA;AAAA,IAAA,gBAAAxN,EAAC,QAAA,EACG,UAAA,gBAAAA,EAAC2U,IAAA,EAAO,MAAM7R,EAAM,MAAM,SAASA,EAAM,SAAS,SAASA,EAAM,SAAS,KAAKA,EAAM,YAAY,GACrG;AAAA,sBACC,QAAA,EACG,UAAA,gBAAA9C,EAAC0S,IAAA,EAAK,SAAS5P,EAAM,SAAS,MAAMA,EAAM,MAAM,SAASA,EAAM,SAAS,KAAKA,EAAM,YAAY,GACnG;AAAA,sBACC,QAAA,EACG,UAAA,gBAAA9C,EAACqZ,MAAM,MAAMvW,EAAM,MAAM,QAAQA,EAAM,QAAQ,WAAWA,EAAM,WAAW,SAASA,EAAM,SAAS,MAAMA,EAAM,MAAM,EAAA,CACzH;AAAA,EAAA,GACJ;AAAA,EACA,gBAAA9C,EAAC,MAAA,EAAG,WAAU,qFACT,UAAA8C,EAAM,QAAQ,IAAI,CAAC6F,MAChB,gBAAA6E,EAAC,MAAA,EAAgC,WAAU,4EACvC,UAAA;AAAA,IAAA,gBAAAA,EAAC,QAAA,EACG,UAAA;AAAA,MAAA,gBAAAxN,EAAC,QAAA,EAAK,WAAU,kEAAiE,eAAY,QAAO;AAAA,MACnG2I,EAAE;AAAA,MAAM;AAAA,MAAEA,EAAE,UAAU,MAAM,YAAA;AAAA,MAAc;AAAA,IAAA,GAC/C;AAAA,IACA,gBAAA6E,EAAC,OAAA,EAAI,WAAU,8BACX,UAAA;AAAA,MAAA,gBAAAxN,EAAC,UAAK,eAAY,QAAO,WAAU,gCAC9B,UAAA2I,EAAE,SAAS,IAAA,CAChB;AAAA,MACA,gBAAA3I;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,MAAM2I,EAAE;AAAA,UACR,OAAOA,EAAE;AAAA,UACT,WAAU;AAAA,UACV,UAAU,CAACjM,MAAM;AACb,kBAAM0D,IAAQwQ,GAAclU,EAAE,MAAM;AACpC,YAAAoG,EAAM,WAAW,CAACiP,MAASA,EAAK,IAAI,CAAC5P,MAAUwG,EAAE,OAAOxG,EAAK,KAAK,EAAE,GAAGA,GAAM,OAAA/B,EAAA,IAAU+B,CAAK,CAAC;AAAA,UAAA;AAAA,QACjG;AAAA,MAAA;AAAA,IACJ,EAAA,CACJ;AAAA,EAAA,EAAA,GAlBK,gBAAgBwG,EAAE,EAAE,EAmB7B,CACH,EAAA,CACL;AAAA,EAAA,CACJ,EAAA,CACJ,GCfEkR,KAAgB,CAA+D9H,GAAY+H,MAC7F,OAAOA,KAAW,aAAaA,EAAO/H,CAAI,IAAI+H,GAI5CC,IAAiB,CAAsBhI,GAASN,GAAUuI,MAA2BjI,MAASN,IAAQ,SAAYuI,IAAOvI,CAAK,GAEvHwI,KAAQ,CAAoCnX,MAAyB;AAC9E,QAAM4S,IAASC,GAAA,GACTuE,IAAena;AAAA,IACjB,OAA0B;AAAA,MACtB,QAAQ+C,EAAM,WAAW,SAAa4S,EAAO,MAAM,UAAU,SAAc5S,EAAM,UAAU;AAAA,IAAA;AAAA,IAE/F,CAACA,EAAM,QAAQ4S,EAAO,MAAM,MAAM;AAAA,EAAA,GAEhCrB,IAAavR,EAAM,cAAc4S,EAAO,MAAM,cAAc,IAC5DyE,IAAapa,EAAQ,MAAM0Q,GAAiB3N,EAAM,IAAI,GAAG,CAACA,EAAM,IAAI,CAAC,GACrE,CAAC2O,GAAOC,CAAQ,IAAIC;AAAA,IACtB;AAAA,MACI,MAAM7O,EAAM;AAAA,MACZ,SAAUA,EAAM,WAAW,CAAA;AAAA,MAC3B,QAASA,EAAM,UAAU,CAAA;AAAA,MACzB,SAAUA,EAAM,WAAW,CAAA;AAAA,IAAC;AAAA,IAEhC,CAAC8O,MAAQ;AACL,YAAMwI,IACF,CAAmBza,MACnB,CAAC0a,MAAW;AACR,cAAM5I,IAAQG,EAAI,MAAA;AAElB,eAAO,EAAE,GAAGH,GAAO,CAAC9R,CAAG,GAAGka,GAAcpI,EAAM9R,CAAyB,GAAG0a,CAAiB,EAAA;AAAA,MAAE;AAErG,aAAO;AAAA,QACH,MAAMD,EAAgC,MAAM;AAAA,QAC5C,SAASA,EAAmC,SAAS;AAAA,QACrD,QAAQA,EAAsC,QAAQ;AAAA,QACtD,SAASA,EAAyC,SAAS;AAAA,MAAA;AAAA,IAC/D;AAAA,IAEJ;AAAA,MACI,gBAAgB;AAAA,QACZ,CAAC3I,GAAOM,OACJjP,EAAM,MAAM2O,CAAmC,GAC/CsI,EAAehI,GAAM,WAAW,CAAA,GAAIN,EAAM,WAAW,CAAA,GAAI3O,EAAM,UAAU,GACzEiX,EAAehI,GAAM,WAAW,CAAA,GAAIN,EAAM,WAAW,CAAA,GAAI3O,EAAM,UAAU,GACzEiX,EAAehI,GAAM,UAAU,CAAA,GAAIN,EAAM,UAAU,CAAA,GAAI3O,EAAM,SAAS,GACtEiX,EAAehI,GAAM,QAAQ,CAAA,GAAIN,EAAM,QAAQ,CAAA,GAAI3O,EAAM,OAAO,GACzD2O;AAAAA,MACX;AAAA,IACJ;AAAA,EACJ;AAGJ,SAAA9N,GAAU,MAAM;AACZ,IAAA+N,EAAS,KAAK5O,EAAM,IAAI;AAAA,EAAA,GACzB,CAACA,EAAM,IAAI,CAAC,GAGX,gBAAA9C,EAACkU,MAAc,OAAOgG,GAClB,4BAACpD,IAAA,EAAgB,WAAS,IAAC,SAAS,IAC/B,UAAA;AAAA,IAAAzC,IACG,gBAAArU;AAAA,MAAC4Z;AAAA,MAAA;AAAA,QACG,MAAMnI,EAAM;AAAA,QACZ,MAAM3O,EAAM;AAAA,QACZ,SAASqX;AAAA,QACT,QAAQ1I,EAAM;AAAA,QACd,SAASA,EAAM;AAAA,QACf,SAASC,EAAS;AAAA,QAClB,SAASD,EAAM;AAAA,QACf,WAAWC,EAAS;AAAA,QACpB,YAAYA,EAAS;AAAA,QACrB,YAAYA,EAAS;AAAA,QACrB,YAAY5O,EAAM,cAAc;AAAA,QAChC,cAAcA,EAAM,gBAAgB;AAAA,QACpC,cAAcA,EAAM,gBAAgB;AAAA,MAAA;AAAA,IAAA,IAExC;AAAA,IACH2O,EAAM,OAAO,WAAW,IACrB,gBAAAzR;AAAA,MAAC+X;AAAA,MAAA;AAAA,QACI,GAAGjV;AAAA,QACJ,OAAO;AAAA,QACP,MAAM2O,EAAM;AAAA,QACZ,SAAS0I;AAAA,QACT,QAAQ1I,EAAM;AAAA,QACd,SAASA,EAAM;AAAA,QACf,YAAA0I;AAAA,QACA,SAASzI,EAAS;AAAA,QAClB,SAASD,EAAM;AAAA,QACf,WAAWC,EAAS;AAAA,QACpB,YAAYA,EAAS;AAAA,QACrB,YAAYA,EAAS;AAAA,QACrB,aAAa5O,EAAM;AAAA,QACnB,YAAYA,EAAM,cAAc;AAAA,QAChC,cAAcA,EAAM,gBAAgB;AAAA,QACpC,cAAcA,EAAM,gBAAgB;AAAA,MAAA;AAAA,IAAA,IAGxC,gBAAA9C,EAAC,OAAA,EAAI,WAAU,wBACV,UAAAyR,EAAM,OAAO,IAAI,CAAC6H,GAAOpX,MACtB,gBAAAlC,EAAC,OAAA,EAAI,WAAU,cACX,UAAA,gBAAAA;AAAA,MAAC+X;AAAA,MAAA;AAAA,QACI,GAAGjV;AAAA,QACJ,OAAAwW;AAAA,QACA,OAAApX;AAAA,QACA,MAAMuP,EAAM;AAAA,QACZ,YAAY;AAAA,QACZ,MAAM6H,EAAM;AAAA,QACZ,SAASa;AAAA,QACT,QAAQ1I,EAAM;AAAA,QACd,SAASA,EAAM;AAAA,QACf,YAAA0I;AAAA,QACA,SAASzI,EAAS;AAAA,QAClB,SAASD,EAAM;AAAA,QACf,WAAWC,EAAS;AAAA,QACpB,YAAYA,EAAS;AAAA,QACrB,YAAYA,EAAS;AAAA,QACrB,aAAa5O,EAAM;AAAA,QACnB,cAAcA,EAAM,gBAAgB;AAAA,QACpC,cAAcA,EAAM,gBAAgB;AAAA,MAAA;AAAA,IAAA,KAnBX,SAASwW,EAAM,OAAO,EAqBvD,CACH,EAAA,CACL;AAAA,EAAA,EAAA,CAER,EAAA,CACJ;AAER;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,39]}
|