useblocks 1.1.85-dev.9 → 1.1.102
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/CHANGELOG.md +91 -0
- package/README.md +74 -41
- package/compat-globals.js +1 -1
- package/iframe/.vite/manifest.json +4 -4
- package/iframe/css/sandbox.css +35 -1
- package/iframe/{iframe.bb6d921f.html → iframe-eblock.1c4e77a0.html} +2 -2
- package/iframe/{iframe-eblock.bb6d921f.html → iframe.1c4e77a0.html} +2 -2
- package/iframe/js/discussHandlers.Xh4-JUcT.js +88 -0
- package/iframe/js/{iframe-eblock.body.js → iframe-eblock.body.1c4e77a0.js} +1 -1
- package/iframe/js/iframe-eblock.js +2 -2
- package/iframe/js/iframe.body.1c4e77a0.js +319 -0
- package/iframe/js/iframe.js +2 -2
- package/package.json +8 -1
- package/runtime/THIRD_PARTY_LICENSES.txt +49 -42
- package/runtime/package.json +4 -1
- package/runtime/react/index.js +1 -1
- package/runtime/uuid/index.js +21 -0
- package/static/core/11b821ed.js +1 -0
- package/static/core/160bf060.js +104 -0
- package/static/core/1b68c0f0.js +1 -0
- package/static/core/1ed86ed3.js +1 -0
- package/static/core/26cc947d.js +1 -0
- package/static/core/{67f78cad.js → 3ec42945.js} +7 -7
- package/static/core/3fb172c7.js +1 -0
- package/static/core/448f03f8.js +1 -0
- package/static/core/44d2c046.js +1 -0
- package/static/core/{79749848.js → 4c8d0155.js} +5 -5
- package/static/core/53103851.js +4 -0
- package/static/core/{a767f327.js → 5d849eef.js} +1 -1
- package/static/core/5e7c221f.js +28 -0
- package/static/core/64be048b.js +27 -0
- package/static/core/{de07cade.js → 6a671446.js} +3 -3
- package/static/core/{db82c42b.js → 756874c6.js} +1 -1
- package/static/core/{4c3f5897.js → 847338a8.js} +2 -2
- package/static/core/91e07171.js +2 -0
- package/static/core/a2e57e5f.js +1 -0
- package/static/core/{a5996860.js → a6303cb2.js} +1 -1
- package/static/core/{9f137764.js → a98b6879.js} +1 -1
- package/static/core/ae22b7f6.js +93 -0
- package/static/core/{44a83e21.js → b653f9c5.js} +1 -1
- package/static/core/{cb46784e.js → b7aa9fec.js} +1 -1
- package/static/core/{d8bbcfbd.js → ca4dad9b.js} +2 -2
- package/static/core/{6faa23a1.js → cc180859.js} +1 -1
- package/static/core/d7666ad0.js +291 -0
- package/static/core/dcc37768.js +1 -0
- package/static/core/edf450a1.js +7 -0
- package/static/core/f1ee2bef.js +1 -0
- package/static/core/{1e3078da.js → f323e60e.js} +1 -1
- package/static/core/{175b5b0f.js → ff7d14e8.js} +1 -1
- package/static/esm/2490dab8.js +1 -0
- package/static/esm/668ee399.js +1 -0
- package/static/esm/971f1b2c.js +1 -0
- package/static/esm/f76c9d9d.js +1 -0
- package/static/umd/6639d610.js +1 -0
- package/static/umd-runtime/B7h7P1Np.js +1 -0
- package/static/umd-runtime/{DHIkHsbq.js → BAqQTgiL.js} +1 -1
- package/static/umd-runtime/{DiNHpyis.js → BB6AXfHj.js} +1 -1
- package/static/umd-runtime/{CnUGCoaH.js → BauvM4c_.js} +1 -1
- package/static/umd-runtime/{cL_ha9ef.js → CgVJ4rE0.js} +1 -1
- package/static/umd-runtime/Cvm7BS4_.js +341 -0
- package/static/umd-runtime/{BnE05QKl.js → D7DggGzi.js} +1 -1
- package/static/umd-runtime/{2iAslXEF.js → DBbch1O-.js} +1 -1
- package/static/umd-runtime/{Bcqtk2f7.js → Dqoi-pC_.js} +2 -2
- package/static/umd-runtime/{CDTBLHGd.js → G2k8ELiO.js} +3 -3
- package/static/umd-runtime/{CVtPwspX.js → SFp4nbvq.js} +1 -1
- package/static/umd-runtime/{DVB_-O4B.js → UsRzAWs2.js} +1 -1
- package/static/umd-runtime/runtime.2paN090q.js +1 -0
- package/static/umd-runtime/{ui-kit-icons.js → ui-kit-icons.DqlZwgBU.js} +1 -1
- package/static/umd-runtime/{ui-kit.js → ui-kit.CoVNet0I.js} +2 -2
- package/static/umd-runtime/{DP3QTW77.js → uk9LyZos.js} +1 -1
- package/ui-kit/icons.js +2 -0
- package/useblocks-core.1c4e77a0.js +859 -0
- package/useblocks-esm.js +11 -10
- package/{useblocks-po.bb6d921f.js → useblocks-po.1c4e77a0.js} +1 -1
- package/useblocks.d.ts +162 -28
- package/useblocks.js +39 -15
- package/vendor/@rc-component/cascader/package.json +1 -1
- package/vendor/@rc-component/dialog/es/Dialog/Content/Panel.js +3 -2
- package/vendor/@rc-component/dialog/package.json +1 -1
- package/vendor/@rc-component/image/es/Preview/index.js +3 -3
- package/vendor/@rc-component/image/package.json +1 -1
- package/vendor/@rc-component/input/es/BaseInput.js +3 -3
- package/vendor/@rc-component/input/es/Input.js +20 -27
- package/vendor/@rc-component/{textarea → input}/es/ResizableTextArea.js +5 -4
- package/vendor/@rc-component/{textarea → input}/es/TextArea.js +30 -40
- package/vendor/@rc-component/{textarea → input}/es/calculateNodeHeight.js +4 -4
- package/vendor/@rc-component/input/es/hooks/useCountDisplay.js +25 -0
- package/vendor/@rc-component/input/es/hooks/useCountExceed.js +25 -0
- package/vendor/@rc-component/input/es/hooks/useMergedValue.js +13 -0
- package/vendor/@rc-component/input/es/index.js +3 -1
- package/vendor/@rc-component/input/package.json +1 -1
- package/vendor/@rc-component/mentions/es/DropdownMenu.js +1 -1
- package/vendor/@rc-component/mentions/es/Mentions.js +35 -8
- package/vendor/@rc-component/mentions/package.json +1 -1
- package/vendor/@rc-component/menu/es/Menu.js +1 -0
- package/vendor/@rc-component/menu/es/MenuItem.js +1 -0
- package/vendor/@rc-component/menu/es/MenuItemGroup.js +1 -0
- package/vendor/@rc-component/menu/es/SubMenu/PopupTrigger.js +1 -0
- package/vendor/@rc-component/menu/es/SubMenu/index.js +1 -0
- package/vendor/@rc-component/menu/es/context/MenuContext.js +1 -0
- package/vendor/@rc-component/menu/es/hooks/useAccessibility.js +1 -0
- package/vendor/@rc-component/menu/es/hooks/useKeyRecords.js +1 -0
- package/vendor/@rc-component/menu/es/utils/commonUtil.js +1 -0
- package/vendor/@rc-component/menu/es/utils/nodeUtil.js +2 -1
- package/vendor/@rc-component/menu/es/utils/warnUtil.js +1 -0
- package/vendor/@rc-component/menu/package.json +1 -1
- package/vendor/@rc-component/notification/LICENSE +21 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/LICENSE +22 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Children/toArray.js +15 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/canUseDom.js +6 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/contains.js +13 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/dynamicCSS.js +94 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/findDOMNode.js +14 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/focus.js +99 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/isVisible.js +18 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/shadow.js +12 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Dom/styleChecker.js +2 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/KeyCode.js +499 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/Portal.js +28 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/React/isFragment.js +12 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/React/render.js +2 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/getScrollBarSize.js +2 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useControlledState.js +3 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useDelayState.js +4 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useEvent.js +9 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useId.js +23 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useLayoutEffect.js +26 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useMemo.js +12 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useMergedState.js +4 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useState.js +24 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/hooks/useSyncState.js +20 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/index.js +36 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/is.js +21 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/isEqual.js +35 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/isMobile.js +11 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/mergeProps.js +14 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/omit.js +1 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/pickAttrs.js +50 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/proxyObject.js +1 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/raf.js +36 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/ref.js +38 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/test/domHook.js +36 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/utils/get.js +11 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/utils/set.js +58 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/es/warning.js +46 -0
- package/vendor/@rc-component/notification/_/@rc-component/util/package.json +6 -0
- package/vendor/@rc-component/notification/es/Notification.js +129 -0
- package/vendor/@rc-component/notification/es/NotificationList/Content.js +33 -0
- package/vendor/@rc-component/notification/es/NotificationList/index.js +174 -0
- package/vendor/@rc-component/notification/es/NotificationProvider.js +4 -3
- package/vendor/@rc-component/notification/es/Notifications.js +28 -31
- package/vendor/@rc-component/notification/es/Progress.js +10 -0
- package/vendor/@rc-component/notification/es/hooks/useClosable.js +30 -0
- package/vendor/@rc-component/notification/es/hooks/useListPosition/index.js +50 -0
- package/vendor/@rc-component/notification/es/hooks/useListPosition/useSizes.js +33 -0
- package/vendor/@rc-component/notification/es/hooks/useNoticeTimer.js +58 -0
- package/vendor/@rc-component/notification/es/hooks/useNotification.js +27 -18
- package/vendor/@rc-component/notification/es/hooks/useStack.js +4 -4
- package/vendor/@rc-component/notification/es/index.js +4 -2
- package/vendor/@rc-component/notification/package.json +1 -1
- package/vendor/@rc-component/picker/es/PickerInput/Selector/SingleSelector/MultipleDates.js +13 -3
- package/vendor/@rc-component/picker/es/PickerInput/Selector/SingleSelector/index.js +3 -1
- package/vendor/@rc-component/picker/es/PickerInput/SinglePicker.js +2 -1
- package/vendor/@rc-component/picker/package.json +1 -1
- package/vendor/@rc-component/table/LICENSE +21 -0
- package/vendor/@rc-component/table/es/Body/MeasureCell.js +1 -0
- package/vendor/@rc-component/table/es/Body/MeasureRow.js +1 -0
- package/vendor/@rc-component/table/es/Cell/useCellRender.js +1 -0
- package/vendor/@rc-component/table/es/FixedHolder/index.js +1 -0
- package/vendor/@rc-component/table/es/Table.js +17 -9
- package/vendor/@rc-component/table/es/VirtualTable/BodyGrid.js +10 -4
- package/vendor/@rc-component/table/es/VirtualTable/BodyLine.js +13 -5
- package/vendor/@rc-component/table/es/hooks/useColumns/index.js +1 -0
- package/vendor/@rc-component/table/es/hooks/useExpand.js +1 -0
- package/vendor/@rc-component/table/es/hooks/useFixedInfo.js +1 -0
- package/vendor/@rc-component/table/es/hooks/useSticky.js +1 -0
- package/vendor/@rc-component/table/es/index.js +2 -1
- package/vendor/@rc-component/table/es/stickyScrollBar.js +1 -0
- package/vendor/@rc-component/table/es/utils/legacyUtil.js +1 -0
- package/vendor/@rc-component/table/es/utils/offsetUtil.js +1 -0
- package/vendor/@rc-component/table/package.json +1 -1
- package/vendor/@rc-component/tabs/es/TabNavList/OperationNode.js +4 -2
- package/vendor/@rc-component/tabs/es/TabNavList/TabNode.js +5 -4
- package/vendor/@rc-component/tabs/es/TabNavList/index.js +11 -4
- package/vendor/@rc-component/tabs/es/Tabs.js +1 -0
- package/vendor/@rc-component/tabs/es/hooks/useAnimateConfig.js +1 -0
- package/vendor/@rc-component/tabs/es/hooks/useIndicator.js +1 -0
- package/vendor/@rc-component/tabs/es/hooks/useUpdate.js +1 -0
- package/vendor/@rc-component/tabs/package.json +1 -1
- package/vendor/@rc-component/tour/es/TourStep/DefaultPanel.js +4 -1
- package/vendor/@rc-component/tour/package.json +1 -1
- package/vendor/@rc-component/tree/es/MotionTreeNode.js +1 -0
- package/vendor/@rc-component/tree/es/NodeList.js +2 -2
- package/vendor/@rc-component/tree/es/Tree.js +4 -5
- package/vendor/@rc-component/tree/es/TreeNode.js +7 -2
- package/vendor/@rc-component/tree/es/index.js +3 -0
- package/vendor/@rc-component/tree/es/useUnmount.js +1 -0
- package/vendor/@rc-component/tree/es/util.js +1 -0
- package/vendor/@rc-component/tree/es/utils/conductUtil.js +1 -0
- package/vendor/@rc-component/tree/es/utils/treeUtil.js +1 -0
- package/vendor/@rc-component/tree/package.json +1 -1
- package/vendor/@rc-component/tree-select/package.json +1 -1
- package/vendor/@rc-component/util/es/index.js +10 -10
- package/vendor/antd/es/_util/ActionButton.js +2 -3
- package/vendor/antd/es/_util/ContextIsolator.js +1 -1
- package/vendor/antd/es/_util/PurePanel.js +7 -4
- package/vendor/antd/es/_util/convertToTooltipProps.js +2 -2
- package/vendor/antd/es/_util/fallbackProp.js +15 -0
- package/vendor/antd/es/_util/gapSize.js +2 -1
- package/vendor/antd/es/_util/getRenderPropValue.js +2 -1
- package/vendor/antd/es/_util/getScroll.js +4 -4
- package/vendor/antd/es/_util/hooks/index.js +2 -2
- package/vendor/antd/es/_util/hooks/useAllowClear.js +25 -0
- package/vendor/antd/es/_util/hooks/useClosable.js +6 -5
- package/vendor/antd/es/_util/hooks/{useMergeSemantic.js → useMergeSemantic/index.js} +14 -24
- package/vendor/antd/es/_util/hooks/useMergeSemantic/utils.js +14 -0
- package/vendor/antd/es/_util/hooks/useMergedMask.js +2 -1
- package/vendor/antd/es/_util/is.js +27 -0
- package/vendor/antd/es/_util/motion.js +8 -8
- package/vendor/antd/es/_util/normalizeIcon.js +9 -0
- package/vendor/antd/es/_util/placements.js +2 -1
- package/vendor/antd/es/_util/reactNode.js +2 -1
- package/vendor/antd/es/_util/responsiveObserver.js +3 -2
- package/vendor/antd/es/_util/scrollTo.js +3 -1
- package/vendor/antd/es/_util/styleChecker.js +1 -0
- package/vendor/antd/es/_util/throttleByAnimationFrame.js +1 -0
- package/vendor/antd/es/_util/toList.js +1 -1
- package/vendor/antd/es/_util/wave/WaveEffect.js +3 -1
- package/vendor/antd/es/_util/wave/index.js +14 -4
- package/vendor/antd/es/_util/wave/util.js +5 -3
- package/vendor/antd/es/alert/Alert.js +12 -10
- package/vendor/antd/es/alert/ErrorBoundary.js +1 -1
- package/vendor/antd/es/alert/style/index.js +16 -10
- package/vendor/antd/es/anchor/Anchor.js +23 -16
- package/vendor/antd/es/anchor/AnchorLink.js +4 -4
- package/vendor/antd/es/app/App.js +7 -3
- package/vendor/antd/es/auto-complete/AutoComplete.js +7 -8
- package/vendor/antd/es/avatar/Avatar.js +5 -3
- package/vendor/antd/es/back-top/index.js +1 -0
- package/vendor/antd/es/badge/Badge.js +5 -6
- package/vendor/antd/es/badge/Ribbon.js +1 -2
- package/vendor/antd/es/badge/style/index.js +4 -3
- package/vendor/antd/es/border-beam/BorderBeam.js +42 -0
- package/vendor/antd/es/border-beam/BorderBeamEffect.js +24 -0
- package/vendor/antd/es/border-beam/hooks/useBorderSize.js +37 -0
- package/vendor/antd/es/border-beam/hooks/useChildDom.js +24 -0
- package/vendor/antd/es/border-beam/index.js +7 -0
- package/vendor/antd/es/border-beam/style/index.js +60 -0
- package/vendor/antd/es/border-beam/util.js +26 -0
- package/vendor/antd/es/breadcrumb/Breadcrumb.js +1 -2
- package/vendor/antd/es/breadcrumb/BreadcrumbItem.js +1 -1
- package/vendor/antd/es/breadcrumb/useItemRender.js +3 -2
- package/vendor/antd/es/button/Button.js +7 -6
- package/vendor/antd/es/button/buttonHelpers.js +4 -8
- package/vendor/antd/es/button/index.js +2 -2
- package/vendor/antd/es/button/style/index.js +5 -0
- package/vendor/antd/es/calendar/generateCalendar.js +20 -8
- package/vendor/antd/es/card/Card.js +5 -7
- package/vendor/antd/es/card/CardMeta.js +1 -2
- package/vendor/antd/es/carousel/index.js +2 -1
- package/vendor/antd/es/cascader/Panel.js +1 -1
- package/vendor/antd/es/cascader/index.js +23 -16
- package/vendor/antd/es/cascader/style/columns.js +6 -2
- package/vendor/antd/es/checkbox/Checkbox.js +2 -3
- package/vendor/antd/es/checkbox/Group.js +2 -1
- package/vendor/antd/es/checkbox/style/index.js +1 -5
- package/vendor/antd/es/checkbox/useBubbleLock.js +1 -0
- package/vendor/antd/es/collapse/Collapse.js +3 -3
- package/vendor/antd/es/collapse/style/index.js +1 -4
- package/vendor/antd/es/color-picker/ColorPicker.js +1 -2
- package/vendor/antd/es/color-picker/ColorPickerPanel.js +2 -1
- package/vendor/antd/es/color-picker/components/ColorTrigger.js +3 -1
- package/vendor/antd/es/color-picker/components/PanelPicker/index.js +1 -0
- package/vendor/antd/es/config-provider/hooks/useSize.js +3 -2
- package/vendor/antd/es/config-provider/hooks/useTheme.js +2 -0
- package/vendor/antd/es/config-provider/index.js +11 -3
- package/vendor/antd/es/date-picker/generatePicker/generateRangePicker.js +20 -10
- package/vendor/antd/es/date-picker/generatePicker/generateSinglePicker.js +17 -8
- package/vendor/antd/es/date-picker/generatePicker/useSuffixIcon.js +1 -1
- package/vendor/antd/es/date-picker/hooks/useMergedPickerSemantic.js +1 -2
- package/vendor/antd/es/date-picker/style/index.js +13 -3
- package/vendor/antd/es/date-picker/style/multiple.js +3 -4
- package/vendor/antd/es/date-picker/style/panel.js +5 -20
- package/vendor/antd/es/date-picker/util.js +14 -13
- package/vendor/antd/es/descriptions/Cell.js +2 -3
- package/vendor/antd/es/descriptions/hooks/useItems.js +2 -1
- package/vendor/antd/es/descriptions/index.js +3 -3
- package/vendor/antd/es/divider/index.js +3 -2
- package/vendor/antd/es/drawer/Drawer.js +10 -5
- package/vendor/antd/es/drawer/DrawerPanel.js +3 -2
- package/vendor/antd/es/dropdown/dropdown.js +11 -8
- package/vendor/antd/es/dropdown/style/index.js +2 -6
- package/vendor/antd/es/empty/index.js +1 -2
- package/vendor/antd/es/flex/index.js +2 -2
- package/vendor/antd/es/float-button/BackTop.js +1 -0
- package/vendor/antd/es/float-button/FloatButton.js +3 -3
- package/vendor/antd/es/float-button/FloatButtonGroup.js +2 -2
- package/vendor/antd/es/form/ErrorList.js +13 -6
- package/vendor/antd/es/form/Form.js +7 -6
- package/vendor/antd/es/form/FormItem/ItemHolder.js +1 -1
- package/vendor/antd/es/form/FormItem/index.js +6 -6
- package/vendor/antd/es/form/FormItemInput.js +5 -3
- package/vendor/antd/es/form/FormItemLabel.js +2 -1
- package/vendor/antd/es/form/FormList.js +1 -0
- package/vendor/antd/es/form/hooks/useChildren.js +4 -3
- package/vendor/antd/es/form/hooks/useForm.js +3 -1
- package/vendor/antd/es/form/hooks/useFrameState.js +1 -0
- package/vendor/antd/es/form/hooks/useItemRef.js +7 -5
- package/vendor/antd/es/form/style/index.js +1 -3
- package/vendor/antd/es/grid/col.js +5 -7
- package/vendor/antd/es/grid/hooks/useBreakpoint.js +1 -0
- package/vendor/antd/es/grid/hooks/useGutter.js +2 -1
- package/vendor/antd/es/grid/row.js +7 -6
- package/vendor/antd/es/image/PreviewGroup.js +1 -2
- package/vendor/antd/es/image/Progress.js +58 -0
- package/vendor/antd/es/image/hooks/useMergedPreviewConfig.js +3 -1
- package/vendor/antd/es/image/hooks/usePlaceholderConfig.js +15 -0
- package/vendor/antd/es/image/hooks/usePreviewConfig.js +3 -2
- package/vendor/antd/es/image/index.js +36 -5
- package/vendor/antd/es/image/style/index.js +114 -4
- package/vendor/antd/es/image/style/progressAnimation.js +26 -0
- package/vendor/antd/es/index.js +2 -1
- package/vendor/antd/es/input/Input.js +9 -4
- package/vendor/antd/es/input/OTP/OTPInput.js +1 -0
- package/vendor/antd/es/input/OTP/index.js +3 -3
- package/vendor/antd/es/input/Password.js +45 -26
- package/vendor/antd/es/input/Search.js +6 -5
- package/vendor/antd/es/input/TextArea.js +13 -7
- package/vendor/antd/es/input/style/index.js +17 -11
- package/vendor/antd/es/input/style/otp.js +2 -1
- package/vendor/antd/es/input/style/variants.js +16 -10
- package/vendor/antd/es/input-number/index.js +3 -3
- package/vendor/antd/es/input-number/style/index.js +9 -9
- package/vendor/antd/es/layout/Sider.js +3 -2
- package/vendor/antd/es/list/index.js +5 -3
- package/vendor/antd/es/locale/en_US.js +3 -1
- package/vendor/antd/es/locale/ru_RU.js +3 -1
- package/vendor/antd/es/locale/useLocale.js +2 -1
- package/vendor/antd/es/masonry/Masonry.js +4 -3
- package/vendor/antd/es/mentions/index.js +28 -14
- package/vendor/antd/es/menu/MenuItem.js +2 -1
- package/vendor/antd/es/menu/OverrideContext.js +1 -0
- package/vendor/antd/es/menu/SubMenu.js +1 -1
- package/vendor/antd/es/menu/menu.js +5 -5
- package/vendor/antd/es/menu/style/index.js +21 -36
- package/vendor/antd/es/menu/style/vertical.js +2 -1
- package/vendor/antd/es/message/PureList.js +49 -0
- package/vendor/antd/es/message/PurePanel.js +28 -36
- package/vendor/antd/es/message/index.js +6 -3
- package/vendor/antd/es/message/style/index.js +102 -99
- package/vendor/antd/es/message/useMessage.js +29 -33
- package/vendor/antd/es/message/util.js +1 -1
- package/vendor/antd/es/modal/ConfirmDialog.js +11 -9
- package/vendor/antd/es/modal/Modal.js +12 -7
- package/vendor/antd/es/modal/PurePanel.js +1 -2
- package/vendor/antd/es/modal/confirm.js +4 -3
- package/vendor/antd/es/modal/shared.js +3 -2
- package/vendor/antd/es/modal/useModal/HookModal.js +2 -1
- package/vendor/antd/es/notification/PureList.js +46 -0
- package/vendor/antd/es/notification/PurePanel.js +37 -56
- package/vendor/antd/es/notification/hooks/useStackConfig.js +13 -0
- package/vendor/antd/es/notification/index.js +3 -1
- package/vendor/antd/es/notification/style/index.js +103 -170
- package/vendor/antd/es/notification/style/notification.js +191 -0
- package/vendor/antd/es/notification/style/placement.js +117 -60
- package/vendor/antd/es/notification/useNotification.js +37 -40
- package/vendor/antd/es/notification/util.js +9 -50
- package/vendor/antd/es/pagination/Pagination.js +1 -2
- package/vendor/antd/es/pagination/useShowSizeChanger.js +2 -1
- package/vendor/antd/es/popconfirm/PurePanel.js +4 -1
- package/vendor/antd/es/popconfirm/index.js +1 -2
- package/vendor/antd/es/popover/PurePanel.js +1 -2
- package/vendor/antd/es/popover/index.js +1 -2
- package/vendor/antd/es/progress/Circle.js +2 -1
- package/vendor/antd/es/progress/progress.js +3 -3
- package/vendor/antd/es/progress/utils.js +4 -3
- package/vendor/antd/es/qr-code/index.js +4 -4
- package/vendor/antd/es/radio/group.js +4 -3
- package/vendor/antd/es/radio/radio.js +2 -2
- package/vendor/antd/es/radio/style/index.js +1 -1
- package/vendor/antd/es/rate/index.js +2 -4
- package/vendor/antd/es/result/index.js +6 -5
- package/vendor/antd/es/result/style/index.js +10 -6
- package/vendor/antd/es/segmented/index.js +5 -3
- package/vendor/antd/es/select/index.js +23 -12
- package/vendor/antd/es/select/style/dropdown.js +1 -1
- package/vendor/antd/es/select/style/select-input.js +23 -15
- package/vendor/antd/es/select/useIcons.js +43 -26
- package/vendor/antd/es/skeleton/Element.js +2 -1
- package/vendor/antd/es/skeleton/Skeleton.js +3 -3
- package/vendor/antd/es/slider/SliderTooltip.js +1 -0
- package/vendor/antd/es/slider/index.js +5 -3
- package/vendor/antd/es/slider/useRafLock.js +1 -0
- package/vendor/antd/es/space/Compact.js +1 -1
- package/vendor/antd/es/space/Item.js +1 -1
- package/vendor/antd/es/space/index.js +2 -2
- package/vendor/antd/es/space/style/addon.js +5 -2
- package/vendor/antd/es/spin/Indicator/Progress.js +2 -1
- package/vendor/antd/es/spin/index.js +1 -2
- package/vendor/antd/es/splitter/Panel.js +7 -3
- package/vendor/antd/es/splitter/SplitBar.js +5 -4
- package/vendor/antd/es/splitter/Splitter.js +9 -6
- package/vendor/antd/es/splitter/hooks/useItems.js +2 -1
- package/vendor/antd/es/splitter/hooks/useSizes.js +1 -1
- package/vendor/antd/es/splitter/style/index.js +8 -6
- package/vendor/antd/es/statistic/Number.js +8 -4
- package/vendor/antd/es/statistic/Statistic.js +14 -10
- package/vendor/antd/es/steps/index.js +4 -4
- package/vendor/antd/es/style/compact-item-vertical.js +2 -1
- package/vendor/antd/es/style/compact-item.js +6 -6
- package/vendor/antd/es/switch/index.js +1 -2
- package/vendor/antd/es/table/InternalTable.js +23 -14
- package/vendor/antd/es/table/hooks/useFilledColumns.js +23 -0
- package/vendor/antd/es/table/hooks/useFilter/FilterDropdown.js +22 -16
- package/vendor/antd/es/table/hooks/useFilter/FilterWrapper.js +1 -0
- package/vendor/antd/es/table/hooks/useFilter/index.js +34 -18
- package/vendor/antd/es/table/hooks/useLazyKVMap.js +2 -1
- package/vendor/antd/es/table/hooks/usePagination.js +7 -4
- package/vendor/antd/es/table/hooks/useSelection.js +32 -21
- package/vendor/antd/es/table/hooks/useSorter.js +10 -5
- package/vendor/antd/es/table/style/bordered.js +5 -27
- package/vendor/antd/es/table/style/empty.js +1 -4
- package/vendor/antd/es/table/style/index.js +1 -4
- package/vendor/antd/es/table/util.js +6 -6
- package/vendor/antd/es/tabs/hooks/useAnimateConfig.js +2 -1
- package/vendor/antd/es/tabs/index.js +1 -2
- package/vendor/antd/es/tag/CheckableTagGroup.js +8 -5
- package/vendor/antd/es/tag/hooks/useColor.js +4 -3
- package/vendor/antd/es/tag/index.js +13 -7
- package/vendor/antd/es/theme/themes/dark/colors.js +2 -1
- package/vendor/antd/es/theme/themes/default/colors.js +2 -1
- package/vendor/antd/es/theme/useToken.js +2 -2
- package/vendor/antd/es/theme/util/alias.js +34 -29
- package/vendor/antd/es/timeline/Timeline.js +3 -4
- package/vendor/antd/es/tooltip/PurePanel.js +1 -2
- package/vendor/antd/es/tooltip/UniqueProvider/index.js +2 -1
- package/vendor/antd/es/tooltip/index.js +9 -7
- package/vendor/antd/es/tour/PurePanel.js +2 -2
- package/vendor/antd/es/tour/index.js +1 -1
- package/vendor/antd/es/tour/panelRender.js +4 -2
- package/vendor/antd/es/transfer/ListBody.js +3 -1
- package/vendor/antd/es/transfer/ListItem.js +2 -1
- package/vendor/antd/es/transfer/Section.js +17 -8
- package/vendor/antd/es/transfer/index.js +51 -16
- package/vendor/antd/es/transfer/style/index.js +5 -1
- package/vendor/antd/es/tree/Tree.js +1 -2
- package/vendor/antd/es/tree/style/index.js +5 -1
- package/vendor/antd/es/tree/utils/iconUtil.js +5 -4
- package/vendor/antd/es/tree-select/index.js +3 -3
- package/vendor/antd/es/typography/Base/CopyBtn.js +3 -2
- package/vendor/antd/es/typography/Base/Ellipsis.js +3 -3
- package/vendor/antd/es/typography/Base/index.js +38 -31
- package/vendor/antd/es/typography/Editable.js +10 -4
- package/vendor/antd/es/typography/Link.js +1 -0
- package/vendor/antd/es/typography/Text.js +2 -1
- package/vendor/antd/es/typography/Typography.js +20 -10
- package/vendor/antd/es/typography/hooks/useCopyClick.js +2 -1
- package/vendor/antd/es/typography/hooks/useMergedConfig.js +13 -7
- package/vendor/antd/es/typography/hooks/useTooltipProps.js +2 -1
- package/vendor/antd/es/typography/hooks/useTypographySemantic.js +33 -0
- package/vendor/antd/es/typography/style/index.js +12 -27
- package/vendor/antd/es/typography/style/mixins.js +46 -13
- package/vendor/antd/es/upload/Upload.js +13 -7
- package/vendor/antd/es/upload/UploadList/ListItem.js +6 -5
- package/vendor/antd/es/upload/UploadList/index.js +4 -3
- package/vendor/antd/es/upload/utils.js +18 -1
- package/vendor/antd/es/version/version.js +1 -1
- package/vendor/antd/es/watermark/index.js +6 -4
- package/vendor/antd/es/watermark/useSingletonCache.js +1 -0
- package/vendor/antd/es/watermark/useWatermark.js +3 -3
- package/vendor/antd/package.json +1 -1
- package/vendor/useblocks-ui-kit/es/components/DataEntry/Input/index.js +1 -1
- package/vendor/useblocks-ui-kit/es/components/General/EmIcons/deprecationNotice.js +1 -1
- package/vendor/useblocks-ui-kit/package.json +1 -1
- package/vite/index.cjs +2 -2
- package/vite/index.js +2 -2
- package/iframe/js/discussHandlers.ozU2Hn_l.js +0 -87
- package/iframe/js/iframe.body.js +0 -319
- package/static/core/1c535081.js +0 -1
- package/static/core/1cee0d36.js +0 -1
- package/static/core/4fbdd8b6.js +0 -2
- package/static/core/55a38638.js +0 -93
- package/static/core/605c665e.js +0 -28
- package/static/core/68cbe23d.js +0 -1
- package/static/core/89431649.js +0 -7
- package/static/core/8b821a61.js +0 -1
- package/static/core/9718977a.js +0 -1
- package/static/core/b7e9202e.js +0 -27
- package/static/core/b877f7b4.js +0 -1
- package/static/core/baded0c1.js +0 -1
- package/static/core/c6cc104d.js +0 -4
- package/static/core/d70aac44.js +0 -291
- package/static/core/e0d71533.js +0 -100
- package/static/core/fb57f60b.js +0 -1
- package/static/core/fe756e4d.js +0 -1
- package/static/esm/349f9e2c.js +0 -1
- package/static/esm/50fbfdf6.js +0 -1
- package/static/media/icon-sets/lucide.json +0 -6275
- package/static/media/icon-sets/tabler.json +0 -19336
- package/static/umd-runtime/Cl8heeC3.js +0 -1
- package/static/umd-runtime/D0xo8o9c.js +0 -335
- package/static/umd-runtime/runtime.js +0 -1
- package/useblocks-core.bb6d921f.js +0 -859
- package/vendor/@rc-component/notification/es/Notice.js +0 -106
- package/vendor/@rc-component/notification/es/NoticeList.js +0 -98
- package/vendor/@rc-component/textarea/LICENSE.md +0 -9
- package/vendor/@rc-component/textarea/es/index.js +0 -6
- package/vendor/@rc-component/textarea/package.json +0 -6
- package/vendor/antd/es/_util/extendsObject.js +0 -12
- package/vendor/antd/es/_util/getAllowClear.js +0 -12
- package/vendor/antd/es/_util/isNonNullable.js +0 -6
- package/vendor/antd/es/_util/isPrimitive.js +0 -4
- package/vendor/antd/es/notification/style/pure-panel.js +0 -18
- package/vendor/antd/es/notification/style/stack.js +0 -85
- /package/static/monaco/{index.js → index.CO7s5UdA.js} +0 -0
- /package/static/umd-runtime/{delivery-libs.js → delivery-libs.3Svr0avG.js} +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
__useblocks__.define("static/core/ae22b7f6.js",["require","exports","module","static/core/2ff39ddf.js","static/core/d68c5a64.js","static/core/e7620593.js","static/core/ff7d14e8.js","react","react/jsx-runtime","__delivery__/libs","react-dom","react-dom/client"],function(Xr,Z,tF){const dt=Xr("./2ff39ddf.js"),Xa=Xr("./d68c5a64.js"),nf=Xr("./e7620593.js"),nl=Xr("./ff7d14e8.js");let F=Xr("react");F=dt.__toESM(F);let ei=Xr("react/jsx-runtime"),Hr=Xr("__delivery__/libs"),ll=Xr("react-dom");ll=dt.__toESM(ll);let oF=Xr("react-dom/client");function lf(o,t){if(Xa._typeof(o)!="object"||!o)return o;var a=o[Symbol.toPrimitive];if(a!==void 0){var n=a.call(o,t||"default");if(Xa._typeof(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(o)}function sl(o){var t=lf(o,"string");return Xa._typeof(t)=="symbol"?t:t+""}function ri(o,t,a){return(t=sl(t))in o?Object.defineProperty(o,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[t]=a,o}var ti=(0,F.createContext)({});function dl(o){var t,a,n="";if(typeof o=="string"||typeof o=="number")n+=o;else if(typeof o=="object")if(Array.isArray(o)){var l=o.length;for(t=0;t<l;t++)o[t]&&(a=dl(o[t]))&&(n&&(n+=" "),n+=a)}else for(a in o)o[a]&&(n&&(n+=" "),n+=a);return n}function ul(){for(var o,t,a=0,n="",l=arguments.length;a<l;a++)(o=arguments[a])&&(t=dl(o))&&(n&&(n+=" "),n+=t);return n}var sf={aliceblue:"9ehhb",antiquewhite:"9sgk7",aqua:"1ekf",aquamarine:"4zsno",azure:"9eiv3",beige:"9lhp8",bisque:"9zg04",black:"0",blanchedalmond:"9zhe5",blue:"73",blueviolet:"5e31e",brown:"6g016",burlywood:"8ouiv",cadetblue:"3qba8",chartreuse:"4zshs",chocolate:"87k0u",coral:"9yvyo",cornflowerblue:"3xael",cornsilk:"9zjz0",crimson:"8l4xo",cyan:"1ekf",darkblue:"3v",darkcyan:"rkb",darkgoldenrod:"776yz",darkgray:"6mbhl",darkgreen:"jr4",darkgrey:"6mbhl",darkkhaki:"7ehkb",darkmagenta:"5f91n",darkolivegreen:"3bzfz",darkorange:"9yygw",darkorchid:"5z6x8",darkred:"5f8xs",darksalmon:"9441m",darkseagreen:"5lwgf",darkslateblue:"2th1n",darkslategray:"1ugcv",darkslategrey:"1ugcv",darkturquoise:"14up",darkviolet:"5rw7n",deeppink:"9yavn",deepskyblue:"11xb",dimgray:"442g9",dimgrey:"442g9",dodgerblue:"16xof",firebrick:"6y7tu",floralwhite:"9zkds",forestgreen:"1cisi",fuchsia:"9y70f",gainsboro:"8m8kc",ghostwhite:"9pq0v",goldenrod:"8j4f4",gold:"9zda8",gray:"50i2o",green:"pa8",greenyellow:"6senj",grey:"50i2o",honeydew:"9eiuo",hotpink:"9yrp0",indianred:"80gnw",indigo:"2xcoy",ivory:"9zldc",khaki:"9edu4",lavenderblush:"9ziet",lavender:"90c8q",lawngreen:"4vk74",lemonchiffon:"9zkct",lightblue:"6s73a",lightcoral:"9dtog",lightcyan:"8s1rz",lightgoldenrodyellow:"9sjiq",lightgray:"89jo3",lightgreen:"5nkwg",lightgrey:"89jo3",lightpink:"9z6wx",lightsalmon:"9z2ii",lightseagreen:"19xgq",lightskyblue:"5arju",lightslategray:"4nwk9",lightslategrey:"4nwk9",lightsteelblue:"6wau6",lightyellow:"9zlcw",lime:"1edc",limegreen:"1zcxe",linen:"9shk6",magenta:"9y70f",maroon:"4zsow",mediumaquamarine:"40eju",mediumblue:"5p",mediumorchid:"79qkz",mediumpurple:"5r3rv",mediumseagreen:"2d9ip",mediumslateblue:"4tcku",mediumspringgreen:"1di2",mediumturquoise:"2uabw",mediumvioletred:"7rn9h",midnightblue:"z980",mintcream:"9ljp6",mistyrose:"9zg0x",moccasin:"9zfzp",navajowhite:"9zest",navy:"3k",oldlace:"9wq92",olive:"50hz4",olivedrab:"472ub",orange:"9z3eo",orangered:"9ykg0",orchid:"8iu3a",palegoldenrod:"9bl4a",palegreen:"5yw0o",paleturquoise:"6v4ku",palevioletred:"8k8lv",papayawhip:"9zi6t",peachpuff:"9ze0p",peru:"80oqn",pink:"9z8wb",plum:"8nba5",powderblue:"6wgdi",purple:"4zssg",rebeccapurple:"3zk49",red:"9y6tc",rosybrown:"7cv4f",royalblue:"2jvtt",saddlebrown:"5fmkz",salmon:"9rvci",sandybrown:"9jn1c",seagreen:"1tdnb",seashell:"9zje6",sienna:"6973h",silver:"7ir40",skyblue:"5arjf",slateblue:"45e4t",slategray:"4e100",slategrey:"4e100",snow:"9zke2",springgreen:"1egv",steelblue:"2r1kk",tan:"87yx8",teal:"pds",thistle:"8ggk8",tomato:"9yqfb",turquoise:"2j4r4",violet:"9b10u",wheat:"9ld4j",white:"9zldr",whitesmoke:"9lhpx",yellow:"9zl6o",yellowgreen:"61fzm"},lr=Math.round;function oi(o,t){const a=o.replace(/^[^(]*\((.*)/,"$1").replace(/\).*/,"").match(/\d*\.?\d+%?/g)||[],n=a.map(l=>parseFloat(l));for(let l=0;l<3;l+=1)n[l]=t(n[l]||0,a[l]||"",l);return a[3]?n[3]=a[3].includes("%")?n[3]/100:n[3]:n[3]=1,n}var cl=(o,t,a)=>a===0?o:o/100;function po(o,t){const a=t||255;return o>a?a:o<0?0:o}var Mo=class tf{isValid=!0;r=0;g=0;b=0;a=1;_h;_hsl_s;_hsv_s;_l;_v;_max;_min;_brightness;constructor(t){function a(l){return l[0]in t&&l[1]in t&&l[2]in t}if(t)if(typeof t=="string"){let d=function(u){return l.startsWith(u)};var n=d;const l=t.trim();if(/^#?[A-F\d]{3,8}$/i.test(l))this.fromHexString(l);else if(d("rgb"))this.fromRgbString(l);else if(d("hsl"))this.fromHslString(l);else if(d("hsv")||d("hsb"))this.fromHsvString(l);else{const u=sf[l.toLowerCase()];u&&this.fromHexString(parseInt(u,36).toString(16).padStart(6,"0"))}}else if(t instanceof tf)this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this._h=t._h,this._hsl_s=t._hsl_s,this._hsv_s=t._hsv_s,this._l=t._l,this._v=t._v;else if(a("rgb"))this.r=po(t.r),this.g=po(t.g),this.b=po(t.b),this.a=typeof t.a=="number"?po(t.a,1):1;else if(a("hsl"))this.fromHsl(t);else if(a("hsv"))this.fromHsv(t);else throw new Error("@ant-design/fast-color: unsupported input "+JSON.stringify(t))}setR(t){return this._sc("r",t)}setG(t){return this._sc("g",t)}setB(t){return this._sc("b",t)}setA(t){return this._sc("a",t,1)}setHue(t){const a=this.toHsv();return a.h=t,this._c(a)}getLuminance(){function t(d){const u=d/255;return u<=.03928?u/12.92:Math.pow((u+.055)/1.055,2.4)}const a=t(this.r),n=t(this.g),l=t(this.b);return .2126*a+.7152*n+.0722*l}getHue(){if(typeof this._h>"u"){const t=this.getMax()-this.getMin();t===0?this._h=0:this._h=lr(60*(this.r===this.getMax()?(this.g-this.b)/t+(this.g<this.b?6:0):this.g===this.getMax()?(this.b-this.r)/t+2:(this.r-this.g)/t+4))}return this._h}getSaturation(){return this.getHSVSaturation()}getHSVSaturation(){if(typeof this._hsv_s>"u"){const t=this.getMax()-this.getMin();t===0?this._hsv_s=0:this._hsv_s=t/this.getMax()}return this._hsv_s}getHSLSaturation(){if(typeof this._hsl_s>"u"){const t=this.getMax()-this.getMin();if(t===0)this._hsl_s=0;else{const a=this.getLightness();this._hsl_s=t/255/(1-Math.abs(2*a-1))}}return this._hsl_s}getLightness(){return typeof this._l>"u"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>"u"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>"u"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(t=10){const a=this.getHue(),n=this.getSaturation();let l=this.getLightness()-t/100;return l<0&&(l=0),this._c({h:a,s:n,l,a:this.a})}lighten(t=10){const a=this.getHue(),n=this.getSaturation();let l=this.getLightness()+t/100;return l>1&&(l=1),this._c({h:a,s:n,l,a:this.a})}mix(t,a=50){const n=this._c(t),l=a/100,d=c=>(n[c]-this[c])*l+this[c],u={r:lr(d("r")),g:lr(d("g")),b:lr(d("b")),a:lr(d("a")*100)/100};return this._c(u)}tint(t=10){return this.mix({r:255,g:255,b:255,a:1},t)}shade(t=10){return this.mix({r:0,g:0,b:0,a:1},t)}onBackground(t){const a=this._c(t),n=this.a+a.a*(1-this.a),l=d=>lr((this[d]*this.a+a[d]*a.a*(1-this.a))/n);return this._c({r:l("r"),g:l("g"),b:l("b"),a:n})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}clone(){return this._c(this)}toHexString(){let t="#";const a=(this.r||0).toString(16);t+=a.length===2?a:"0"+a;const n=(this.g||0).toString(16);t+=n.length===2?n:"0"+n;const l=(this.b||0).toString(16);if(t+=l.length===2?l:"0"+l,typeof this.a=="number"&&this.a>=0&&this.a<1){const d=lr(this.a*255).toString(16);t+=d.length===2?d:"0"+d}return t}toHsl(){return{h:this.getHue(),s:this.getHSLSaturation(),l:this.getLightness(),a:this.a}}toHslString(){const t=this.getHue(),a=lr(this.getHSLSaturation()*100),n=lr(this.getLightness()*100);return this.a!==1?`hsla(${t},${a}%,${n}%,${this.a})`:`hsl(${t},${a}%,${n}%)`}toHsv(){return{h:this.getHue(),s:this.getHSVSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?`rgba(${this.r},${this.g},${this.b},${this.a})`:`rgb(${this.r},${this.g},${this.b})`}toString(){return this.toRgbString()}_sc(t,a,n){const l=this.clone();return l[t]=po(a,n),l}_c(t){return new this.constructor(t)}getMax(){return typeof this._max>"u"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>"u"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(t){const a=t.replace("#","");function n(l,d){return parseInt(a[l]+a[d||l],16)}a.length<6?(this.r=n(0),this.g=n(1),this.b=n(2),this.a=a[3]?n(3)/255:1):(this.r=n(0,1),this.g=n(2,3),this.b=n(4,5),this.a=a[6]?n(6,7)/255:1)}fromHsl({h:t,s:a,l:n,a:l}){const d=(t%360+360)%360;if(this._h=d,this._hsl_s=a,this._l=n,this.a=typeof l=="number"?l:1,a<=0){const S=lr(n*255);this.r=S,this.g=S,this.b=S;return}let u=0,c=0,g=0;const m=d/60,v=(1-Math.abs(2*n-1))*a,y=v*(1-Math.abs(m%2-1));m>=0&&m<1?(u=v,c=y):m>=1&&m<2?(u=y,c=v):m>=2&&m<3?(c=v,g=y):m>=3&&m<4?(c=y,g=v):m>=4&&m<5?(u=y,g=v):m>=5&&m<6&&(u=v,g=y);const b=n-v/2;this.r=lr((u+b)*255),this.g=lr((c+b)*255),this.b=lr((g+b)*255)}fromHsv({h:t,s:a,v:n,a:l}){const d=(t%360+360)%360;this._h=d,this._hsv_s=a,this._v=n,this.a=typeof l=="number"?l:1;const u=lr(n*255);if(this.r=u,this.g=u,this.b=u,a<=0)return;const c=d/60,g=Math.floor(c),m=c-g,v=lr(n*(1-a)*255),y=lr(n*(1-a*m)*255),b=lr(n*(1-a*(1-m))*255);switch(g){case 0:this.g=b,this.b=v;break;case 1:this.r=y,this.b=v;break;case 2:this.r=v,this.b=b;break;case 3:this.r=v,this.g=y;break;case 4:this.r=b,this.g=v;break;default:this.g=v,this.b=y}}fromHsvString(t){const a=oi(t,cl);this.fromHsv({h:a[0],s:a[1],v:a[2],a:a[3]})}fromHslString(t){const a=oi(t,cl);this.fromHsl({h:a[0],s:a[1],l:a[2],a:a[3]})}fromRgbString(t){const a=oi(t,(n,l)=>l.includes("%")?lr(n/100*255):n);this.r=a[0],this.g=a[1],this.b=a[2],this.a=a[3]}},Bo=2,fl=.16,df=.05,uf=.05,cf=.15,ml=5,pl=4,ff=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function gl(o,t,a){let n;return Math.round(o.h)>=60&&Math.round(o.h)<=240?n=a?Math.round(o.h)-Bo*t:Math.round(o.h)+Bo*t:n=a?Math.round(o.h)+Bo*t:Math.round(o.h)-Bo*t,n<0?n+=360:n>=360&&(n-=360),n}function hl(o,t,a){if(o.h===0&&o.s===0)return o.s;let n;return a?n=o.s-fl*t:t===pl?n=o.s+fl:n=o.s+df*t,n>1&&(n=1),a&&t===ml&&n>.1&&(n=.1),n<.06&&(n=.06),Math.round(n*100)/100}function vl(o,t,a){let n;return a?n=o.v+uf*t:n=o.v-cf*t,n=Math.max(0,Math.min(1,n)),Math.round(n*100)/100}function mf(o,t={}){const a=[],n=new Mo(o),l=n.toHsv();for(let d=ml;d>0;d-=1){const u=new Mo({h:gl(l,d,!0),s:hl(l,d,!0),v:vl(l,d,!0)});a.push(u)}a.push(n);for(let d=1;d<=pl;d+=1){const u=new Mo({h:gl(l,d),s:hl(l,d),v:vl(l,d)});a.push(u)}return t.theme==="dark"?ff.map(({index:d,amount:u})=>new Mo(t.backgroundColor||"#141414").mix(a[d],u).toHexString()):a.map(d=>d.toHexString())}var yl=["#fff1f0","#ffccc7","#ffa39e","#ff7875","#ff4d4f","#f5222d","#cf1322","#a8071a","#820014","#5c0011"];yl.primary=yl[5];var bl=["#fff2e8","#ffd8bf","#ffbb96","#ff9c6e","#ff7a45","#fa541c","#d4380d","#ad2102","#871400","#610b00"];bl.primary=bl[5];var wl=["#fff7e6","#ffe7ba","#ffd591","#ffc069","#ffa940","#fa8c16","#d46b08","#ad4e00","#873800","#612500"];wl.primary=wl[5];var Cl=["#fffbe6","#fff1b8","#ffe58f","#ffd666","#ffc53d","#faad14","#d48806","#ad6800","#874d00","#613400"];Cl.primary=Cl[5];var Al=["#feffe6","#ffffb8","#fffb8f","#fff566","#ffec3d","#fadb14","#d4b106","#ad8b00","#876800","#614700"];Al.primary=Al[5];var Il=["#fcffe6","#f4ffb8","#eaff8f","#d3f261","#bae637","#a0d911","#7cb305","#5b8c00","#3f6600","#254000"];Il.primary=Il[5];var Fl=["#f6ffed","#d9f7be","#b7eb8f","#95de64","#73d13d","#52c41a","#389e0d","#237804","#135200","#092b00"];Fl.primary=Fl[5];var _l=["#e6fffb","#b5f5ec","#87e8de","#5cdbd3","#36cfc9","#13c2c2","#08979c","#006d75","#00474f","#002329"];_l.primary=_l[5];var ai=["#e6f4ff","#bae0ff","#91caff","#69b1ff","#4096ff","#1677ff","#0958d9","#003eb3","#002c8c","#001d66"];ai.primary=ai[5];var Sl=["#f0f5ff","#d6e4ff","#adc6ff","#85a5ff","#597ef7","#2f54eb","#1d39c4","#10239e","#061178","#030852"];Sl.primary=Sl[5];var zl=["#f9f0ff","#efdbff","#d3adf7","#b37feb","#9254de","#722ed1","#531dab","#391085","#22075e","#120338"];zl.primary=zl[5];var El=["#fff0f6","#ffd6e7","#ffadd2","#ff85c0","#f759ab","#eb2f96","#c41d7f","#9e1068","#780650","#520339"];El.primary=El[5];var Tl=["#a6a6a6","#999999","#8c8c8c","#808080","#737373","#666666","#404040","#1a1a1a","#000000","#000000"];Tl.primary=Tl[5];var kl=["#2a1215","#431418","#58181c","#791a1f","#a61d24","#d32029","#e84749","#f37370","#f89f9a","#fac8c3"];kl.primary=kl[5];var Rl=["#2b1611","#441d12","#592716","#7c3118","#aa3e19","#d84a1b","#e87040","#f3956a","#f8b692","#fad4bc"];Rl.primary=Rl[5];var xl=["#2b1d11","#442a11","#593815","#7c4a15","#aa6215","#d87a16","#e89a3c","#f3b765","#f8cf8d","#fae3b7"];xl.primary=xl[5];var Pl=["#2b2111","#443111","#594214","#7c5914","#aa7714","#d89614","#e8b339","#f3cc62","#f8df8b","#faedb5"];Pl.primary=Pl[5];var Ll=["#2b2611","#443b11","#595014","#7c6e14","#aa9514","#d8bd14","#e8d639","#f3ea62","#f8f48b","#fafab5"];Ll.primary=Ll[5];var Ul=["#1f2611","#2e3c10","#3e4f13","#536d13","#6f9412","#8bbb11","#a9d134","#c9e75d","#e4f88b","#f0fab5"];Ul.primary=Ul[5];var Nl=["#162312","#1d3712","#274916","#306317","#3c8618","#49aa19","#6abe39","#8fd460","#b2e58b","#d5f2bb"];Nl.primary=Nl[5];var Dl=["#112123","#113536","#144848","#146262","#138585","#13a8a8","#33bcb7","#58d1c9","#84e2d8","#b2f1e8"];Dl.primary=Dl[5];var jl=["#111a2c","#112545","#15325b","#15417e","#1554ad","#1668dc","#3c89e8","#65a9f3","#8dc5f8","#b7dcfa"];jl.primary=jl[5];var Ol=["#131629","#161d40","#1c2755","#203175","#263ea0","#2b4acb","#5273e0","#7f9ef3","#a8c1f8","#d2e0fa"];Ol.primary=Ol[5];var Ml=["#1a1325","#24163a","#301c4d","#3e2069","#51258f","#642ab5","#854eca","#ab7ae0","#cda8f0","#ebd7fa"];Ml.primary=Ml[5];var Bl=["#291321","#40162f","#551c3b","#75204f","#a02669","#cb2b83","#e0529c","#f37fb7","#f8a8cc","#fad2e3"];Bl.primary=Bl[5];var ql=["#151515","#1f1f1f","#2d2d2d","#393939","#494949","#5a5a5a","#6a6a6a","#7b7b7b","#888888","#969696"];ql.primary=ql[5];function Wl(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var aF=Wl()?F.useLayoutEffect:F.useEffect;function pf(){return{...F}.useId}var iF=pf();function gf(o,t,a){const n=F.useRef({});return(!("value"in n.current)||a(n.current.condition,t))&&(n.current.value=o(),n.current.condition=t),n.current.value}var hf=dt.__commonJSMin((o=>{})),vf=dt.__commonJSMin(((o,t)=>{t.exports=hf()})),nF=vf(),lF=Number(F.version.split(".")[0]),yf=(o,t)=>{typeof o=="function"?o(t):typeof o=="object"&&o&&"current"in o&&(o.current=t)},bf=(...o)=>{const t=o.filter(Boolean);return t.length<=1?t[0]:a=>{o.forEach(n=>{yf(n,a)})}},wf=(...o)=>gf(()=>bf(...o),o,(t,a)=>t.length!==a.length||t.every((n,l)=>n!==a[l]));function Cf(o,t){if(!o)return!1;if(o.contains)return o.contains(t);let a=t;for(;a;){if(a===o)return!0;a=a.parentNode}return!1}var Gl="data-rc-order",Hl="data-rc-priority",Af="rc-util-key",ii=new Map;function Vl({mark:o}={}){return o?o.startsWith("data-")?o:`data-${o}`:Af}function ni(o){return o.attachTo?o.attachTo:document.querySelector("head")||document.body}function If(o){return o==="queue"?"prependQueue":o?"prepend":"append"}function li(o){return Array.from((ii.get(o)||o).children).filter(t=>t.tagName==="STYLE")}function Kl(o,t={}){if(!Wl())return null;const{csp:a,prepend:n,priority:l=0}=t,d=If(n),u=d==="prependQueue",c=document.createElement("style");c.setAttribute(Gl,d),u&&l&&c.setAttribute(Hl,`${l}`),a?.nonce&&(c.nonce=a?.nonce),c.innerHTML=o;const g=ni(t),{firstChild:m}=g;if(n){if(u){const v=(t.styles||li(g)).filter(y=>{if(!["prepend","prependQueue"].includes(y.getAttribute(Gl)))return!1;const b=Number(y.getAttribute(Hl)||0);return l>=b});if(v.length)return g.insertBefore(c,v[v.length-1].nextSibling),c}g.insertBefore(c,m)}else g.appendChild(c);return c}function Ff(o,t={}){let{styles:a}=t;return a||=li(ni(t)),a.find(n=>n.getAttribute(Vl(t))===o)}function _f(o,t){const a=ii.get(o);if(!a||!Cf(document,a)){const n=Kl("",t),{parentNode:l}=n;ii.set(o,l),o.removeChild(n)}}function Sf(o,t,a={}){const n=ni(a),l=li(n),d={...a,styles:l};_f(n,d);const u=Ff(t,d);if(u)return d.csp?.nonce&&u.nonce!==d.csp?.nonce&&(u.nonce=d.csp?.nonce),u.innerHTML!==o&&(u.innerHTML=o),u;const c=Kl(o,d);return c.setAttribute(Vl(d),t),c}function $l(o){return o?.getRootNode?.()}function zf(o){return $l(o)instanceof ShadowRoot}function Ef(o){return zf(o)?$l(o):null}var si={},Tf=[],kf=o=>{Tf.push(o)};function Rf(o,t){}function xf(o,t){}function Pf(){si={}}function Ql(o,t,a){!t&&!si[a]&&(o(!1,a),si[a]=!0)}function qo(o,t){Ql(Rf,o,t)}function Lf(o,t){Ql(xf,o,t)}qo.preMessage=kf,qo.resetWarned=Pf,qo.noteOnce=Lf;var Uf=dt.__commonJSMin(((o,t)=>{t.exports=d,t.exports.isMobile=d,t.exports.default=d;var a=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|redmi|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,n=/CrOS/,l=/android|ipad|playbook|silk/i;function d(u){u||(u={});let c=u.ua;if(!c&&typeof navigator<"u"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers["user-agent"]=="string"&&(c=c.headers["user-agent"]),typeof c!="string")return!1;let g=a.test(c)&&!n.test(c)||!!u.tablet&&l.test(c);return!g&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf("Macintosh")!==-1&&c.indexOf("Safari")!==-1&&(g=!0),g}})),sF=dt.__toESM(Uf()),dF=`accept acceptCharset accessKey action allowFullScreen allowTransparency
|
|
2
|
+
alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge
|
|
3
|
+
charSet checked classID className colSpan cols content contentEditable contextMenu
|
|
4
|
+
controls coords crossOrigin data dateTime default defer dir disabled download draggable
|
|
5
|
+
encType form formAction formEncType formMethod formNoValidate formTarget frameBorder
|
|
6
|
+
headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity
|
|
7
|
+
is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media
|
|
8
|
+
mediaGroup method min minLength multiple muted name noValidate nonce open
|
|
9
|
+
optimum pattern placeholder poster preload radioGroup readOnly rel required
|
|
10
|
+
reversed role rowSpan rows sandbox scope scoped scrolling seamless selected
|
|
11
|
+
shape size sizes span spellCheck src srcDoc srcLang srcSet start step style
|
|
12
|
+
summary tabIndex target title type useMap value width wmode wrap onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown
|
|
13
|
+
onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick
|
|
14
|
+
onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown
|
|
15
|
+
onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel
|
|
16
|
+
onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough
|
|
17
|
+
onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata
|
|
18
|
+
onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`.split(/[\s\n]+/),Zl=o=>+setTimeout(o,16),Yl=o=>clearTimeout(o);typeof window<"u"&&"requestAnimationFrame"in window&&(Zl=o=>window.requestAnimationFrame(o),Yl=o=>window.cancelAnimationFrame(o));var Jl=0,di=new Map;function Xl(o){di.delete(o)}var Nf=(o,t=1)=>{Jl+=1;const a=Jl;function n(l){if(l===0)Xl(a),o();else{const d=Zl(()=>{n(l-1)});di.set(a,d)}}return n(t),a};Nf.cancel=o=>{const t=di.get(o);return Xl(o),Yl(t)};function Df(o){return o.replace(/-(.)/g,(t,a)=>a.toUpperCase())}function es(o,t){qo(o,`[@ant-design/icons] ${t}`)}function rs(o){return typeof o=="object"&&typeof o.name=="string"&&typeof o.theme=="string"&&(typeof o.icon=="object"||typeof o.icon=="function")}function ts(o={}){return Object.keys(o).reduce((t,a)=>{const n=o[a];return a==="class"?(t.className=n,delete t.class):(delete t[a],t[Df(a)]=n),t},{})}function ui(o,t,a){return a?F.default.createElement(o.tag,{key:t,...ts(o.attrs),...a},(o.children||[]).map((n,l)=>ui(n,`${t}-${o.tag}-${l}`))):F.default.createElement(o.tag,{key:t,...ts(o.attrs)},(o.children||[]).map((n,l)=>ui(n,`${t}-${o.tag}-${l}`)))}function os(o){return mf(o)[0]}function as(o){return o?Array.isArray(o)?o:[o]:[]}var jf={width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false"},Of=`
|
|
19
|
+
.anticon {
|
|
20
|
+
display: inline-flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
color: inherit;
|
|
23
|
+
font-style: normal;
|
|
24
|
+
line-height: 0;
|
|
25
|
+
text-align: center;
|
|
26
|
+
text-transform: none;
|
|
27
|
+
vertical-align: -0.125em;
|
|
28
|
+
text-rendering: optimizeLegibility;
|
|
29
|
+
-webkit-font-smoothing: antialiased;
|
|
30
|
+
-moz-osx-font-smoothing: grayscale;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.anticon > * {
|
|
34
|
+
line-height: 1;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.anticon svg {
|
|
38
|
+
display: inline-block;
|
|
39
|
+
vertical-align: inherit;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.anticon::before {
|
|
43
|
+
display: none;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.anticon .anticon-icon {
|
|
47
|
+
display: block;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.anticon[tabindex] {
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.anticon-spin {
|
|
55
|
+
-webkit-animation: loadingCircle 1s infinite linear;
|
|
56
|
+
animation: loadingCircle 1s infinite linear;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@-webkit-keyframes loadingCircle {
|
|
60
|
+
100% {
|
|
61
|
+
-webkit-transform: rotate(360deg);
|
|
62
|
+
transform: rotate(360deg);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@keyframes loadingCircle {
|
|
67
|
+
100% {
|
|
68
|
+
-webkit-transform: rotate(360deg);
|
|
69
|
+
transform: rotate(360deg);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
`,is=o=>{const{csp:t,prefixCls:a,layer:n}=(0,F.useContext)(ti);let l=Of;a&&(l=l.replace(/anticon/g,a)),n&&(l=`@layer ${n} {
|
|
73
|
+
${l}
|
|
74
|
+
}`),(0,F.useEffect)(()=>{const d=o.current,u=Ef(d);Sf(l,"@ant-design-icons",{prepend:!n,csp:t,attachTo:u})},[])},go={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function Mf({primaryColor:o,secondaryColor:t}){go.primaryColor=o,go.secondaryColor=t||os(o),go.calculated=!!t}function Bf(){return{...go}}var Ht=o=>{const{icon:t,className:a,onClick:n,style:l,primaryColor:d,secondaryColor:u,...c}=o,g=F.useRef(null);let m=go;if(d&&(m={primaryColor:d,secondaryColor:u||os(d)}),is(g),es(rs(t),`icon should be icon definiton, but got ${t}`),!rs(t))return null;let v=t;return v&&typeof v.icon=="function"&&(v={...v,icon:v.icon(m.primaryColor,m.secondaryColor)}),ui(v.icon,`svg-${v.name}`,{className:a,onClick:n,style:l,"data-icon":v.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",...c,ref:g})};Ht.displayName="IconReact",Ht.getTwoToneColors=Bf,Ht.setTwoToneColors=Mf;function ns(o){const[t,a]=as(o);return Ht.setTwoToneColors({primaryColor:t,secondaryColor:a})}function qf(){const o=Ht.getTwoToneColors();return o.calculated?[o.primaryColor,o.secondaryColor]:o.primaryColor}function ci(){return ci=Object.assign?Object.assign.bind():function(o){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(o[n]=a[n])}return o},ci.apply(this,arguments)}ns(ai.primary);var Wo=F.forwardRef((o,t)=>{const{className:a,icon:n,spin:l,rotate:d,tabIndex:u,onClick:c,twoToneColor:g,...m}=o,{prefixCls:v="anticon",rootClassName:y}=F.useContext(ti),b=ul(y,v,{[`${v}-${n.name}`]:!!n.name,[`${v}-spin`]:!!l||n.name==="loading"},a);let S=u;S===void 0&&c&&(S=-1);const A=d?{msTransform:`rotate(${d}deg)`,transform:`rotate(${d}deg)`}:void 0,[N,x]=as(g);return F.createElement("span",ci({role:"img","aria-label":n.name},m,{ref:t,tabIndex:S,onClick:c,className:b}),F.createElement(Ht,{icon:n,primaryColor:N,secondaryColor:x,style:A}))});Wo.getTwoToneColor=qf,Wo.setTwoToneColor=ns;var Wf=dt.__commonJSMin((o=>{Object.defineProperty(o,"__esModule",{value:!0});var t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"};o.default=t})),Gf=dt.__toESM(Wf());function fi(){return fi=Object.assign?Object.assign.bind():function(o){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(o[n]=a[n])}return o},fi.apply(this,arguments)}var Hf=(o,t)=>F.createElement(Wo,fi({},o,{ref:t,icon:Gf.default})),ls=F.forwardRef(Hf),Go="my_files",Vf="stock_images",Kf="icons",$f="image_codes",uF="editor",Qf="Trash",Zf="light",Yf="dark",Jf="(prefers-color-scheme: dark)",Xf={isPlugin:!1},em="ERROR",rm="https://api.giphy.com/v1/gifs",tm="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiBmaWxsPSIjRjVGNUY1Ii8+CjxwYXRoIGQ9Ik0yNCAzMkw0MCA0OEw1NiAzMkw2NCA0MEw2NCA2NEgyNFYzMloiIGZpbGw9IiNEOUQ5RDkiLz4KPC9zdmc+",mi=["jpg","jpeg","png","bmp","webp","svg","ico","tiff","tif"],om=["jpg","jpeg","png","bmp","webp","svg","ico","tiff","tif","gif"],ss=["jpg","jpeg","png","bmp","webp","svg","ico","tiff","tif","gif"],am={keywords:"",color:"",orientation:""},ut=o=>{if(!o)return"image/png";let t=o.toLowerCase();return t.includes("jpeg")||t.includes("jpg")||t.includes("pjpeg")?"image/jpeg":t.includes("png")?"image/png":t.includes("gif")?"image/gif":t.includes("webp")?"image/webp":t.includes("svg")?"image/svg+xml":"image/png"},ds=o=>{if(!o.startsWith("data:"))return null;let t=o.match(/^data:([^;,]+)/);return t?t[1]:null},pi=(o,t="image/png")=>{let a=t;if(typeof o=="string"&&o.startsWith("data:")){let n=ds(o);n&&n.startsWith("image/")&&(a=n)}return ut(a)},ct=o=>{let t=ut(o).split("/")[1];return t==="svg+xml"?"svg":t||"png"};function Ho(o){switch(o.trim().split(".").pop()?.toLowerCase()){case"svg":return"image/svg+xml";case"png":return"image/png";case"jpg":case"jpeg":return"image/jpeg";case"gif":return"image/gif";case"webp":return"image/webp";default:return}}function us(o){if(o.type?.startsWith?.("image/"))return!0;let t=(o.name??"").trim();if(Ho(t))return!0;let a=(o.type??"").toLowerCase();return a.includes("svg")?!0:a==="text/xml"||a==="application/xml"||a==="text/plain"?t.toLowerCase().endsWith(".svg"):!1}var im=/^data:(.+?);base64,(.+)$/i,nm=o=>{if(typeof globalThis.atob!="function")throw Error("Base64 decoding is not supported in the current environment.");return globalThis.atob(o)},lm=o=>{let t=nm(o),a=t.length,n=new Uint8Array(a);for(let l=0;l<a;l++)n[l]=t.charCodeAt(l);return n},cs=(o,t)=>{let a=lm(o.replace(/\s/g,"")),n=new ArrayBuffer(a.length);return new Uint8Array(n).set(a),new Blob([n],{type:t})},gi=(o,t="application/octet-stream")=>{if(o instanceof Blob)return o;if(typeof o=="string"){let a=o.trim(),n=a.match(im);if(n){let[,l,d]=n;return cs(d,l)}return cs(a,t)}throw Error("Unsupported data type. Expected Blob or base64 string.")},sm={а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"yo",ж:"zh",з:"z",и:"i",й:"y",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"h",ц:"ts",ч:"ch",ш:"sh",щ:"sch",ъ:"",ы:"y",ь:"",э:"e",ю:"yu",я:"ya",А:"A",Б:"B",В:"V",Г:"G",Д:"D",Е:"E",Ё:"Yo",Ж:"Zh",З:"Z",И:"I",Й:"Y",К:"K",Л:"L",М:"M",Н:"N",О:"O",П:"P",Р:"R",С:"S",Т:"T",У:"U",Ф:"F",Х:"H",Ц:"Ts",Ч:"Ch",Ш:"Sh",Щ:"Sch",Ъ:"",Ы:"Y",Ь:"",Э:"E",Ю:"Yu",Я:"Ya",і:"i",І:"I",ї:"yi",Ї:"Yi",є:"ye",Є:"Ye",ґ:"g",Ґ:"G",ў:"u",Ў:"U"},dm=/[^A-Za-z0-9._-]+/g,um=/[^A-Za-z0-9._ -]+/g,cm=/[̀-ͯ]/g,fm=/[<>:"/\\|?*()#\u0000-\u001f]/g,mm=/[\u2010-\u2015\u2212\uFE63\uFF0D]/g,pm=/[\u00D7\u2715\u2716\u2A2F]/g,gm=/[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/g,hm=/[\u00AD\u200B-\u200D\u2060\uFEFF]/g,vm=/[\u2018\u2019\u201A\u201B\u00AB\u00BB\u201C\u201D\u201E\u201F'"`]/g,ym=/[\u2022\u2044]/g;function bm(o){return o.replace(/\u2026/g,"...").replace(mm,"-").replace(pm,"x").replace(gm," ").replace(hm,"").replace(vm,"").replace(ym,"-").replace(/\u00B7/g,"-").replace(/\u00A9/g,"c").replace(/\u00AE/g,"r").replace(/\u2122/g,"tm").replace(/\./g,"-")}var fs={transliterate:!0,replaceSpaces:!0,removeForbiddenChars:!0,toLowerCase:!0};function wm(o){return o.normalize("NFC").split("").map(t=>sm[t]??t).join("")}function Cm(o){return o.transliterate?o.replaceSpaces?dm:um:fm}function ms(o,t){let a=o;return t.transliterate&&(a=wm(a)),a=a.normalize("NFKC"),a=bm(a),a=a.normalize("NFD").replace(cm,"").normalize("NFC"),t.replaceSpaces&&(a=a.replace(/\s+/g,"_")),t.removeForbiddenChars&&(a=a.replace(Cm(t),"_")),t.toLowerCase&&(a=a.toLowerCase()),a=a.replace(/_{2,}/g,"_"),a=a.replace(/^_+|_+$/g,""),a.length>255&&(a=a.substring(0,255)),a}function zt(o,t){let a={...fs,...t?.fileNameProcessing},n=o.lastIndexOf("."),l,d;return n>0?(l=o.substring(0,n),d=o.substring(n).toLowerCase()):(l=o,d=""),(ms(l,a)||"unnamed_file")+d}function hi(o,t){return ms(o,{...fs,...t?.folderNameProcessing})||"unnamed_folder"}function ho(o){return o?.dedupeUploadNamesOnClient===!0}var Vr,vi=nl.o((()=>{vi(),Vr=Vr===void 0?typeof self<"u"?self:typeof window<"u"?window:{}:Vr}));vi();function ps(){throw Error("setTimeout has not been defined")}function gs(){throw Error("clearTimeout has not been defined")}var ft=ps,mt=gs;typeof Vr.setTimeout=="function"&&(ft=setTimeout),typeof Vr.clearTimeout=="function"&&(mt=clearTimeout);function hs(o){if(ft===setTimeout)return setTimeout(o,0);if((ft===ps||!ft)&&setTimeout)return ft=setTimeout,setTimeout(o,0);try{return ft(o,0)}catch{try{return ft.call(null,o,0)}catch{return ft.call(this,o,0)}}}function Am(o){if(mt===clearTimeout)return clearTimeout(o);if((mt===gs||!mt)&&clearTimeout)return mt=clearTimeout,clearTimeout(o);try{return mt(o)}catch{try{return mt.call(null,o)}catch{return mt.call(this,o)}}}var et=[],Vt=!1,Et,Vo=-1;function Im(){Vt&&Et&&(Vt=!1,Et.length?et=Et.concat(et):Vo=-1,et.length&&vs())}function vs(){if(!Vt){var o=hs(Im);Vt=!0;for(var t=et.length;t;){for(Et=et,et=[];++Vo<t;)Et&&Et[Vo].run();Vo=-1,t=et.length}Et=null,Vt=!1,Am(o)}}function Fm(o){var t=Array(arguments.length-1);if(arguments.length>1)for(var a=1;a<arguments.length;a++)t[a-1]=arguments[a];et.push(new ys(o,t)),et.length===1&&!Vt&&hs(vs)}function ys(o,t){this.fun=o,this.array=t}ys.prototype.run=function(){this.fun.apply(null,this.array)};var _m="browser",Sm="browser",zm={},Em=[],Tm={},km={},Rm={};function Tt(){}var xm=Tt,Pm=Tt,Lm=Tt,Um=Tt,Nm=Tt,Dm=Tt,jm=Tt;function Om(o){throw Error("process.binding is not supported")}function Mm(){return"/"}function Bm(o){throw Error("process.chdir is not supported")}function qm(){return 0}var Kt=Vr.performance||{},Wm=Kt.now||Kt.mozNow||Kt.msNow||Kt.oNow||Kt.webkitNow||function(){return new Date().getTime()};function Gm(o){var t=Wm.call(Kt)*.001,a=Math.floor(t),n=Math.floor(t%1*1e9);return o&&(a-=o[0],n-=o[1],n<0&&(a--,n+=1e9)),[a,n]}var Hm=new Date;function Vm(){return(new Date-Hm)/1e3}var vo={nextTick:Fm,title:_m,browser:!0,env:zm,argv:Em,version:"",versions:Tm,on:xm,addListener:Pm,once:Lm,off:Um,removeListener:Nm,removeAllListeners:Dm,emit:jm,binding:Om,cwd:Mm,chdir:Bm,umask:qm,hrtime:Gm,platform:Sm,release:km,config:Rm,uptime:Vm},_e=o=>typeof o=="string",yo=()=>{let o,t,a=new Promise((n,l)=>{o=n,t=l});return a.resolve=o,a.reject=t,a},bs=o=>o==null?"":""+o,Km=(o,t,a)=>{o.forEach(n=>{t[n]&&(a[n]=t[n])})},$m=/###/g,ws=o=>o&&o.indexOf("###")>-1?o.replace($m,"."):o,Cs=o=>!o||_e(o),bo=(o,t,a)=>{let n=_e(t)?t.split("."):t,l=0;for(;l<n.length-1;){if(Cs(o))return{};let d=ws(n[l]);!o[d]&&a&&(o[d]=new a),o=Object.prototype.hasOwnProperty.call(o,d)?o[d]:{},++l}return Cs(o)?{}:{obj:o,k:ws(n[l])}},As=(o,t,a)=>{let{obj:n,k:l}=bo(o,t,Object);if(n!==void 0||t.length===1){n[l]=a;return}let d=t[t.length-1],u=t.slice(0,t.length-1),c=bo(o,u,Object);for(;c.obj===void 0&&u.length;)d=`${u[u.length-1]}.${d}`,u=u.slice(0,u.length-1),c=bo(o,u,Object),c?.obj&&c.obj[`${c.k}.${d}`]!==void 0&&(c.obj=void 0);c.obj[`${c.k}.${d}`]=a},Qm=(o,t,a,n)=>{let{obj:l,k:d}=bo(o,t,Object);l[d]=l[d]||[],l[d].push(a)},Ko=(o,t)=>{let{obj:a,k:n}=bo(o,t);if(a&&Object.prototype.hasOwnProperty.call(a,n))return a[n]},Zm=(o,t,a)=>{let n=Ko(o,a);return n===void 0?Ko(t,a):n},Is=(o,t,a)=>{for(let n in t)n!=="__proto__"&&n!=="constructor"&&(n in o?_e(o[n])||o[n]instanceof String||_e(t[n])||t[n]instanceof String?a&&(o[n]=t[n]):Is(o[n],t[n],a):o[n]=t[n]);return o},kt=o=>o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),Ym={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},Jm=o=>_e(o)?o.replace(/[&<>"'\/]/g,t=>Ym[t]):o,Xm=class{constructor(o){this.capacity=o,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(o){let t=this.regExpMap.get(o);if(t!==void 0)return t;let a=new RegExp(o);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(o,a),this.regExpQueue.push(o),a}},ep=[" ",",","?","!",";"],rp=new Xm(20),tp=(o,t,a)=>{t||="",a||="";let n=ep.filter(u=>t.indexOf(u)<0&&a.indexOf(u)<0);if(n.length===0)return!0;let l=rp.getRegExp(`(${n.map(u=>u==="?"?"\\?":u).join("|")})`),d=!l.test(o);if(!d){let u=o.indexOf(a);u>0&&!l.test(o.substring(0,u))&&(d=!0)}return d},yi=(o,t,a=".")=>{if(!o)return;if(o[t])return Object.prototype.hasOwnProperty.call(o,t)?o[t]:void 0;let n=t.split(a),l=o;for(let d=0;d<n.length;){if(!l||typeof l!="object")return;let u,c="";for(let g=d;g<n.length;++g)if(g!==d&&(c+=a),c+=n[g],u=l[c],u!==void 0){if(["string","number","boolean"].indexOf(typeof u)>-1&&g<n.length-1)continue;d+=g-d+1;break}l=u}return l},wo=o=>o?.replace(/_/g,"-"),op={type:"logger",log(o){this.output("log",o)},warn(o){this.output("warn",o)},error(o){this.output("error",o)},output(o,t){console?.[o]?.apply?.(console,t)}},Kr=new class il{constructor(t,a={}){this.init(t,a)}init(t,a={}){this.prefix=a.prefix||"i18next:",this.logger=t||op,this.options=a,this.debug=a.debug}log(...t){return this.forward(t,"log","",!0)}warn(...t){return this.forward(t,"warn","",!0)}error(...t){return this.forward(t,"error","")}deprecate(...t){return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(t,a,n,l){return l&&!this.debug?null:(_e(t[0])&&(t[0]=`${n}${this.prefix} ${t[0]}`),this.logger[a](t))}create(t){return new il(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t||=this.options,t.prefix=t.prefix||this.prefix,new il(this.logger,t)}},$o=class{constructor(){this.observers={}}on(o,t){return o.split(" ").forEach(a=>{this.observers[a]||(this.observers[a]=new Map);let n=this.observers[a].get(t)||0;this.observers[a].set(t,n+1)}),this}off(o,t){if(this.observers[o]){if(!t){delete this.observers[o];return}this.observers[o].delete(t)}}emit(o,...t){this.observers[o]&&Array.from(this.observers[o].entries()).forEach(([a,n])=>{for(let l=0;l<n;l++)a(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([a,n])=>{for(let l=0;l<n;l++)a.apply(a,[o,...t])})}},Fs=class extends $o{constructor(o,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=o||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(o){this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}removeNamespaces(o){let t=this.options.ns.indexOf(o);t>-1&&this.options.ns.splice(t,1)}getResource(o,t,a,n={}){let l=n.keySeparator===void 0?this.options.keySeparator:n.keySeparator,d=n.ignoreJSONStructure===void 0?this.options.ignoreJSONStructure:n.ignoreJSONStructure,u;o.indexOf(".")>-1?u=o.split("."):(u=[o,t],a&&(Array.isArray(a)?u.push(...a):_e(a)&&l?u.push(...a.split(l)):u.push(a)));let c=Ko(this.data,u);return!c&&!t&&!a&&o.indexOf(".")>-1&&(o=u[0],t=u[1],a=u.slice(2).join(".")),c||!d||!_e(a)?c:yi(this.data?.[o]?.[t],a,l)}addResource(o,t,a,n,l={silent:!1}){let d=l.keySeparator===void 0?this.options.keySeparator:l.keySeparator,u=[o,t];a&&(u=u.concat(d?a.split(d):a)),o.indexOf(".")>-1&&(u=o.split("."),n=t,t=u[1]),this.addNamespaces(t),As(this.data,u,n),l.silent||this.emit("added",o,t,a,n)}addResources(o,t,a,n={silent:!1}){for(let l in a)(_e(a[l])||Array.isArray(a[l]))&&this.addResource(o,t,l,a[l],{silent:!0});n.silent||this.emit("added",o,t,a)}addResourceBundle(o,t,a,n,l,d={silent:!1,skipCopy:!1}){let u=[o,t];o.indexOf(".")>-1&&(u=o.split("."),n=a,a=t,t=u[1]),this.addNamespaces(t);let c=Ko(this.data,u)||{};d.skipCopy||(a=JSON.parse(JSON.stringify(a))),n?Is(c,a,l):c={...c,...a},As(this.data,u,c),d.silent||this.emit("added",o,t,a)}removeResourceBundle(o,t){this.hasResourceBundle(o,t)&&delete this.data[o][t],this.removeNamespaces(t),this.emit("removed",o,t)}hasResourceBundle(o,t){return this.getResource(o,t)!==void 0}getResourceBundle(o,t){return t||=this.options.defaultNS,this.getResource(o,t)}getDataByLanguage(o){return this.data[o]}hasLanguageSomeTranslations(o){let t=this.getDataByLanguage(o);return!!(t&&Object.keys(t)||[]).find(a=>t[a]&&Object.keys(t[a]).length>0)}toJSON(){return this.data}},_s={processors:{},addPostProcessor(o){this.processors[o.name]=o},handle(o,t,a,n,l){return o.forEach(d=>{t=this.processors[d]?.process(t,a,n,l)??t}),t}},Ss=Symbol("i18next/PATH_KEY");function ap(){let o=[],t=Object.create(null),a;return t.get=(n,l)=>(a?.revoke?.(),l===Ss?o:(o.push(l),a=Proxy.revocable(n,t),a.proxy)),Proxy.revocable(Object.create(null),t).proxy}function $t(o,t){let{[Ss]:a}=o(ap()),n=t?.keySeparator??".",l=t?.nsSeparator??":";if(a.length>1&&l){let d=t?.ns,u=Array.isArray(d)?d:null;if(u&&u.length>1&&u.slice(1).includes(a[0]))return`${a[0]}${l}${a.slice(1).join(n)}`}return a.join(n)}var zs={},bi=o=>!_e(o)&&typeof o!="boolean"&&typeof o!="number",Es=class of extends $o{constructor(t,a={}){super(),Km(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=a,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Kr.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t,a={interpolation:{}}){let n={...a};if(t==null)return!1;let l=this.resolve(t,n);if(l?.res===void 0)return!1;let d=bi(l.res);return!(n.returnObjects===!1&&d)}extractFromKey(t,a){let n=a.nsSeparator===void 0?this.options.nsSeparator:a.nsSeparator;n===void 0&&(n=":");let l=a.keySeparator===void 0?this.options.keySeparator:a.keySeparator,d=a.ns||this.options.defaultNS||[],u=n&&t.indexOf(n)>-1,c=!this.options.userDefinedKeySeparator&&!a.keySeparator&&!this.options.userDefinedNsSeparator&&!a.nsSeparator&&!tp(t,n,l);if(u&&!c){let g=t.match(this.interpolator.nestingRegexp);if(g&&g.length>0)return{key:t,namespaces:_e(d)?[d]:d};let m=t.split(n);(n!==l||n===l&&this.options.ns.indexOf(m[0])>-1)&&(d=m.shift()),t=m.join(l)}return{key:t,namespaces:_e(d)?[d]:d}}translate(t,a,n){let l=typeof a=="object"?{...a}:a;if(typeof l!="object"&&this.options.overloadTranslationOptionHandler&&(l=this.options.overloadTranslationOptionHandler(arguments)),typeof l=="object"&&(l={...l}),l||={},t==null)return"";typeof t=="function"&&(t=$t(t,{...this.options,...l})),Array.isArray(t)||(t=[String(t)]),t=t.map(B=>typeof B=="function"?$t(B,{...this.options,...l}):String(B));let d=l.returnDetails===void 0?this.options.returnDetails:l.returnDetails,u=l.keySeparator===void 0?this.options.keySeparator:l.keySeparator,{key:c,namespaces:g}=this.extractFromKey(t[t.length-1],l),m=g[g.length-1],v=l.nsSeparator===void 0?this.options.nsSeparator:l.nsSeparator;v===void 0&&(v=":");let y=l.lng||this.language,b=l.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(y?.toLowerCase()==="cimode")return b?d?{res:`${m}${v}${c}`,usedKey:c,exactUsedKey:c,usedLng:y,usedNS:m,usedParams:this.getUsedParamsDetails(l)}:`${m}${v}${c}`:d?{res:c,usedKey:c,exactUsedKey:c,usedLng:y,usedNS:m,usedParams:this.getUsedParamsDetails(l)}:c;let S=this.resolve(t,l),A=S?.res,N=S?.usedKey||c,x=S?.exactUsedKey||c,Y=["[object Number]","[object Function]","[object RegExp]"],k=l.joinArrays===void 0?this.options.joinArrays:l.joinArrays,R=!this.i18nFormat||this.i18nFormat.handleAsObject,E=l.count!==void 0&&!_e(l.count),M=of.hasDefaultValue(l),D=E?this.pluralResolver.getSuffix(y,l.count,l):"",W=l.ordinal&&E?this.pluralResolver.getSuffix(y,l.count,{ordinal:!1}):"",Q=E&&!l.ordinal&&l.count===0,U=Q&&l[`defaultValue${this.options.pluralSeparator}zero`]||l[`defaultValue${D}`]||l[`defaultValue${W}`]||l.defaultValue,de=A;R&&!A&&M&&(de=U);let ge=bi(de),fe=Object.prototype.toString.apply(de);if(R&&de&&ge&&Y.indexOf(fe)<0&&!(_e(k)&&Array.isArray(de))){if(!l.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let B=this.options.returnedObjectHandler?this.options.returnedObjectHandler(N,de,{...l,ns:g}):`key '${c} (${this.language})' returned an object instead of string.`;return d?(S.res=B,S.usedParams=this.getUsedParamsDetails(l),S):B}if(u){let B=Array.isArray(de),V=B?[]:{},$=B?x:N;for(let G in de)if(Object.prototype.hasOwnProperty.call(de,G)){let ue=`${$}${u}${G}`;V[G]=M&&!A?this.translate(ue,{...l,defaultValue:bi(U)?U[G]:void 0,joinArrays:!1,ns:g}):this.translate(ue,{...l,joinArrays:!1,ns:g}),V[G]===ue&&(V[G]=de[G])}A=V}}else if(R&&_e(k)&&Array.isArray(A))A=A.join(k),A&&=this.extendTranslation(A,t,l,n);else{let B=!1,V=!1;!this.isValidLookup(A)&&M&&(B=!0,A=U),this.isValidLookup(A)||(V=!0,A=c);let $=(l.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&V?void 0:A,G=M&&U!==A&&this.options.updateMissing;if(V||B||G){if(this.logger.log(G?"updateKey":"missingKey",y,m,c,G?U:A),u){let me=this.resolve(c,{...l,keySeparator:!1});me&&me.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let ue=[],X=this.languageUtils.getFallbackCodes(this.options.fallbackLng,l.lng||this.language);if(this.options.saveMissingTo==="fallback"&&X&&X[0])for(let me=0;me<X.length;me++)ue.push(X[me]);else this.options.saveMissingTo==="all"?ue=this.languageUtils.toResolveHierarchy(l.lng||this.language):ue.push(l.lng||this.language);let ae=(me,ne,ee)=>{let he=M&&ee!==A?ee:$;this.options.missingKeyHandler?this.options.missingKeyHandler(me,m,ne,he,G,l):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(me,m,ne,he,G,l),this.emit("missingKey",me,m,ne,A)};this.options.saveMissing&&(this.options.saveMissingPlurals&&E?ue.forEach(me=>{let ne=this.pluralResolver.getSuffixes(me,l);Q&&l[`defaultValue${this.options.pluralSeparator}zero`]&&ne.indexOf(`${this.options.pluralSeparator}zero`)<0&&ne.push(`${this.options.pluralSeparator}zero`),ne.forEach(ee=>{ae([me],c+ee,l[`defaultValue${ee}`]||U)})}):ae(ue,c,U))}A=this.extendTranslation(A,t,l,S,n),V&&A===c&&this.options.appendNamespaceToMissingKey&&(A=`${m}${v}${c}`),(V||B)&&this.options.parseMissingKeyHandler&&(A=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${m}${v}${c}`:c,B?A:void 0,l))}return d?(S.res=A,S.usedParams=this.getUsedParamsDetails(l),S):A}extendTranslation(t,a,n,l,d){if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||l.usedLng,l.usedNS,l.usedKey,{resolved:l});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});let g=_e(t)&&(n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables),m;if(g){let y=t.match(this.interpolator.nestingRegexp);m=y&&y.length}let v=n.replace&&!_e(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(v={...this.options.interpolation.defaultVariables,...v}),t=this.interpolator.interpolate(t,v,n.lng||this.language||l.usedLng,n),g){let y=t.match(this.interpolator.nestingRegexp),b=y&&y.length;m<b&&(n.nest=!1)}!n.lng&&l&&l.res&&(n.lng=this.language||l.usedLng),n.nest!==!1&&(t=this.interpolator.nest(t,(...y)=>d?.[0]===y[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${y[0]} in key: ${a[0]}`),null):this.translate(...y,a),n)),n.interpolation&&this.interpolator.reset()}let u=n.postProcess||this.options.postProcess,c=_e(u)?[u]:u;return t!=null&&c?.length&&n.applyPostProcessor!==!1&&(t=_s.handle(c,t,a,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...l,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),t}resolve(t,a={}){let n,l,d,u,c;return _e(t)&&(t=[t]),Array.isArray(t)&&(t=t.map(g=>typeof g=="function"?$t(g,{...this.options,...a}):g)),t.forEach(g=>{if(this.isValidLookup(n))return;let m=this.extractFromKey(g,a),v=m.key;l=v;let y=m.namespaces;this.options.fallbackNS&&(y=y.concat(this.options.fallbackNS));let b=a.count!==void 0&&!_e(a.count),S=b&&!a.ordinal&&a.count===0,A=a.context!==void 0&&(_e(a.context)||typeof a.context=="number")&&a.context!=="",N=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);y.forEach(x=>{this.isValidLookup(n)||(c=x,!zs[`${N[0]}-${x}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(c)&&(zs[`${N[0]}-${x}`]=!0,this.logger.warn(`key "${l}" for languages "${N.join(", ")}" won't get resolved as namespace "${c}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),N.forEach(Y=>{if(this.isValidLookup(n))return;u=Y;let k=[v];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(k,v,Y,x,a);else{let E;b&&(E=this.pluralResolver.getSuffix(Y,a.count,a));let M=`${this.options.pluralSeparator}zero`,D=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(b&&(a.ordinal&&E.indexOf(D)===0&&k.push(v+E.replace(D,this.options.pluralSeparator)),k.push(v+E),S&&k.push(v+M)),A){let W=`${v}${this.options.contextSeparator||"_"}${a.context}`;k.push(W),b&&(a.ordinal&&E.indexOf(D)===0&&k.push(W+E.replace(D,this.options.pluralSeparator)),k.push(W+E),S&&k.push(W+M))}}let R;for(;R=k.pop();)this.isValidLookup(n)||(d=R,n=this.getResource(Y,x,R,a))}))})}),{res:n,usedKey:l,exactUsedKey:d,usedLng:u,usedNS:c}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,a,n,l={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(t,a,n,l):this.resourceStore.getResource(t,a,n,l)}getUsedParamsDetails(t={}){let a=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],n=t.replace&&!_e(t.replace),l=n?t.replace:t;if(n&&t.count!==void 0&&(l.count=t.count),this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),!n){l={...l};for(let d of a)delete l[d]}return l}static hasDefaultValue(t){for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)&&a.substring(0,12)==="defaultValue"&&t[a]!==void 0)return!0;return!1}},Ts=class{constructor(o){this.options=o,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Kr.create("languageUtils")}getScriptPartFromCode(o){if(o=wo(o),!o||o.indexOf("-")<0)return null;let t=o.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(o){if(o=wo(o),!o||o.indexOf("-")<0)return o;let t=o.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(o){if(_e(o)&&o.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(o)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?o.toLowerCase():o)}return this.options.cleanCode||this.options.lowerCaseLng?o.toLowerCase():o}isSupportedCode(o){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(o=this.getLanguagePartFromCode(o)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(o)>-1}getBestMatchFromCodes(o){if(!o)return null;let t;return o.forEach(a=>{if(t)return;let n=this.formatLanguageCode(a);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&o.forEach(a=>{if(t)return;let n=this.getScriptPartFromCode(a);if(this.isSupportedCode(n))return t=n;let l=this.getLanguagePartFromCode(a);if(this.isSupportedCode(l))return t=l;t=this.options.supportedLngs.find(d=>{if(d===l||!(d.indexOf("-")<0&&l.indexOf("-")<0)&&(d.indexOf("-")>0&&l.indexOf("-")<0&&d.substring(0,d.indexOf("-"))===l||d.indexOf(l)===0&&l.length>1))return d})}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(o,t){if(!o)return[];if(typeof o=="function"&&(o=o(t)),_e(o)&&(o=[o]),Array.isArray(o))return o;if(!t)return o.default||[];let a=o[t];return a||=o[this.getScriptPartFromCode(t)],a||=o[this.formatLanguageCode(t)],a||=o[this.getLanguagePartFromCode(t)],a||=o.default,a||[]}toResolveHierarchy(o,t){let a=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],o),n=[],l=d=>{d&&(this.isSupportedCode(d)?n.push(d):this.logger.warn(`rejecting language code not found in supportedLngs: ${d}`))};return _e(o)&&(o.indexOf("-")>-1||o.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&l(this.formatLanguageCode(o)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&l(this.getScriptPartFromCode(o)),this.options.load!=="currentOnly"&&l(this.getLanguagePartFromCode(o))):_e(o)&&l(this.formatLanguageCode(o)),a.forEach(d=>{n.indexOf(d)<0&&l(this.formatLanguageCode(d))}),n}},ks={zero:0,one:1,two:2,few:3,many:4,other:5},Rs={select:o=>o===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},ip=class{constructor(o,t={}){this.languageUtils=o,this.options=t,this.logger=Kr.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(o,t={}){let a=wo(o==="dev"?"en":o),n=t.ordinal?"ordinal":"cardinal",l=JSON.stringify({cleanedCode:a,type:n});if(l in this.pluralRulesCache)return this.pluralRulesCache[l];let d;try{d=new Intl.PluralRules(a,{type:n})}catch{if(typeof Intl>"u")return this.logger.error("No Intl support, please use an Intl polyfill!"),Rs;if(!o.match(/-|_/))return Rs;let u=this.languageUtils.getLanguagePartFromCode(o);d=this.getRule(u,t)}return this.pluralRulesCache[l]=d,d}needsPlural(o,t={}){let a=this.getRule(o,t);return a||=this.getRule("dev",t),a?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(o,t,a={}){return this.getSuffixes(o,a).map(n=>`${t}${n}`)}getSuffixes(o,t={}){let a=this.getRule(o,t);return a||=this.getRule("dev",t),a?a.resolvedOptions().pluralCategories.sort((n,l)=>ks[n]-ks[l]).map(n=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${n}`):[]}getSuffix(o,t,a={}){let n=this.getRule(o,a);return n?`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:(this.logger.warn(`no plural rule found for: ${o}`),this.getSuffix("dev",t,a))}},xs=(o,t,a,n=".",l=!0)=>{let d=Zm(o,t,a);return!d&&l&&_e(a)&&(d=yi(o,a,n),d===void 0&&(d=yi(t,a,n))),d},wi=o=>o.replace(/\$/g,"$$$$"),Ps=class{constructor(o={}){this.logger=Kr.create("interpolator"),this.options=o,this.format=o?.interpolation?.format||(t=>t),this.init(o)}init(o={}){o.interpolation||={escapeValue:!0};let{escape:t,escapeValue:a,useRawValueToEscape:n,prefix:l,prefixEscaped:d,suffix:u,suffixEscaped:c,formatSeparator:g,unescapeSuffix:m,unescapePrefix:v,nestingPrefix:y,nestingPrefixEscaped:b,nestingSuffix:S,nestingSuffixEscaped:A,nestingOptionsSeparator:N,maxReplaces:x,alwaysFormat:Y}=o.interpolation;this.escape=t===void 0?Jm:t,this.escapeValue=a===void 0||a,this.useRawValueToEscape=n!==void 0&&n,this.prefix=l?kt(l):d||"{{",this.suffix=u?kt(u):c||"}}",this.formatSeparator=g||",",this.unescapePrefix=m?"":v||"-",this.unescapeSuffix=this.unescapePrefix?"":m||"",this.nestingPrefix=y?kt(y):b||kt("$t("),this.nestingSuffix=S?kt(S):A||kt(")"),this.nestingOptionsSeparator=N||",",this.maxReplaces=x||1e3,this.alwaysFormat=Y!==void 0&&Y,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let o=(t,a)=>t?.source===a?(t.lastIndex=0,t):new RegExp(a,"g");this.regexp=o(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=o(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=o(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(o,t,a,n){let l,d,u,c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},g=y=>{if(y.indexOf(this.formatSeparator)<0){let N=xs(t,c,y,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(N,void 0,a,{...n,...t,interpolationkey:y}):N}let b=y.split(this.formatSeparator),S=b.shift().trim(),A=b.join(this.formatSeparator).trim();return this.format(xs(t,c,S,this.options.keySeparator,this.options.ignoreJSONStructure),A,a,{...n,...t,interpolationkey:S})};this.resetRegExp();let m=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,v=n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:y=>wi(y)},{regex:this.regexp,safeValue:y=>this.escapeValue?wi(this.escape(y)):wi(y)}].forEach(y=>{for(u=0;l=y.regex.exec(o);){let b=l[1].trim();if(d=g(b),d===void 0)if(typeof m=="function"){let A=m(o,l,n);d=_e(A)?A:""}else if(n&&Object.prototype.hasOwnProperty.call(n,b))d="";else if(v){d=l[0];continue}else this.logger.warn(`missed to pass in variable ${b} for interpolating ${o}`),d="";else!_e(d)&&!this.useRawValueToEscape&&(d=bs(d));let S=y.safeValue(d);if(o=o.replace(l[0],S),v?(y.regex.lastIndex+=d.length,y.regex.lastIndex-=l[0].length):y.regex.lastIndex=0,u++,u>=this.maxReplaces)break}}),o}nest(o,t,a={}){let n,l,d,u=(c,g)=>{let m=this.nestingOptionsSeparator;if(c.indexOf(m)<0)return c;let v=c.split(RegExp(`${kt(m)}[ ]*{`)),y=`{${v[1]}`;c=v[0],y=this.interpolate(y,d);let b=y.match(/'/g),S=y.match(/"/g);((b?.length??0)%2==0&&!S||(S?.length??0)%2!=0)&&(y=y.replace(/'/g,'"'));try{d=JSON.parse(y),g&&(d={...g,...d})}catch(A){return this.logger.warn(`failed parsing options string in nesting for key ${c}`,A),`${c}${m}${y}`}return d.defaultValue&&d.defaultValue.indexOf(this.prefix)>-1&&delete d.defaultValue,c};for(;n=this.nestingRegexp.exec(o);){let c=[];d={...a},d=d.replace&&!_e(d.replace)?d.replace:d,d.applyPostProcessor=!1,delete d.defaultValue;let g=/{.*}/.test(n[1])?n[1].lastIndexOf("}")+1:n[1].indexOf(this.formatSeparator);if(g!==-1&&(c=n[1].slice(g).split(this.formatSeparator).map(m=>m.trim()).filter(Boolean),n[1]=n[1].slice(0,g)),l=t(u.call(this,n[1].trim(),d),d),l&&n[0]===o&&!_e(l))return l;_e(l)||(l=bs(l)),l||=(this.logger.warn(`missed to resolve ${n[1]} for nesting ${o}`),""),c.length&&(l=c.reduce((m,v)=>this.format(m,v,a.lng,{...a,interpolationkey:n[1].trim()}),l.trim())),o=o.replace(n[0],l),this.regexp.lastIndex=0}return o}},np=o=>{let t=o.toLowerCase().trim(),a={};if(o.indexOf("(")>-1){let n=o.split("(");t=n[0].toLowerCase().trim();let l=n[1].substring(0,n[1].length-1);t==="currency"&&l.indexOf(":")<0?a.currency||=l.trim():t==="relativetime"&&l.indexOf(":")<0?a.range||=l.trim():l.split(";").forEach(d=>{if(d){let[u,...c]=d.split(":"),g=c.join(":").trim().replace(/^'+|'+$/g,""),m=u.trim();a[m]||(a[m]=g),g==="false"&&(a[m]=!1),g==="true"&&(a[m]=!0),isNaN(g)||(a[m]=parseInt(g,10))}})}return{formatName:t,formatOptions:a}},Ls=o=>{let t={};return(a,n,l)=>{let d=l;l&&l.interpolationkey&&l.formatParams&&l.formatParams[l.interpolationkey]&&l[l.interpolationkey]&&(d={...d,[l.interpolationkey]:void 0});let u=n+JSON.stringify(d),c=t[u];return c||(c=o(wo(n),l),t[u]=c),c(a)}},lp=o=>(t,a,n)=>o(wo(a),n)(t),sp=class{constructor(o={}){this.logger=Kr.create("formatter"),this.options=o,this.init(o)}init(o,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let a=t.cacheInBuiltFormats?Ls:lp;this.formats={number:a((n,l)=>{let d=new Intl.NumberFormat(n,{...l});return u=>d.format(u)}),currency:a((n,l)=>{let d=new Intl.NumberFormat(n,{...l,style:"currency"});return u=>d.format(u)}),datetime:a((n,l)=>{let d=new Intl.DateTimeFormat(n,{...l});return u=>d.format(u)}),relativetime:a((n,l)=>{let d=new Intl.RelativeTimeFormat(n,{...l});return u=>d.format(u,l.range||"day")}),list:a((n,l)=>{let d=new Intl.ListFormat(n,{...l});return u=>d.format(u)})}}add(o,t){this.formats[o.toLowerCase().trim()]=t}addCached(o,t){this.formats[o.toLowerCase().trim()]=Ls(t)}format(o,t,a,n={}){let l=t.split(this.formatSeparator);if(l.length>1&&l[0].indexOf("(")>1&&l[0].indexOf(")")<0&&l.find(d=>d.indexOf(")")>-1)){let d=l.findIndex(u=>u.indexOf(")")>-1);l[0]=[l[0],...l.splice(1,d)].join(this.formatSeparator)}return l.reduce((d,u)=>{let{formatName:c,formatOptions:g}=np(u);if(this.formats[c]){let m=d;try{let v=n?.formatParams?.[n.interpolationkey]||{},y=v.locale||v.lng||n.locale||n.lng||a;m=this.formats[c](d,y,{...g,...n,...v})}catch(v){this.logger.warn(v)}return m}return this.logger.warn(`there was no format function for ${c}`),d},o)}},dp=(o,t)=>{o.pending[t]!==void 0&&(delete o.pending[t],o.pendingCount--)},up=class extends $o{constructor(o,t,a,n={}){super(),this.backend=o,this.store=t,this.services=a,this.languageUtils=a.languageUtils,this.options=n,this.logger=Kr.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(a,n.backend,n)}queueLoad(o,t,a,n){let l={},d={},u={},c={};return o.forEach(g=>{let m=!0;t.forEach(v=>{let y=`${g}|${v}`;!a.reload&&this.store.hasResourceBundle(g,v)?this.state[y]=2:this.state[y]<0||(this.state[y]===1?d[y]===void 0&&(d[y]=!0):(this.state[y]=1,m=!1,d[y]===void 0&&(d[y]=!0),l[y]===void 0&&(l[y]=!0),c[v]===void 0&&(c[v]=!0)))}),m||(u[g]=!0)}),(Object.keys(l).length||Object.keys(d).length)&&this.queue.push({pending:d,pendingCount:Object.keys(d).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(l),pending:Object.keys(d),toLoadLanguages:Object.keys(u),toLoadNamespaces:Object.keys(c)}}loaded(o,t,a){let n=o.split("|"),l=n[0],d=n[1];t&&this.emit("failedLoading",l,d,t),!t&&a&&this.store.addResourceBundle(l,d,a,void 0,void 0,{skipCopy:!0}),this.state[o]=t?-1:2,t&&a&&(this.state[o]=0);let u={};this.queue.forEach(c=>{Qm(c.loaded,[l],d),dp(c,o),t&&c.errors.push(t),c.pendingCount===0&&!c.done&&(Object.keys(c.loaded).forEach(g=>{u[g]||(u[g]={});let m=c.loaded[g];m.length&&m.forEach(v=>{u[g][v]===void 0&&(u[g][v]=!0)})}),c.done=!0,c.errors.length?c.callback(c.errors):c.callback())}),this.emit("loaded",u),this.queue=this.queue.filter(c=>!c.done)}read(o,t,a,n=0,l=this.retryTimeout,d){if(!o.length)return d(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:o,ns:t,fcName:a,tried:n,wait:l,callback:d});return}this.readingCalls++;let u=(g,m)=>{if(this.readingCalls--,this.waitingReads.length>0){let v=this.waitingReads.shift();this.read(v.lng,v.ns,v.fcName,v.tried,v.wait,v.callback)}if(g&&m&&n<this.maxRetries){setTimeout(()=>{this.read.call(this,o,t,a,n+1,l*2,d)},l);return}d(g,m)},c=this.backend[a].bind(this.backend);if(c.length===2){try{let g=c(o,t);g&&typeof g.then=="function"?g.then(m=>u(null,m)).catch(u):u(null,g)}catch(g){u(g)}return}return c(o,t,u)}prepareLoading(o,t,a={},n){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();_e(o)&&(o=this.languageUtils.toResolveHierarchy(o)),_e(t)&&(t=[t]);let l=this.queueLoad(o,t,a,n);if(!l.toLoad.length)return l.pending.length||n(),null;l.toLoad.forEach(d=>{this.loadOne(d)})}load(o,t,a){this.prepareLoading(o,t,{},a)}reload(o,t,a){this.prepareLoading(o,t,{reload:!0},a)}loadOne(o,t=""){let a=o.split("|"),n=a[0],l=a[1];this.read(n,l,"read",void 0,void 0,(d,u)=>{d&&this.logger.warn(`${t}loading namespace ${l} for language ${n} failed`,d),!d&&u&&this.logger.log(`${t}loaded namespace ${l} for language ${n}`,u),this.loaded(o,d,u)})}saveMissing(o,t,a,n,l,d={},u=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${a}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(a!=null&&a!==""){if(this.backend?.create){let c={...d,isUpdate:l},g=this.backend.create.bind(this.backend);if(g.length<6)try{let m;m=g.length===5?g(o,t,a,n,c):g(o,t,a,n),m&&typeof m.then=="function"?m.then(v=>u(null,v)).catch(u):u(null,m)}catch(m){u(m)}else g(o,t,a,n,u,c)}o&&o[0]&&this.store.addResource(o[0],t,a,n)}}},Ci=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:o=>{let t={};if(typeof o[1]=="object"&&(t=o[1]),_e(o[1])&&(t.defaultValue=o[1]),_e(o[2])&&(t.tDescription=o[2]),typeof o[2]=="object"||typeof o[3]=="object"){let a=o[3]||o[2];Object.keys(a).forEach(n=>{t[n]=a[n]})}return t},interpolation:{escapeValue:!0,format:o=>o,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Us=o=>(_e(o.ns)&&(o.ns=[o.ns]),_e(o.fallbackLng)&&(o.fallbackLng=[o.fallbackLng]),_e(o.fallbackNS)&&(o.fallbackNS=[o.fallbackNS]),o.supportedLngs?.indexOf?.("cimode")<0&&(o.supportedLngs=o.supportedLngs.concat(["cimode"])),typeof o.initImmediate=="boolean"&&(o.initAsync=o.initImmediate),o),Qo=()=>{},cp=o=>{Object.getOwnPropertyNames(Object.getPrototypeOf(o)).forEach(t=>{typeof o[t]=="function"&&(o[t]=o[t].bind(o))})},Ns="__i18next_supportNoticeShown",fp=()=>typeof globalThis<"u"&&globalThis[Ns]||vo!==void 0&&vo.env&&vo.env.I18NEXT_NO_SUPPORT_NOTICE?!0:(vo!==void 0&&vo.env,!1),mp=()=>{typeof globalThis<"u"&&(globalThis[Ns]=!0)},pp=o=>!!(o?.modules?.backend?.name?.indexOf("Locize")>0||o?.modules?.backend?.constructor?.name?.indexOf("Locize")>0||o?.options?.backend?.backends&&o.options.backend.backends.some(t=>t?.name?.indexOf("Locize")>0||t?.constructor?.name?.indexOf("Locize")>0)||o?.options?.backend?.projectId||o?.options?.backend?.backendOptions&&o.options.backend.backendOptions.some(t=>t?.projectId)),mr=class Ja extends $o{constructor(t={},a){if(super(),this.options=Us(t),this.services={},this.logger=Kr,this.modules={external:[]},cp(this),a&&!this.isInitialized&&!t.isClone){if(!this.options.initAsync)return this.init(t,a),this;setTimeout(()=>{this.init(t,a)},0)}}init(t={},a){this.isInitializing=!0,typeof t=="function"&&(a=t,t={}),t.defaultNS==null&&t.ns&&(_e(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));let n=Ci();this.options={...n,...this.options,...Us(t)},this.options.interpolation={...n.interpolation,...this.options.interpolation},t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler),this.options.showSupportNotice!==!1&&!pp(this)&&!fp()&&(typeof console<"u",mp());let l=c=>c?typeof c=="function"?new c:c:null;if(!this.options.isClone){this.modules.logger?Kr.init(l(this.modules.logger),this.options):Kr.init(null,this.options);let c;c=this.modules.formatter?this.modules.formatter:sp;let g=new Ts(this.options);this.store=new Fs(this.options.resources,this.options);let m=this.services;m.logger=Kr,m.resourceStore=this.store,m.languageUtils=g,m.pluralResolver=new ip(g,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),c&&(!this.options.interpolation.format||this.options.interpolation.format===n.interpolation.format)&&(m.formatter=l(c),m.formatter.init&&m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new Ps(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new up(l(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",(v,...y)=>{this.emit(v,...y)}),this.modules.languageDetector&&(m.languageDetector=l(this.modules.languageDetector),m.languageDetector.init&&m.languageDetector.init(m,this.options.detection,this.options)),this.modules.i18nFormat&&(m.i18nFormat=l(this.modules.i18nFormat),m.i18nFormat.init&&m.i18nFormat.init(this)),this.translator=new Es(this.services,this.options),this.translator.on("*",(v,...y)=>{this.emit(v,...y)}),this.modules.external.forEach(v=>{v.init&&v.init(this)})}if(this.format=this.options.interpolation.format,a||=Qo,this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=(...g)=>this.store[c](...g)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=(...g)=>(this.store[c](...g),this)});let d=yo(),u=()=>{let c=(g,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),d.resolve(m),a(g,m)};if(this.languages&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initAsync?u():setTimeout(u,0),d}loadResources(t,a=Qo){let n=a,l=_e(t)?t:this.language;if(typeof t=="function"&&(n=t),!this.options.resources||this.options.partialBundledLanguages){if(l?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return n();let d=[],u=c=>{c&&c!=="cimode"&&this.services.languageUtils.toResolveHierarchy(c).forEach(g=>{g!=="cimode"&&d.indexOf(g)<0&&d.push(g)})};l?u(l):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(c=>u(c)),this.options.preload?.forEach?.(c=>u(c)),this.services.backendConnector.load(d,this.options.ns,c=>{!c&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(c)})}else n(null)}reloadResources(t,a,n){let l=yo();return typeof t=="function"&&(n=t,t=void 0),typeof a=="function"&&(n=a,a=void 0),t||=this.languages,a||=this.options.ns,n||=Qo,this.services.backendConnector.reload(t,a,d=>{l.resolve(),n(d)}),l}use(t){if(!t)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&_s.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(t&&this.languages&&!(["cimode","dev"].indexOf(t)>-1)){for(let a=0;a<this.languages.length;a++){let n=this.languages[a];if(!(["cimode","dev"].indexOf(n)>-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}!this.resolvedLanguage&&this.languages.indexOf(t)<0&&this.store.hasLanguageSomeTranslations(t)&&(this.resolvedLanguage=t,this.languages.unshift(t))}}changeLanguage(t,a){this.isLanguageChangingTo=t;let n=yo();this.emit("languageChanging",t);let l=c=>{this.language=c,this.languages=this.services.languageUtils.toResolveHierarchy(c),this.resolvedLanguage=void 0,this.setResolvedLanguage(c)},d=(c,g)=>{g?this.isLanguageChangingTo===t&&(l(g),this.translator.changeLanguage(g),this.isLanguageChangingTo=void 0,this.emit("languageChanged",g),this.logger.log("languageChanged",g)):this.isLanguageChangingTo=void 0,n.resolve((...m)=>this.t(...m)),a&&a(c,(...m)=>this.t(...m))},u=c=>{!t&&!c&&this.services.languageDetector&&(c=[]);let g=_e(c)?c:c&&c[0],m=this.store.hasLanguageSomeTranslations(g)?g:this.services.languageUtils.getBestMatchFromCodes(_e(c)?[c]:c);m&&(this.language||l(m),this.translator.language||this.translator.changeLanguage(m),this.services.languageDetector?.cacheUserLanguage?.(m)),this.loadResources(m,v=>{d(v,m)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?u(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(u):this.services.languageDetector.detect(u):u(t),n}getFixedT(t,a,n){let l=(d,u,...c)=>{let g;g=typeof u=="object"?{...u}:this.options.overloadTranslationOptionHandler([d,u].concat(c)),g.lng=g.lng||l.lng,g.lngs=g.lngs||l.lngs,g.ns=g.ns||l.ns,g.keyPrefix!==""&&(g.keyPrefix=g.keyPrefix||n||l.keyPrefix);let m={...this.options,...g};typeof g.keyPrefix=="function"&&(g.keyPrefix=$t(g.keyPrefix,m));let v=this.options.keySeparator||".",y;return g.keyPrefix&&Array.isArray(d)?y=d.map(b=>(typeof b=="function"&&(b=$t(b,m)),`${g.keyPrefix}${v}${b}`)):(typeof d=="function"&&(d=$t(d,m)),y=g.keyPrefix?`${g.keyPrefix}${v}${d}`:d),this.t(y,g)};return _e(t)?l.lng=t:l.lngs=t,l.ns=a,l.keyPrefix=n,l}t(...t){return this.translator?.translate(...t)}exists(...t){return this.translator?.exists(...t)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t,a={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;let n=a.lng||this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,d=this.languages[this.languages.length-1];if(n.toLowerCase()==="cimode")return!0;let u=(c,g)=>{let m=this.services.backendConnector.state[`${c}|${g}`];return m===-1||m===0||m===2};if(a.precheck){let c=a.precheck(this,u);if(c!==void 0)return c}return!!(this.hasResourceBundle(n,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||u(n,t)&&(!l||u(d,t)))}loadNamespaces(t,a){let n=yo();return this.options.ns?(_e(t)&&(t=[t]),t.forEach(l=>{this.options.ns.indexOf(l)<0&&this.options.ns.push(l)}),this.loadResources(l=>{n.resolve(),a&&a(l)}),n):(a&&a(),Promise.resolve())}loadLanguages(t,a){let n=yo();_e(t)&&(t=[t]);let l=this.options.preload||[],d=t.filter(u=>l.indexOf(u)<0&&this.services.languageUtils.isSupportedCode(u));return d.length?(this.options.preload=l.concat(d),this.loadResources(u=>{n.resolve(),a&&a(u)}),n):(a&&a(),Promise.resolve())}dir(t){if(t||=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language),!t)return"rtl";try{let l=new Intl.Locale(t);if(l&&l.getTextInfo){let d=l.getTextInfo();if(d&&d.direction)return d.direction}}catch{}let a="ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb".split("."),n=this.services?.languageUtils||new Ts(Ci());return t.toLowerCase().indexOf("-latn")>1?"ltr":a.indexOf(n.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(t={},a){let n=new Ja(t,a);return n.createInstance=Ja.createInstance,n}cloneInstance(t={},a=Qo){let n=t.forkResourceStore;n&&delete t.forkResourceStore;let l={...this.options,...t,isClone:!0},d=new Ja(l);if((t.debug!==void 0||t.prefix!==void 0)&&(d.logger=d.logger.clone(t)),["store","services","language"].forEach(u=>{d[u]=this[u]}),d.services={...this.services},d.services.utils={hasLoadedNamespace:d.hasLoadedNamespace.bind(d)},n&&(d.store=new Fs(Object.keys(this.store.data).reduce((u,c)=>(u[c]={...this.store.data[c]},u[c]=Object.keys(u[c]).reduce((g,m)=>(g[m]={...u[c][m]},g),u[c]),u),{}),l),d.services.resourceStore=d.store),t.interpolation){let u={...Ci().interpolation,...this.options.interpolation,...t.interpolation},c={...l,interpolation:u};d.services.interpolator=new Ps(c)}return d.translator=new Es(d.services,l),d.translator.on("*",(u,...c)=>{d.emit(u,...c)}),d.init(l,a),d.translator.options=l,d.translator.backendConnector.services.utils={hasLoadedNamespace:d.hasLoadedNamespace.bind(d)},d}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}.createInstance();mr.createInstance,mr.dir,mr.init,mr.loadResources,mr.reloadResources,mr.use,mr.changeLanguage,mr.getFixedT,mr.t,mr.exists,mr.setDefaultNamespace,mr.hasLoadedNamespace,mr.loadNamespaces,mr.loadLanguages;var gp=(o,t,a,n)=>{let l=[a,{code:t,...n||{}}];if(o?.services?.logger?.forward)return o.services.logger.forward(l,"warn","react-i18next::",!0);Rt(l[0])&&(l[0]=`react-i18next:: ${l[0]}`),o?.services?.logger?.warn&&o.services.logger.warn(...l)},Ds={},Ai=(o,t,a,n)=>{Rt(a)&&Ds[a]||(Rt(a)&&(Ds[a]=new Date),gp(o,t,a,n))},js=(o,t)=>()=>{if(o.isInitialized)t();else{let a=()=>{setTimeout(()=>{o.off("initialized",a)},0),t()};o.on("initialized",a)}},Ii=(o,t,a)=>{o.loadNamespaces(t,js(o,a))},Os=(o,t,a,n)=>{if(Rt(a)&&(a=[a]),o.options.preload&&o.options.preload.indexOf(t)>-1)return Ii(o,a,n);a.forEach(l=>{o.options.ns.indexOf(l)<0&&o.options.ns.push(l)}),o.loadLanguages(t,js(o,n))},hp=(o,t,a={})=>!t.languages||!t.languages.length?(Ai(t,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:t.languages}),!0):t.hasLoadedNamespace(o,{lng:a.lng,precheck:(n,l)=>{if(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!l(n.isLanguageChangingTo,o))return!1}}),Rt=o=>typeof o=="string",vp=o=>typeof o=="object"&&!!o,yp=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,bp={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},wp=o=>bp[o],Fi={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:o=>o.replace(yp,wp)},Cp=(o={})=>{Fi={...Fi,...o}},Ap=()=>Fi,Ms,Ip=o=>{Ms=o},Fp=()=>Ms,_p={type:"3rdParty",init(o){Cp(o.options.react),Ip(o)}},Bs=(0,F.createContext)(),Sp=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(o){o.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},zp=(o,t)=>{let a=(0,F.useRef)();return(0,F.useEffect)(()=>{a.current=t?a.current:o},[o,t]),a.current},qs=(o,t,a,n)=>o.getFixedT(t,a,n),Ep=(o,t,a,n)=>(0,F.useCallback)(qs(o,t,a,n),[o,t,a,n]),wr=(o,t={})=>{let{i18n:a}=t,{i18n:n,defaultNS:l}=(0,F.useContext)(Bs)||{},d=a||n||Fp();if(d&&!d.reportNamespaces&&(d.reportNamespaces=new Sp),!d){Ai(d,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");let E=(D,W)=>Rt(W)?W:vp(W)&&Rt(W.defaultValue)?W.defaultValue:Array.isArray(D)?D[D.length-1]:D,M=[E,{},!1];return M.t=E,M.i18n={},M.ready=!1,M}d.options.react?.wait&&Ai(d,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");let u={...Ap(),...d.options.react,...t},{useSuspense:c,keyPrefix:g}=u,m=o||l||d.options?.defaultNS;m=Rt(m)?[m]:m||["translation"],d.reportNamespaces.addUsedNamespaces?.(m);let v=(d.isInitialized||d.initializedStoreOnce)&&m.every(E=>hp(E,d,u)),y=Ep(d,t.lng||null,u.nsMode==="fallback"?m:m[0],g),b=()=>y,S=()=>qs(d,t.lng||null,u.nsMode==="fallback"?m:m[0],g),[A,N]=(0,F.useState)(b),x=m.join();t.lng&&(x=`${t.lng}${x}`);let Y=zp(x),k=(0,F.useRef)(!0);(0,F.useEffect)(()=>{let{bindI18n:E,bindI18nStore:M}=u;k.current=!0,!v&&!c&&(t.lng?Os(d,t.lng,m,()=>{k.current&&N(S)}):Ii(d,m,()=>{k.current&&N(S)})),v&&Y&&Y!==x&&k.current&&N(S);let D=()=>{k.current&&N(S)};return E&&d?.on(E,D),M&&d?.store.on(M,D),()=>{k.current=!1,d&&E&&E?.split(" ").forEach(W=>d.off(W,D)),M&&d&&M.split(" ").forEach(W=>d.store.off(W,D))}},[d,x]),(0,F.useEffect)(()=>{k.current&&v&&N(b)},[d,g,v]);let R=[A,d,v];if(R.t=A,R.i18n=d,R.ready=v,v||!v&&!c)return R;throw new Promise(E=>{t.lng?Os(d,t.lng,m,()=>E()):Ii(d,m,()=>E())})},Ws={Folder:"Folder",Folders:"Folders",Files:"Files",File:"File","Select the destination folder":"Select the destination folder","Filter by type":"Filter by type","All types":"All types","File name":"File name",Size:"Size",Date:"Date",Actions:"Actions",Delete:"Delete",Move:"Move",Copy:"Copy",Refresh:"Refresh","Add folder":"Add folder","Add file":"Add file","Add file by URL":"Add file by URL","Please select an image file":"Please select an image file","File deleted":"File deleted","Error when deleting a file":"Error when deleting a file","Folder deleted":"Folder deleted","Error when deleting a folder":"Error when deleting a folder","Delete folder":"Delete folder","Are you sure you want to delete this folder? This action will also delete all files and subfolders.":"Are you sure you want to delete this folder? This action will also delete all files and subfolders.","File moved":"File moved","Error when moving a file":"Error when moving a file","has been successfully uploaded":"has been successfully uploaded","Failed to download file":"Failed to download file","Failed to load JSON data":"Failed to load JSON data","Invalid file URL":"Invalid file URL","Unable to validate file URL":"Unable to validate file URL","Error when uploading a file":"Error when uploading a file","successfully uploaded":"successfully uploaded","Error when downloading a file by URL":"Error when downloading a file by URL","Error loading files":"Error loading files","File Manager not configured":"File Manager not configured","Type to search...":"Type to search...","Failed to create folder":"Failed to create folder",Cancel:"Cancel",Submit:"Submit",months:{january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},files:"files","No available folders":"No available folders","My files":"My files",GIF:"GIF","Stock images":"Stock images","QR & Barcode":"QR & Barcode","QR code":"QR code",Barcode:"Barcode","Text or URL":"Text or URL","Code color":"Code color","Background color":"Background color","Add to My files":"Add to My files","Transparent background":"Transparent background","Barcode generation failed":"Could not generate this barcode. Use characters supported by CODE128.","Validation error":"Validation error","Enter text or URL to preview":"Enter text or a URL to encode.",Preview:"Preview","QR transparent background hint":"A transparent PNG may blend into dark email themes; a white background is often easier for scanners.","QR image size px":"QR image size","Barcode bar height px":"Barcode bar height",Icons:"Icons",AI:"AI","AI image generation":"AI image generation","Search GIFs":"Search GIFs","That`s all we could find.":"That`s all we could find.","Search image":"Search image",All:"All",Landscape:"Landscape",Portrait:"Portrait",Squarish:"Squarish",Black:"Black","Black and White":"Black and White",White:"White",Orange:"Orange",Red:"Red",Purple:"Purple",Magenta:"Magenta",Green:"Green",Teal:"Teal",Blue:"Blue","Photo by":"Photo by",on:"on",selected:"selected",Deselected:"Deselected","Select all":"Select all",Rename:"Rename","Rename file":"Rename file {{currentFileName}}","Selected files":"Selected files: {{count}}",selected_files_one:"Selected {{count}} file",selected_files_other:"Selected {{count}} files",Edit:"Edit","Move to":"Move to","New folder":"New folder","Image search...":"Image search...","Search icons":"Search icons","By name":"By name","By size":"By size","By date":"By date",List:"List",Grid:"Grid",Main:"Main","total pages":"Total {{total}} items",Name:"Name",Untitled:"Untitled",Dimensions:"Dimensions",error:"error",created:"created","API-endpoint for file upload is not configured":"API-endpoint for file upload is not configured","The URL must point to an image":"The URL must point to an image","Image upload...":"Image upload...",Unknown:"Unknown","Error downloading file by URL":"Error downloading file by URL","File not found":"File not found","File renamed to":"File renamed to ","Failed to rename the file":"Failed to rename the file","Folder renamed to":"Folder renamed to","Rename folder":"Rename folder","New folder name":"New folder name","Enter a new folder name":"Enter a new folder name","Please drag and drop image files only":"Please drag and drop image files only","Upload file by URL":"Upload file by URL","Upload file":"Upload file","Creating a new folder":"Creating a new folder",Create:"Create","Folder name":"Folder name","Enter the name of the folder":"Enter the name of the folder","Enter the name":"Enter the name","A folder will be created inside:":"A folder will be created inside:","selected folder":"selected folder","The folder will be created in the root directory":"The folder will be created in the root directory","Failed to load folders":"Failed to load folders","Folder name cannot be empty":"Folder name cannot be empty","Folder creation provider is not configured":"Folder creation provider is not configured","Folder created":"Folder created","Folder rename is disabled by config":"Folder rename is disabled by config","Folder rename provider is not configured":"Folder rename provider is not configured","Unexpected response when renaming folder":"Unexpected response when renaming folder","Folder renamed":"Folder renamed","Failed to rename folder":"Failed to rename folder","Failed to load folder items count":"Failed to load folder items count","Failed to load subfolders":"Failed to load subfolders",Download:"Download","image URL":"image URL","Enter the URL of the image":"Enter the URL of the image","URL too long":"URL is too long","Only http and https URLs are supported":"Only http and https URLs are supported","Private and local URLs are not allowed":"Private and local URLs are not allowed","Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP":"Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP","New file name":"New file name","Enter a new file name":"Enter a new file name","Copy to folder":"Copy to folder",Added:"Added {{date}}","File uploaded successfully":"File {{fileName}} uploaded successfully","Successfully uploaded":"Successfully uploaded {{successCount}} of {{count}} file","Successfully uploaded files":"Successfully uploaded {{successCount}} of {{count}} files",Uploaded:"Uploaded: {{names}}",uploads_success_summary:"Uploaded {{successCount}} of {{totalCount}} files",Failed:"Failed: {{names}}",uploads_fail_summary:"Failed to upload {{failCount}} of {{totalCount}} files","File with this name already exists.":"File with this name already exists.","File not found or no longer available.":"File not found or no longer available.","You don't have permission to access this file.":"You don't have permission to access this file.","File is too large to upload.":"File is too large to upload.","File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.":"File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.","Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}":"Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}","This file type is not allowed.":"This file type is not allowed.","File name is not valid.":"File name is not valid.","File name is not valid. Allowed characters: {{allowedChars}}":"File name is not valid. Allowed characters: {{allowedChars}}","Failed to read the file.":"Failed to read the file.","Failed to write the file.":"Failed to write the file.","The file appears to be corrupted.":"The file appears to be corrupted.","File integrity check failed.":"File integrity check failed.","Folder not found or no longer available.":"Folder not found or no longer available.","Folder with this name already exists.":"Folder with this name already exists.","A folder with that name already exists. Please enter a different folder name.":"A folder with that name already exists. Please enter a different folder name.","You don't have permission to access this folder.":"You don't have permission to access this folder.","Folder name is not valid.":"Folder name is not valid.","Folder name is not valid. Allowed characters: {{allowedChars}}":"Folder name is not valid. Allowed characters: {{allowedChars}}","Failed to read the folder contents.":"Failed to read the folder contents.","Failed to write to the folder.":"Failed to write to the folder.","Folder storage quota exceeded.":"Folder storage quota exceeded.","Folder is not empty.":"Folder is not empty.","Server error while processing the folder.":"Server error while processing the folder.","Folder operation took too long.":"Folder operation took too long.","Network error. Please check your connection and try again.":"Network error. Please check your connection and try again.","The operation took too long. Please try again.":"The operation took too long. Please try again.","Server error. Please try again later.":"Server error. Please try again later.","Service is temporarily unavailable. Please try again later.":"Service is temporarily unavailable. Please try again later.","Too many requests. Please try again a bit later.":"Too many requests. Please try again a bit later.","Authentication failed. Please sign in again.":"Authentication failed. Please sign in again.","You are not allowed to perform this action.":"You are not allowed to perform this action.","Some of the provided data is invalid.":"Some of the provided data is invalid.","This operation is not supported.":"This operation is not supported.","Request payload is too large.":"Request payload is too large.","This media type is not supported.":"This media type is not supported.","You have exceeded the upload quota.":"You have exceeded the upload quota.","Network error while uploading the file.":"Network error while uploading the file.","File upload took too long.":"File upload took too long.","Server error while uploading the file.":"Server error while uploading the file.","The specified URL is not valid.":"The specified URL is not valid.","The specified URL is not reachable.":"The specified URL is not reachable.","Content type at the URL is not allowed.":"Content type at the URL is not allowed.","Failed to download file from the URL.":"Failed to download file from the URL.","Network error while downloading the file.":"Network error while downloading the file.","File download took too long.":"File download took too long.","Server error while downloading the file.":"Server error while downloading the file.","Some items could not be processed.":"Some items could not be processed.","Failed to process all items in the batch.":"Failed to process all items in the batch.","Some items in the batch are in a conflicting state.":"Some items in the batch are in a conflicting state.","Some items in the batch did not pass validation.":"Some items in the batch did not pass validation.","AI service returned an invalid response.":"AI service returned an invalid response.","Failed to generate image using AI.":"Failed to generate image using AI.","You have reached the AI image generation limit.":"You have reached the AI image generation limit.","Error in external integration.":"Error in external integration.","Error in a third-party service.":"Error in a third-party service.","An unknown error occurred.":"An unknown error occurred.","Renaming is not allowed for this item.":"Renaming is not allowed for this item.","Moving is not allowed for this item.":"Moving is not allowed for this item.","Copying is not allowed for this item.":"Copying is not allowed for this item.","Deleting is not allowed for this item.":"Deleting is not allowed for this item.","Cannot move an item into itself.":"Cannot move an item into itself.","Cannot move an item into its descendant folder.":"Cannot move an item into its descendant folder.","Cannot copy an item into itself.":"Cannot copy an item into itself.","Configuration error occurred.":"Configuration error occurred.","Storage quota exceeded. Please free up space.":"Storage quota exceeded. Please free up space.","File is locked by another process or user.":"File is locked by another process or user.","File version conflict. Please refresh and try again.":"File version conflict. Please refresh and try again.","Batch operation exceeds the maximum number of items allowed.":"Batch operation exceeds the maximum number of items allowed.",Moved:"Moved: {{names}}",move_success_summary:"Moved {{successCount}} of {{totalCount}} items",move_fail_summary:"Failed to move {{failCount}} of {{totalCount}} items",Copied:"Copied: {{names}}",copy_success_summary:"Copied {{successCount}} of {{totalCount}} items",copy_fail_summary:"Failed to copy {{failCount}} of {{totalCount}} items","Failed to upload":"Failed to upload {{failCount}} of {{count}} file","Failed to upload files":"Failed to upload {{failCount}} of {{count}} files","No folders yet":"No folders yet","Drag files to upload":"Drag files to upload","Drop files here to upload":"Drop files here to upload","Newest first":"Newest first","Oldest first":"Oldest first","Largest first":"Largest first","Smallest first":"Smallest first","A-Z":"A-Z","Z-A":"Z-A","By type":"By type","Evaluating the task":"Evaluating the task","Something went wrong, please try again":"Something went wrong, please try again","Sort by":"Sort by","preview text":"The image preview is trying to load ...","Use this variant":"Use this variant","Confirm deletion":"Confirm deletion","Are you sure you want to delete the selected items?":"Are you sure you want to delete the selected items?","Move to Trash":"Move to Trash","Are you sure you want to move the selected items to the Trash?":"Are you sure you want to move the selected items to the Trash?","Permanently delete":"Permanently delete","Delete permanently":"Delete permanently","Are you sure you want to permanently delete the selected items? This action cannot be undone.":"Are you sure you want to permanently delete the selected items? This action cannot be undone.",Clear:"Clear","Clear Trash":"Clear Trash","Are you sure you want to permanently delete all items from Trash?":"Are you sure you want to permanently delete all items from Trash?","Trash cleared successfully":"Trash cleared successfully","{{count}} items permanently deleted":"{{count}} items permanently deleted","Trash partially cleared":"Trash partially cleared","{{succeeded}} items deleted, {{failed}} items failed":"{{succeeded}} items deleted, {{failed}} items failed","Failed to clear trash":"Failed to clear trash","Error clearing trash":"Error clearing trash","Deleting items...":"Deleting items...",delete_files_permanent_one:"This action will permanently delete {{count}} file",delete_files_permanent_other:"This action will permanently delete {{count}} files",delete_folder_permanent:"This action will permanently delete the folder '{{name}}' and all its contents, including {{count}} items.",delete_mixed_permanent:"This action will permanently delete {{total}} selected items, including {{folders}} folders and all {{images}} images within them.",permanent_delete_warning:"Deleting files that were used in emails will cause problems with displaying images in old emails. Are you sure you want to permanently delete the selection?",move_files_to_trash_one:"This will move {{count}} file to the Trash.",move_files_to_trash_other:"This will move {{count}} files to the Trash.",move_folder_to_trash:"This will move the folder '{{name}}' and all its contents ({{count}} items) to the Trash.",move_mixed_to_trash:"This will move {{total}} selected items to the Trash, including {{folders}} folders and {{images}} images.",delete_count_confirm_trash_one:"Move {{count}} file to Trash?",delete_count_confirm_trash_other:"Move {{count}} files to Trash?",delete_count_confirm_permanent_one:"Permanently delete {{count}} file?",delete_count_confirm_permanent_other:"Permanently delete {{count}} files?",delete_count_confirm_one:"Delete {{count}} file?",delete_count_confirm_other:"Delete {{count}} files?",item:"item",items:"items",Trash:"Deleted",Choose:"Choose",Stock:"Stock","Select an image from our library":"Select an image from our library","AI generation":"AI generation","Creating an image on demand":"Creating an image on demand","Search file or folder":"Search file or folder","Click here to select a file":"Click here to select a file","Create folder":"Create folder",Done:"Done","Move here":"Move here","Copy here":"Copy here","File URL":"File URL","There's nothing here":"There's nothing here","Try using a different search query.":"Try using a different search query.","Millions of free stock images":"Millions of free stock images","Enter a search query and we'll find the perfect image for you":"Enter a search query and we'll find the perfect image for you","Millions of icons":"Millions of icons","Lucide icons":"Lucide icons","Thousands of icons":"Thousands of icons","Enter a search query and we'll find the perfect icon for you":"Enter a search query and we'll find the perfect icon for you","Enter your query and we will find the right one for you":"Enter your query and we will find the right one for you","Over 350,000 live images":"Over 350,000 live images","The folder will be created in the root directory.":"The folder will be created in the root directory.",undo:"UNDO",moved_to_trash_one:"Moved {{count}} item to Trash",moved_to_trash_other:"Moved {{count}} items to Trash",restored_items_one:"Restored {{count}} item",restored_items_other:"Restored {{count}} items",Type:"Type","Generate image":"Generate image","For example:":"For example:","A beautiful image of a sunset over a calm ocean.":"A beautiful image of a sunset over a calm ocean.",Insert:"Insert",Error:"Error","Upload progress":"Upload {{completed}}/{{total}}","Uploading files":"Uploading {{completed}}/{{total}} files","Uploaded files":"Uploaded {{success}} of {{total}} files","Upload error files":"Upload error {{errorCount}} files","Applies to all {{count}} files":"(applies to all {{count}} files)","Some files failed to upload":"Some files failed to upload. Please check file size and format.",upload_error_hint_invalid_name:"Rename the file: use only letters, numbers, hyphens and underscores.",upload_error_hint_size:"Reduce the file size or choose a different file.",upload_error_hint_format:"Use an allowed format: JPG, PNG, or GIF.",upload_error_hint_exists:"A file with this name already exists in the folder. Rename the file.","Images generated successfully":"Images generated successfully","Trash is empty":"Trash is empty","Deleted files will be displayed here":"Deleted files will be displayed here","Supported files:":"Supported files:","Stroke width":"Stroke thickness",Color1:"Color",Color2:"Color2",Color3:"Color3","Global search":"Global search","Family search":"Family search","Choose for template":"Choose for template",Back:"Back","Editing: {{name}}":"Editing: {{name}}","Editing image":"Editing image",Save:"Save","Loading editor...":"Loading editor...","Error loading image":"Error loading image","Error saving image":"Error saving image","Error initializing editor":"Error initializing editor","Close File Manager":"Close File Manager","Are you sure you want to close? Unsaved changes will be lost.":"Are you sure you want to close? Unsaved changes will be lost.","Are you sure you want to close the file manager?":"Are you sure you want to close the file manager?",Close:"Close",KB:"KB","No files":"No files","Folder is empty or files not found":"Folder is empty or files not found","Search files...":"Search files...",Success:"Success","Image updated successfully":"Image updated successfully","Failed to save changes":"Failed to save changes: {{error}}","Unknown error":"Unknown error","Select destination folder":"Select destination folder","Error moving":"Error moving","Error deleting":"Error deleting","Error copying":"Error copying","Error renaming":"Error renaming","Failed to refresh folder tree":"Failed to refresh folder tree","Failed to refresh file list":"Failed to refresh file list","Errors occurred while moving":"Errors occurred while moving","Errors occurred while copying":"Errors occurred while copying","(error)":"(error)","(circular reference)":"(circular reference)","File too large. Maximum size: {{size}}":"File too large. Maximum size: {{size}}","File too small. Minimum size: {{size}}":"File too small. Minimum size: {{size}}","Unsupported file type":"Unsupported file type","Unsupported file type: {{type}}":"Unsupported file type: {{type}}",unknown:"unknown","Failed to load files":"Failed to load files","Failed to load files in folder":"Could not load folder contents ({{folderName}})","Failed to load subfolders in folder":'Could not load subfolders in "{{folderName}}"',"Failed to load folder items count in folder":'Could not get item count for "{{folderName}}"',"DataProvider for folder deletion is not configured":"DataProvider for folder deletion is not configured","DataProvider for file upload is not configured":"DataProvider for file upload is not configured","Error uploading file {{fileName}}":"Error uploading file {{fileName}}","Error uploading file":"Error uploading file","Cannot upload files to Trash":"Cannot upload files to Trash","Please fill in all fields":"Please fill in all fields","Upload by URL is not supported":"Upload by URL is not supported","File name is too long. Maximum {{max}} characters":"File name is too long. Maximum {{max}} characters","File name contains invalid characters":"File name contains invalid characters","Large file may take a long time to upload":"Large file may take a long time to upload","File unavailable: {{status}} {{statusText}}":"File unavailable: {{status}} {{statusText}}","File too large: {{size}}":"File too large: {{size}}","Unsupported file type: {{contentType}}":"Unsupported file type: {{contentType}}","Invalid server response: folder ID is missing":"Invalid server response: folder ID is missing","Error: folder cannot be its own parent":"Error: folder cannot be its own parent","Upload to Trash is forbidden":"Upload to Trash is forbidden","renameFolder is not implemented in dataProviders":"renameFolder is not implemented in dataProviders","renameFile is not implemented in dataProviders":"renameFile is not implemented in dataProviders",Deleted:"Deleted",Clean:"Clean","Circular dependency detected: folder cannot be its own parent":"Circular dependency detected: folder cannot be its own parent","Save as copy and choose":"Save as copy and choose","Save and choose":"Save and choose","Rounded corners are saved as a PNG copy: the original format has no transparency":"Rounded corners are saved as a PNG copy: the original format has no transparency",imageEditor:{name:"Name",save:"Save",saveAs:"Save as",back:"Back",loading:"Loading...",resetOperations:"Reset/delete all operations",changesLoseWarningHint:"If you press button “reset” your changes will lost. Would you like to continue?",discardChangesWarningHint:"If you close modal, your last change will not be saved.",cancel:"Cancel",apply:"Apply",warning:"Warning",confirm:"Confirm",discardChanges:"Discard changes",undoTitle:"Undo last operation",redoTitle:"Redo last operation",showImageTitle:"Show original image",zoomInTitle:"Zoom in",fitTitle:"Fit",zoomOutTitle:"Zoom out",toggleZoomMenuTitle:"Toggle zoom menu",adjustTab:"Adjust",finetuneTab:"Finetune",filtersTab:"Filters",watermarkTab:"Watermark",annotateTabLabel:"Annotate",resize:"Resize",resizeTab:"Resize",imageName:"Image name",invalidImageError:"Invalid image provided.",uploadImageError:"Error while uploading the image.",areNotImages:"are not images",isNotImage:"is not image",toBeUploaded:"to be uploaded",cropTool:"Crop",original:"Original",custom:"Custom",square:"Square",landscape:"Landscape",portrait:"Portrait",ellipse:"Ellipse",classicTv:"Classic TV",cinemascope:"Cinemascope",cropPresetInstagramPost:"Instagram post",cropPresetPinterest:"Pinterest",cropPresetScreen:"Screen",cropPresetPhoto:"Photo",cropPresetLinkPreview:"Link preview",cropPresetCinema:"Cinema",cornerRadiusTool:"Rounding",cornerRadiusEllipseHint:"Not available for the Ellipse crop",arrowTool:"Arrow",blurTool:"Blur",brightnessTool:"Brightness",contrastTool:"Contrast",ellipseTool:"Ellipse",unFlipX:"Un-Flip X",flipX:"Flip X",unFlipY:"Un-Flip Y",flipY:"Flip Y",hsvTool:"HSV",hue:"Hue",brightness:"Brightness",saturation:"Saturation",value:"Value",imageTool:"Image",importing:"Importing...",addImage:"Add image",uploadImage:"Upload image",fromGallery:"From gallery",lineTool:"Line",penTool:"Pen",polygonTool:"Polygon",sides:"Sides",rectangleTool:"Rectangle",cornerRadius:"Corner Radius",resizeWidthTitle:"Width in pixels",resizeHeightTitle:"Height in pixels",toggleRatioLockTitle:"Toggle ratio lock",resetSize:"Reset to original image size",rotateTool:"Rotate",textTool:"Text",textSpacings:"Text spacings",textAlignment:"Text alignment",fontFamily:"Font family",size:"Size",letterSpacing:"Letter Spacing",lineHeight:"Line height",warmthTool:"Warmth",addWatermark:"Add watermark",addTextWatermark:"Add text watermark",addWatermarkTitle:"Choose the watermark type",uploadWatermark:"Upload watermark",addWatermarkAsText:"Add as text",padding:"Padding",paddings:"Paddings",shadow:"Shadow",horizontal:"Horizontal",vertical:"Vertical",blur:"Blur",opacity:"Opacity",transparency:"Transparency",position:"Position",stroke:"Stroke",saveAsModalTitle:"Save as",extension:"Extension",format:"Format",nameIsRequired:"Name is required.",quality:"Quality",imageDimensionsHoverTitle:"Saved image size (width x height)",cropSizeLowerThanResizedWarning:"Note, the selected crop area is lower than the applied resize which might cause quality decrease",actualSize:"Actual size (100%)",fitSize:"Fit size",addImageTitle:"Select image to add...",mutualizedFailedToLoadImg:"Failed to load image.",tabsMenu:"Menu",download:"Download",width:"Width",height:"Height",cropItemNoEffect:"No preview available for this crop item",px:"px",invalidTextContent:"Invalid text content",baselineShift:"Baseline shift",aiTab:"AI tools",objectRemovalTool:"Object removal",objectRemovalBrushSize:"Brush size (px)",objectRemovalApplyButton:"Apply",objectRemovalBrushMode:"Brush mode",objectRemovalBrushCircleType:"Circle brush",objectRemovalBrushSquareType:"Square brush",objectRemovalApplyingText:"Removing the selected area",objectRemovalMarkModeTooltip:"Mark mode",objectRemovalUnMarkModeTooltip:"Unmark mode",objectRemovalCancelConfirmationTitle:"Cancel process",objectRemovalCancelConfirmationHint:"Are you sure you want to cancel removing object from",objectRemovalCancelConfirmationHintCompletion:"asset?",theKeyword:"the"}},Gs={Files:"Файлы",selected:"выбрано",Deselected:"Отменить выбор",Refresh:"Обновить","Select all":"Выбрать все",Rename:"Переименовать","Rename file":"Переименовать файл {{currentFileName}}","Select the destination folder":"Выберите папку назначения","Selected files:":"Выбрано файлов:","Selected files":"Выбрано файлов: {{count}}",selected_files_one:"Выбран {{count}} файл",selected_files_few:"Выбрано {{count}} файла",selected_files_many:"Выбрано {{count}} файлов",selected_files_other:"Выбрано {{count}} файлов",Copy:"Дублировать",Edit:"Изменить",Move:"Переместить","Move to":"Переместить",Delete:"Удалить","New folder":"Новая папка","Image search...":"Поиск изображений...","Search icons":"Найти иконки","By name":"По имени","By size":"По размеру","By date":"По дате",List:"Список",Grid:"Плитки",Main:"Главная",Folders:"Папки","total pages":"Всего {{total}} элементов",Name:"Имя",Untitled:"Без названия",Size:"Размер",Dimensions:"Размер",Date:"Дата",error:"ошибка",Folder:"Папка",created:"создана","Failed to create folder":"Не удалось создать папку","File deleted":"Файл удален","Files deleted":"Файлы удалены","Error when deleting a file":"Ошибка при удалении файла","Folder deleted":"Папка удалена","Error when deleting a folder":"Ошибка при удалении папки","Delete folder":"Удалить папку","Are you sure you want to delete this folder? This action will also delete all files and subfolders.":"Вы уверены, что хотите удалить эту папку? Это действие также удалит все файлы и подпапки.","API-endpoint for file upload is not configured":"API-endpoint для загрузки файлов не настроен","Please select an image file":"Пожалуйста, выберите файл изображения",File:"Файл","has been successfully uploaded":"успешно загружен","The URL must point to an image":"URL должен указывать на изображение","Image upload...":"Загрузка изображения...",Unknown:"Неизвестно","Error downloading file by URL":"Ошибка загрузки файла по URL","successfully uploaded":"успешно загружен","Error when downloading a file by URL":"Ошибка при загрузке файла по URL","Error when uploading a file":"Ошибка при загрузке файла","Error loading files":"Ошибка загрузки файлов","File not found":"Файл не найден","File renamed to":"Файл переименован на ","Failed to rename the file":"Не удалось переименовать файл","Folder renamed to":"Папка переименована на","Rename folder":"Переименовать папку","New folder name":"Новое название папки","Enter a new folder name":"Введите новое название папки","Please drag and drop image files only":"Пожалуйста, перетащите только файлы изображений","Upload file by URL":"Загрузить файл по URL","Upload file":"Загрузить файл","Creating a new folder":"Создание новой папки",Create:"Создать",Cancel:"Отмена","Folder name":"Название папки","Enter the name of the folder":"Введите название папки","Enter the name":"Введите название","A folder will be created inside:":"Папка будет создана внутри:","selected folder":"выбранной папки","The folder will be created in the root directory":"Папка будет создана в корневом каталоге","Failed to load folders":"Не удалось загрузить папки","Folder name cannot be empty":"Название папки не может быть пустым","Folder creation provider is not configured":"Провайдер создания папок не настроен","Folder created":"Папка создана","Folder rename is disabled by config":"Переименование папок отключено конфигурацией","Folder rename provider is not configured":"Провайдер переименования папок не настроен","Unexpected response when renaming folder":"Неожиданный ответ при переименовании папки","Folder renamed":"Папка переименована","Failed to rename folder":"Не удалось переименовать папку","Failed to load folder items count":"Не удалось получить количество файлов в папке","Failed to load subfolders":"Не удалось загрузить подпапки",Download:"Загрузить","image URL":"URL изображения","Enter the URL of the image":"Введите URL изображения","Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP":"Поддерживаемые форматы: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP","New file name":"Новое имя файла","Enter a new file name":"Введите новое имя файла","Copy to folder":"Копировать в папку",Added:"Добавлено {{date}}","File uploaded successfully":"Файл {{fileName}} успешно загружен","Successfully uploaded":"Успешно загружено {{successCount}} из {{count}} файла","Successfully uploaded files":"Успешно загружено {{successCount}} из {{count}} файлов",uploads_success_summary:"Загружено {{successCount}} из {{totalCount}} файлов",uploads_fail_summary:"Не удалось загрузить {{failCount}} из {{totalCount}} файлов","File with this name already exists.":"Файл с таким именем уже существует.","File not found or no longer available.":"Файл не найден или уже был удалён.","You don't have permission to access this file.":"У вас нет прав доступа к этому файлу.","File is too large to upload.":"Файл слишком большой для загрузки.","File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.":"Файл слишком большой ({{fileSize}}). Максимально допустимый размер — {{maxSize}}.","Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}":"Превышено максимальное количество файлов. Допустимо: {{allowed}}, выбрано: {{received}}","This file type is not allowed.":"Этот тип файла не поддерживается.","File name is not valid.":"Недопустимое имя файла.","File name is not valid. Allowed characters: {{allowedChars}}":"Недопустимое имя файла. Допустимые символы: {{allowedChars}}","Failed to read the file.":"Не удалось прочитать файл.","Failed to write the file.":"Не удалось записать файл.","The file appears to be corrupted.":"Файл повреждён или имеет неверный формат.","File integrity check failed.":"Проверка целостности файла завершилась неудачно.","Folder not found or no longer available.":"Папка не найдена или уже была удалена.","Folder with this name already exists.":"Папка с таким именем уже существует.","A folder with that name already exists. Please enter a different folder name.":"Папка с таким именем уже существует. Введите другое имя папки.","You don't have permission to access this folder.":"У вас нет прав доступа к этой папке.","Folder name is not valid.":"Недопустимое имя папки.","Folder name is not valid. Allowed characters: {{allowedChars}}":"Не удалось создать папку. Допустимые символы в названии папки: {{allowedChars}}","Failed to read the folder contents.":"Не удалось прочитать содержимое папки.","Failed to write to the folder.":"Не удалось выполнить операцию с папкой.","Folder storage quota exceeded.":"Превышена квота хранения для папки.","Folder is not empty.":"Папка не пуста.","Server error while processing the folder.":"Ошибка сервера при обработке папки.","Folder operation took too long.":"Операция с папкой выполнялась слишком долго.","Network error. Please check your connection and try again.":"Ошибка сети. Проверьте подключение к интернету и повторите попытку.","The operation took too long. Please try again.":"Операция выполнялась слишком долго. Попробуйте ещё раз.","Server error. Please try again later.":"Ошибка на сервере. Повторите попытку позже.","Service is temporarily unavailable. Please try again later.":"Сервис временно недоступен. Повторите попытку позже.","Too many requests. Please try again a bit later.":"Слишком много запросов. Попробуйте ещё раз немного позже.","Authentication failed. Please sign in again.":"Не удалось пройти аутентификацию. Пожалуйста, войдите снова.","You are not allowed to perform this action.":"У вас нет прав для выполнения этого действия.","Some of the provided data is invalid.":"Некоторые из переданных данных некорректны.","This operation is not supported.":"Эта операция не поддерживается.","Request payload is too large.":"Тело запроса слишком большое.","This media type is not supported.":"Этот тип данных не поддерживается.","You have exceeded the upload quota.":"Превышена квота на загрузку файлов.","Network error while uploading the file.":"Сетевая ошибка при загрузке файла.","File upload took too long.":"Загрузка файла выполнялась слишком долго.","Server error while uploading the file.":"Ошибка сервера при загрузке файла.","The specified URL is not valid.":"Указан некорректный URL.","The specified URL is not reachable.":"Указанный URL недоступен.","Content type at the URL is not allowed.":"Тип содержимого по указанному URL не поддерживается.","Failed to download file from the URL.":"Не удалось скачать файл по указанному URL.","Network error while downloading the file.":"Сетевая ошибка при скачивании файла.","File download took too long.":"Скачивание файла выполнялось слишком долго.","Server error while downloading the file.":"Ошибка сервера при скачивании файла.","Some items could not be processed.":"Не все элементы были обработаны успешно.","Failed to process all items in the batch.":"Не удалось обработать ни один элемент в пакетной операции.","Some items in the batch are in a conflicting state.":"Некоторые элементы в пакетной операции находятся в конфликтующем состоянии.","Some items in the batch did not pass validation.":"Некоторые элементы в пакетной операции не прошли валидацию.","AI service returned an invalid response.":"Сервис AI вернул некорректный ответ.","Failed to generate image using AI.":"Не удалось создать изображение с помощью AI.","You have reached the AI image generation limit.":"Достигнут лимит генерации изображений AI.","Error in external integration.":"Ошибка во внешней интеграции.","Error in a third-party service.":"Ошибка во внешнем сервисе.","An unknown error occurred.":"Произошла неизвестная ошибка.","Renaming is not allowed for this item.":"Переименование не разрешено для этого элемента.","Moving is not allowed for this item.":"Перемещение не разрешено для этого элемента.","Copying is not allowed for this item.":"Копирование не разрешено для этого элемента.","Deleting is not allowed for this item.":"Удаление не разрешено для этого элемента.","Cannot move an item into itself.":"Нельзя переместить элемент в самого себя.","Cannot move an item into its descendant folder.":"Нельзя переместить элемент в дочернюю папку.","Cannot copy an item into itself.":"Нельзя скопировать элемент в самого себя.","Configuration error occurred.":"Произошла ошибка конфигурации.","Storage quota exceeded. Please free up space.":"Превышена квота хранилища. Освободите место.","File is locked by another process or user.":"Файл заблокирован другим процессом или пользователем.","File version conflict. Please refresh and try again.":"Конфликт версий файла. Обновите страницу и попробуйте снова.","Batch operation exceeds the maximum number of items allowed.":"Пакетная операция превышает максимально допустимое количество элементов.",Moved:"Перемещены: {{names}}",move_success_summary:"Перемещено {{successCount}} из {{totalCount}} объектов",move_fail_summary:"Не удалось переместить {{failCount}} из {{totalCount}} объектов",Copied:"Скопированы: {{names}}",copy_success_summary:"Скопировано {{successCount}} из {{totalCount}} объектов",copy_fail_summary:"Не удалось скопировать {{failCount}} из {{totalCount}} объектов",Uploaded:"Загружены: {{names}}",Failed:"Не удалось: {{names}}","Failed to upload":"Не удалось загрузить {{failCount}} из {{count}} файла","Failed to upload files":"Не удалось загрузить {{failCount}} из {{count}} файлов",months:{january:"января",february:"февраля",march:"марта",april:"апреля",may:"мая",june:"июня",july:"июля",august:"августа",september:"сентября",october:"октября",november:"ноября",december:"декабря"},files:"файлов","No available folders":"Нет доступных папок","My files":"Мои файлы",GIF:"GIF","Stock images":"Стоковые изображения","QR & Barcode":"QR и штрихкод","QR code":"QR-код",Barcode:"Штрихкод","Text or URL":"Текст или ссылка","Code color":"Цвет кода","Background color":"Цвет фона","Add to My files":"Добавить в Мои файлы","Transparent background":"Прозрачный фон","Barcode generation failed":"Не удалось построить штрихкод. Используйте символы, поддерживаемые CODE128.","Validation error":"Ошибка валидации","Enter text or URL to preview":"Введите текст или URL для предпросмотра.",Preview:"Предпросмотр","QR transparent background hint":"Прозрачный PNG может сливаться с тёмной темой письма; белый фон часто надёжнее для сканеров.","QR image size px":"Размер QR","Barcode bar height px":"Высота штрихов",Icons:"Иконки",AI:"AI","AI image generation":"AI генерация изображений","Search GIFs":"Найти GIF","That`s all we could find.":"Это все, что мы смогли найти.","Search image":"Найти изображение",All:"Все",Landscape:"Горизонтальные",Portrait:"Вертикальные",Squarish:"Квадратные",Black:"Черный","Black and White":"Черно-белый",White:"Белый",Orange:"Оранжевый",Red:"Красный",Purple:"Фиолетовый",Magenta:"Пурпурный",Green:"Зеленый",Teal:"Бирюзовый",Blue:"Синий","Photo by":"Фото",on:"на","File Manager":"Файловый менеджер","File Manager not configured":"Файловый менеджер не настроен","Filter by type":"Фильтр по типу","All types":"Все типы","File name":"Имя файла",Actions:"Действия","Add file":"Добавить файл","Add folder":"Добавить папку","Add file by URL":"Добавить файл по URL","File moved":"Файл перемещён","Files moved":"Файлы перемещены","Error when moving a file":"Ошибка при перемещении файла","Files copied":"Файлы скопированы","Failed to download file":"Не удалось скачать файл","Failed to load JSON data":"Не удалось загрузить данные JSON","Invalid file URL":"Некорректный URL файла","Unable to validate file URL":"Не удалось проверить файл по URL","Type to search...":"Введите для поиска...",Submit:"Отправить","No folders yet":"Папок пока нет","Drag files to upload":"Перетащите файлы для загрузки","Drop files here to upload":"Отпустите файлы здесь, чтобы загрузить их","Newest first":"Сначала новые","Oldest first":"Сначала старые","Largest first":"Сначала большие","Smallest first":"Сначала маленькие","A-Z":"По алфавиту А-Я","Z-A":"По алфавиту Я-А","By type":"По типу","Evaluating the task":"Оценка задания","Something went wrong, please try again":"Что-то пошло не так, пожалуйста, попробуйте еще раз","Sort by":"Сортировать по","preview text":"Изображение загружается ...","Use this variant":"Использовать этот вариант","Confirm deletion":"Подтвердить удаление","Are you sure you want to delete the selected items?":"Вы уверены, что хотите удалить выбранные элементы?","Move to Trash":"Переместить в корзину","Are you sure you want to move the selected items to the Trash?":"Вы уверены, что хотите переместить выбранные элементы в корзину?","Permanently delete":"Полное удаление","Delete permanently":"Удалить безвозвратно","Are you sure you want to permanently delete the selected items? This action cannot be undone.":"Вы уверены, что хотите безвозвратно удалить выбранные элементы? Это действие нельзя отменить.",Clear:"Очистить","Clear Trash":"Очистить корзину","Are you sure you want to permanently delete all items from Trash?":"Вы уверены, что хотите безвозвратно удалить все элементы из корзины?","Trash cleared successfully":"Корзина успешно очищена","{{count}} items permanently deleted":"{{count}} элементов безвозвратно удалено","Trash partially cleared":"Корзина частично очищена","{{succeeded}} items deleted, {{failed}} items failed":"{{succeeded}} элементов удалено, {{failed}} не удалось удалить","Failed to clear trash":"Не удалось очистить корзину","Error clearing trash":"Ошибка при очистке корзины","Deleting items...":"Удаление элементов...",delete_files_permanent_one:"Это действие безвозвратно удалит {{count}} файл",delete_files_permanent_few:"Это действие безвозвратно удалит {{count}} файла",delete_files_permanent_many:"Это действие безвозвратно удалит {{count}} файлов",delete_files_permanent_other:"Это действие безвозвратно удалит {{count}} файлов",delete_folder_permanent:"Это действие безвозвратно удалит папку «{{name}}» и всё её содержимое, включая {{count}} элементов.",delete_mixed_permanent:"Это действие безвозвратно удалит {{total}} выбранных элементов, включая {{folders}} папок и все {{images}} изображений внутри них.",permanent_delete_warning:"Удаление файлов, которые были использованы в письмах, приведет к проблемам с отображением картинок в старых письмах. Вы уверены, что хотите полностью удалить выбранное?",move_files_to_trash_one:"Это действие переместит в корзину {{count}} файл.",move_files_to_trash_few:"Это действие переместит в корзину {{count}} файла.",move_files_to_trash_many:"Это действие переместит в корзину {{count}} файлов.",move_files_to_trash_other:"Это действие переместит в корзину {{count}} файлов.",move_folder_to_trash:"Это действие переместит в корзину папку «{{name}}» и всё её содержимое ({{count}} элементов).",move_mixed_to_trash:"Это действие переместит в корзину {{total}} выбранных элементов, включая {{folders}} папок и {{images}} изображений.",delete_count_confirm_trash_one:"Переместить в корзину {{count}} файл?",delete_count_confirm_trash_few:"Переместить в корзину {{count}} файла?",delete_count_confirm_trash_many:"Переместить в корзину {{count}} файлов?",delete_count_confirm_trash_other:"Переместить в корзину {{count}} файлов?",delete_count_confirm_permanent_one:"Удалить навсегда {{count}} файл?",delete_count_confirm_permanent_few:"Удалить навсегда {{count}} файла?",delete_count_confirm_permanent_many:"Удалить навсегда {{count}} файлов?",delete_count_confirm_permanent_other:"Удалить навсегда {{count}} файлов?",delete_count_confirm_one:"Удалить {{count}} файл?",delete_count_confirm_few:"Удалить {{count}} файла?",delete_count_confirm_many:"Удалить {{count}} файлов?",delete_count_confirm_other:"Удалить {{count}} файлов?",item:"файл",items:"файлов",Trash:"Корзина",Choose:"Выбрать",Stock:"Фотосток","Select an image from our library":"Выберите изображение из нашей библиотеки","AI generation":"AI генерация","Creating an image on demand":"Создание изображения по запросу","Search file or folder":"Найти файл или папку","Click here to select a file":"Нажмите здесь, чтобы выбрать файл","Supported files:":"Поддерживаемые файлы:","Create folder":"Создать папку",Done:"Готово","Move here":"Переместить сюда","Copy here":"Копировать сюда","File URL":"URL файла","There's nothing here":"Здесь ничего нет","Try using a different search query.":"Попробуйте использовать другой поисковый запрос.","Millions of free stock images":"Миллионы бесплатных стоковых изображений","Enter a search query and we'll find the perfect image for you":"Введите поисковый запрос, и мы найдем для вас идеальное изображение","Millions of icons":"Миллионы иконок","Lucide icons":"Иконки Lucide","Thousands of icons":"Тысячи иконок","Enter a search query and we'll find the perfect icon for you":"Введите поисковый запрос, и мы найдем для вас идеальную иконку","Enter your query and we will find the right one for you":"Введите запрос и мы найдем для вас подходящее","Over 350,000 live images":"Более 350 000 живых изображений","The folder will be created in the root directory.":"Папка будет создана в корневом каталоге.",undo:"ОТМЕНА",moved_to_trash_one:"Перемещён {{count}} элемент в корзину",moved_to_trash_few:"Перемещено {{count}} элемента в корзину",moved_to_trash_many:"Перемещено {{count}} элементов в корзину",moved_to_trash_other:"Перемещено {{count}} элементов в корзину",restored_items_one:"Восстановлён {{count}} элемент",restored_items_few:"Восстановлено {{count}} элемента",restored_items_many:"Восстановлено {{count}} элементов",restored_items_other:"Восстановлено {{count}} элементов",Type:"Тип","Generate image":"Сгенерировать изображение","A beautiful image of a sunset over a calm ocean.":"Красивое изображение заката над спокойным океаном.","For example:":"Например:",Insert:"Вставить",Error:"Ошибка","Upload progress":"Загрузка {{completed}}/{{total}}","Uploading files":"Загрузка {{completed}}/{{total}} файлов","Uploaded files":"Загружено {{success}} из {{total}} файлов","Upload error files":"Ошибка загрузки {{errorCount}} файлов","Applies to all {{count}} files":"(применительно ко всем {{count}} файлам)","Some files failed to upload":"Некоторые файлы не удалось загрузить. Проверьте размер и формат файлов.",upload_error_hint_invalid_name:"Переименуйте файл: используйте только буквы, цифры, дефис и подчёркивание.",upload_error_hint_size:"Уменьшите размер файла или выберите другой.",upload_error_hint_format:"Используйте допустимый формат: JPG, PNG или GIF.",upload_error_hint_exists:"Файл с таким именем уже есть в папке. Переименуйте файл.","Images generated successfully":"Изображения успешно сгенерированы","Trash is empty":"Корзина пуста","Deleted files will be displayed here":"Здесь будут отображаться удаленные файлы","Stroke width":"Толщина",Style:"Стиль",Color1:"Цвет",Color2:"Цвет 2",Color3:"Цвет 3","Global search":"Глобальный поиск","Family search":"Поиск по семейству","Choose for template":"Выбрать для загрузки в шаблон",Back:"Назад","Editing: {{name}}":"Редактирование: {{name}}","Editing image":"Редактирование изображения",Save:"Сохранить","Loading editor...":"Загрузка редактора…","Error loading image":"Ошибка загрузки изображения","Error saving image":"Ошибка при сохранении изображения","Error initializing editor":"Ошибка инициализации редактора","Close File Manager":"Закрыть файловый менеджер","Are you sure you want to close? Unsaved changes will be lost.":"Вы уверены, что хотите закрыть? Несохраненные изменения будут потеряны.","Are you sure you want to close the file manager?":"Вы уверены, что хотите закрыть файловый менеджер?",Close:"Закрыть",KB:"КБ","No files":"Нет файлов","Folder is empty or files not found":"Папка пуста или файлы не найдены","Search files...":"Поиск файлов...",Success:"Успех","Image updated successfully":"Изображение успешно обновлено","Failed to save changes":"Не удалось сохранить изменения: {{error}}","Unknown error":"Неизвестная ошибка","Select destination folder":"Выберите папку назначения","Error moving":"Ошибка при перемещении","Error deleting":"Ошибка при удалении","Error copying":"Ошибка при копировании","Error renaming":"Ошибка при переименовании","Failed to refresh folder tree":"Не удалось обновить дерево папок","Failed to refresh file list":"Не удалось обновить список файлов","Errors occurred while moving":"При перемещении произошли ошибки","Errors occurred while copying":"При копировании произошли ошибки","(error)":"(ошибка)","(circular reference)":"(циклическая ссылка)","File too large. Maximum size: {{size}}":"Файл слишком большой. Максимальный размер: {{size}}","File too small. Minimum size: {{size}}":"Файл слишком маленький. Минимальный размер: {{size}}","Unsupported file type":"Неподдерживаемый тип файла","Unsupported file type: {{type}}":"Неподдерживаемый тип файла: {{type}}",unknown:"неизвестный","Failed to load files":"Не удалось загрузить файлы","Failed to load files in folder":"Не удалось загрузить содержимое папки «{{folderName}}»","Failed to load subfolders in folder":"Не удалось загрузить подпапки в «{{folderName}}»","Failed to load folder items count in folder":"Не удалось получить число элементов в «{{folderName}}»","DataProvider for folder deletion is not configured":"DataProvider для удаления папок не настроен","DataProvider for file upload is not configured":"DataProvider для загрузки файлов не настроен","Error uploading file {{fileName}}":"Ошибка при загрузке файла {{fileName}}","Error uploading file":"Ошибка при загрузке файла","Cannot upload files to Trash":"Нельзя загружать файлы в корзину","Please fill in all fields":"Заполните все поля","URL too long":"URL слишком длинный","Only http and https URLs are supported":"Поддерживаются только URL с протоколом http и https","Private and local URLs are not allowed":"Локальные и приватные URL запрещены","Upload by URL is not supported":"Загрузка по URL не поддерживается","File name is too long. Maximum {{max}} characters":"Имя файла слишком длинное. Максимум {{max}} символов","File name contains invalid characters":"Имя файла содержит недопустимые символы","Large file may take a long time to upload":"Большой файл может загружаться долго","File unavailable: {{status}} {{statusText}}":"Файл недоступен: {{status}} {{statusText}}","File too large: {{size}}":"Файл слишком большой: {{size}}","Unsupported file type: {{contentType}}":"Неподдерживаемый тип файла: {{contentType}}","Invalid server response: folder ID is missing":"Некорректный ответ от сервера: отсутствует ID папки","Error: folder cannot be its own parent":"Ошибка: папка не может быть родителем самой себя","Upload to Trash is forbidden":"Загрузка в корзину запрещена","renameFolder is not implemented in dataProviders":"renameFolder не реализован в dataProviders","renameFile is not implemented in dataProviders":"renameFile не реализован в dataProviders",Deleted:"Удаленные файлы",Clean:"Очистить","Circular dependency detected: folder cannot be its own parent":"Обнаружена циклическая зависимость: папка не может быть родителем самой себя","Save as copy and choose":"Сохранить как копию и выбрать","Save and choose":"Сохранить и выбрать","Rounded corners are saved as a PNG copy: the original format has no transparency":"Скругление сохраняется копией в PNG: в исходном формате нет прозрачности",imageEditor:{name:"Имя",save:"Сохранить",saveAs:"Сохранить как",back:"Назад",loading:"Загрузка…",resetOperations:"Сбросить все изменения",changesLoseWarningHint:"Если нажать «Сбросить», изменения будут потеряны. Продолжить?",discardChangesWarningHint:"Если закрыть окно, последние изменения не сохранятся.",cancel:"Отмена",apply:"Применить",warning:"Предупреждение",confirm:"Подтвердить",discardChanges:"Отменить изменения",undoTitle:"Отменить последнее действие",redoTitle:"Повторить последнее действие",showImageTitle:"Показать исходное изображение",zoomInTitle:"Приблизить",fitTitle:"Вписать",zoomOutTitle:"Отдалить",toggleZoomMenuTitle:"Меню масштаба",adjustTab:"Настройка",finetuneTab:"Тонкая настройка",filtersTab:"Фильтры",watermarkTab:"Водяной знак",annotateTabLabel:"Аннотации",resize:"Размер",resizeTab:"Размер",imageName:"Имя изображения",invalidImageError:"Изображение повреждено или не поддерживается.",uploadImageError:"Не удалось загрузить изображение.",areNotImages:"не являются изображениями",isNotImage:"не является изображением",toBeUploaded:"для загрузки",cropTool:"Кадрирование",original:"Исходный",custom:"Свой",square:"Квадрат",landscape:"Альбомная",portrait:"Книжная",ellipse:"Эллипс",classicTv:"Классический ТВ",cinemascope:"Синемаскоп",cropPresetInstagramPost:"Пост Instagram",cropPresetPinterest:"Pinterest",cropPresetScreen:"Экран",cropPresetPhoto:"Фото",cropPresetLinkPreview:"Превью ссылки",cropPresetCinema:"Кино",cornerRadiusTool:"Скругление",cornerRadiusEllipseHint:"Недоступно для кадра «Эллипс»",arrowTool:"Стрелка",blurTool:"Размытие",brightnessTool:"Яркость",contrastTool:"Контраст",ellipseTool:"Эллипс",unFlipX:"Отменить отражение по горизонтали",flipX:"Отразить по горизонтали",unFlipY:"Отменить отражение по вертикали",flipY:"Отразить по вертикали",hsvTool:"HSV",hue:"Оттенок",brightness:"Яркость",saturation:"Насыщенность",value:"Значение",imageTool:"Изображение",importing:"Импорт…",addImage:"Добавить изображение",uploadImage:"Загрузить изображение",fromGallery:"Из галереи",lineTool:"Линия",penTool:"Карандаш",polygonTool:"Многоугольник",sides:"Стороны",rectangleTool:"Прямоугольник",cornerRadius:"Скругление углов",resizeWidthTitle:"Ширина в пикселях",resizeHeightTitle:"Высота в пикселях",toggleRatioLockTitle:"Сохранять пропорции",resetSize:"Вернуть исходный размер",rotateTool:"Поворот",textTool:"Текст",textSpacings:"Интервалы",textAlignment:"Выравнивание",fontFamily:"Шрифт",size:"Размер",letterSpacing:"Межбуквенный интервал",lineHeight:"Межстрочный интервал",warmthTool:"Теплота",addWatermark:"Добавить водяной знак",addTextWatermark:"Добавить текстовый водяной знак",addWatermarkTitle:"Выберите тип водяного знака",uploadWatermark:"Загрузить водяной знак",addWatermarkAsText:"Добавить текстом",padding:"Отступ",paddings:"Отступы",shadow:"Тень",horizontal:"По горизонтали",vertical:"По вертикали",blur:"Размытие",opacity:"Непрозрачность",transparency:"Прозрачность",position:"Положение",stroke:"Обводка",saveAsModalTitle:"Сохранить как",extension:"Расширение",format:"Формат",nameIsRequired:"Укажите имя.",quality:"Качество",imageDimensionsHoverTitle:"Размер сохраняемого изображения (ширина × высота)",cropSizeLowerThanResizedWarning:"Выбранная область кадрирования меньше заданного размера — качество может ухудшиться",actualSize:"Реальный размер (100%)",fitSize:"Вписать в окно",addImageTitle:"Выберите изображение…",mutualizedFailedToLoadImg:"Не удалось загрузить изображение.",tabsMenu:"Меню",download:"Загрузить",width:"Ширина",height:"Высота",cropItemNoEffect:"Для этого варианта кадрирования предпросмотр недоступен",px:"px",invalidTextContent:"Недопустимый текст",baselineShift:"Смещение базовой линии",aiTab:"ИИ-инструменты",objectRemovalTool:"Удаление объекта",objectRemovalBrushSize:"Размер кисти (px)",objectRemovalApplyButton:"Применить",objectRemovalBrushMode:"Режим кисти",objectRemovalBrushCircleType:"Круглая кисть",objectRemovalBrushSquareType:"Квадратная кисть",objectRemovalApplyingText:"Удаляем выделенную область",objectRemovalMarkModeTooltip:"Режим выделения",objectRemovalUnMarkModeTooltip:"Режим снятия выделения",objectRemovalCancelConfirmationTitle:"Отменить обработку",objectRemovalCancelConfirmationHint:"Точно отменить удаление объекта с",objectRemovalCancelConfirmationHintCompletion:"файла?",theKeyword:""}},Hs={Files:"Файли",selected:"обрано",Deselected:"Скасувати вибір",Refresh:"Оновити","Select all":"Вибрати все",Rename:"Перейменувати","Rename file":"Перейменувати файл {{currentFileName}}","Select the destination folder":"Виберіть папку призначення","Selected files:":"Обрано файлів:","Selected files":"Обрано файлів: {{count}}",selected_files_one:"Обрано {{count}} файл",selected_files_few:"Обрано {{count}} файли",selected_files_many:"Обрано {{count}} файлів",selected_files_other:"Обрано {{count}} файлів",Copy:"Дублювати",Edit:"Змінити",Move:"Перемістити","Move to":"Перемістити",Delete:"Видалити","New folder":"Нова папка","Image search...":"Пошук зображень...","Search icons":"Знайти іконки","By name":"За назвою","By size":"За розміром","By date":"За датою",List:"Список",Grid:"Плитки",Main:"Головна",Folders:"Папки","total pages":"Всього {{total}} елементів",Name:"Назва",Untitled:"Без назви",Size:"Розмір","Stroke width":"Товщина обведення",Dimensions:"Розмір",Date:"Дата",error:"помилка",Folder:"Папка",created:"створена","Failed to create folder":"Не вдалося створити папку","File deleted":"Файл видалено","Error when deleting a file":"Помилка при видаленні файлу","Folder deleted":"Папку видалено","Error when deleting a folder":"Помилка при видаленні папки","Delete folder":"Видалити папку","Are you sure you want to delete this folder? This action will also delete all files and subfolders.":"Ви впевнені, що хочете видалити цю папку? Ця дія також видалить усі файли та підпапки.","API-endpoint for file upload is not configured":"API-endpoint для завантаження файлів не налаштовано","Please select an image file":"Будь ласка, виберіть файл зображення",File:"Файл","has been successfully uploaded":"успішно завантажено","The URL must point to an image":"URL повинен вказувати на зображення","Image upload...":"Завантаження зображення...",Unknown:"Невідомо","Error downloading file by URL":"Помилка завантаження файлу за URL","successfully uploaded":"успішно завантажено","Error when downloading a file by URL":"Помилка при завантаженні файлу за URL","Error when uploading a file":"Помилка при завантаженні файлу","Error loading files":"Помилка завантаження файлів","File not found":"Файл не знайдено","File renamed to":"Файл перейменовано на ","Failed to rename the file":"Не вдалося перейменувати файл","Folder renamed to":"Папку перейменовано на","Rename folder":"Перейменувати папку","New folder name":"Нова назва папки","Enter a new folder name":"Введіть нову назву папки","Please drag and drop image files only":"Будь ласка, перетягуйте лише файли зображень","Upload file by URL":"Завантажити файл за URL","Upload file":"Завантажити файл","Creating a new folder":"Створення нової папки",Create:"Створити",Cancel:"Скасувати","Folder name":"Назва папки","Enter the name of the folder":"Введіть назву папки","Enter the name":"Введіть назву","A folder will be created inside:":"Папка буде створена всередині:","selected folder":"обраної папки","The folder will be created in the root directory":"Папка буде створена в кореневому каталозі","Failed to load folders":"Не вдалося завантажити папки","Folder name cannot be empty":"Назва папки не може бути порожньою","Folder creation provider is not configured":"Постачальник створення папок не налаштований","Folder created":"Папку створено","Folder rename is disabled by config":"Перейменування папок вимкнено в налаштуваннях","Folder rename provider is not configured":"Постачальник перейменування папок не налаштований","Unexpected response when renaming folder":"Неочікувана відповідь під час перейменування папки","Folder renamed":"Папку перейменовано","Failed to rename folder":"Не вдалося перейменувати папку","Failed to load folder items count":"Не вдалося отримати кількість елементів у папці","Failed to load subfolders":"Не вдалося завантажити підпапки",Download:"Завантажити","image URL":"URL зображення","Enter the URL of the image":"Введіть URL зображення","Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP":"Підтримувані формати: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP","New file name":"Нова назва файлу","Enter a new file name":"Введіть нову назву файлу","Copy to folder":"Копіювати в папку",Added:"Додано {{date}}","File uploaded successfully":"Файл {{fileName}} успішно завантажено","Successfully uploaded":"Успішно завантажено {{successCount}} з {{count}} файлу","Successfully uploaded files":"Успішно завантажено {{successCount}} з {{count}} файлів",uploads_success_summary:"Завантажено {{successCount}} з {{totalCount}} файлів",uploads_fail_summary:"Не вдалося завантажити {{failCount}} з {{totalCount}} файлів","File with this name already exists.":"Файл з такою назвою вже існує.","File not found or no longer available.":"Файл не знайдено або його вже видалено.","You don't have permission to access this file.":"У вас немає прав доступу до цього файлу.","File is too large to upload.":"Файл занадто великий для завантаження.","File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.":"Файл занадто великий ({{fileSize}}). Дозволений максимальний розмір — {{maxSize}}.","Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}":"Перевищено максимальну кількість файлів. Дозволено: {{allowed}}, обрано: {{received}}","This file type is not allowed.":"Цей тип файлу не підтримується.","File name is not valid.":"Неприпустима назва файлу.","File name is not valid. Allowed characters: {{allowedChars}}":"Неприпустима назва файлу. Допустимі символи: {{allowedChars}}","Failed to read the file.":"Не вдалося прочитати файл.","Failed to write the file.":"Не вдалося записати файл.","The file appears to be corrupted.":"Файл пошкоджений або має неправильний формат.","File integrity check failed.":"Перевірка цілісності файлу завершилась невдало.","Folder not found or no longer available.":"Папку не знайдено або її вже видалено.","Folder with this name already exists.":"Папка з такою назвою вже існує.","A folder with that name already exists. Please enter a different folder name.":"Папка з такою назвою вже існує. Введіть інше ім'я папки.","You don't have permission to access this folder.":"У вас немає прав доступу до цієї папки.","Folder name is not valid.":"Неприпустима назва папки.","Folder name is not valid. Allowed characters: {{allowedChars}}":"Не вдалося створити папку. Допустимі символи в назві папки: {{allowedChars}}","Failed to read the folder contents.":"Не вдалося прочитати вміст папки.","Failed to write to the folder.":"Не вдалося виконати операцію з папкою.","Folder storage quota exceeded.":"Перевищено квоту зберігання для папки.","Folder is not empty.":"Папка не порожня.","Server error while processing the folder.":"Помилка сервера під час обробки папки.","Folder operation took too long.":"Операція з папкою зайняла надто багато часу.","Network error. Please check your connection and try again.":"Помилка мережі. Перевірте підключення до інтернету та повторіть спробу.","The operation took too long. Please try again.":"Операція виконувалася надто довго. Спробуйте ще раз.","Server error. Please try again later.":"Помилка на сервері. Повторіть спробу пізніше.","Service is temporarily unavailable. Please try again later.":"Сервіс тимчасово недоступний. Повторіть спробу пізніше.","Too many requests. Please try again a bit later.":"Занадто багато запитів. Спробуйте ще раз пізніше.","Authentication failed. Please sign in again.":"Не вдалося пройти автентифікацію. Будь ласка, увійдіть знову.","You are not allowed to perform this action.":"У вас немає прав для виконання цієї дії.","Some of the provided data is invalid.":"Деякі з переданих даних є некоректними.","This operation is not supported.":"Ця операція не підтримується.","Request payload is too large.":"Тіло запиту занадто велике.","This media type is not supported.":"Цей тип даних не підтримується.","You have exceeded the upload quota.":"Перевищено квоту на завантаження файлів.","Network error while uploading the file.":"Помилка мережі під час завантаження файлу.","File upload took too long.":"Завантаження файлу тривало надто довго.","Server error while uploading the file.":"Помилка сервера під час завантаження файлу.","The specified URL is not valid.":"Вказано некоректну URL-адресу.","The specified URL is not reachable.":"Вказана URL-адреса недоступна.","Content type at the URL is not allowed.":"Тип вмісту за вказаною URL-адресою не підтримується.","Failed to download file from the URL.":"Не вдалося завантажити файл за вказаною URL-адресою.","Network error while downloading the file.":"Помилка мережі під час завантаження файлу.","File download took too long.":"Завантаження файлу тривало надто довго.","Server error while downloading the file.":"Помилка сервера під час завантаження файлу.","Some items could not be processed.":"Не всі елементи були оброблені успішно.","Failed to process all items in the batch.":"Не вдалося обробити жоден елемент у пакетній операції.","Some items in the batch are in a conflicting state.":"Деякі елементи в пакетній операції перебувають у конфліктному стані.","Some items in the batch did not pass validation.":"Деякі елементи в пакетній операції не пройшли валідацію.","AI service returned an invalid response.":"Сервіс ШІ повернув некоректну відповідь.","Failed to generate image using AI.":"Не вдалося створити зображення за допомогою ШІ.","You have reached the AI image generation limit.":"Досягнуто ліміту генерації зображень ШІ.","Error in external integration.":"Помилка у зовнішній інтеграції.","Error in a third-party service.":"Помилка у зовнішньому сервісі.","An unknown error occurred.":"Сталася невідома помилка.","Renaming is not allowed for this item.":"Перейменування не дозволено для цього елемента.","Moving is not allowed for this item.":"Переміщення не дозволено для цього елемента.","Copying is not allowed for this item.":"Копіювання не дозволено для цього елемента.","Deleting is not allowed for this item.":"Видалення не дозволено для цього елемента.","Cannot move an item into itself.":"Не можна перемістити елемент у самого себе.","Cannot move an item into its descendant folder.":"Не можна перемістити елемент у дочірню папку.","Cannot copy an item into itself.":"Не можна скопіювати елемент у самого себе.","Configuration error occurred.":"Сталася помилка конфігурації.","Storage quota exceeded. Please free up space.":"Перевищено квоту сховища. Звільніть місце.","File is locked by another process or user.":"Файл заблоковано іншим процесом або користувачем.","File version conflict. Please refresh and try again.":"Конфлікт версій файлу. Оновіть сторінку та спробуйте ще раз.","Batch operation exceeds the maximum number of items allowed.":"Пакетна операція перевищує максимально допустиму кількість елементів.",Moved:"Переміщено: {{names}}",move_success_summary:"Переміщено {{successCount}} з {{totalCount}} елементів",move_fail_summary:"Не вдалося перемістити {{failCount}} з {{totalCount}} елементів",Copied:"Скопійовано: {{names}}",copy_success_summary:"Скопійовано {{successCount}} з {{totalCount}} елементів",copy_fail_summary:"Не вдалося скопіювати {{failCount}} з {{totalCount}} елементів",Uploaded:"Завантажено: {{names}}",Failed:"Не вдалося завантажити: {{names}}","Failed to upload":"Не вдалося завантажити {{failCount}} з {{count}} файлу","Failed to upload files":"Не вдалося завантажити {{failCount}} з {{count}} файлів",months:{january:"січня",february:"лютого",march:"березня",april:"квітня",may:"травня",june:"червня",july:"липня",august:"серпня",september:"вересня",october:"жовтня",november:"листопада",december:"грудня"},files:"файлів","No available folders":"Немає доступних папок","My files":"Мої файли",GIF:"GIF","Stock images":"Стокові зображення","QR & Barcode":"QR та штрихкод","QR code":"QR-код",Barcode:"Штрихкод","Text or URL":"Текст або посилання","Code color":"Колір коду","Background color":"Колір фону","Add to My files":"Додати в Мої файли","Transparent background":"Прозорий фон","Barcode generation failed":"Не вдалося побудувати штрихкод. Використовуйте символи, підтримувані CODE128.","Validation error":"Помилка валідації","Enter text or URL to preview":"Введіть текст або URL для попереднього перегляду.",Preview:"Попередній перегляд","QR transparent background hint":"Прозорий PNG може зливатися з темною темою листа; білий фон частіше надійніший для сканерів.","QR image size px":"Розмір QR","Barcode bar height px":"Висота штрихів",AI:"AI","AI image generation":"AI генерація зображень","Search GIFs":"Знайти GIF","That`s all we could find.":"Це все, що ми змогли знайти.","Search image":"Знайти зображення",All:"Всі",Landscape:"Горизонтальні",Portrait:"Вертикальні",Squarish:"Квадратні",Black:"Чорний","Black and White":"Чорно-білий",White:"Білий",Orange:"Помаранчевий",Red:"Червоний",Purple:"Фіолетовий",Magenta:"Пурпурний",Green:"Зелений",Teal:"Бірюзовий",Blue:"Синій","Photo by":"Фото",on:"на","File Manager":"Файловий менеджер","File Manager not configured":"Файловий менеджер не налаштовано","Filter by type":"Фільтр за типом","All types":"Всі типи","File name":"Назва файлу",Actions:"Дії","Add file":"Додати файл","Add folder":"Додати папку","Add file by URL":"Додати файл за URL","File moved":"Файл переміщено","Error when moving a file":"Помилка при переміщенні файлу","Failed to download file":"Не вдалося завантажити файл","Failed to load JSON data":"Не вдалося завантажити дані JSON","Invalid file URL":"Некоректний URL файлу","Unable to validate file URL":"Не вдалося перевірити файл за URL","Type to search...":"Введіть для пошуку...",Submit:"Надіслати","No folders yet":"Папок поки немає","Drag files to upload":"Перетягніть файли для завантаження","Drop files here to upload":"Відпустіть файли тут, щоб завантажити їх","Newest first":"Спочатку нові","Oldest first":"Спочатку старі","Largest first":"Спочатку великі","Smallest first":"Спочатку маленькі","A-Z":"За алфавітом А-Я","Z-A":"За алфавітом Я-А","By type":"За типом","Evaluating the task":"Оцінка завдання","Something went wrong, please try again":"Щось пішло не так, будь ласка, спробуйте ще раз","Sort by":"Сортувати за","preview text":"Зображення завантажується ...","Use this variant":"Використати цей варіант","Confirm deletion":"Підтвердити видалення","Are you sure you want to delete the selected items?":"Ви впевнені, що хочете видалити обрані елементи?","Move to Trash":"Перемістити в кошик","Are you sure you want to move the selected items to the Trash?":"Ви впевнені, що хочете перемістити обрані елементи в кошик?","Permanently delete":"Повне видалення","Delete permanently":"Видалити безповоротно","Are you sure you want to permanently delete the selected items? This action cannot be undone.":"Ви впевнені, що хочете безповоротно видалити обрані елементи? Цю дію не можна скасувати.",Clear:"Очистити","Clear Trash":"Очистити кошик","Are you sure you want to permanently delete all items from Trash?":"Ви впевнені, що хочете безповоротно видалити всі елементи з кошика?","Trash cleared successfully":"Кошик успішно очищено","{{count}} items permanently deleted":"{{count}} елементів безповоротно видалено","Trash partially cleared":"Кошик частково очищено","{{succeeded}} items deleted, {{failed}} items failed":"{{succeeded}} елементів видалено, {{failed}} не вдалося видалити","Failed to clear trash":"Не вдалося очистити кошик","Error clearing trash":"Помилка при очищенні кошика","Deleting items...":"Видалення елементів...",delete_files_permanent_one:"Ця дія безповоротно видалить {{count}} файл",delete_files_permanent_few:"Ця дія безповоротно видалить {{count}} файли",delete_files_permanent_many:"Ця дія безповоротно видалить {{count}} файлів",delete_files_permanent_other:"Ця дія безповоротно видалить {{count}} файлів",delete_folder_permanent:"Ця дія безповоротно видалить папку «{{name}}» і все її вміст, включаючи {{count}} елементів.",delete_mixed_permanent:"Ця дія безповоротно видалить {{total}} обраних елементів, включаючи {{folders}} папок і всі {{images}} зображень всередині них.",permanent_delete_warning:"Видалення файлів, які були використані в листах, призведе до проблем з відображенням зображень у старих листах. Ви впевнені, що хочете повністю видалити обране?",move_files_to_trash_one:"Ця дія перемістить у кошик {{count}} файл.",move_files_to_trash_few:"Ця дія перемістить у кошик {{count}} файли.",move_files_to_trash_many:"Ця дія перемістить у кошик {{count}} файлів.",move_files_to_trash_other:"Ця дія перемістить у кошик {{count}} файлів.",move_folder_to_trash:"Ця дія перемістить у кошик папку «{{name}}» і все її вміст ({{count}} елементів).",move_mixed_to_trash:"Ця дія перемістить у кошик {{total}} обраних елементів, включаючи {{folders}} папок і {{images}} зображень.",delete_count_confirm_trash_one:"Перемістити в кошик {{count}} файл?",delete_count_confirm_trash_few:"Перемістити в кошик {{count}} файли?",delete_count_confirm_trash_many:"Перемістити в кошик {{count}} файлів?",delete_count_confirm_trash_other:"Перемістити в кошик {{count}} файлів?",delete_count_confirm_permanent_one:"Видалити назавжди {{count}} файл?",delete_count_confirm_permanent_few:"Видалити назавжди {{count}} файли?",delete_count_confirm_permanent_many:"Видалити назавжди {{count}} файлів?",delete_count_confirm_permanent_other:"Видалити назавжди {{count}} файлів?",delete_count_confirm_one:"Видалити {{count}} файл?",delete_count_confirm_few:"Видалити {{count}} файли?",delete_count_confirm_many:"Видалити {{count}} файлів?",delete_count_confirm_other:"Видалити {{count}} файлів?",item:"файл",items:"файлів",Trash:"Видалені",Choose:"Обрати",Stock:"Фотосток","Select an image from our library":"Виберіть зображення з нашої бібліотеки","AI generation":"AI генерація","Creating an image on demand":"Створення зображення на замовлення","Search file or folder":"Знайти файл або папку","Click here to select a file":"Натисніть тут, щоб вибрати файл","Supported files:":"Підтримувані файли:","Create folder":"Створити папку",Done:"Готово","Move here":"Перемістити сюди","Copy here":"Копіювати сюди","File URL":"URL файлу","There's nothing here":"Тут нічого немає","Try using a different search query.":"Спробуйте використовувати інший пошуковий запит.","Millions of free stock images":"Мільйони безкоштовних стокових зображень","Enter a search query and we'll find the perfect image for you":"Введіть пошуковий запит, і ми знайдемо для вас ідеальне зображення","Millions of icons":"Мільйони іконок","Lucide icons":"Іконки Lucide","Thousands of icons":"Тисячі іконок","Enter a search query and we'll find the perfect icon for you":"Введіть пошуковий запит, і ми знайдемо для вас ідеальну іконку","Enter your query and we will find the right one for you":"Введіть запит і ми знайдемо для вас відповідне","Over 350,000 live images":"Понад 350 000 живих зображень","The folder will be created in the root directory.":"Папка буде створена в кореневому каталозі.",undo:"СКАСУВАТИ",moved_to_trash_one:"Переміщено {{count}} елемент у кошик",moved_to_trash_few:"Переміщено {{count}} елементи у кошик",moved_to_trash_many:"Переміщено {{count}} елементів у кошик",moved_to_trash_other:"Переміщено {{count}} елементів у кошик",restored_items_one:"Відновлено {{count}} елемент",restored_items_few:"Відновлено {{count}} елементи",restored_items_many:"Відновлено {{count}} елементів",restored_items_other:"Відновлено {{count}} елементів",Type:"Тип","Generate image":"Створити зображення","A beautiful image of a sunset over a calm ocean.":"Красиве зображення заходу сонця над спокійним океаном.","For example:":"Наприклад:",Insert:"Вставити",Error:"Помилка","Upload progress":"Завантаження {{completed}}/{{total}}","Uploading files":"Завантаження {{completed}}/{{total}} файлів","Uploaded files":"Завантажено {{success}} з {{total}} файлів","Upload error files":"Помилка завантаження {{errorCount}} файлів","Applies to all {{count}} files":"(стосується всіх {{count}} файлів)","Some files failed to upload":"Деякі файли не вдалося завантажити. Перевірте розмір та формат файлів.",upload_error_hint_invalid_name:"Перейменуйте файл: використовуйте лише літери, цифри, дефіс та підкреслення.",upload_error_hint_size:"Зменшіть розмір файлу або оберіть інший.",upload_error_hint_format:"Оберіть дозволений формат: JPG, PNG або GIF.",upload_error_hint_exists:"Файл з такою назвою вже є в папці. Перейменуйте файл.","Images generated successfully":"Зображення успішно створено","Choose for template":"Вибрати для завантаження в шаблон","Trash is empty":"Кошик порожній","Deleted files will be displayed here":"Тут будуть відображатися видалені файли","Editing: {{name}}":"Редагування: {{name}}","Editing image":"Редагування зображення",Save:"Зберегти","Loading editor...":"Завантаження редактора…","Error loading image":"Помилка завантаження зображення","Error saving image":"Помилка при збереженні зображення","Error initializing editor":"Помилка ініціалізації редактора","Close File Manager":"Закрити файловий менеджер","Are you sure you want to close? Unsaved changes will be lost.":"Ви впевнені, що хочете закрити? Незбережені зміни будуть втрачені.","Are you sure you want to close the file manager?":"Ви впевнені, що хочете закрити файловий менеджер?",Close:"Закрити",KB:"КБ","No files":"Немає файлів","Folder is empty or files not found":"Папка порожня або файли не знайдені","Search files...":"Пошук файлів...",Success:"Успіх","Image updated successfully":"Зображення успішно оновлено","Failed to save changes":"Не вдалося зберегти зміни: {{error}}","Unknown error":"Невідома помилка","Select destination folder":"Виберіть папку призначення","Error moving":"Помилка при переміщенні","Error deleting":"Помилка при видаленні","Error copying":"Помилка при копіюванні","Error renaming":"Помилка при перейменуванні","Failed to refresh folder tree":"Не вдалося оновити дерево папок","Failed to refresh file list":"Не вдалося оновити список файлів","Errors occurred while moving":"Під час переміщення виникли помилки","Errors occurred while copying":"Під час копіювання виникли помилки","(error)":"(помилка)","(circular reference)":"(циклічне посилання)","File too large. Maximum size: {{size}}":"Файл занадто великий. Максимальний розмір: {{size}}","File too small. Minimum size: {{size}}":"Файл занадто маленький. Мінімальний розмір: {{size}}","Unsupported file type":"Непідтримуваний тип файлу","Unsupported file type: {{type}}":"Непідтримуваний тип файлу: {{type}}",unknown:"невідомий","Failed to load files":"Не вдалося завантажити файли","Failed to load files in folder":"Не вдалося завантажити вміст папки «{{folderName}}»","Failed to load subfolders in folder":"Не вдалося завантажити підпапки в «{{folderName}}»","Failed to load folder items count in folder":"Не вдалося отримати кількість елементів у «{{folderName}}»","DataProvider for folder deletion is not configured":"DataProvider для видалення папок не налаштовано","DataProvider for file upload is not configured":"DataProvider для завантаження файлів не налаштовано","Error uploading file {{fileName}}":"Помилка при завантаженні файлу {{fileName}}","Error uploading file":"Помилка при завантаженні файлу","Cannot upload files to Trash":"Не можна завантажувати файли в кошик","Please fill in all fields":"Заповніть усі поля","URL too long":"URL занадто довгий","Only http and https URLs are supported":"Підтримуються лише URL з протоколом http та https","Private and local URLs are not allowed":"Локальні та приватні URL заборонені","Upload by URL is not supported":"Завантаження за URL не підтримується","File name is too long. Maximum {{max}} characters":"Ім'я файлу занадто довге. Максимум {{max}} символів","File name contains invalid characters":"Ім'я файлу містить неприпустимі символи","Large file may take a long time to upload":"Великий файл може завантажуватися довго","File unavailable: {{status}} {{statusText}}":"Файл недоступний: {{status}} {{statusText}}","File too large: {{size}}":"Файл занадто великий: {{size}}","Unsupported file type: {{contentType}}":"Непідтримуваний тип файлу: {{contentType}}","Invalid server response: folder ID is missing":"Некорректна відповідь сервера: відсутній ID папки","Error: folder cannot be its own parent":"Помилка: папка не може бути батьком самої себе","Upload to Trash is forbidden":"Завантаження в кошик заборонено","renameFolder is not implemented in dataProviders":"renameFolder не реалізовано в dataProviders","renameFile is not implemented in dataProviders":"renameFile не реалізовано в dataProviders",Clean:"Очистити","Circular dependency detected: folder cannot be its own parent":"Виявлено циклічну залежність: папка не може бути батьком самої себе","Save as copy and choose":"Зберегти як копію і вибрати","Save and choose":"Зберегти і вибрати",Back:"Назад",Color1:"Колір",Color2:"Колір 2",Color3:"Колір 3",Deleted:"Видалені файли","Family search":"Пошук за сімейством","Files copied":"Файли скопійовано","Files deleted":"Файли видалено","Files moved":"Файли переміщено","Global search":"Глобальний пошук",Icons:"Іконки",Style:"Стиль","Rounded corners are saved as a PNG copy: the original format has no transparency":"Заокруглення зберігається копією в PNG: у вихідному форматі немає прозорості",imageEditor:{name:"Назва",save:"Зберегти",saveAs:"Зберегти як",back:"Назад",loading:"Завантаження…",resetOperations:"Скинути всі зміни",changesLoseWarningHint:"Якщо натиснути «Скинути», зміни буде втрачено. Продовжити?",discardChangesWarningHint:"Якщо закрити вікно, останні зміни не буде збережено.",cancel:"Скасувати",apply:"Застосувати",warning:"Попередження",confirm:"Підтвердити",discardChanges:"Скасувати зміни",undoTitle:"Скасувати останню дію",redoTitle:"Повторити останню дію",showImageTitle:"Показати вихідне зображення",zoomInTitle:"Наблизити",fitTitle:"Вписати",zoomOutTitle:"Віддалити",toggleZoomMenuTitle:"Меню масштабу",adjustTab:"Налаштування",finetuneTab:"Тонке налаштування",filtersTab:"Фільтри",watermarkTab:"Водяний знак",annotateTabLabel:"Анотації",resize:"Розмір",resizeTab:"Розмір",imageName:"Назва зображення",invalidImageError:"Зображення пошкоджене або не підтримується.",uploadImageError:"Не вдалося завантажити зображення.",areNotImages:"не є зображеннями",isNotImage:"не є зображенням",toBeUploaded:"для завантаження",cropTool:"Кадрування",original:"Вихідний",custom:"Власний",square:"Квадрат",landscape:"Альбомна",portrait:"Книжкова",ellipse:"Еліпс",classicTv:"Класичний ТВ",cinemascope:"Синемаскоп",cropPresetInstagramPost:"Пост Instagram",cropPresetPinterest:"Pinterest",cropPresetScreen:"Екран",cropPresetPhoto:"Фото",cropPresetLinkPreview:"Превʼю посилання",cropPresetCinema:"Кіно",cornerRadiusTool:"Заокруглення",cornerRadiusEllipseHint:"Недоступно для кадру «Еліпс»",arrowTool:"Стрілка",blurTool:"Розмиття",brightnessTool:"Яскравість",contrastTool:"Контраст",ellipseTool:"Еліпс",unFlipX:"Скасувати відображення по горизонталі",flipX:"Відобразити по горизонталі",unFlipY:"Скасувати відображення по вертикалі",flipY:"Відобразити по вертикалі",hsvTool:"HSV",hue:"Відтінок",brightness:"Яскравість",saturation:"Насиченість",value:"Значення",imageTool:"Зображення",importing:"Імпорт…",addImage:"Додати зображення",uploadImage:"Завантажити зображення",fromGallery:"З галереї",lineTool:"Лінія",penTool:"Олівець",polygonTool:"Багатокутник",sides:"Сторони",rectangleTool:"Прямокутник",cornerRadius:"Заокруглення кутів",resizeWidthTitle:"Ширина в пікселях",resizeHeightTitle:"Висота в пікселях",toggleRatioLockTitle:"Зберігати пропорції",resetSize:"Повернути вихідний розмір",rotateTool:"Поворот",textTool:"Текст",textSpacings:"Інтервали",textAlignment:"Вирівнювання",fontFamily:"Шрифт",size:"Розмір",letterSpacing:"Міжлітерний інтервал",lineHeight:"Міжрядковий інтервал",warmthTool:"Теплота",addWatermark:"Додати водяний знак",addTextWatermark:"Додати текстовий водяний знак",addWatermarkTitle:"Виберіть тип водяного знака",uploadWatermark:"Завантажити водяний знак",addWatermarkAsText:"Додати текстом",padding:"Відступ",paddings:"Відступи",shadow:"Тінь",horizontal:"По горизонталі",vertical:"По вертикалі",blur:"Розмиття",opacity:"Непрозорість",transparency:"Прозорість",position:"Положення",stroke:"Обведення",saveAsModalTitle:"Зберегти як",extension:"Розширення",format:"Формат",nameIsRequired:"Вкажіть назву.",quality:"Якість",imageDimensionsHoverTitle:"Розмір збереженого зображення (ширина × висота)",cropSizeLowerThanResizedWarning:"Вибрана область кадрування менша за заданий розмір — якість може погіршитися",actualSize:"Реальний розмір (100%)",fitSize:"Вписати у вікно",addImageTitle:"Виберіть зображення…",mutualizedFailedToLoadImg:"Не вдалося завантажити зображення.",tabsMenu:"Меню",download:"Завантажити",width:"Ширина",height:"Висота",cropItemNoEffect:"Для цього варіанта кадрування попередній перегляд недоступний",px:"px",invalidTextContent:"Неприпустимий текст",baselineShift:"Зміщення базової лінії",aiTab:"ШІ-інструменти",objectRemovalTool:"Видалення об’єкта",objectRemovalBrushSize:"Розмір пензля (px)",objectRemovalApplyButton:"Застосувати",objectRemovalBrushMode:"Режим пензля",objectRemovalBrushCircleType:"Круглий пензель",objectRemovalBrushSquareType:"Квадратний пензель",objectRemovalApplyingText:"Видаляємо виділену область",objectRemovalMarkModeTooltip:"Режим виділення",objectRemovalUnMarkModeTooltip:"Режим зняття виділення",objectRemovalCancelConfirmationTitle:"Скасувати обробку",objectRemovalCancelConfirmationHint:"Точно скасувати видалення об’єкта з",objectRemovalCancelConfirmationHintCompletion:"файлу?",theKeyword:""}},Co={Files:"Arquivos",selected:"selecionado(s)",Deselected:"Desmarcar",Refresh:"Atualizar","Select all":"Selecionar tudo",Rename:"Renomear","Rename file":"Renomear arquivo {{currentFileName}}","Select the destination folder":"Selecionar a pasta de destino","Selected files:":"Arquivos selecionados:","Selected files":"Arquivos selecionados: {{count}}",selected_files_one:"{{count}} arquivo selecionado",selected_files_few:"{{count}} arquivos selecionados",selected_files_many:"{{count}} arquivos selecionados",selected_files_other:"{{count}} arquivos selecionados",Copy:"Duplicar",Edit:"Editar",Move:"Mover","Move to":"Mover para",Delete:"Excluir","New folder":"Nova pasta","Image search...":"Busca de imagens...","Search icons":"Encontrar ícones","By name":"Por nome","By size":"Por tamanho","By date":"Por data",List:"Lista",Grid:"Grade",Main:"Principal",Folders:"Pastas","total pages":"Total de {{total}} itens",Name:"Nome",Untitled:"Sem título",Size:"Tamanho","Stroke width":"Espessura do traço",Dimensions:"Dimensões",Date:"Data",error:"erro",Folder:"Pasta",created:"criada","Failed to create folder":"Falha ao criar pasta","File deleted":"Arquivo excluído","Error when deleting a file":"Erro ao excluir arquivo","Folder deleted":"Pasta excluída","Error when deleting a folder":"Erro ao excluir pasta","Delete folder":"Excluir pasta","Are you sure you want to delete this folder? This action will also delete all files and subfolders.":"Tem certeza que deseja excluir esta pasta? Esta ação também excluirá todos os arquivos e subpastas.","API-endpoint for file upload is not configured":"Endpoint da API para upload de arquivos não está configurado","Please select an image file":"Por favor, selecione um arquivo de imagem",File:"Arquivo","has been successfully uploaded":"foi carregado com sucesso","The URL must point to an image":"A URL deve apontar para uma imagem","Image upload...":"Carregando imagem...",Unknown:"Desconhecido","Error downloading file by URL":"Erro ao baixar arquivo por URL","successfully uploaded":"carregado com sucesso","Error when downloading a file by URL":"Erro ao baixar arquivo por URL","Error when uploading a file":"Erro ao enviar arquivo","Error loading files":"Erro ao carregar arquivos","File not found":"Arquivo não encontrado","File renamed to":"Arquivo renomeado para","Failed to rename the file":"Falha ao renomear o arquivo","Folder renamed to":"Pasta renomeada para","Rename folder":"Renomear pasta","New folder name":"Novo nome da pasta","Enter a new folder name":"Digite um novo nome para a pasta","Please drag and drop image files only":"Por favor, arraste e solte apenas arquivos de imagem","Upload file by URL":"Carregar arquivo por URL","Upload file":"Carregar arquivo","Creating a new folder":"Criando uma nova pasta",Create:"Criar",Cancel:"Cancelar","Folder name":"Nome da pasta","Enter the name of the folder":"Digite o nome da pasta","Enter the name":"Digite o nome","A folder will be created inside:":"A pasta será criada dentro de:","selected folder":"pasta selecionada","The folder will be created in the root directory":"A pasta será criada no diretório raiz","Failed to load folders":"Não foi possível carregar as pastas","Folder name cannot be empty":"O nome da pasta não pode estar vazio","Folder creation provider is not configured":"O provedor de criação de pastas não está configurado","Folder created":"Pasta criada","Folder rename is disabled by config":"Renomear pastas está desabilitado pela configuração","Folder rename provider is not configured":"O provedor de renomeação de pastas não está configurado","Unexpected response when renaming folder":"Resposta inesperada ao renomear a pasta","Folder renamed":"Pasta renomeada","Failed to rename folder":"Não foi possível renomear a pasta","Failed to load folder items count":"Não foi possível obter a contagem de itens da pasta","Failed to load subfolders":"Não foi possível carregar as subpastas",Download:"Baixar","image URL":"URL da imagem","Enter the URL of the image":"Digite a URL da imagem","Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP":"Formatos suportados: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP","New file name":"Novo nome do arquivo","Enter a new file name":"Digite um novo nome para o arquivo","Copy to folder":"Copiar para pasta",Added:"Adicionado em {{date}}","File uploaded successfully":"Arquivo {{fileName}} carregado com sucesso","Successfully uploaded":"{{successCount}} de {{count}} arquivo carregado com sucesso","Successfully uploaded files":"{{successCount}} de {{count}} arquivos carregados com sucesso",uploads_success_summary:"Enviados {{successCount}} de {{totalCount}} arquivos",uploads_fail_summary:"Falhou ao enviar {{failCount}} de {{totalCount}} arquivos","File with this name already exists.":"Já existe um arquivo com esse nome.","File not found or no longer available.":"O arquivo não foi encontrado ou já foi excluído.","You don't have permission to access this file.":"Você não tem permissão para acessar este arquivo.","File is too large to upload.":"O arquivo é grande demais para ser enviado.","File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.":"O arquivo é grande demais ({{fileSize}}). Tamanho máximo permitido: {{maxSize}}.","Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}":"Número máximo de arquivos excedido. Permitido: {{allowed}}, recebido: {{received}}","This file type is not allowed.":"Este tipo de arquivo não é permitido.","File name is not valid.":"O nome do arquivo não é válido.","File name is not valid. Allowed characters: {{allowedChars}}":"O nome do arquivo não é válido. Caracteres permitidos: {{allowedChars}}","Failed to read the file.":"Não foi possível ler o arquivo.","Failed to write the file.":"Não foi possível gravar o arquivo.","The file appears to be corrupted.":"O arquivo parece estar corrompido.","File integrity check failed.":"A verificação de integridade do arquivo falhou.","Folder not found or no longer available.":"A pasta não foi encontrada ou já foi excluída.","Folder with this name already exists.":"Já existe uma pasta com esse nome.","A folder with that name already exists. Please enter a different folder name.":"Já existe uma pasta com esse nome. Digite um nome diferente para a pasta.","You don't have permission to access this folder.":"Você não tem permissão para acessar esta pasta.","Folder name is not valid.":"O nome da pasta não é válido.","Folder name is not valid. Allowed characters: {{allowedChars}}":"Não foi possível criar a pasta. Caracteres permitidos no nome: {{allowedChars}}","Failed to read the folder contents.":"Não foi possível ler o conteúdo da pasta.","Failed to write to the folder.":"Não foi possível gravar na pasta.","Folder storage quota exceeded.":"A cota de armazenamento da pasta foi excedida.","Folder is not empty.":"A pasta não está vazia.","Server error while processing the folder.":"Erro do servidor ao processar a pasta.","Folder operation took too long.":"A operação com a pasta demorou demais.","Network error. Please check your connection and try again.":"Erro de rede. Verifique sua conexão e tente novamente.","The operation took too long. Please try again.":"A operação demorou demais. Tente novamente.","Server error. Please try again later.":"Erro no servidor. Tente novamente mais tarde.","Service is temporarily unavailable. Please try again later.":"O serviço está temporariamente indisponível. Tente novamente mais tarde.","Too many requests. Please try again a bit later.":"Muitas solicitações. Tente novamente mais tarde.","Authentication failed. Please sign in again.":"Falha na autenticação. Faça login novamente.","You are not allowed to perform this action.":"Você não tem permissão para executar esta ação.","Some of the provided data is invalid.":"Alguns dos dados fornecidos são inválidos.","This operation is not supported.":"Esta operação não é suportada.","Request payload is too large.":"O corpo da requisição é grande demais.","This media type is not supported.":"Este tipo de mídia não é suportado.","You have exceeded the upload quota.":"Você excedeu a cota de upload de arquivos.","Network error while uploading the file.":"Erro de rede ao enviar o arquivo.","File upload took too long.":"O envio do arquivo demorou demais.","Server error while uploading the file.":"Erro do servidor ao enviar o arquivo.","The specified URL is not valid.":"A URL especificada não é válida.","The specified URL is not reachable.":"A URL especificada não está acessível.","Content type at the URL is not allowed.":"O tipo de conteúdo na URL não é permitido.","Failed to download file from the URL.":"Não foi possível baixar o arquivo da URL.","Network error while downloading the file.":"Erro de rede ao baixar o arquivo.","File download took too long.":"O download do arquivo demorou demais.","Server error while downloading the file.":"Erro do servidor ao baixar o arquivo.","Some items could not be processed.":"Nem todos os itens foram processados com sucesso.","Failed to process all items in the batch.":"Nenhum item do lote pôde ser processado.","Some items in the batch are in a conflicting state.":"Alguns itens do lote estão em estado de conflito.","Some items in the batch did not pass validation.":"Alguns itens do lote não passaram na validação.","AI service returned an invalid response.":"O serviço de IA retornou uma resposta inválida.","Failed to generate image using AI.":"Falha ao gerar imagem usando IA.","You have reached the AI image generation limit.":"Você atingiu o limite de geração de imagens por IA.","Error in external integration.":"Erro em uma integração externa.","Error in a third-party service.":"Erro em um serviço de terceiros.","An unknown error occurred.":"Ocorreu um erro desconhecido.","Renaming is not allowed for this item.":"Renomear não é permitido para este item.","Moving is not allowed for this item.":"Mover não é permitido para este item.","Copying is not allowed for this item.":"Copiar não é permitido para este item.","Deleting is not allowed for this item.":"Excluir não é permitido para este item.","Cannot move an item into itself.":"Não é possível mover um item para dentro de si mesmo.","Cannot move an item into its descendant folder.":"Não é possível mover um item para sua pasta descendente.","Cannot copy an item into itself.":"Não é possível copiar um item para dentro de si mesmo.","Configuration error occurred.":"Ocorreu um erro de configuração.","Storage quota exceeded. Please free up space.":"Cota de armazenamento excedida. Libere espaço.","File is locked by another process or user.":"O arquivo está bloqueado por outro processo ou usuário.","File version conflict. Please refresh and try again.":"Conflito de versão do arquivo. Atualize a página e tente novamente.","Batch operation exceeds the maximum number of items allowed.":"A operação em lote excede o número máximo de itens permitidos.",Moved:"Movidos: {{names}}",move_success_summary:"Movidos {{successCount}} de {{totalCount}} itens",move_fail_summary:"Falhou ao mover {{failCount}} de {{totalCount}} itens",Copied:"Copiados: {{names}}",copy_success_summary:"Copiados {{successCount}} de {{totalCount}} itens",copy_fail_summary:"Falhou ao copiar {{failCount}} de {{totalCount}} itens",Uploaded:"Arquivos enviados: {{names}}",Failed:"Falha ao enviar: {{names}}","Failed to upload":"Falha ao carregar {{failCount}} de {{count}} arquivo","Failed to upload files":"Falha ao carregar {{failCount}} de {{count}} arquivos",months:{january:"janeiro",february:"fevereiro",march:"março",april:"abril",may:"maio",june:"junho",july:"julho",august:"agosto",september:"setembro",october:"outubro",november:"novembro",december:"dezembro"},files:"arquivos","No available folders":"Nenhuma pasta disponível","My files":"Meus arquivos",GIF:"GIF","Stock images":"Imagens de stock","QR & Barcode":"QR e código de barras","QR code":"Código QR",Barcode:"Código de barras","Text or URL":"Texto ou URL","Code color":"Cor do código","Background color":"Cor de fundo","Add to My files":"Adicionar aos Meus arquivos","Transparent background":"Fundo transparente","Barcode generation failed":"Não foi possível gerar o código de barras. Use caracteres compatíveis com CODE128.","Validation error":"Erro de validação","Enter text or URL to preview":"Digite texto ou um URL para pré-visualizar.",Preview:"Pré-visualização","QR transparent background hint":"PNG transparente pode se misturar a temas escuros do e-mail; fundo branco costuma ser mais confiável para leitores.","QR image size px":"Tamanho do QR","Barcode bar height px":"Altura das barras",AI:"IA","AI image generation":"Geração de imagens por IA","Search GIFs":"Buscar GIFs","That`s all we could find.":"Isso é tudo que conseguimos encontrar.","Search image":"Buscar imagem",All:"Todos",Landscape:"Paisagem",Portrait:"Retrato",Squarish:"Quadrados",Black:"Preto","Black and White":"Preto e branco",White:"Branco",Orange:"Laranja",Red:"Vermelho",Purple:"Roxo",Magenta:"Magenta",Green:"Verde",Teal:"Verde-azulado",Blue:"Azul","Photo by":"Foto por",on:"em","File Manager":"Gerenciador de arquivos","File Manager not configured":"Gerenciador de arquivos não configurado","Filter by type":"Filtrar por tipo","All types":"Todos os tipos","File name":"Nome do arquivo",Actions:"Ações","Add file":"Adicionar arquivo","Add folder":"Adicionar pasta","Add file by URL":"Adicionar arquivo por URL","File moved":"Arquivo movido","Error when moving a file":"Erro ao mover arquivo","Failed to download file":"Não foi possível baixar o arquivo","Failed to load JSON data":"Não foi possível carregar os dados JSON","Invalid file URL":"URL de arquivo inválida","Unable to validate file URL":"Não foi possível validar a URL do arquivo","Type to search...":"Digite para buscar...",Submit:"Enviar","No folders yet":"Nenhuma pasta ainda","Drag files to upload":"Arraste arquivos para carregar","Drop files here to upload":"Solte os arquivos aqui para carregá-los","Newest first":"Mais recentes primeiro","Oldest first":"Mais antigos primeiro","Largest first":"Maiores primeiro","Smallest first":"Menores primeiro","A-Z":"A-Z","Z-A":"Z-A","By type":"Por tipo","Evaluating the task":"Avaliando a tarefa","Something went wrong, please try again":"Algo deu errado, por favor tente novamente","Sort by":"Ordenar por","preview text":"Carregando imagem...","Use this variant":"Usar esta variante","Confirm deletion":"Confirmar exclusão","Are you sure you want to delete the selected items?":"Tem certeza que deseja excluir os itens selecionados?","Move to Trash":"Mover para lixeira","Are you sure you want to move the selected items to the Trash?":"Tem certeza que deseja mover os itens selecionados para a lixeira?","Permanently delete":"Exclusão permanente","Delete permanently":"Excluir permanentemente","Are you sure you want to permanently delete the selected items? This action cannot be undone.":"Tem certeza que deseja excluir permanentemente os itens selecionados? Esta ação não pode ser desfeita.",Clear:"Limpar","Clear Trash":"Limpar lixeira","Are you sure you want to permanently delete all items from Trash?":"Tem certeza que deseja excluir permanentemente todos os itens da lixeira?","Trash cleared successfully":"Lixeira limpa com sucesso","{{count}} items permanently deleted":"{{count}} itens excluídos permanentemente","Trash partially cleared":"Lixeira parcialmente limpa","{{succeeded}} items deleted, {{failed}} items failed":"{{succeeded}} itens excluídos, {{failed}} falharam","Failed to clear trash":"Falha ao limpar lixeira","Error clearing trash":"Erro ao limpar lixeira","Deleting items...":"Excluindo itens...",delete_files_permanent_one:"Esta ação excluirá permanentemente {{count}} arquivo",delete_files_permanent_few:"Esta ação excluirá permanentemente {{count}} arquivos",delete_files_permanent_many:"Esta ação excluirá permanentemente {{count}} arquivos",delete_files_permanent_other:"Esta ação excluirá permanentemente {{count}} arquivos",delete_folder_permanent:"Esta ação excluirá permanentemente a pasta «{{name}}» e todo seu conteúdo, incluindo {{count}} itens.",delete_mixed_permanent:"Esta ação excluirá permanentemente {{total}} itens selecionados, incluindo {{folders}} pastas e todas as {{images}} imagens dentro delas.",permanent_delete_warning:"Excluir arquivos que foram usados em e-mails causará problemas na exibição de imagens em e-mails antigos. Tem certeza de que deseja excluir permanentemente a seleção?",move_files_to_trash_one:"Esta ação moverá {{count}} arquivo para a lixeira.",move_files_to_trash_few:"Esta ação moverá {{count}} arquivos para a lixeira.",move_files_to_trash_many:"Esta ação moverá {{count}} arquivos para a lixeira.",move_files_to_trash_other:"Esta ação moverá {{count}} arquivos para a lixeira.",move_folder_to_trash:"Esta ação moverá a pasta «{{name}}» e todo seu conteúdo ({{count}} itens) para a lixeira.",move_mixed_to_trash:"Esta ação moverá {{total}} itens selecionados para a lixeira, incluindo {{folders}} pastas e {{images}} imagens.",delete_count_confirm_trash_one:"Mover {{count}} arquivo para a lixeira?",delete_count_confirm_trash_few:"Mover {{count}} arquivos para a lixeira?",delete_count_confirm_trash_many:"Mover {{count}} arquivos para a lixeira?",delete_count_confirm_trash_other:"Mover {{count}} arquivos para a lixeira?",delete_count_confirm_permanent_one:"Excluir permanentemente {{count}} arquivo?",delete_count_confirm_permanent_few:"Excluir permanentemente {{count}} arquivos?",delete_count_confirm_permanent_many:"Excluir permanentemente {{count}} arquivos?",delete_count_confirm_permanent_other:"Excluir permanentemente {{count}} arquivos?",delete_count_confirm_one:"Excluir {{count}} arquivo?",delete_count_confirm_few:"Excluir {{count}} arquivos?",delete_count_confirm_many:"Excluir {{count}} arquivos?",delete_count_confirm_other:"Excluir {{count}} arquivos?",item:"arquivo",items:"arquivos",Trash:"Lixeira",Choose:"Escolher",Stock:"Banco de imagens","Select an image from our library":"Selecione uma imagem da nossa biblioteca","AI generation":"Geração por IA","Creating an image on demand":"Criando uma imagem sob demanda","Search file or folder":"Buscar arquivo ou pasta","Click here to select a file":"Clique aqui para selecionar um arquivo","Supported files:":"Arquivos suportados:","Create folder":"Criar pasta",Done:"Concluído","Move here":"Mover aqui","Copy here":"Copiar aqui","File URL":"URL do arquivo","There's nothing here":"Não há nada aqui","Try using a different search query.":"Tente usar uma consulta de pesquisa diferente.","Millions of free stock images":"Milhões de imagens de stock gratuitas","Enter a search query and we'll find the perfect image for you":"Digite uma consulta de busca e encontraremos a imagem perfeita para você","Millions of icons":"Milhões de ícones","Lucide icons":"Ícones Lucide","Thousands of icons":"Milhares de ícones","Enter a search query and we'll find the perfect icon for you":"Digite uma consulta de busca e encontraremos o ícone perfeito para você","Enter your query and we will find the right one for you":"Digite sua consulta e nós encontraremos a ideal para você","Over 350,000 live images":"Mais de 350.000 imagens ao vivo","The folder will be created in the root directory.":"A pasta será criada no diretório raiz.",undo:"DESFAZER",moved_to_trash_one:"{{count}} item movido para a lixeira",moved_to_trash_few:"{{count}} itens movidos para a lixeira",moved_to_trash_many:"{{count}} itens movidos para a lixeira",moved_to_trash_other:"{{count}} itens movidos para a lixeira",restored_items_one:"{{count}} item restaurado",restored_items_few:"{{count}} itens restaurados",restored_items_many:"{{count}} itens restaurados",restored_items_other:"{{count}} itens restaurados",Type:"Tipo","Generate image":"Gerar imagem","A beautiful image of a sunset over a calm ocean.":"Uma imagem bonita de um pôr do sol sobre um oceano tranquilo.","For example:":"Por exemplo:",Insert:"Inserir",Error:"Erro","Upload progress":"Enviando {{completed}}/{{total}}","Uploading files":"Enviando {{completed}}/{{total}} arquivos","Uploaded files":"Enviados {{success}} de {{total}} arquivos","Upload error files":"Erro ao enviar {{errorCount}} arquivos","Applies to all {{count}} files":"(aplica-se a todos os {{count}} arquivos)","Some files failed to upload":"Alguns arquivos não puderam ser enviados. Verifique o tamanho e o formato dos arquivos.",upload_error_hint_invalid_name:"Renomeie o arquivo: use apenas letras, números, hífens e sublinhados.",upload_error_hint_size:"Reduza o tamanho do arquivo ou escolha outro.",upload_error_hint_format:"Use um formato permitido: JPG, PNG ou GIF.",upload_error_hint_exists:"Já existe um arquivo com este nome na pasta. Renomeie o arquivo.","Images generated successfully":"Imagens geradas com sucesso","Choose for template":"Selecionar para carregar no modelo","Trash is empty":"A lixeira está vazia","Deleted files will be displayed here":"Os arquivos excluídos serão exibidos aqui","Editing: {{name}}":"Editando: {{name}}","Editing image":"Editando imagem",Save:"Salvar","Loading editor...":"Carregando editor...","Error loading image":"Erro ao carregar a imagem","Error saving image":"Erro ao salvar a imagem","Error initializing editor":"Erro ao inicializar o editor","Close File Manager":"Fechar gerenciador de arquivos","Are you sure you want to close? Unsaved changes will be lost.":"Tem certeza de que deseja fechar? As alterações não salvas serão perdidas.","Are you sure you want to close the file manager?":"Tem certeza de que deseja fechar o gerenciador de arquivos?",Close:"Fechar",KB:"KB","No files":"Nenhum arquivo","Folder is empty or files not found":"A pasta está vazia ou os arquivos não foram encontrados","Search files...":"Buscar arquivos...",Success:"Sucesso","Image updated successfully":"Imagem atualizada com sucesso","Failed to save changes":"Falha ao salvar alterações: {{error}}","Unknown error":"Erro desconhecido","Select destination folder":"Selecione a pasta de destino","Error moving":"Erro ao mover","Error deleting":"Erro ao excluir","Error copying":"Erro ao copiar","Error renaming":"Erro ao renomear","Failed to refresh folder tree":"Falha ao atualizar a árvore de pastas","Failed to refresh file list":"Falha ao atualizar a lista de arquivos","Errors occurred while moving":"Ocorreram erros ao mover","Errors occurred while copying":"Ocorreram erros ao copiar","(error)":"(erro)","(circular reference)":"(referência circular)","File too large. Maximum size: {{size}}":"Arquivo muito grande. Tamanho máximo: {{size}}","File too small. Minimum size: {{size}}":"Arquivo muito pequeno. Tamanho mínimo: {{size}}","Unsupported file type":"Tipo de arquivo não suportado","Unsupported file type: {{type}}":"Tipo de arquivo não suportado: {{type}}",unknown:"desconhecido","Failed to load files":"Falha ao carregar arquivos","Failed to load files in folder":"Não foi possível carregar o conteúdo da pasta ({{folderName}})","Failed to load subfolders in folder":'Não foi possível carregar subpastas em "{{folderName}}"',"Failed to load folder items count in folder":'Não foi possível obter a contagem de itens em "{{folderName}}"',"DataProvider for folder deletion is not configured":"DataProvider para exclusão de pastas não está configurado","DataProvider for file upload is not configured":"DataProvider para upload de arquivos não está configurado","Error uploading file {{fileName}}":"Erro ao carregar o arquivo {{fileName}}","Error uploading file":"Erro ao carregar o arquivo","Cannot upload files to Trash":"Não é possível carregar arquivos para a lixeira","Please fill in all fields":"Por favor, preencha todos os campos","URL too long":"URL muito longa","Only http and https URLs are supported":"Apenas URLs com protocolo http e https são suportadas","Private and local URLs are not allowed":"URLs locais e privadas não são permitidas","Upload by URL is not supported":"Upload por URL não é suportado","File name is too long. Maximum {{max}} characters":"O nome do arquivo é muito longo. Máximo de {{max}} caracteres","File name contains invalid characters":"O nome do arquivo contém caracteres inválidos","Large file may take a long time to upload":"Um arquivo grande pode demorar muito para ser carregado","File unavailable: {{status}} {{statusText}}":"Arquivo indisponível: {{status}} {{statusText}}","File too large: {{size}}":"Arquivo muito grande: {{size}}","Unsupported file type: {{contentType}}":"Tipo de arquivo não suportado: {{contentType}}","Invalid server response: folder ID is missing":"Resposta do servidor inválida: ID da pasta ausente","Error: folder cannot be its own parent":"Erro: a pasta não pode ser seu próprio pai","Upload to Trash is forbidden":"Enviar para a lixeira é proibido","renameFolder is not implemented in dataProviders":"renameFolder não está implementado em dataProviders","renameFile is not implemented in dataProviders":"renameFile não está implementado em dataProviders",Clean:"Limpar","Circular dependency detected: folder cannot be its own parent":"Dependência circular detectada: a pasta não pode ser seu próprio pai","Save as copy and choose":"Salvar como cópia e escolher","Save and choose":"Salvar e escolher",Back:"Voltar",Color1:"Cor",Color2:"Cor 2",Color3:"Cor 3",Deleted:"Arquivos excluídos","Family search":"Busca por família","Files copied":"Arquivos copiados","Files deleted":"Arquivos excluídos","Files moved":"Arquivos movidos","Global search":"Busca global",Icons:"Ícones",Style:"Estilo","Rounded corners are saved as a PNG copy: the original format has no transparency":"O arredondamento é salvo como cópia em PNG: o formato original não tem transparência",imageEditor:{name:"Nome",save:"Salvar",saveAs:"Salvar como",back:"Voltar",loading:"Carregando…",resetOperations:"Redefinir todas as alterações",changesLoseWarningHint:"Se você clicar em «Redefinir», as alterações serão perdidas. Deseja continuar?",discardChangesWarningHint:"Se você fechar a janela, as últimas alterações não serão salvas.",cancel:"Cancelar",apply:"Aplicar",warning:"Aviso",confirm:"Confirmar",discardChanges:"Descartar alterações",undoTitle:"Desfazer a última ação",redoTitle:"Refazer a última ação",showImageTitle:"Mostrar a imagem original",zoomInTitle:"Ampliar",fitTitle:"Ajustar",zoomOutTitle:"Reduzir",toggleZoomMenuTitle:"Menu de zoom",adjustTab:"Ajustes",finetuneTab:"Ajuste fino",filtersTab:"Filtros",watermarkTab:"Marca d'água",annotateTabLabel:"Anotações",resize:"Tamanho",resizeTab:"Tamanho",imageName:"Nome da imagem",invalidImageError:"A imagem é inválida.",uploadImageError:"Erro ao enviar a imagem.",areNotImages:"não são imagens",isNotImage:"não é uma imagem",toBeUploaded:"para enviar",cropTool:"Cortar",original:"Original",custom:"Personalizado",square:"Quadrado",landscape:"Paisagem",portrait:"Retrato",ellipse:"Elipse",classicTv:"TV clássica",cinemascope:"Cinemascope",cropPresetInstagramPost:"Post do Instagram",cropPresetPinterest:"Pinterest",cropPresetScreen:"Tela",cropPresetPhoto:"Foto",cropPresetLinkPreview:"Pré-visualização de link",cropPresetCinema:"Cinema",cornerRadiusTool:"Arredondamento",cornerRadiusEllipseHint:"Indisponível para o corte “Elipse”",arrowTool:"Seta",blurTool:"Desfoque",brightnessTool:"Brilho",contrastTool:"Contraste",ellipseTool:"Elipse",unFlipX:"Desfazer a inversão horizontal",flipX:"Inverter na horizontal",unFlipY:"Desfazer a inversão vertical",flipY:"Inverter na vertical",hsvTool:"HSV",hue:"Matiz",brightness:"Brilho",saturation:"Saturação",value:"Valor",imageTool:"Imagem",importing:"Importando…",addImage:"Adicionar imagem",uploadImage:"Enviar imagem",fromGallery:"Da galeria",lineTool:"Linha",penTool:"Lápis",polygonTool:"Polígono",sides:"Lados",rectangleTool:"Retângulo",cornerRadius:"Raio dos cantos",resizeWidthTitle:"Largura em pixels",resizeHeightTitle:"Altura em pixels",toggleRatioLockTitle:"Bloquear a proporção",resetSize:"Restaurar o tamanho original",rotateTool:"Girar",textTool:"Texto",textSpacings:"Espaçamento",textAlignment:"Alinhamento",fontFamily:"Fonte",size:"Tamanho",letterSpacing:"Espaçamento entre letras",lineHeight:"Altura da linha",warmthTool:"Temperatura",addWatermark:"Adicionar marca d'água",addTextWatermark:"Adicionar marca d'água de texto",addWatermarkTitle:"Escolha o tipo de marca d'água",uploadWatermark:"Enviar marca d'água",addWatermarkAsText:"Adicionar como texto",padding:"Espaçamento interno",paddings:"Espaçamentos internos",shadow:"Sombra",horizontal:"Horizontal",vertical:"Vertical",blur:"Desfoque",opacity:"Opacidade",transparency:"Transparência",position:"Posição",stroke:"Contorno",saveAsModalTitle:"Salvar como",extension:"Extensão",format:"Formato",nameIsRequired:"O nome é obrigatório.",quality:"Qualidade",imageDimensionsHoverTitle:"Tamanho da imagem salva (largura × altura)",cropSizeLowerThanResizedWarning:"A área de corte é menor que o tamanho aplicado; a qualidade pode piorar",actualSize:"Tamanho real (100%)",fitSize:"Ajustar ao tamanho",addImageTitle:"Selecione uma imagem…",mutualizedFailedToLoadImg:"Não foi possível carregar a imagem.",tabsMenu:"Menu",download:"Baixar",width:"Largura",height:"Altura",cropItemNoEffect:"Não há pré-visualização para este corte",px:"px",invalidTextContent:"Conteúdo de texto inválido",baselineShift:"Deslocamento da linha de base",aiTab:"Ferramentas de IA",objectRemovalTool:"Remover objeto",objectRemovalBrushSize:"Tamanho do pincel (px)",objectRemovalApplyButton:"Aplicar",objectRemovalBrushMode:"Modo do pincel",objectRemovalBrushCircleType:"Pincel redondo",objectRemovalBrushSquareType:"Pincel quadrado",objectRemovalApplyingText:"Removendo a área selecionada",objectRemovalMarkModeTooltip:"Modo de marcação",objectRemovalUnMarkModeTooltip:"Modo de desmarcação",objectRemovalCancelConfirmationTitle:"Cancelar o processo",objectRemovalCancelConfirmationHint:"Tem certeza de que deseja cancelar a remoção do objeto de",objectRemovalCancelConfirmationHintCompletion:"este arquivo?",theKeyword:""}},Vs={Files:"Archivos",selected:"seleccionado(s)",Deselected:"Deseleccionar",Refresh:"Actualizar","Select all":"Seleccionar todo",Rename:"Renombrar","Rename file":"Renombrar archivo {{currentFileName}}","Select the destination folder":"Seleccionar la carpeta de destino","Selected files:":"Archivos seleccionados:","Selected files":"Archivos seleccionados: {{count}}",selected_files_one:"{{count}} archivo seleccionado",selected_files_few:"{{count}} archivos seleccionados",selected_files_many:"{{count}} archivos seleccionados",selected_files_other:"{{count}} archivos seleccionados",Copy:"Duplicar",Edit:"Editar",Move:"Mover","Move to":"Mover a",Delete:"Eliminar","New folder":"Nueva carpeta","Image search...":"Búsqueda de imágenes...","Search icons":"Buscar iconos","By name":"Por nombre","By size":"Por tamaño","By date":"Por fecha",List:"Lista",Grid:"Cuadrícula",Main:"Principal",Folders:"Carpetas","total pages":"{{total}} elementos en total",Name:"Nombre",Untitled:"Sin título",Size:"Tamaño","Stroke width":"Grosor del trazo",Dimensions:"Dimensiones",Date:"Fecha",error:"error",Folder:"Carpeta",created:"creada","Failed to create folder":"Error al crear la carpeta","File deleted":"Archivo eliminado","Error when deleting a file":"Error al eliminar el archivo","Folder deleted":"Carpeta eliminada","Error when deleting a folder":"Error al eliminar la carpeta","Delete folder":"Eliminar carpeta","Are you sure you want to delete this folder? This action will also delete all files and subfolders.":"¿Está seguro de que desea eliminar esta carpeta? Esta acción también eliminará todos los archivos y subcarpetas.","API-endpoint for file upload is not configured":"El endpoint API para la carga de archivos no está configurado","Please select an image file":"Por favor, seleccione un archivo de imagen",File:"Archivo","has been successfully uploaded":"se ha cargado exitosamente","The URL must point to an image":"La URL debe apuntar a una imagen","Image upload...":"Cargando imagen...",Unknown:"Desconocido","Error downloading file by URL":"Error al descargar el archivo por URL","successfully uploaded":"cargado exitosamente","Error when downloading a file by URL":"Error al descargar un archivo por URL","Error when uploading a file":"Error al cargar el archivo","Error loading files":"Error al cargar archivos","File not found":"Archivo no encontrado","File renamed to":"Archivo renombrado a","Failed to rename the file":"Error al renombrar el archivo","Folder renamed to":"Carpeta renombrada a","Rename folder":"Renombrar carpeta","New folder name":"Nuevo nombre de la carpeta","Enter a new folder name":"Ingrese un nuevo nombre para la carpeta","Please drag and drop image files only":"Por favor, arrastre y suelte solo archivos de imagen","Upload file by URL":"Cargar archivo por URL","Upload file":"Cargar archivo","Creating a new folder":"Creando una nueva carpeta",Create:"Crear",Cancel:"Cancelar","Folder name":"Nombre de la carpeta","Enter the name of the folder":"Ingrese el nombre de la carpeta","Enter the name":"Ingrese el nombre","A folder will be created inside:":"La carpeta se creará dentro de:","selected folder":"carpeta seleccionada","The folder will be created in the root directory":"La carpeta se creará en el directorio raíz","Failed to load folders":"No se pudieron cargar las carpetas","Folder name cannot be empty":"El nombre de la carpeta no puede estar vacío","Folder creation provider is not configured":"El proveedor de creación de carpetas no está configurado","Folder created":"Carpeta creada","Folder rename is disabled by config":"El renombrado de carpetas está deshabilitado por la configuración","Folder rename provider is not configured":"El proveedor para renombrar carpetas no está configurado","Unexpected response when renaming folder":"Respuesta inesperada al renombrar la carpeta","Folder renamed":"Carpeta renombrada","Failed to rename folder":"No se pudo renombrar la carpeta","Failed to load folder items count":"No se pudo obtener la cantidad de elementos de la carpeta","Failed to load subfolders":"No se pudieron cargar las subcarpetas",Download:"Descargar","image URL":"URL de la imagen","Enter the URL of the image":"Ingrese la URL de la imagen","Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP":"Formatos admitidos: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP","New file name":"Nuevo nombre del archivo","Enter a new file name":"Ingrese un nuevo nombre para el archivo","Copy to folder":"Copiar a carpeta",Added:"Añadido el {{date}}","File uploaded successfully":"Archivo {{fileName}} cargado exitosamente","Successfully uploaded":"{{successCount}} de {{count}} archivo cargado exitosamente","Successfully uploaded files":"{{successCount}} de {{count}} archivos cargados exitosamente",uploads_success_summary:"Se cargaron {{successCount}} de {{totalCount}} archivos",uploads_fail_summary:"No se pudieron cargar {{failCount}} de {{totalCount}} archivos","File with this name already exists.":"Ya existe un archivo con este nombre.","File not found or no longer available.":"El archivo no se encontró o ya fue eliminado.","You don't have permission to access this file.":"No tiene permisos para acceder a este archivo.","File is too large to upload.":"El archivo es demasiado grande para subir.","File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.":"El archivo es demasiado grande ({{fileSize}}). Tamaño máximo permitido: {{maxSize}}.","Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}":"Se ha superado el número máximo de archivos. Permitido: {{allowed}}, recibido: {{received}}","This file type is not allowed.":"Este tipo de archivo no está permitido.","File name is not valid.":"El nombre del archivo no es válido.","File name is not valid. Allowed characters: {{allowedChars}}":"El nombre del archivo no es válido. Caracteres permitidos: {{allowedChars}}","Failed to read the file.":"No se pudo leer el archivo.","Failed to write the file.":"No se pudo escribir el archivo.","The file appears to be corrupted.":"El archivo parece estar dañado.","File integrity check failed.":"La verificación de integridad del archivo falló.","Folder not found or no longer available.":"La carpeta no se encontró o ya fue eliminada.","Folder with this name already exists.":"Ya existe una carpeta con este nombre.","A folder with that name already exists. Please enter a different folder name.":"Ya existe una carpeta con ese nombre. Introduzca un nombre de carpeta diferente.","You don't have permission to access this folder.":"No tiene permisos para acceder a esta carpeta.","Folder name is not valid.":"El nombre de la carpeta no es válido.","Folder name is not valid. Allowed characters: {{allowedChars}}":"No se pudo crear la carpeta. Caracteres permitidos en el nombre: {{allowedChars}}","Failed to read the folder contents.":"No se pudo leer el contenido de la carpeta.","Failed to write to the folder.":"No se pudo escribir en la carpeta.","Folder storage quota exceeded.":"Se superó la cuota de almacenamiento de la carpeta.","Folder is not empty.":"La carpeta no está vacía.","Server error while processing the folder.":"Error del servidor al procesar la carpeta.","Folder operation took too long.":"La operación con la carpeta tardó demasiado.","Network error. Please check your connection and try again.":"Error de red. Compruebe su conexión e inténtelo de nuevo.","The operation took too long. Please try again.":"La operación tardó demasiado. Inténtelo de nuevo.","Server error. Please try again later.":"Error del servidor. Inténtelo de nuevo más tarde.","Service is temporarily unavailable. Please try again later.":"El servicio no está disponible temporalmente. Inténtelo de nuevo más tarde.","Too many requests. Please try again a bit later.":"Demasiadas solicitudes. Inténtelo de nuevo más tarde.","Authentication failed. Please sign in again.":"Error de autenticación. Inicie sesión de nuevo.","You are not allowed to perform this action.":"No tiene permisos para realizar esta acción.","Some of the provided data is invalid.":"Algunos de los datos proporcionados no son válidos.","This operation is not supported.":"Esta operación no está soportada.","Request payload is too large.":"El cuerpo de la solicitud es demasiado grande.","This media type is not supported.":"Este tipo de contenido no está soportado.","You have exceeded the upload quota.":"Se ha superado la cuota de subida de archivos.","Network error while uploading the file.":"Error de red al subir el archivo.","File upload took too long.":"La subida del archivo tardó demasiado.","Server error while uploading the file.":"Error del servidor al subir el archivo.","The specified URL is not valid.":"La URL especificada no es válida.","The specified URL is not reachable.":"La URL especificada no es accesible.","Content type at the URL is not allowed.":"El tipo de contenido en la URL no está permitido.","Failed to download file from the URL.":"No se pudo descargar el archivo desde la URL.","Network error while downloading the file.":"Error de red al descargar el archivo.","File download took too long.":"La descarga del archivo tardó demasiado.","Server error while downloading the file.":"Error del servidor al descargar el archivo.","Some items could not be processed.":"No todos los elementos se procesaron correctamente.","Failed to process all items in the batch.":"No se pudo procesar ningún elemento del lote.","Some items in the batch are in a conflicting state.":"Algunos elementos del lote están en estado de conflicto.","Some items in the batch did not pass validation.":"Algunos elementos del lote no pasaron la validación.","AI service returned an invalid response.":"El servicio de IA devolvió una respuesta no válida.","Failed to generate image using AI.":"No se pudo generar la imagen usando IA.","You have reached the AI image generation limit.":"Se alcanzó el límite de generación de imágenes con IA.","Error in external integration.":"Error en la integración externa.","Error in a third-party service.":"Error en un servicio de terceros.","An unknown error occurred.":"Se ha producido un error desconocido.","Renaming is not allowed for this item.":"No se permite renombrar este elemento.","Moving is not allowed for this item.":"No se permite mover este elemento.","Copying is not allowed for this item.":"No se permite copiar este elemento.","Deleting is not allowed for this item.":"No se permite eliminar este elemento.","Cannot move an item into itself.":"No se puede mover un elemento dentro de sí mismo.","Cannot move an item into its descendant folder.":"No se puede mover un elemento a su carpeta descendiente.","Cannot copy an item into itself.":"No se puede copiar un elemento dentro de sí mismo.","Configuration error occurred.":"Se produjo un error de configuración.","Storage quota exceeded. Please free up space.":"Se superó la cuota de almacenamiento. Libere espacio.","File is locked by another process or user.":"El archivo está bloqueado por otro proceso o usuario.","File version conflict. Please refresh and try again.":"Conflicto de versión del archivo. Actualice la página e inténtelo de nuevo.","Batch operation exceeds the maximum number of items allowed.":"La operación por lotes excede el número máximo de elementos permitidos.",Moved:"Movidos: {{names}}",move_success_summary:"Se movieron {{successCount}} de {{totalCount}} elementos",move_fail_summary:"No se pudieron mover {{failCount}} de {{totalCount}} elementos",Copied:"Copiados: {{names}}",copy_success_summary:"Se copiaron {{successCount}} de {{totalCount}} elementos",copy_fail_summary:"No se pudieron copiar {{failCount}} de {{totalCount}} elementos",Uploaded:"Archivos cargados: {{names}}",Failed:"No se pudieron cargar: {{names}}","Failed to upload":"Error al cargar {{failCount}} de {{count}} archivo","Failed to upload files":"Error al cargar {{failCount}} de {{count}} archivos",months:{january:"enero",february:"febrero",march:"marzo",april:"abril",may:"mayo",june:"junio",july:"julio",august:"agosto",september:"septiembre",october:"octubre",november:"noviembre",december:"diciembre"},files:"archivos","No available folders":"No hay carpetas disponibles","My files":"Mis archivos",GIF:"GIF","Stock images":"Imágenes de stock","QR & Barcode":"QR y código de barras","QR code":"Código QR",Barcode:"Código de barras","Text or URL":"Texto o URL","Code color":"Color del código","Background color":"Color de fondo","Add to My files":"Añadir a Mis archivos","Transparent background":"Fondo transparente","Barcode generation failed":"No se pudo generar el código de barras. Use caracteres compatibles con CODE128.","Validation error":"Error de validación","Enter text or URL to preview":"Introduzca texto o una URL para la vista previa.",Preview:"Vista previa","QR transparent background hint":"Un PNG transparente puede fundirse con temas oscuros del correo; un fondo blanco suele escanearse mejor.","QR image size px":"Tamaño del QR","Barcode bar height px":"Altura de barras",AI:"IA","AI image generation":"Generación de imágenes con IA","Search GIFs":"Buscar GIFs","That`s all we could find.":"Es todo lo que pudimos encontrar.","Search image":"Buscar imagen",All:"Todos",Landscape:"Horizontal",Portrait:"Vertical",Squarish:"Cuadrado",Black:"Negro","Black and White":"Blanco y negro",White:"Blanco",Orange:"Naranja",Red:"Rojo",Purple:"Morado",Magenta:"Magenta",Green:"Verde",Teal:"Verde azulado",Blue:"Azul","Photo by":"Foto de",on:"en","File Manager":"Administrador de archivos","File Manager not configured":"Administrador de archivos no configurado","Filter by type":"Filtrar por tipo","All types":"Todos los tipos","File name":"Nombre del archivo",Actions:"Acciones","Add file":"Añadir archivo","Add folder":"Añadir carpeta","Add file by URL":"Añadir archivo por URL","File moved":"Archivo movido","Error when moving a file":"Error al mover el archivo","Failed to download file":"No se pudo descargar el archivo","Failed to load JSON data":"No se pudieron cargar los datos JSON","Invalid file URL":"URL de archivo inválida","Unable to validate file URL":"No se pudo validar la URL del archivo","Type to search...":"Escriba para buscar...",Submit:"Enviar","No folders yet":"Aún no hay carpetas","Drag files to upload":"Arrastre archivos para cargarlos","Drop files here to upload":"Suelte los archivos aquí para cargarlos","Newest first":"Los más nuevos primero","Oldest first":"Los más antiguos primero","Largest first":"Los más grandes primero","Smallest first":"Los más pequeños primero","A-Z":"A-Z","Z-A":"Z-A","By type":"Por tipo","Evaluating the task":"Evaluando la tarea","Something went wrong, please try again":"Algo salió mal, por favor intente nuevamente","Sort by":"Ordenar por","preview text":"Cargando imagen...","Use this variant":"Usar esta variante","Confirm deletion":"Confirmar eliminación","Are you sure you want to delete the selected items?":"¿Está seguro de que desea eliminar los elementos seleccionados?","Move to Trash":"Mover a la papelera","Are you sure you want to move the selected items to the Trash?":"¿Está seguro de que desea mover los elementos seleccionados a la papelera?","Permanently delete":"Eliminación permanente","Delete permanently":"Eliminar permanentemente","Are you sure you want to permanently delete the selected items? This action cannot be undone.":"¿Está seguro de que desea eliminar permanentemente los elementos seleccionados? Esta acción no se puede deshacer.",Clear:"Limpiar","Clear Trash":"Vaciar papelera","Are you sure you want to permanently delete all items from Trash?":"¿Está seguro de que desea eliminar permanentemente todos los elementos de la papelera?","Trash cleared successfully":"Papelera vaciada con éxito","{{count}} items permanently deleted":"{{count}} elementos eliminados permanentemente","Trash partially cleared":"Papelera parcialmente vaciada","{{succeeded}} items deleted, {{failed}} items failed":"{{succeeded}} elementos eliminados, {{failed}} fallaron","Failed to clear trash":"Error al vaciar papelera","Error clearing trash":"Error al vaciar papelera","Deleting items...":"Eliminando elementos...",delete_files_permanent_one:"Esta acción eliminará permanentemente {{count}} archivo",delete_files_permanent_few:"Esta acción eliminará permanentemente {{count}} archivos",delete_files_permanent_many:"Esta acción eliminará permanentemente {{count}} archivos",delete_files_permanent_other:"Esta acción eliminará permanentemente {{count}} archivos",delete_folder_permanent:"Esta acción eliminará permanentemente la carpeta «{{name}}» y todo su contenido, incluyendo {{count}} elementos.",delete_mixed_permanent:"Esta acción eliminará permanentemente {{total}} elementos seleccionados, incluyendo {{folders}} carpetas y todas las {{images}} imágenes dentro de ellas.",permanent_delete_warning:"Eliminar archivos que se usaron en correos provocará problemas para mostrar imágenes en correos antiguos. ¿Está seguro de que desea eliminar permanentemente la selección?",move_files_to_trash_one:"Esta acción moverá {{count}} archivo a la papelera.",move_files_to_trash_few:"Esta acción moverá {{count}} archivos a la papelera.",move_files_to_trash_many:"Esta acción moverá {{count}} archivos a la papelera.",move_files_to_trash_other:"Esta acción moverá {{count}} archivos a la papelera.",move_folder_to_trash:"Esta acción moverá la carpeta «{{name}}» y todo su contenido ({{count}} elementos) a la papelera.",move_mixed_to_trash:"Esta acción moverá {{total}} elementos seleccionados a la papelera, incluyendo {{folders}} carpetas y {{images}} imágenes.",delete_count_confirm_trash_one:"¿Mover {{count}} archivo a la papelera?",delete_count_confirm_trash_few:"¿Mover {{count}} archivos a la papelera?",delete_count_confirm_trash_many:"¿Mover {{count}} archivos a la papelera?",delete_count_confirm_trash_other:"¿Mover {{count}} archivos a la papelera?",delete_count_confirm_permanent_one:"¿Eliminar permanentemente {{count}} archivo?",delete_count_confirm_permanent_few:"¿Eliminar permanentemente {{count}} archivos?",delete_count_confirm_permanent_many:"¿Eliminar permanentemente {{count}} archivos?",delete_count_confirm_permanent_other:"¿Eliminar permanentemente {{count}} archivos?",delete_count_confirm_one:"¿Eliminar {{count}} archivo?",delete_count_confirm_few:"¿Eliminar {{count}} archivos?",delete_count_confirm_many:"¿Eliminar {{count}} archivos?",delete_count_confirm_other:"¿Eliminar {{count}} archivos?",item:"archivo",items:"archivos",Trash:"Papelera",Choose:"Elegir",Stock:"Banco de imágenes","Select an image from our library":"Seleccione una imagen de nuestra biblioteca","AI generation":"Generación con IA","Creating an image on demand":"Creando una imagen bajo demanda","Search file or folder":"Buscar archivo o carpeta","Click here to select a file":"Haz clic aquí para seleccionar un archivo","Supported files:":"Archivos admitidos:","Create folder":"Crear carpeta",Done:"Hecho","Move here":"Mover aquí","Copy here":"Copiar aquí","File URL":"URL del archivo","There's nothing here":"Aquí no hay nada","Try using a different search query.":"Prueba a utilizar una consulta de búsqueda diferente.","Millions of free stock images":"Millones de imágenes de stock gratuitas","Enter a search query and we'll find the perfect image for you":"Ingrese una consulta de búsqueda y encontraremos la imagen perfecta para usted","Millions of icons":"Millones de iconos","Lucide icons":"Iconos Lucide","Thousands of icons":"Miles de iconos","Enter a search query and we'll find the perfect icon for you":"Ingrese una consulta de búsqueda y encontraremos el ícono perfecto para usted","Enter your query and we will find the right one for you":"Ingrese su consulta y nosotros encontraremos la adecuada para usted","Over 350,000 live images":"Más de 350,000 imágenes en vivo","The folder will be created in the root directory.":"La carpeta se creará en el directorio raíz.",undo:"DESHACER",moved_to_trash_one:"{{count}} elemento movido a la papelera",moved_to_trash_few:"{{count}} elementos movidos a la papelera",moved_to_trash_many:"{{count}} elementos movidos a la papelera",moved_to_trash_other:"{{count}} elementos movidos a la papelera",restored_items_one:"{{count}} elemento restaurado",restored_items_few:"{{count}} elementos restaurados",restored_items_many:"{{count}} elementos restaurados",restored_items_other:"{{count}} elementos restaurados",Type:"Tipo","Generate image":"Generar imagen","A beautiful image of a sunset over a calm ocean.":"Una imagen hermosa de un atardecer sobre un océano tranquilo.","For example:":"Por ejemplo:",Insert:"Insertar",Error:"Error","Upload progress":"Cargando {{completed}}/{{total}}","Uploading files":"Cargando {{completed}}/{{total}} archivos","Uploaded files":"Cargados {{success}} de {{total}} archivos","Upload error files":"Error al cargar {{errorCount}} archivos","Applies to all {{count}} files":"(se aplica a todos los {{count}} archivos)","Some files failed to upload":"Algunos archivos no se pudieron cargar. Verifique el tamaño y el formato de los archivos.",upload_error_hint_invalid_name:"Renombre el archivo: use solo letras, números, guiones y guiones bajos.",upload_error_hint_size:"Reduzca el tamaño del archivo o elija otro.",upload_error_hint_format:"Use un formato permitido: JPG, PNG o GIF.",upload_error_hint_exists:"Ya existe un archivo con este nombre en la carpeta. Renombre el archivo.","Images generated successfully":"Imágenes generadas correctamente","Choose for template":"Seleccionar para cargar en la plantilla","Trash is empty":"La papelera está vacía","Deleted files will be displayed here":"Los archivos eliminados se mostrarán aquí","Editing: {{name}}":"Editando: {{name}}","Editing image":"Editando imagen",Save:"Guardar","Loading editor...":"Cargando editor...","Error loading image":"Error al cargar la imagen","Error saving image":"Error al guardar la imagen","Error initializing editor":"Error al inicializar el editor","Close File Manager":"Cerrar administrador de archivos","Are you sure you want to close? Unsaved changes will be lost.":"¿Está seguro de que desea cerrar? Los cambios no guardados se perderán.","Are you sure you want to close the file manager?":"¿Está seguro de que desea cerrar el administrador de archivos?",Close:"Cerrar",KB:"KB","No files":"No hay archivos","Folder is empty or files not found":"La carpeta está vacía o no se encontraron archivos","Search files...":"Buscar archivos...",Success:"Éxito","Image updated successfully":"Imagen actualizada exitosamente","Failed to save changes":"Error al guardar los cambios: {{error}}","Unknown error":"Error desconocido","Select destination folder":"Seleccione la carpeta de destino","Error moving":"Error al mover","Error deleting":"Error al eliminar","Error copying":"Error al copiar","Error renaming":"Error al renombrar","Failed to refresh folder tree":"Error al actualizar el árbol de carpetas","Failed to refresh file list":"Error al actualizar la lista de archivos","Errors occurred while moving":"Ocurrieron errores al mover","Errors occurred while copying":"Ocurrieron errores al copiar","(error)":"(error)","(circular reference)":"(referencia circular)","File too large. Maximum size: {{size}}":"El archivo es demasiado grande. Tamaño máximo: {{size}}","File too small. Minimum size: {{size}}":"El archivo es demasiado pequeño. Tamaño mínimo: {{size}}","Unsupported file type":"Tipo de archivo no admitido","Unsupported file type: {{type}}":"Tipo de archivo no admitido: {{type}}",unknown:"desconocido","Failed to load files":"Error al cargar archivos","Failed to load files in folder":"No se pudo cargar el contenido de la carpeta ({{folderName}})","Failed to load subfolders in folder":'No se pudieron cargar las subcarpetas en "{{folderName}}"',"Failed to load folder items count in folder":'No se pudo obtener el recuento de elementos en "{{folderName}}"',"DataProvider for folder deletion is not configured":"DataProvider para eliminar carpetas no está configurado","DataProvider for file upload is not configured":"DataProvider para cargar archivos no está configurado","Error uploading file {{fileName}}":"Error al cargar el archivo {{fileName}}","Error uploading file":"Error al cargar el archivo","Cannot upload files to Trash":"No se pueden cargar archivos a la papelera","Please fill in all fields":"Por favor, complete todos los campos","URL too long":"La URL es demasiado larga","Only http and https URLs are supported":"Solo se admiten URLs con protocolo http y https","Private and local URLs are not allowed":"No se permiten URLs locales ni privadas","Upload by URL is not supported":"La carga por URL no está admitida","File name is too long. Maximum {{max}} characters":"El nombre del archivo es demasiado largo. Máximo {{max}} caracteres","File name contains invalid characters":"El nombre del archivo contiene caracteres no válidos","Large file may take a long time to upload":"Un archivo grande puede tardar mucho en cargarse","File unavailable: {{status}} {{statusText}}":"Archivo no disponible: {{status}} {{statusText}}","File too large: {{size}}":"Archivo demasiado grande: {{size}}","Unsupported file type: {{contentType}}":"Tipo de archivo no admitido: {{contentType}}","Invalid server response: folder ID is missing":"Respuesta del servidor inválida: falta el ID de la carpeta","Error: folder cannot be its own parent":"Error: la carpeta no puede ser su propio padre","Upload to Trash is forbidden":"Cargar a la papelera está prohibido","renameFolder is not implemented in dataProviders":"renameFolder no está implementado en dataProviders","renameFile is not implemented in dataProviders":"renameFile no está implementado en dataProviders",Clean:"Limpiar","Circular dependency detected: folder cannot be its own parent":"Dependencia circular detectada: la carpeta no puede ser su propio padre","Save as copy and choose":"Guardar como copia y elegir","Save and choose":"Guardar y elegir",Back:"Atrás",Color1:"Color",Color2:"Color 2",Color3:"Color 3",Deleted:"Archivos eliminados","Family search":"Búsqueda por familia","Files copied":"Archivos copiados","Files deleted":"Archivos eliminados","Files moved":"Archivos movidos","Global search":"Búsqueda global",Icons:"Iconos",Style:"Estilo","Rounded corners are saved as a PNG copy: the original format has no transparency":"El redondeo se guarda como copia en PNG: el formato original no admite transparencia",imageEditor:{name:"Nombre",save:"Guardar",saveAs:"Guardar como",back:"Atrás",loading:"Cargando…",resetOperations:"Restablecer todos los cambios",changesLoseWarningHint:"Si pulsas «Restablecer», se perderán los cambios. ¿Quieres continuar?",discardChangesWarningHint:"Si cierras la ventana, los últimos cambios no se guardarán.",cancel:"Cancelar",apply:"Aplicar",warning:"Advertencia",confirm:"Confirmar",discardChanges:"Descartar cambios",undoTitle:"Deshacer la última acción",redoTitle:"Rehacer la última acción",showImageTitle:"Mostrar la imagen original",zoomInTitle:"Acercar",fitTitle:"Ajustar",zoomOutTitle:"Alejar",toggleZoomMenuTitle:"Menú de zoom",adjustTab:"Ajustes",finetuneTab:"Ajuste fino",filtersTab:"Filtros",watermarkTab:"Marca de agua",annotateTabLabel:"Anotaciones",resize:"Tamaño",resizeTab:"Tamaño",imageName:"Nombre de la imagen",invalidImageError:"La imagen no es válida.",uploadImageError:"Error al subir la imagen.",areNotImages:"no son imágenes",isNotImage:"no es una imagen",toBeUploaded:"para subir",cropTool:"Recortar",original:"Original",custom:"Personalizado",square:"Cuadrado",landscape:"Horizontal",portrait:"Vertical",ellipse:"Elipse",classicTv:"TV clásica",cinemascope:"Cinemascope",cropPresetInstagramPost:"Publicación de Instagram",cropPresetPinterest:"Pinterest",cropPresetScreen:"Pantalla",cropPresetPhoto:"Foto",cropPresetLinkPreview:"Vista previa de enlace",cropPresetCinema:"Cine",cornerRadiusTool:"Redondeo",cornerRadiusEllipseHint:"No disponible para el recorte «Elipse»",arrowTool:"Flecha",blurTool:"Desenfoque",brightnessTool:"Brillo",contrastTool:"Contraste",ellipseTool:"Elipse",unFlipX:"Deshacer el volteo horizontal",flipX:"Voltear en horizontal",unFlipY:"Deshacer el volteo vertical",flipY:"Voltear en vertical",hsvTool:"HSV",hue:"Tono",brightness:"Brillo",saturation:"Saturación",value:"Valor",imageTool:"Imagen",importing:"Importando…",addImage:"Añadir imagen",uploadImage:"Subir imagen",fromGallery:"De la galería",lineTool:"Línea",penTool:"Lápiz",polygonTool:"Polígono",sides:"Lados",rectangleTool:"Rectángulo",cornerRadius:"Radio de las esquinas",resizeWidthTitle:"Ancho en píxeles",resizeHeightTitle:"Alto en píxeles",toggleRatioLockTitle:"Bloquear la proporción",resetSize:"Restablecer el tamaño original",rotateTool:"Rotar",textTool:"Texto",textSpacings:"Espaciado",textAlignment:"Alineación",fontFamily:"Fuente",size:"Tamaño",letterSpacing:"Espaciado entre letras",lineHeight:"Altura de línea",warmthTool:"Calidez",addWatermark:"Añadir marca de agua",addTextWatermark:"Añadir marca de agua de texto",addWatermarkTitle:"Elige el tipo de marca de agua",uploadWatermark:"Subir marca de agua",addWatermarkAsText:"Añadir como texto",padding:"Margen interior",paddings:"Márgenes interiores",shadow:"Sombra",horizontal:"Horizontal",vertical:"Vertical",blur:"Desenfoque",opacity:"Opacidad",transparency:"Transparencia",position:"Posición",stroke:"Contorno",saveAsModalTitle:"Guardar como",extension:"Extensión",format:"Formato",nameIsRequired:"El nombre es obligatorio.",quality:"Calidad",imageDimensionsHoverTitle:"Tamaño de la imagen guardada (ancho × alto)",cropSizeLowerThanResizedWarning:"El área de recorte es menor que el tamaño aplicado; la calidad puede empeorar",actualSize:"Tamaño real (100%)",fitSize:"Ajustar al tamaño",addImageTitle:"Selecciona una imagen…",mutualizedFailedToLoadImg:"No se pudo cargar la imagen.",tabsMenu:"Menú",download:"Descargar",width:"Ancho",height:"Alto",cropItemNoEffect:"No hay vista previa para este recorte",px:"px",invalidTextContent:"Contenido de texto no válido",baselineShift:"Desplazamiento de la línea base",aiTab:"Herramientas de IA",objectRemovalTool:"Eliminar objeto",objectRemovalBrushSize:"Tamaño del pincel (px)",objectRemovalApplyButton:"Aplicar",objectRemovalBrushMode:"Modo del pincel",objectRemovalBrushCircleType:"Pincel redondo",objectRemovalBrushSquareType:"Pincel cuadrado",objectRemovalApplyingText:"Eliminando el área seleccionada",objectRemovalMarkModeTooltip:"Modo de marcado",objectRemovalUnMarkModeTooltip:"Modo de desmarcado",objectRemovalCancelConfirmationTitle:"Cancelar el proceso",objectRemovalCancelConfirmationHint:"¿Seguro que quieres cancelar la eliminación del objeto de",objectRemovalCancelConfirmationHintCompletion:"este archivo?",theKeyword:""}},Ks={Files:"Dateien",selected:"ausgewählt",Deselected:"Auswahl aufheben",Refresh:"Aktualisieren","Select all":"Alle auswählen",Rename:"Umbenennen","Rename file":"Datei {{currentFileName}} umbenennen","Select the destination folder":"Wählen Sie den Zielordner","Selected files:":"Ausgewählte Dateien:","Selected files":"Ausgewählte Dateien: {{count}}",selected_files_one:"{{count}} Datei ausgewählt",selected_files_other:"{{count}} Dateien ausgewählt",Copy:"Kopieren",Edit:"Bearbeiten",Move:"Verschieben","Move to":"Verschieben nach",Delete:"Löschen","New folder":"Neuer Ordner","Image search...":"Bilder suchen …","Search icons":"Symbole suchen","By name":"Nach Name","By size":"Nach Größe","By date":"Nach Datum",List:"Liste",Grid:"Raster",Main:"Start",Folders:"Ordner","total pages":"Insgesamt {{total}} Elemente",Name:"Name",Untitled:"Unbenannt",Size:"Größe",Dimensions:"Abmessungen",Date:"Datum",error:"Fehler",Folder:"Ordner",created:"erstellt","Failed to create folder":"Ordner konnte nicht erstellt werden","File deleted":"Datei gelöscht","Files deleted":"Dateien gelöscht","Error when deleting a file":"Fehler beim Löschen der Datei","Folder deleted":"Ordner gelöscht","Error when deleting a folder":"Fehler beim Löschen des Ordners","Delete folder":"Ordner löschen","Are you sure you want to delete this folder? This action will also delete all files and subfolders.":"Möchten Sie diesen Ordner wirklich löschen? Dabei werden auch alle Dateien und Unterordner gelöscht.","API-endpoint for file upload is not configured":"API-Endpunkt zum Hochladen von Dateien ist nicht konfiguriert","Please select an image file":"Bitte wählen Sie eine Bilddatei aus",File:"Datei","has been successfully uploaded":"wurde erfolgreich hochgeladen","The URL must point to an image":"Die URL muss auf ein Bild verweisen","Image upload...":"Bild wird hochgeladen …",Unknown:"Unbekannt","Error downloading file by URL":"Fehler beim Laden der Datei über die URL","successfully uploaded":"erfolgreich hochgeladen","Error when downloading a file by URL":"Fehler beim Laden der Datei über die URL","Error when uploading a file":"Fehler beim Hochladen der Datei","Error loading files":"Fehler beim Laden der Dateien","File not found":"Datei nicht gefunden","File renamed to":"Datei umbenannt in ","Failed to rename the file":"Datei konnte nicht umbenannt werden","Folder renamed to":"Ordner umbenannt in","Rename folder":"Ordner umbenennen","New folder name":"Neuer Ordnername","Enter a new folder name":"Geben Sie einen neuen Ordnernamen ein","Please drag and drop image files only":"Bitte ziehen Sie nur Bilddateien hierher","Upload file by URL":"Datei per URL hochladen","Upload file":"Datei hochladen","Creating a new folder":"Neuen Ordner erstellen",Create:"Erstellen",Cancel:"Abbrechen","Folder name":"Ordnername","Enter the name of the folder":"Geben Sie den Namen des Ordners ein","Enter the name":"Namen eingeben","A folder will be created inside:":"Der Ordner wird erstellt in:","selected folder":"ausgewählter Ordner","The folder will be created in the root directory":"Der Ordner wird im Stammverzeichnis erstellt","Failed to load folders":"Ordner konnten nicht geladen werden","Folder name cannot be empty":"Der Ordnername darf nicht leer sein","Folder creation provider is not configured":"Provider zum Erstellen von Ordnern ist nicht konfiguriert","Folder created":"Ordner erstellt","Folder rename is disabled by config":"Das Umbenennen von Ordnern ist in der Konfiguration deaktiviert","Folder rename provider is not configured":"Provider zum Umbenennen von Ordnern ist nicht konfiguriert","Unexpected response when renaming folder":"Unerwartete Antwort beim Umbenennen des Ordners","Folder renamed":"Ordner umbenannt","Failed to rename folder":"Ordner konnte nicht umbenannt werden","Failed to load folder items count":"Anzahl der Elemente im Ordner konnte nicht geladen werden","Failed to load subfolders":"Unterordner konnten nicht geladen werden",Download:"Hochladen","image URL":"Bild-URL","Enter the URL of the image":"Geben Sie die URL des Bildes ein","Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP":"Unterstützte Formate: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP","New file name":"Neuer Dateiname","Enter a new file name":"Geben Sie einen neuen Dateinamen ein","Copy to folder":"In Ordner kopieren",Added:"Hinzugefügt am {{date}}","File uploaded successfully":"Datei {{fileName}} erfolgreich hochgeladen","Successfully uploaded":"{{successCount}} von {{count}} Datei erfolgreich hochgeladen","Successfully uploaded files":"{{successCount}} von {{count}} Dateien erfolgreich hochgeladen",uploads_success_summary:"{{successCount}} von {{totalCount}} Dateien hochgeladen",uploads_fail_summary:"{{failCount}} von {{totalCount}} Dateien konnten nicht hochgeladen werden","File with this name already exists.":"Eine Datei mit diesem Namen existiert bereits.","File not found or no longer available.":"Die Datei wurde nicht gefunden oder ist nicht mehr verfügbar.","You don't have permission to access this file.":"Sie haben keine Berechtigung für diese Datei.","File is too large to upload.":"Die Datei ist zu groß zum Hochladen.","File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.":"Die Datei ist zu groß ({{fileSize}}). Maximal zulässige Größe: {{maxSize}}.","Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}":"Maximale Anzahl an Dateien überschritten. Zulässig: {{allowed}}, ausgewählt: {{received}}","This file type is not allowed.":"Dieser Dateityp ist nicht zulässig.","File name is not valid.":"Ungültiger Dateiname.","File name is not valid. Allowed characters: {{allowedChars}}":"Ungültiger Dateiname. Zulässige Zeichen: {{allowedChars}}","Failed to read the file.":"Die Datei konnte nicht gelesen werden.","Failed to write the file.":"Die Datei konnte nicht geschrieben werden.","The file appears to be corrupted.":"Die Datei scheint beschädigt zu sein.","File integrity check failed.":"Die Integritätsprüfung der Datei ist fehlgeschlagen.","Folder not found or no longer available.":"Der Ordner wurde nicht gefunden oder ist nicht mehr verfügbar.","Folder with this name already exists.":"Ein Ordner mit diesem Namen existiert bereits.","A folder with that name already exists. Please enter a different folder name.":"Ein Ordner mit diesem Namen existiert bereits. Bitte geben Sie einen anderen Ordnernamen ein.","You don't have permission to access this folder.":"Sie haben keine Berechtigung für diesen Ordner.","Folder name is not valid.":"Ungültiger Ordnername.","Folder name is not valid. Allowed characters: {{allowedChars}}":"Ungültiger Ordnername. Zulässige Zeichen: {{allowedChars}}","Failed to read the folder contents.":"Der Ordnerinhalt konnte nicht gelesen werden.","Failed to write to the folder.":"In den Ordner konnte nicht geschrieben werden.","Folder storage quota exceeded.":"Speicherkontingent des Ordners überschritten.","Folder is not empty.":"Der Ordner ist nicht leer.","Server error while processing the folder.":"Serverfehler bei der Verarbeitung des Ordners.","Folder operation took too long.":"Der Vorgang mit dem Ordner hat zu lange gedauert.","Network error. Please check your connection and try again.":"Netzwerkfehler. Bitte prüfen Sie Ihre Verbindung und versuchen Sie es erneut.","The operation took too long. Please try again.":"Der Vorgang hat zu lange gedauert. Bitte versuchen Sie es erneut.","Server error. Please try again later.":"Serverfehler. Bitte versuchen Sie es später erneut.","Service is temporarily unavailable. Please try again later.":"Der Dienst ist vorübergehend nicht verfügbar. Bitte versuchen Sie es später erneut.","Too many requests. Please try again a bit later.":"Zu viele Anfragen. Bitte versuchen Sie es etwas später erneut.","Authentication failed. Please sign in again.":"Authentifizierung fehlgeschlagen. Bitte melden Sie sich erneut an.","You are not allowed to perform this action.":"Sie sind nicht berechtigt, diese Aktion auszuführen.","Some of the provided data is invalid.":"Einige der übermittelten Daten sind ungültig.","This operation is not supported.":"Dieser Vorgang wird nicht unterstützt.","Request payload is too large.":"Die Anfrage ist zu groß.","This media type is not supported.":"Dieser Medientyp wird nicht unterstützt.","You have exceeded the upload quota.":"Sie haben das Upload-Kontingent überschritten.","Network error while uploading the file.":"Netzwerkfehler beim Hochladen der Datei.","File upload took too long.":"Das Hochladen der Datei hat zu lange gedauert.","Server error while uploading the file.":"Serverfehler beim Hochladen der Datei.","The specified URL is not valid.":"Die angegebene URL ist ungültig.","The specified URL is not reachable.":"Die angegebene URL ist nicht erreichbar.","Content type at the URL is not allowed.":"Der Inhaltstyp unter dieser URL ist nicht zulässig.","Failed to download file from the URL.":"Die Datei konnte nicht von der URL heruntergeladen werden.","Network error while downloading the file.":"Netzwerkfehler beim Herunterladen der Datei.","File download took too long.":"Das Herunterladen der Datei hat zu lange gedauert.","Server error while downloading the file.":"Serverfehler beim Herunterladen der Datei.","Some items could not be processed.":"Einige Elemente konnten nicht verarbeitet werden.","Failed to process all items in the batch.":"Keines der Elemente im Stapelvorgang konnte verarbeitet werden.","Some items in the batch are in a conflicting state.":"Einige Elemente im Stapelvorgang befinden sich in einem widersprüchlichen Zustand.","Some items in the batch did not pass validation.":"Einige Elemente im Stapelvorgang haben die Prüfung nicht bestanden.","AI service returned an invalid response.":"Der KI-Dienst hat eine ungültige Antwort zurückgegeben.","Failed to generate image using AI.":"Das Bild konnte nicht mit KI generiert werden.","You have reached the AI image generation limit.":"Sie haben das Limit für die Bildgenerierung mit KI erreicht.","Error in external integration.":"Fehler in einer externen Integration.","Error in a third-party service.":"Fehler in einem Drittanbieterdienst.","An unknown error occurred.":"Ein unbekannter Fehler ist aufgetreten.","Renaming is not allowed for this item.":"Dieses Element darf nicht umbenannt werden.","Moving is not allowed for this item.":"Dieses Element darf nicht verschoben werden.","Copying is not allowed for this item.":"Dieses Element darf nicht kopiert werden.","Deleting is not allowed for this item.":"Dieses Element darf nicht gelöscht werden.","Cannot move an item into itself.":"Ein Element kann nicht in sich selbst verschoben werden.","Cannot move an item into its descendant folder.":"Ein Element kann nicht in einen eigenen Unterordner verschoben werden.","Cannot copy an item into itself.":"Ein Element kann nicht in sich selbst kopiert werden.","Configuration error occurred.":"Es ist ein Konfigurationsfehler aufgetreten.","Storage quota exceeded. Please free up space.":"Speicherkontingent überschritten. Bitte geben Sie Speicherplatz frei.","File is locked by another process or user.":"Die Datei ist durch einen anderen Prozess oder Benutzer gesperrt.","File version conflict. Please refresh and try again.":"Versionskonflikt der Datei. Bitte aktualisieren Sie die Seite und versuchen Sie es erneut.","Batch operation exceeds the maximum number of items allowed.":"Der Stapelvorgang überschreitet die maximal zulässige Anzahl von Elementen.",Moved:"Verschoben: {{names}}",move_success_summary:"{{successCount}} von {{totalCount}} Elementen verschoben",move_fail_summary:"{{failCount}} von {{totalCount}} Elementen konnten nicht verschoben werden",Copied:"Kopiert: {{names}}",copy_success_summary:"{{successCount}} von {{totalCount}} Elementen kopiert",copy_fail_summary:"{{failCount}} von {{totalCount}} Elementen konnten nicht kopiert werden",Uploaded:"Hochgeladen: {{names}}",Failed:"Fehlgeschlagen: {{names}}","Failed to upload":"{{failCount}} von {{count}} Datei konnte nicht hochgeladen werden","Failed to upload files":"{{failCount}} von {{count}} Dateien konnten nicht hochgeladen werden",months:{january:"Januar",february:"Februar",march:"März",april:"April",may:"Mai",june:"Juni",july:"Juli",august:"August",september:"September",october:"Oktober",november:"November",december:"Dezember"},files:"Dateien","No available folders":"Keine verfügbaren Ordner","My files":"Meine Dateien",GIF:"GIF","Stock images":"Stockbilder","QR & Barcode":"QR-Code & Barcode","QR code":"QR-Code",Barcode:"Barcode","Text or URL":"Text oder URL","Code color":"Code-Farbe","Background color":"Hintergrundfarbe","Add to My files":"Zu „Meine Dateien“ hinzufügen","Transparent background":"Transparenter Hintergrund","Barcode generation failed":"Der Barcode konnte nicht erzeugt werden. Verwenden Sie Zeichen, die CODE128 unterstützt.","Validation error":"Validierungsfehler","Enter text or URL to preview":"Geben Sie einen Text oder eine URL zum Codieren ein.",Preview:"Vorschau","QR transparent background hint":"Ein transparentes PNG kann in dunklen E-Mail-Designs untergehen; einen weißen Hintergrund erkennen Scanner oft zuverlässiger.","QR image size px":"QR-Bildgröße","Barcode bar height px":"Balkenhöhe des Barcodes",Icons:"Symbole",AI:"KI","AI image generation":"Bildgenerierung mit KI","Search GIFs":"GIFs suchen","That`s all we could find.":"Mehr haben wir nicht gefunden.","Search image":"Bild suchen",All:"Alle",Landscape:"Querformat",Portrait:"Hochformat",Squarish:"Quadratisch",Black:"Schwarz","Black and White":"Schwarz-Weiß",White:"Weiß",Orange:"Orange",Red:"Rot",Purple:"Violett",Magenta:"Magenta",Green:"Grün",Teal:"Türkis",Blue:"Blau","Photo by":"Foto von",on:"auf","File Manager":"Dateimanager","File Manager not configured":"Dateimanager ist nicht konfiguriert","Filter by type":"Nach Typ filtern","All types":"Alle Typen","File name":"Dateiname",Actions:"Aktionen","Add file":"Datei hinzufügen","Add folder":"Ordner hinzufügen","Add file by URL":"Datei per URL hinzufügen","File moved":"Datei verschoben","Files moved":"Dateien verschoben","Error when moving a file":"Fehler beim Verschieben der Datei","Files copied":"Dateien kopiert","Failed to download file":"Datei konnte nicht heruntergeladen werden","Failed to load JSON data":"JSON-Daten konnten nicht geladen werden","Invalid file URL":"Ungültige Datei-URL","Unable to validate file URL":"Datei-URL konnte nicht geprüft werden","Type to search...":"Suchbegriff eingeben …",Submit:"Senden","No folders yet":"Noch keine Ordner","Drag files to upload":"Ziehen Sie Dateien zum Hochladen hierher","Drop files here to upload":"Dateien hier ablegen, um sie hochzuladen","Newest first":"Neueste zuerst","Oldest first":"Älteste zuerst","Largest first":"Größte zuerst","Smallest first":"Kleinste zuerst","A-Z":"A-Z","Z-A":"Z-A","By type":"Nach Typ","Evaluating the task":"Die Aufgabe wird bewertet","Something went wrong, please try again":"Etwas ist schiefgelaufen, versuchen Sie es erneut","Sort by":"Sortieren nach","preview text":"Die Bildvorschau wird geladen …","Use this variant":"Diese Variante verwenden","Confirm deletion":"Löschen bestätigen","Are you sure you want to delete the selected items?":"Möchten Sie die ausgewählten Elemente wirklich löschen?","Move to Trash":"In den Papierkorb verschieben","Are you sure you want to move the selected items to the Trash?":"Möchten Sie die ausgewählten Elemente wirklich in den Papierkorb verschieben?","Permanently delete":"Endgültiges Löschen","Delete permanently":"Endgültig löschen","Are you sure you want to permanently delete the selected items? This action cannot be undone.":"Möchten Sie die ausgewählten Elemente wirklich endgültig löschen? Diese Aktion kann nicht rückgängig gemacht werden.",Clear:"Leeren","Clear Trash":"Papierkorb leeren","Are you sure you want to permanently delete all items from Trash?":"Möchten Sie wirklich alle Elemente im Papierkorb endgültig löschen?","Trash cleared successfully":"Papierkorb erfolgreich geleert","{{count}} items permanently deleted":"{{count}} Elemente endgültig gelöscht","Trash partially cleared":"Papierkorb teilweise geleert","{{succeeded}} items deleted, {{failed}} items failed":"{{succeeded}} Elemente gelöscht, {{failed}} Elemente fehlgeschlagen","Failed to clear trash":"Papierkorb konnte nicht geleert werden","Error clearing trash":"Fehler beim Leeren des Papierkorbs","Deleting items...":"Elemente werden gelöscht …",delete_files_permanent_one:"Diese Aktion löscht {{count}} Datei endgültig",delete_files_permanent_other:"Diese Aktion löscht {{count}} Dateien endgültig",delete_folder_permanent:"Diese Aktion löscht den Ordner „{{name}}“ und seinen gesamten Inhalt endgültig, einschließlich {{count}} Elementen.",delete_mixed_permanent:"Diese Aktion löscht {{total}} ausgewählte Elemente endgültig, darunter {{folders}} Ordner und alle {{images}} Bilder darin.",permanent_delete_warning:"Wenn Sie Dateien löschen, die in E-Mails verwendet wurden, werden die Bilder in älteren E-Mails nicht mehr richtig angezeigt. Möchten Sie die Auswahl wirklich endgültig löschen?",move_files_to_trash_one:"{{count}} Datei wird in den Papierkorb verschoben.",move_files_to_trash_other:"{{count}} Dateien werden in den Papierkorb verschoben.",move_folder_to_trash:"Der Ordner „{{name}}“ und sein gesamter Inhalt ({{count}} Elemente) werden in den Papierkorb verschoben.",move_mixed_to_trash:"{{total}} ausgewählte Elemente werden in den Papierkorb verschoben, darunter {{folders}} Ordner und {{images}} Bilder.",delete_count_confirm_trash_one:"{{count}} Datei in den Papierkorb verschieben?",delete_count_confirm_trash_other:"{{count}} Dateien in den Papierkorb verschieben?",delete_count_confirm_permanent_one:"{{count}} Datei endgültig löschen?",delete_count_confirm_permanent_other:"{{count}} Dateien endgültig löschen?",delete_count_confirm_one:"{{count}} Datei löschen?",delete_count_confirm_other:"{{count}} Dateien löschen?",item:"Element",items:"Elemente",Trash:"Papierkorb",Choose:"Wählen",Stock:"Stock","Select an image from our library":"Wählen Sie ein Bild aus unserer Bibliothek","AI generation":"KI-Generierung","Creating an image on demand":"Bild nach Ihrer Beschreibung erstellen","Search file or folder":"Datei oder Ordner suchen","Click here to select a file":"Klicken Sie hier, um eine Datei auszuwählen","Supported files:":"Unterstützte Dateien:","Create folder":"Ordner erstellen",Done:"Fertig","Move here":"Hierher verschieben","Copy here":"Hierher kopieren","File URL":"Datei-URL","There's nothing here":"Hier ist nichts","Try using a different search query.":"Versuchen Sie es mit einem anderen Suchbegriff.","Millions of free stock images":"Millionen kostenloser Stockbilder","Enter a search query and we'll find the perfect image for you":"Geben Sie einen Suchbegriff ein, und wir finden das perfekte Bild für Sie","Millions of icons":"Millionen von Symbolen","Lucide icons":"Lucide-Symbole","Thousands of icons":"Tausende Symbole","Enter a search query and we'll find the perfect icon for you":"Geben Sie einen Suchbegriff ein, und wir finden das perfekte Symbol für Sie","Enter your query and we will find the right one for you":"Geben Sie Ihre Anfrage ein, und wir finden das Passende für Sie","Over 350,000 live images":"Über 350.000 animierte Bilder","The folder will be created in the root directory.":"Der Ordner wird im Stammverzeichnis erstellt.",undo:"RÜCKGÄNGIG",moved_to_trash_one:"{{count}} Element in den Papierkorb verschoben",moved_to_trash_other:"{{count}} Elemente in den Papierkorb verschoben",restored_items_one:"{{count}} Element wiederhergestellt",restored_items_other:"{{count}} Elemente wiederhergestellt",Type:"Typ","Generate image":"Bild generieren","A beautiful image of a sunset over a calm ocean.":"Ein schönes Bild eines Sonnenuntergangs über einem ruhigen Ozean.","For example:":"Zum Beispiel:",Insert:"Einfügen",Error:"Fehler","Upload progress":"Hochladen {{completed}}/{{total}}","Uploading files":"{{completed}}/{{total}} Dateien werden hochgeladen","Uploaded files":"{{success}} von {{total}} Dateien hochgeladen","Upload error files":"Fehler beim Hochladen von {{errorCount}} Dateien","Applies to all {{count}} files":"(gilt für alle {{count}} Dateien)","Some files failed to upload":"Einige Dateien konnten nicht hochgeladen werden. Bitte prüfen Sie Dateigröße und Format.",upload_error_hint_invalid_name:"Benennen Sie die Datei um: Verwenden Sie nur Buchstaben, Ziffern, Bindestriche und Unterstriche.",upload_error_hint_size:"Verkleinern Sie die Datei oder wählen Sie eine andere.",upload_error_hint_format:"Verwenden Sie ein zulässiges Format: JPG, PNG oder GIF.",upload_error_hint_exists:"Im Ordner gibt es bereits eine Datei mit diesem Namen. Benennen Sie die Datei um.","Images generated successfully":"Bilder erfolgreich generiert","Trash is empty":"Der Papierkorb ist leer","Deleted files will be displayed here":"Hier werden gelöschte Dateien angezeigt","Stroke width":"Strichstärke",Style:"Stil",Color1:"Farbe",Color2:"Farbe 2",Color3:"Farbe 3","Global search":"Globale Suche","Family search":"Suche nach Familie","Choose for template":"Für die Vorlage wählen",Back:"Zurück","Editing: {{name}}":"Bearbeiten: {{name}}","Editing image":"Bild bearbeiten",Save:"Speichern","Loading editor...":"Editor wird geladen …","Error loading image":"Fehler beim Laden des Bildes","Error saving image":"Fehler beim Speichern des Bildes","Error initializing editor":"Fehler beim Initialisieren des Editors","Close File Manager":"Dateimanager schließen","Are you sure you want to close? Unsaved changes will be lost.":"Möchten Sie wirklich schließen? Nicht gespeicherte Änderungen gehen verloren.","Are you sure you want to close the file manager?":"Möchten Sie den Dateimanager wirklich schließen?",Close:"Schließen",KB:"KB","No files":"Keine Dateien","Folder is empty or files not found":"Der Ordner ist leer oder es wurden keine Dateien gefunden","Search files...":"Dateien suchen …",Success:"Erfolg","Image updated successfully":"Bild erfolgreich aktualisiert","Failed to save changes":"Änderungen konnten nicht gespeichert werden: {{error}}","Unknown error":"Unbekannter Fehler","Select destination folder":"Zielordner wählen","Error moving":"Fehler beim Verschieben","Error deleting":"Fehler beim Löschen","Error copying":"Fehler beim Kopieren","Error renaming":"Fehler beim Umbenennen","Failed to refresh folder tree":"Ordnerstruktur konnte nicht aktualisiert werden","Failed to refresh file list":"Dateiliste konnte nicht aktualisiert werden","Errors occurred while moving":"Beim Verschieben sind Fehler aufgetreten","Errors occurred while copying":"Beim Kopieren sind Fehler aufgetreten","(error)":"(Fehler)","(circular reference)":"(Zirkelbezug)","File too large. Maximum size: {{size}}":"Datei zu groß. Maximale Größe: {{size}}","File too small. Minimum size: {{size}}":"Datei zu klein. Minimale Größe: {{size}}","Unsupported file type":"Nicht unterstützter Dateityp","Unsupported file type: {{type}}":"Nicht unterstützter Dateityp: {{type}}",unknown:"unbekannt","Failed to load files":"Dateien konnten nicht geladen werden","Failed to load files in folder":"Inhalt des Ordners „{{folderName}}“ konnte nicht geladen werden","Failed to load subfolders in folder":"Unterordner in „{{folderName}}“ konnten nicht geladen werden","Failed to load folder items count in folder":"Anzahl der Elemente in „{{folderName}}“ konnte nicht ermittelt werden","DataProvider for folder deletion is not configured":"DataProvider zum Löschen von Ordnern ist nicht konfiguriert","DataProvider for file upload is not configured":"DataProvider zum Hochladen von Dateien ist nicht konfiguriert","Error uploading file {{fileName}}":"Fehler beim Hochladen der Datei {{fileName}}","Error uploading file":"Fehler beim Hochladen der Datei","Cannot upload files to Trash":"In den Papierkorb können keine Dateien hochgeladen werden","Please fill in all fields":"Bitte füllen Sie alle Felder aus","URL too long":"Die URL ist zu lang","Only http and https URLs are supported":"Nur URLs mit http und https werden unterstützt","Private and local URLs are not allowed":"Private und lokale URLs sind nicht zulässig","Upload by URL is not supported":"Hochladen per URL wird nicht unterstützt","File name is too long. Maximum {{max}} characters":"Der Dateiname ist zu lang. Maximal {{max}} Zeichen","File name contains invalid characters":"Der Dateiname enthält ungültige Zeichen","Large file may take a long time to upload":"Das Hochladen einer großen Datei kann länger dauern","File unavailable: {{status}} {{statusText}}":"Datei nicht verfügbar: {{status}} {{statusText}}","File too large: {{size}}":"Datei zu groß: {{size}}","Unsupported file type: {{contentType}}":"Nicht unterstützter Dateityp: {{contentType}}","Invalid server response: folder ID is missing":"Ungültige Serverantwort: Ordner-ID fehlt","Error: folder cannot be its own parent":"Fehler: Ein Ordner kann nicht sein eigener übergeordneter Ordner sein","Upload to Trash is forbidden":"Hochladen in den Papierkorb ist nicht erlaubt","renameFolder is not implemented in dataProviders":"renameFolder ist in dataProviders nicht implementiert","renameFile is not implemented in dataProviders":"renameFile ist in dataProviders nicht implementiert",Deleted:"Gelöschte Dateien",Clean:"Leeren","Circular dependency detected: folder cannot be its own parent":"Zirkuläre Abhängigkeit erkannt: Ein Ordner kann nicht sein eigener übergeordneter Ordner sein","Save as copy and choose":"Als Kopie speichern und wählen","Save and choose":"Speichern und wählen","Rounded corners are saved as a PNG copy: the original format has no transparency":"Abgerundete Ecken werden als PNG-Kopie gespeichert: Das Originalformat unterstützt keine Transparenz",imageEditor:{name:"Name",save:"Speichern",saveAs:"Speichern unter",back:"Zurück",loading:"Wird geladen …",resetOperations:"Alle Änderungen zurücksetzen",changesLoseWarningHint:"Wenn Sie auf „Zurücksetzen“ klicken, gehen Ihre Änderungen verloren. Möchten Sie fortfahren?",discardChangesWarningHint:"Wenn Sie das Fenster schließen, wird Ihre letzte Änderung nicht gespeichert.",cancel:"Abbrechen",apply:"Anwenden",warning:"Warnung",confirm:"Bestätigen",discardChanges:"Änderungen verwerfen",undoTitle:"Letzten Schritt rückgängig machen",redoTitle:"Letzten Schritt wiederholen",showImageTitle:"Originalbild anzeigen",zoomInTitle:"Vergrößern",fitTitle:"Einpassen",zoomOutTitle:"Verkleinern",toggleZoomMenuTitle:"Zoom-Menü",adjustTab:"Anpassen",finetuneTab:"Feinabstimmung",filtersTab:"Filter",watermarkTab:"Wasserzeichen",annotateTabLabel:"Anmerkungen",resize:"Größe ändern",resizeTab:"Größe ändern",imageName:"Bildname",invalidImageError:"Das Bild ist beschädigt oder wird nicht unterstützt.",uploadImageError:"Fehler beim Hochladen des Bildes.",areNotImages:"sind keine Bilder",isNotImage:"ist kein Bild",toBeUploaded:"zum Hochladen",cropTool:"Zuschneiden",original:"Original",custom:"Eigene",square:"Quadrat",landscape:"Querformat",portrait:"Hochformat",ellipse:"Ellipse",classicTv:"Klassisches TV",cinemascope:"Cinemascope",cropPresetInstagramPost:"Instagram-Beitrag",cropPresetPinterest:"Pinterest",cropPresetScreen:"Bildschirm",cropPresetPhoto:"Foto",cropPresetLinkPreview:"Linkvorschau",cropPresetCinema:"Kino",cornerRadiusTool:"Abrunden",cornerRadiusEllipseHint:"Für den Zuschnitt „Ellipse“ nicht verfügbar",arrowTool:"Pfeil",blurTool:"Unschärfe",brightnessTool:"Helligkeit",contrastTool:"Kontrast",ellipseTool:"Ellipse",unFlipX:"Horizontale Spiegelung aufheben",flipX:"Horizontal spiegeln",unFlipY:"Vertikale Spiegelung aufheben",flipY:"Vertikal spiegeln",hsvTool:"HSV",hue:"Farbton",brightness:"Helligkeit",saturation:"Sättigung",value:"Wert",imageTool:"Bild",importing:"Wird importiert …",addImage:"Bild hinzufügen",uploadImage:"Bild hochladen",fromGallery:"Aus Galerie",lineTool:"Linie",penTool:"Stift",polygonTool:"Polygon",sides:"Seiten",rectangleTool:"Rechteck",cornerRadius:"Eckenradius",resizeWidthTitle:"Breite in Pixeln",resizeHeightTitle:"Höhe in Pixeln",toggleRatioLockTitle:"Seitenverhältnis beibehalten",resetSize:"Originalgröße wiederherstellen",rotateTool:"Drehen",textTool:"Text",textSpacings:"Abstände",textAlignment:"Ausrichtung",fontFamily:"Schriftfamilie",size:"Größe",letterSpacing:"Zeichenabstand",lineHeight:"Zeilenhöhe",warmthTool:"Wärme",addWatermark:"Wasserzeichen hinzufügen",addTextWatermark:"Text-Wasserzeichen hinzufügen",addWatermarkTitle:"Art des Wasserzeichens wählen",uploadWatermark:"Wasserzeichen hochladen",addWatermarkAsText:"Als Text hinzufügen",padding:"Innenabstand",paddings:"Innenabstände",shadow:"Schatten",horizontal:"Horizontal",vertical:"Vertikal",blur:"Unschärfe",opacity:"Deckkraft",transparency:"Transparenz",position:"Position",stroke:"Kontur",saveAsModalTitle:"Speichern unter",extension:"Dateiendung",format:"Format",nameIsRequired:"Bitte geben Sie einen Namen ein.",quality:"Qualität",imageDimensionsHoverTitle:"Größe des gespeicherten Bildes (Breite × Höhe)",cropSizeLowerThanResizedWarning:"Hinweis: Der gewählte Zuschnitt ist kleiner als die eingestellte Bildgröße – die Qualität kann darunter leiden",actualSize:"Tatsächliche Größe (100 %)",fitSize:"Ins Fenster einpassen",addImageTitle:"Bild zum Hinzufügen auswählen …",mutualizedFailedToLoadImg:"Das Bild konnte nicht geladen werden.",tabsMenu:"Menü",download:"Herunterladen",width:"Breite",height:"Höhe",cropItemNoEffect:"Für diese Zuschnittvorlage ist keine Vorschau verfügbar",px:"px",invalidTextContent:"Ungültiger Textinhalt",baselineShift:"Grundlinienversatz",aiTab:"KI-Werkzeuge",objectRemovalTool:"Objekt entfernen",objectRemovalBrushSize:"Pinselgröße (px)",objectRemovalApplyButton:"Anwenden",objectRemovalBrushMode:"Pinselmodus",objectRemovalBrushCircleType:"Runder Pinsel",objectRemovalBrushSquareType:"Quadratischer Pinsel",objectRemovalApplyingText:"Ausgewählter Bereich wird entfernt",objectRemovalMarkModeTooltip:"Markieren",objectRemovalUnMarkModeTooltip:"Markierung aufheben",objectRemovalCancelConfirmationTitle:"Vorgang abbrechen",objectRemovalCancelConfirmationHint:"Möchten Sie das Entfernen des Objekts aus",objectRemovalCancelConfirmationHintCompletion:"wirklich abbrechen?",theKeyword:""}},$s={Files:"Fichiers",selected:"sélectionnés",Deselected:"Désélectionner",Refresh:"Actualiser","Select all":"Tout sélectionner",Rename:"Renommer","Rename file":"Renommer le fichier {{currentFileName}}","Select the destination folder":"Sélectionnez le dossier de destination","Selected files:":"Fichiers sélectionnés :","Selected files":"Fichiers sélectionnés : {{count}}",selected_files_one:"{{count}} fichier sélectionné",selected_files_other:"{{count}} fichiers sélectionnés",Copy:"Copier",Edit:"Modifier",Move:"Déplacer","Move to":"Déplacer vers",Delete:"Supprimer","New folder":"Nouveau dossier","Image search...":"Rechercher des images...","Search icons":"Rechercher des icônes","By name":"Par nom","By size":"Par taille","By date":"Par date",List:"Liste",Grid:"Grille",Main:"Accueil",Folders:"Dossiers","total pages":"{{total}} éléments au total",Name:"Nom",Untitled:"Sans titre",Size:"Taille",Dimensions:"Dimensions",Date:"Date",error:"erreur",Folder:"Dossier",created:"créé","Failed to create folder":"Impossible de créer le dossier","File deleted":"Fichier supprimé","Files deleted":"Fichiers supprimés","Error when deleting a file":"Erreur lors de la suppression du fichier","Folder deleted":"Dossier supprimé","Error when deleting a folder":"Erreur lors de la suppression du dossier","Delete folder":"Supprimer le dossier","Are you sure you want to delete this folder? This action will also delete all files and subfolders.":"Voulez-vous vraiment supprimer ce dossier ? Tous les fichiers et sous-dossiers qu’il contient seront également supprimés.","API-endpoint for file upload is not configured":"Le point de terminaison API pour le téléversement de fichiers n’est pas configuré","Please select an image file":"Veuillez sélectionner un fichier image",File:"Fichier","has been successfully uploaded":"a été téléversé avec succès","The URL must point to an image":"L’URL doit pointer vers une image","Image upload...":"Téléversement de l’image...",Unknown:"Inconnu","Error downloading file by URL":"Erreur lors du téléchargement du fichier depuis l’URL","successfully uploaded":"téléversé avec succès","Error when downloading a file by URL":"Erreur lors du téléchargement du fichier depuis l’URL","Error when uploading a file":"Erreur lors du téléversement du fichier","Error loading files":"Erreur de chargement des fichiers","File not found":"Fichier introuvable","File renamed to":"Fichier renommé en ","Failed to rename the file":"Impossible de renommer le fichier","Folder renamed to":"Dossier renommé en","Rename folder":"Renommer le dossier","New folder name":"Nouveau nom du dossier","Enter a new folder name":"Saisissez un nouveau nom de dossier","Please drag and drop image files only":"Veuillez glisser-déposer uniquement des fichiers image","Upload file by URL":"Téléverser un fichier par URL","Upload file":"Téléverser un fichier","Creating a new folder":"Création d’un nouveau dossier",Create:"Créer",Cancel:"Annuler","Folder name":"Nom du dossier","Enter the name of the folder":"Saisissez le nom du dossier","Enter the name":"Saisissez le nom","A folder will be created inside:":"Le dossier sera créé dans :","selected folder":"dossier sélectionné","The folder will be created in the root directory":"Le dossier sera créé à la racine","Failed to load folders":"Impossible de charger les dossiers","Folder name cannot be empty":"Le nom du dossier ne peut pas être vide","Folder creation provider is not configured":"Le fournisseur de création de dossiers n’est pas configuré","Folder created":"Dossier créé","Folder rename is disabled by config":"Le renommage des dossiers est désactivé dans la configuration","Folder rename provider is not configured":"Le fournisseur de renommage des dossiers n’est pas configuré","Unexpected response when renaming folder":"Réponse inattendue lors du renommage du dossier","Folder renamed":"Dossier renommé","Failed to rename folder":"Impossible de renommer le dossier","Failed to load folder items count":"Impossible d’obtenir le nombre d’éléments du dossier","Failed to load subfolders":"Impossible de charger les sous-dossiers",Download:"Téléverser","image URL":"URL de l’image","Enter the URL of the image":"Saisissez l’URL de l’image","Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP":"Formats pris en charge : JPG, JPEG, PNG, GIF, WEBP, SVG, BMP","New file name":"Nouveau nom du fichier","Enter a new file name":"Saisissez un nouveau nom de fichier","Copy to folder":"Copier dans le dossier",Added:"Ajouté le {{date}}","File uploaded successfully":"Fichier {{fileName}} téléversé avec succès","Successfully uploaded":"{{successCount}} fichier sur {{count}} téléversé avec succès","Successfully uploaded files":"{{successCount}} fichiers sur {{count}} téléversés avec succès",uploads_success_summary:"{{successCount}} fichiers sur {{totalCount}} téléversés",uploads_fail_summary:"Échec du téléversement de {{failCount}} fichiers sur {{totalCount}}","File with this name already exists.":"Un fichier portant ce nom existe déjà.","File not found or no longer available.":"Fichier introuvable ou plus disponible.","You don't have permission to access this file.":"Vous n’avez pas l’autorisation d’accéder à ce fichier.","File is too large to upload.":"Le fichier est trop volumineux pour être téléversé.","File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.":"Le fichier est trop volumineux ({{fileSize}}). Taille maximale autorisée : {{maxSize}}.","Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}":"Nombre maximal de fichiers dépassé. Autorisés : {{allowed}}, reçus : {{received}}","This file type is not allowed.":"Ce type de fichier n’est pas autorisé.","File name is not valid.":"Le nom du fichier n’est pas valide.","File name is not valid. Allowed characters: {{allowedChars}}":"Le nom du fichier n’est pas valide. Caractères autorisés : {{allowedChars}}","Failed to read the file.":"Impossible de lire le fichier.","Failed to write the file.":"Impossible d’écrire le fichier.","The file appears to be corrupted.":"Le fichier semble endommagé.","File integrity check failed.":"La vérification de l’intégrité du fichier a échoué.","Folder not found or no longer available.":"Dossier introuvable ou plus disponible.","Folder with this name already exists.":"Un dossier portant ce nom existe déjà.","A folder with that name already exists. Please enter a different folder name.":"Un dossier portant ce nom existe déjà. Veuillez saisir un autre nom.","You don't have permission to access this folder.":"Vous n’avez pas l’autorisation d’accéder à ce dossier.","Folder name is not valid.":"Le nom du dossier n’est pas valide.","Folder name is not valid. Allowed characters: {{allowedChars}}":"Le nom du dossier n’est pas valide. Caractères autorisés : {{allowedChars}}","Failed to read the folder contents.":"Impossible de lire le contenu du dossier.","Failed to write to the folder.":"Impossible d’écrire dans le dossier.","Folder storage quota exceeded.":"Quota de stockage du dossier dépassé.","Folder is not empty.":"Le dossier n’est pas vide.","Server error while processing the folder.":"Erreur du serveur lors du traitement du dossier.","Folder operation took too long.":"L’opération sur le dossier a pris trop de temps.","Network error. Please check your connection and try again.":"Erreur réseau. Vérifiez votre connexion et réessayez.","The operation took too long. Please try again.":"L’opération a pris trop de temps. Veuillez réessayer.","Server error. Please try again later.":"Erreur du serveur. Réessayez plus tard.","Service is temporarily unavailable. Please try again later.":"Le service est temporairement indisponible. Réessayez plus tard.","Too many requests. Please try again a bit later.":"Trop de requêtes. Réessayez un peu plus tard.","Authentication failed. Please sign in again.":"Échec de l’authentification. Veuillez vous reconnecter.","You are not allowed to perform this action.":"Vous n’êtes pas autorisé à effectuer cette action.","Some of the provided data is invalid.":"Certaines des données fournies ne sont pas valides.","This operation is not supported.":"Cette opération n’est pas prise en charge.","Request payload is too large.":"Le contenu de la requête est trop volumineux.","This media type is not supported.":"Ce type de média n’est pas pris en charge.","You have exceeded the upload quota.":"Vous avez dépassé le quota de téléversement.","Network error while uploading the file.":"Erreur réseau lors du téléversement du fichier.","File upload took too long.":"Le téléversement du fichier a pris trop de temps.","Server error while uploading the file.":"Erreur du serveur lors du téléversement du fichier.","The specified URL is not valid.":"L’URL indiquée n’est pas valide.","The specified URL is not reachable.":"L’URL indiquée est inaccessible.","Content type at the URL is not allowed.":"Le type de contenu à cette URL n’est pas autorisé.","Failed to download file from the URL.":"Impossible de télécharger le fichier depuis l’URL.","Network error while downloading the file.":"Erreur réseau lors du téléchargement du fichier.","File download took too long.":"Le téléchargement du fichier a pris trop de temps.","Server error while downloading the file.":"Erreur du serveur lors du téléchargement du fichier.","Some items could not be processed.":"Certains éléments n’ont pas pu être traités.","Failed to process all items in the batch.":"Aucun élément du lot n’a pu être traité.","Some items in the batch are in a conflicting state.":"Certains éléments du lot sont dans un état conflictuel.","Some items in the batch did not pass validation.":"Certains éléments du lot n’ont pas passé la validation.","AI service returned an invalid response.":"Le service d’IA a renvoyé une réponse non valide.","Failed to generate image using AI.":"Impossible de générer l’image avec l’IA.","You have reached the AI image generation limit.":"Vous avez atteint la limite de génération d’images par IA.","Error in external integration.":"Erreur dans une intégration externe.","Error in a third-party service.":"Erreur dans un service tiers.","An unknown error occurred.":"Une erreur inconnue s’est produite.","Renaming is not allowed for this item.":"Le renommage n’est pas autorisé pour cet élément.","Moving is not allowed for this item.":"Le déplacement n’est pas autorisé pour cet élément.","Copying is not allowed for this item.":"La copie n’est pas autorisée pour cet élément.","Deleting is not allowed for this item.":"La suppression n’est pas autorisée pour cet élément.","Cannot move an item into itself.":"Impossible de déplacer un élément dans lui-même.","Cannot move an item into its descendant folder.":"Impossible de déplacer un élément dans l’un de ses sous-dossiers.","Cannot copy an item into itself.":"Impossible de copier un élément dans lui-même.","Configuration error occurred.":"Une erreur de configuration s’est produite.","Storage quota exceeded. Please free up space.":"Quota de stockage dépassé. Veuillez libérer de l’espace.","File is locked by another process or user.":"Le fichier est verrouillé par un autre processus ou utilisateur.","File version conflict. Please refresh and try again.":"Conflit de version du fichier. Actualisez la page et réessayez.","Batch operation exceeds the maximum number of items allowed.":"L’opération groupée dépasse le nombre maximal d’éléments autorisé.",Moved:"Déplacés : {{names}}",move_success_summary:"{{successCount}} éléments sur {{totalCount}} déplacés",move_fail_summary:"Échec du déplacement de {{failCount}} éléments sur {{totalCount}}",Copied:"Copiés : {{names}}",copy_success_summary:"{{successCount}} éléments sur {{totalCount}} copiés",copy_fail_summary:"Échec de la copie de {{failCount}} éléments sur {{totalCount}}",Uploaded:"Téléversés : {{names}}",Failed:"Échec : {{names}}","Failed to upload":"Échec du téléversement de {{failCount}} fichier sur {{count}}","Failed to upload files":"Échec du téléversement de {{failCount}} fichiers sur {{count}}",months:{january:"janvier",february:"février",march:"mars",april:"avril",may:"mai",june:"juin",july:"juillet",august:"août",september:"septembre",october:"octobre",november:"novembre",december:"décembre"},files:"fichiers","No available folders":"Aucun dossier disponible","My files":"Mes fichiers",GIF:"GIF","Stock images":"Banque d’images","QR & Barcode":"QR et code-barres","QR code":"Code QR",Barcode:"Code-barres","Text or URL":"Texte ou URL","Code color":"Couleur du code","Background color":"Couleur de fond","Add to My files":"Ajouter à Mes fichiers","Transparent background":"Fond transparent","Barcode generation failed":"Impossible de générer ce code-barres. Utilisez des caractères pris en charge par CODE128.","Validation error":"Erreur de validation","Enter text or URL to preview":"Saisissez un texte ou une URL à encoder.",Preview:"Aperçu","QR transparent background hint":"Un PNG transparent peut se fondre dans le thème sombre d’un e-mail ; un fond blanc est souvent plus facile à lire pour les scanners.","QR image size px":"Taille du QR","Barcode bar height px":"Hauteur des barres",Icons:"Icônes",AI:"IA","AI image generation":"Génération d’images par IA","Search GIFs":"Rechercher des GIF","That`s all we could find.":"C’est tout ce que nous avons trouvé.","Search image":"Rechercher une image",All:"Tous",Landscape:"Paysage",Portrait:"Portrait",Squarish:"Carré",Black:"Noir","Black and White":"Noir et blanc",White:"Blanc",Orange:"Orange",Red:"Rouge",Purple:"Violet",Magenta:"Magenta",Green:"Vert",Teal:"Turquoise",Blue:"Bleu","Photo by":"Photo de",on:"sur","File Manager":"Gestionnaire de fichiers","File Manager not configured":"Le gestionnaire de fichiers n’est pas configuré","Filter by type":"Filtrer par type","All types":"Tous les types","File name":"Nom du fichier",Actions:"Actions","Add file":"Ajouter un fichier","Add folder":"Ajouter un dossier","Add file by URL":"Ajouter un fichier par URL","File moved":"Fichier déplacé","Files moved":"Fichiers déplacés","Error when moving a file":"Erreur lors du déplacement du fichier","Files copied":"Fichiers copiés","Failed to download file":"Impossible de télécharger le fichier","Failed to load JSON data":"Impossible de charger les données JSON","Invalid file URL":"URL du fichier non valide","Unable to validate file URL":"Impossible de vérifier l’URL du fichier","Type to search...":"Saisissez votre recherche...",Submit:"Envoyer","No folders yet":"Aucun dossier pour l’instant","Drag files to upload":"Glissez des fichiers pour les téléverser","Drop files here to upload":"Déposez les fichiers ici pour les téléverser","Newest first":"Les plus récents d’abord","Oldest first":"Les plus anciens d’abord","Largest first":"Les plus volumineux d’abord","Smallest first":"Les plus petits d’abord","A-Z":"A-Z","Z-A":"Z-A","By type":"Par type","Evaluating the task":"Évaluation de la tâche","Something went wrong, please try again":"Une erreur s’est produite, réessayez","Sort by":"Trier par","preview text":"Chargement de l’aperçu de l’image...","Use this variant":"Utiliser cette variante","Confirm deletion":"Confirmer la suppression","Are you sure you want to delete the selected items?":"Voulez-vous vraiment supprimer les éléments sélectionnés ?","Move to Trash":"Déplacer vers la corbeille","Are you sure you want to move the selected items to the Trash?":"Voulez-vous vraiment déplacer les éléments sélectionnés vers la corbeille ?","Permanently delete":"Supprimer définitivement","Delete permanently":"Supprimer définitivement","Are you sure you want to permanently delete the selected items? This action cannot be undone.":"Voulez-vous vraiment supprimer définitivement les éléments sélectionnés ? Cette action est irréversible.",Clear:"Vider","Clear Trash":"Vider la corbeille","Are you sure you want to permanently delete all items from Trash?":"Voulez-vous vraiment supprimer définitivement tous les éléments de la corbeille ?","Trash cleared successfully":"Corbeille vidée","{{count}} items permanently deleted":"{{count}} éléments supprimés définitivement","Trash partially cleared":"Corbeille partiellement vidée","{{succeeded}} items deleted, {{failed}} items failed":"{{succeeded}} éléments supprimés, échec pour {{failed}} éléments","Failed to clear trash":"Impossible de vider la corbeille","Error clearing trash":"Erreur lors du vidage de la corbeille","Deleting items...":"Suppression des éléments...",delete_files_permanent_one:"Cette action supprimera définitivement {{count}} fichier",delete_files_permanent_other:"Cette action supprimera définitivement {{count}} fichiers",delete_folder_permanent:"Cette action supprimera définitivement le dossier « {{name}} » et tout son contenu, soit {{count}} éléments.",delete_mixed_permanent:"Cette action supprimera définitivement {{total}} éléments sélectionnés, dont {{folders}} dossiers et les {{images}} images qu’ils contiennent.",permanent_delete_warning:"Supprimer des fichiers utilisés dans des e-mails empêchera l’affichage des images dans les anciens e-mails. Voulez-vous vraiment supprimer définitivement la sélection ?",move_files_to_trash_one:"{{count}} fichier sera déplacé vers la corbeille.",move_files_to_trash_other:"{{count}} fichiers seront déplacés vers la corbeille.",move_folder_to_trash:"Le dossier « {{name}} » et tout son contenu ({{count}} éléments) seront déplacés vers la corbeille.",move_mixed_to_trash:"{{total}} éléments sélectionnés seront déplacés vers la corbeille, dont {{folders}} dossiers et {{images}} images.",delete_count_confirm_trash_one:"Déplacer {{count}} fichier vers la corbeille ?",delete_count_confirm_trash_other:"Déplacer {{count}} fichiers vers la corbeille ?",delete_count_confirm_permanent_one:"Supprimer définitivement {{count}} fichier ?",delete_count_confirm_permanent_other:"Supprimer définitivement {{count}} fichiers ?",delete_count_confirm_one:"Supprimer {{count}} fichier ?",delete_count_confirm_other:"Supprimer {{count}} fichiers ?",item:"élément",items:"éléments",Trash:"Corbeille",Choose:"Choisir",Stock:"Banque d’images","Select an image from our library":"Sélectionnez une image dans notre bibliothèque","AI generation":"Génération par IA","Creating an image on demand":"Création d’une image à la demande","Search file or folder":"Rechercher un fichier ou un dossier","Click here to select a file":"Cliquez ici pour sélectionner un fichier","Supported files:":"Fichiers pris en charge :","Create folder":"Créer le dossier",Done:"Terminé","Move here":"Déplacer ici","Copy here":"Copier ici","File URL":"URL du fichier","There's nothing here":"Il n’y a rien ici","Try using a different search query.":"Essayez une autre recherche.","Millions of free stock images":"Des millions d’images de banque gratuites","Enter a search query and we'll find the perfect image for you":"Saisissez une recherche et nous trouverons l’image idéale pour vous","Millions of icons":"Des millions d’icônes","Lucide icons":"Icônes Lucide","Thousands of icons":"Des milliers d’icônes","Enter a search query and we'll find the perfect icon for you":"Saisissez une recherche et nous trouverons l’icône idéale pour vous","Enter your query and we will find the right one for you":"Saisissez votre recherche et nous trouverons ce qu’il vous faut","Over 350,000 live images":"Plus de 350 000 images animées","The folder will be created in the root directory.":"Le dossier sera créé à la racine.",undo:"ANNULER",moved_to_trash_one:"{{count}} élément déplacé vers la corbeille",moved_to_trash_other:"{{count}} éléments déplacés vers la corbeille",restored_items_one:"{{count}} élément restauré",restored_items_other:"{{count}} éléments restaurés",Type:"Type","Generate image":"Générer une image","A beautiful image of a sunset over a calm ocean.":"Une belle image d’un coucher de soleil sur un océan calme.","For example:":"Par exemple :",Insert:"Insérer",Error:"Erreur","Upload progress":"Téléversement {{completed}}/{{total}}","Uploading files":"Téléversement de {{completed}}/{{total}} fichiers","Uploaded files":"{{success}} fichiers sur {{total}} téléversés","Upload error files":"Erreur de téléversement : {{errorCount}} fichiers","Applies to all {{count}} files":"(s’applique aux {{count}} fichiers)","Some files failed to upload":"Certains fichiers n’ont pas pu être téléversés. Vérifiez leur taille et leur format.",upload_error_hint_invalid_name:"Renommez le fichier : utilisez uniquement des lettres, des chiffres, des tirets et des traits de soulignement.",upload_error_hint_size:"Réduisez la taille du fichier ou choisissez-en un autre.",upload_error_hint_format:"Utilisez un format autorisé : JPG, PNG ou GIF.",upload_error_hint_exists:"Un fichier portant ce nom existe déjà dans le dossier. Renommez le fichier.","Images generated successfully":"Images générées avec succès","Trash is empty":"La corbeille est vide","Deleted files will be displayed here":"Les fichiers supprimés s’afficheront ici","Stroke width":"Épaisseur du trait",Style:"Style",Color1:"Couleur",Color2:"Couleur 2",Color3:"Couleur 3","Global search":"Recherche globale","Family search":"Recherche par famille","Choose for template":"Choisir pour le modèle",Back:"Retour","Editing: {{name}}":"Modification : {{name}}","Editing image":"Modification de l’image",Save:"Enregistrer","Loading editor...":"Chargement de l’éditeur...","Error loading image":"Erreur de chargement de l’image","Error saving image":"Erreur lors de l’enregistrement de l’image","Error initializing editor":"Erreur d’initialisation de l’éditeur","Close File Manager":"Fermer le gestionnaire de fichiers","Are you sure you want to close? Unsaved changes will be lost.":"Voulez-vous vraiment fermer ? Les modifications non enregistrées seront perdues.","Are you sure you want to close the file manager?":"Voulez-vous vraiment fermer le gestionnaire de fichiers ?",Close:"Fermer",KB:"Ko","No files":"Aucun fichier","Folder is empty or files not found":"Le dossier est vide ou aucun fichier n’a été trouvé","Search files...":"Rechercher des fichiers...",Success:"Succès","Image updated successfully":"Image mise à jour avec succès","Failed to save changes":"Impossible d’enregistrer les modifications : {{error}}","Unknown error":"Erreur inconnue","Select destination folder":"Sélectionnez le dossier de destination","Error moving":"Erreur lors du déplacement","Error deleting":"Erreur lors de la suppression","Error copying":"Erreur lors de la copie","Error renaming":"Erreur lors du renommage","Failed to refresh folder tree":"Impossible d’actualiser l’arborescence des dossiers","Failed to refresh file list":"Impossible d’actualiser la liste des fichiers","Errors occurred while moving":"Des erreurs se sont produites lors du déplacement","Errors occurred while copying":"Des erreurs se sont produites lors de la copie","(error)":"(erreur)","(circular reference)":"(référence circulaire)","File too large. Maximum size: {{size}}":"Fichier trop volumineux. Taille maximale : {{size}}","File too small. Minimum size: {{size}}":"Fichier trop petit. Taille minimale : {{size}}","Unsupported file type":"Type de fichier non pris en charge","Unsupported file type: {{type}}":"Type de fichier non pris en charge : {{type}}",unknown:"inconnu","Failed to load files":"Impossible de charger les fichiers","Failed to load files in folder":"Impossible de charger le contenu du dossier ({{folderName}})","Failed to load subfolders in folder":"Impossible de charger les sous-dossiers de « {{folderName}} »","Failed to load folder items count in folder":"Impossible d’obtenir le nombre d’éléments de « {{folderName}} »","DataProvider for folder deletion is not configured":"Le DataProvider de suppression des dossiers n’est pas configuré","DataProvider for file upload is not configured":"Le DataProvider de téléversement des fichiers n’est pas configuré","Error uploading file {{fileName}}":"Erreur lors du téléversement du fichier {{fileName}}","Error uploading file":"Erreur lors du téléversement du fichier","Cannot upload files to Trash":"Impossible de téléverser des fichiers dans la corbeille","Please fill in all fields":"Veuillez remplir tous les champs","URL too long":"L’URL est trop longue","Only http and https URLs are supported":"Seules les URL http et https sont prises en charge","Private and local URLs are not allowed":"Les URL privées et locales ne sont pas autorisées","Upload by URL is not supported":"Le téléversement par URL n’est pas pris en charge","File name is too long. Maximum {{max}} characters":"Le nom du fichier est trop long. {{max}} caractères maximum","File name contains invalid characters":"Le nom du fichier contient des caractères non valides","Large file may take a long time to upload":"Le téléversement d’un fichier volumineux peut prendre du temps","File unavailable: {{status}} {{statusText}}":"Fichier indisponible : {{status}} {{statusText}}","File too large: {{size}}":"Fichier trop volumineux : {{size}}","Unsupported file type: {{contentType}}":"Type de fichier non pris en charge : {{contentType}}","Invalid server response: folder ID is missing":"Réponse du serveur non valide : l’ID du dossier est manquant","Error: folder cannot be its own parent":"Erreur : un dossier ne peut pas être son propre parent","Upload to Trash is forbidden":"Le téléversement dans la corbeille est interdit","renameFolder is not implemented in dataProviders":"renameFolder n’est pas implémenté dans dataProviders","renameFile is not implemented in dataProviders":"renameFile n’est pas implémenté dans dataProviders",Deleted:"Fichiers supprimés",Clean:"Vider","Circular dependency detected: folder cannot be its own parent":"Dépendance circulaire détectée : un dossier ne peut pas être son propre parent","Save as copy and choose":"Enregistrer une copie et choisir","Save and choose":"Enregistrer et choisir","Rounded corners are saved as a PNG copy: the original format has no transparency":"L’arrondi est enregistré en copie PNG : le format d’origine ne gère pas la transparence",imageEditor:{name:"Nom",save:"Enregistrer",saveAs:"Enregistrer sous",back:"Retour",loading:"Chargement...",resetOperations:"Réinitialiser toutes les modifications",changesLoseWarningHint:"Si vous cliquez sur « Réinitialiser », vos modifications seront perdues. Voulez-vous continuer ?",discardChangesWarningHint:"Si vous fermez la fenêtre, vos dernières modifications ne seront pas enregistrées.",cancel:"Annuler",apply:"Appliquer",warning:"Avertissement",confirm:"Confirmer",discardChanges:"Abandonner les modifications",undoTitle:"Annuler la dernière action",redoTitle:"Rétablir la dernière action",showImageTitle:"Afficher l’image d’origine",zoomInTitle:"Zoom avant",fitTitle:"Ajuster",zoomOutTitle:"Zoom arrière",toggleZoomMenuTitle:"Menu du zoom",adjustTab:"Ajuster",finetuneTab:"Réglages",filtersTab:"Filtres",watermarkTab:"Filigrane",annotateTabLabel:"Annoter",resize:"Redimensionner",resizeTab:"Redimensionner",imageName:"Nom de l’image",invalidImageError:"Image non valide.",uploadImageError:"Erreur lors du téléversement de l’image.",areNotImages:"ne sont pas des images",isNotImage:"n’est pas une image",toBeUploaded:"à téléverser",cropTool:"Rogner",original:"Original",custom:"Personnalisé",square:"Carré",landscape:"Paysage",portrait:"Portrait",ellipse:"Ellipse",classicTv:"TV classique",cinemascope:"Cinémascope",cropPresetInstagramPost:"Publication Instagram",cropPresetPinterest:"Pinterest",cropPresetScreen:"Écran",cropPresetPhoto:"Photo",cropPresetLinkPreview:"Aperçu de lien",cropPresetCinema:"Cinéma",cornerRadiusTool:"Arrondi",cornerRadiusEllipseHint:"Indisponible pour le rognage « Ellipse »",arrowTool:"Flèche",blurTool:"Flou",brightnessTool:"Luminosité",contrastTool:"Contraste",ellipseTool:"Ellipse",unFlipX:"Annuler la symétrie horizontale",flipX:"Symétrie horizontale",unFlipY:"Annuler la symétrie verticale",flipY:"Symétrie verticale",hsvTool:"TSV",hue:"Teinte",brightness:"Luminosité",saturation:"Saturation",value:"Valeur",imageTool:"Image",importing:"Importation...",addImage:"Ajouter une image",uploadImage:"Téléverser une image",fromGallery:"Depuis la galerie",lineTool:"Ligne",penTool:"Crayon",polygonTool:"Polygone",sides:"Côtés",rectangleTool:"Rectangle",cornerRadius:"Rayon des angles",resizeWidthTitle:"Largeur en pixels",resizeHeightTitle:"Hauteur en pixels",toggleRatioLockTitle:"Conserver les proportions",resetSize:"Revenir à la taille d’origine",rotateTool:"Rotation",textTool:"Texte",textSpacings:"Espacements",textAlignment:"Alignement",fontFamily:"Famille de police",size:"Taille",letterSpacing:"Espacement des lettres",lineHeight:"Hauteur de ligne",warmthTool:"Chaleur",addWatermark:"Ajouter un filigrane",addTextWatermark:"Ajouter un filigrane texte",addWatermarkTitle:"Choisissez le type de filigrane",uploadWatermark:"Téléverser un filigrane",addWatermarkAsText:"Ajouter en texte",padding:"Marge intérieure",paddings:"Marges intérieures",shadow:"Ombre",horizontal:"Horizontal",vertical:"Vertical",blur:"Flou",opacity:"Opacité",transparency:"Transparence",position:"Position",stroke:"Contour",saveAsModalTitle:"Enregistrer sous",extension:"Extension",format:"Format",nameIsRequired:"Le nom est obligatoire.",quality:"Qualité",imageDimensionsHoverTitle:"Taille de l’image enregistrée (largeur × hauteur)",cropSizeLowerThanResizedWarning:"Attention : la zone de rognage sélectionnée est plus petite que la taille définie, ce qui peut réduire la qualité",actualSize:"Taille réelle (100%)",fitSize:"Ajuster à la fenêtre",addImageTitle:"Sélectionnez une image à ajouter...",mutualizedFailedToLoadImg:"Impossible de charger l’image.",tabsMenu:"Menu",download:"Télécharger",width:"Largeur",height:"Hauteur",cropItemNoEffect:"Aucun aperçu disponible pour ce format de rognage",px:"px",invalidTextContent:"Contenu du texte non valide",baselineShift:"Décalage de la ligne de base",aiTab:"Outils IA",objectRemovalTool:"Suppression d’objet",objectRemovalBrushSize:"Taille du pinceau (px)",objectRemovalApplyButton:"Appliquer",objectRemovalBrushMode:"Mode pinceau",objectRemovalBrushCircleType:"Pinceau rond",objectRemovalBrushSquareType:"Pinceau carré",objectRemovalApplyingText:"Suppression de la zone sélectionnée",objectRemovalMarkModeTooltip:"Mode marquage",objectRemovalUnMarkModeTooltip:"Mode démarquage",objectRemovalCancelConfirmationTitle:"Annuler le traitement",objectRemovalCancelConfirmationHint:"Voulez-vous vraiment annuler la suppression de l’objet de ce",objectRemovalCancelConfirmationHintCompletion:"fichier ?",theKeyword:""}},Qs={Files:"File",selected:"selezionati",Deselected:"Deseleziona",Refresh:"Aggiorna","Select all":"Seleziona tutto",Rename:"Rinomina","Rename file":"Rinomina il file {{currentFileName}}","Select the destination folder":"Seleziona la cartella di destinazione","Selected files:":"File selezionati:","Selected files":"File selezionati: {{count}}",selected_files_one:"{{count}} file selezionato",selected_files_other:"{{count}} file selezionati",Copy:"Copia",Edit:"Modifica",Move:"Sposta","Move to":"Sposta in",Delete:"Elimina","New folder":"Nuova cartella","Image search...":"Cerca immagini...","Search icons":"Cerca icone","By name":"Per nome","By size":"Per dimensione","By date":"Per data",List:"Elenco",Grid:"Griglia",Main:"Principale",Folders:"Cartelle","total pages":"Totale: {{total}} elementi",Name:"Nome",Untitled:"Senza titolo",Size:"Dimensione",Dimensions:"Dimensioni",Date:"Data",error:"Errore",Folder:"Cartella",created:"creata","Failed to create folder":"Impossibile creare la cartella","File deleted":"File eliminato","Files deleted":"File eliminati","Error when deleting a file":"Errore durante l’eliminazione del file","Folder deleted":"Cartella eliminata","Error when deleting a folder":"Errore durante l’eliminazione della cartella","Delete folder":"Elimina cartella","Are you sure you want to delete this folder? This action will also delete all files and subfolders.":"Sei sicuro di voler eliminare questa cartella? Verranno eliminati anche tutti i file e le sottocartelle.","API-endpoint for file upload is not configured":"L’endpoint API per il caricamento dei file non è configurato","Please select an image file":"Seleziona un file immagine",File:"File","has been successfully uploaded":"è stato caricato correttamente","The URL must point to an image":"L’URL deve puntare a un’immagine","Image upload...":"Caricamento dell’immagine...",Unknown:"Sconosciuto","Error downloading file by URL":"Errore durante il caricamento del file da URL","successfully uploaded":"caricato correttamente","Error when downloading a file by URL":"Errore durante il caricamento del file da URL","Error when uploading a file":"Errore durante il caricamento del file","Error loading files":"Errore durante il caricamento dei file","File not found":"File non trovato","File renamed to":"File rinominato in ","Failed to rename the file":"Impossibile rinominare il file","Folder renamed to":"Cartella rinominata in","Rename folder":"Rinomina cartella","New folder name":"Nuovo nome della cartella","Enter a new folder name":"Inserisci un nuovo nome per la cartella","Please drag and drop image files only":"Trascina solo file immagine","Upload file by URL":"Carica file da URL","Upload file":"Carica file","Creating a new folder":"Creazione di una nuova cartella",Create:"Crea",Cancel:"Annulla","Folder name":"Nome della cartella","Enter the name of the folder":"Inserisci il nome della cartella","Enter the name":"Inserisci il nome","A folder will be created inside:":"La cartella verrà creata in:","selected folder":"cartella selezionata","The folder will be created in the root directory":"La cartella verrà creata nella cartella principale","Failed to load folders":"Impossibile caricare le cartelle","Folder name cannot be empty":"Il nome della cartella non può essere vuoto","Folder creation provider is not configured":"Il provider per la creazione delle cartelle non è configurato","Folder created":"Cartella creata","Folder rename is disabled by config":"La ridenominazione delle cartelle è disattivata nella configurazione","Folder rename provider is not configured":"Il provider per la ridenominazione delle cartelle non è configurato","Unexpected response when renaming folder":"Risposta imprevista durante la ridenominazione della cartella","Folder renamed":"Cartella rinominata","Failed to rename folder":"Impossibile rinominare la cartella","Failed to load folder items count":"Impossibile ottenere il numero di elementi nella cartella","Failed to load subfolders":"Impossibile caricare le sottocartelle",Download:"Carica","image URL":"URL dell’immagine","Enter the URL of the image":"Inserisci l’URL dell’immagine","Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP":"Formati supportati: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP","New file name":"Nuovo nome del file","Enter a new file name":"Inserisci un nuovo nome per il file","Copy to folder":"Copia nella cartella",Added:"Aggiunto: {{date}}","File uploaded successfully":"File {{fileName}} caricato correttamente","Successfully uploaded":"Caricati correttamente: {{successCount}} di {{count}} file","Successfully uploaded files":"Caricati correttamente: {{successCount}} di {{count}} file",uploads_success_summary:"Caricati {{successCount}} file su {{totalCount}}",uploads_fail_summary:"Impossibile caricare {{failCount}} file su {{totalCount}}","File with this name already exists.":"Esiste già un file con questo nome.","File not found or no longer available.":"File non trovato o non più disponibile.","You don't have permission to access this file.":"Non hai i permessi per accedere a questo file.","File is too large to upload.":"Il file è troppo grande per essere caricato.","File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.":"Il file è troppo grande ({{fileSize}}). Dimensione massima consentita: {{maxSize}}.","Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}":"Numero massimo di file superato. Consentiti: {{allowed}}, selezionati: {{received}}","This file type is not allowed.":"Questo tipo di file non è consentito.","File name is not valid.":"Il nome del file non è valido.","File name is not valid. Allowed characters: {{allowedChars}}":"Il nome del file non è valido. Caratteri consentiti: {{allowedChars}}","Failed to read the file.":"Impossibile leggere il file.","Failed to write the file.":"Impossibile scrivere il file.","The file appears to be corrupted.":"Il file sembra danneggiato.","File integrity check failed.":"Verifica dell’integrità del file non riuscita.","Folder not found or no longer available.":"Cartella non trovata o non più disponibile.","Folder with this name already exists.":"Esiste già una cartella con questo nome.","A folder with that name already exists. Please enter a different folder name.":"Esiste già una cartella con questo nome. Inserisci un nome diverso.","You don't have permission to access this folder.":"Non hai i permessi per accedere a questa cartella.","Folder name is not valid.":"Il nome della cartella non è valido.","Folder name is not valid. Allowed characters: {{allowedChars}}":"Il nome della cartella non è valido. Caratteri consentiti: {{allowedChars}}","Failed to read the folder contents.":"Impossibile leggere il contenuto della cartella.","Failed to write to the folder.":"Impossibile scrivere nella cartella.","Folder storage quota exceeded.":"Quota di spazio della cartella superata.","Folder is not empty.":"La cartella non è vuota.","Server error while processing the folder.":"Errore del server durante l’elaborazione della cartella.","Folder operation took too long.":"L’operazione sulla cartella ha richiesto troppo tempo.","Network error. Please check your connection and try again.":"Errore di rete. Controlla la connessione e riprova.","The operation took too long. Please try again.":"L’operazione ha richiesto troppo tempo. Riprova.","Server error. Please try again later.":"Errore del server. Riprova più tardi.","Service is temporarily unavailable. Please try again later.":"Il servizio non è temporaneamente disponibile. Riprova più tardi.","Too many requests. Please try again a bit later.":"Troppe richieste. Riprova tra poco.","Authentication failed. Please sign in again.":"Autenticazione non riuscita. Accedi di nuovo.","You are not allowed to perform this action.":"Non hai i permessi per eseguire questa azione.","Some of the provided data is invalid.":"Alcuni dei dati forniti non sono validi.","This operation is not supported.":"Questa operazione non è supportata.","Request payload is too large.":"Il corpo della richiesta è troppo grande.","This media type is not supported.":"Questo tipo di contenuto non è supportato.","You have exceeded the upload quota.":"Hai superato la quota di caricamento.","Network error while uploading the file.":"Errore di rete durante il caricamento del file.","File upload took too long.":"Il caricamento del file ha richiesto troppo tempo.","Server error while uploading the file.":"Errore del server durante il caricamento del file.","The specified URL is not valid.":"L’URL specificato non è valido.","The specified URL is not reachable.":"L’URL specificato non è raggiungibile.","Content type at the URL is not allowed.":"Il tipo di contenuto all’URL specificato non è consentito.","Failed to download file from the URL.":"Impossibile scaricare il file dall’URL.","Network error while downloading the file.":"Errore di rete durante il download del file.","File download took too long.":"Il download del file ha richiesto troppo tempo.","Server error while downloading the file.":"Errore del server durante il download del file.","Some items could not be processed.":"Alcuni elementi non sono stati elaborati.","Failed to process all items in the batch.":"Nessun elemento dell’operazione di gruppo è stato elaborato.","Some items in the batch are in a conflicting state.":"Alcuni elementi dell’operazione di gruppo sono in conflitto.","Some items in the batch did not pass validation.":"Alcuni elementi dell’operazione di gruppo non hanno superato la convalida.","AI service returned an invalid response.":"Il servizio di IA ha restituito una risposta non valida.","Failed to generate image using AI.":"Impossibile generare l’immagine con l’IA.","You have reached the AI image generation limit.":"Hai raggiunto il limite di generazione di immagini con IA.","Error in external integration.":"Errore nell’integrazione esterna.","Error in a third-party service.":"Errore in un servizio di terze parti.","An unknown error occurred.":"Si è verificato un errore sconosciuto.","Renaming is not allowed for this item.":"Questo elemento non può essere rinominato.","Moving is not allowed for this item.":"Questo elemento non può essere spostato.","Copying is not allowed for this item.":"Questo elemento non può essere copiato.","Deleting is not allowed for this item.":"Questo elemento non può essere eliminato.","Cannot move an item into itself.":"Impossibile spostare un elemento in sé stesso.","Cannot move an item into its descendant folder.":"Impossibile spostare un elemento in una sua sottocartella.","Cannot copy an item into itself.":"Impossibile copiare un elemento in sé stesso.","Configuration error occurred.":"Si è verificato un errore di configurazione.","Storage quota exceeded. Please free up space.":"Quota di spazio superata. Libera spazio.","File is locked by another process or user.":"Il file è bloccato da un altro processo o utente.","File version conflict. Please refresh and try again.":"Conflitto di versione del file. Aggiorna la pagina e riprova.","Batch operation exceeds the maximum number of items allowed.":"L’operazione di gruppo supera il numero massimo di elementi consentito.",Moved:"Spostati: {{names}}",move_success_summary:"Spostati {{successCount}} elementi su {{totalCount}}",move_fail_summary:"Impossibile spostare {{failCount}} elementi su {{totalCount}}",Copied:"Copiati: {{names}}",copy_success_summary:"Copiati {{successCount}} elementi su {{totalCount}}",copy_fail_summary:"Impossibile copiare {{failCount}} elementi su {{totalCount}}",Uploaded:"Caricati: {{names}}",Failed:"Non riusciti: {{names}}","Failed to upload":"Impossibile caricare {{failCount}} di {{count}} file","Failed to upload files":"Impossibile caricare {{failCount}} di {{count}} file",months:{january:"gennaio",february:"febbraio",march:"marzo",april:"aprile",may:"maggio",june:"giugno",july:"luglio",august:"agosto",september:"settembre",october:"ottobre",november:"novembre",december:"dicembre"},files:"file","No available folders":"Nessuna cartella disponibile","My files":"I miei file",GIF:"GIF","Stock images":"Immagini stock","QR & Barcode":"QR e codice a barre","QR code":"Codice QR",Barcode:"Codice a barre","Text or URL":"Testo o URL","Code color":"Colore del codice","Background color":"Colore di sfondo","Add to My files":"Aggiungi a I miei file","Transparent background":"Sfondo trasparente","Barcode generation failed":"Impossibile generare questo codice a barre. Usa caratteri supportati da CODE128.","Validation error":"Errore di convalida","Enter text or URL to preview":"Inserisci un testo o un URL da codificare.",Preview:"Anteprima","QR transparent background hint":"Un PNG trasparente può confondersi con i temi scuri delle email; uno sfondo bianco è spesso più facile da leggere per gli scanner.","QR image size px":"Dimensione del QR","Barcode bar height px":"Altezza delle barre",Icons:"Icone",AI:"IA","AI image generation":"Generazione di immagini con IA","Search GIFs":"Cerca GIF","That`s all we could find.":"È tutto ciò che abbiamo trovato.","Search image":"Cerca immagine",All:"Tutti",Landscape:"Orizzontale",Portrait:"Verticale",Squarish:"Quadrato",Black:"Nero","Black and White":"Bianco e nero",White:"Bianco",Orange:"Arancione",Red:"Rosso",Purple:"Viola",Magenta:"Magenta",Green:"Verde",Teal:"Turchese",Blue:"Blu","Photo by":"Foto di",on:"su","File Manager":"Gestore dei file","File Manager not configured":"Gestore dei file non configurato","Filter by type":"Filtra per tipo","All types":"Tutti i tipi","File name":"Nome del file",Actions:"Azioni","Add file":"Aggiungi file","Add folder":"Aggiungi cartella","Add file by URL":"Aggiungi file da URL","File moved":"File spostato","Files moved":"File spostati","Error when moving a file":"Errore durante lo spostamento del file","Files copied":"File copiati","Failed to download file":"Impossibile scaricare il file","Failed to load JSON data":"Impossibile caricare i dati JSON","Invalid file URL":"URL del file non valido","Unable to validate file URL":"Impossibile verificare l’URL del file","Type to search...":"Digita per cercare...",Submit:"Invia","No folders yet":"Ancora nessuna cartella","Drag files to upload":"Trascina i file da caricare","Drop files here to upload":"Rilascia qui i file per caricarli","Newest first":"Prima i più recenti","Oldest first":"Prima i più vecchi","Largest first":"Prima i più grandi","Smallest first":"Prima i più piccoli","A-Z":"A-Z","Z-A":"Z-A","By type":"Per tipo","Evaluating the task":"Valutazione dell’attività","Something went wrong, please try again":"Qualcosa è andato storto, riprova","Sort by":"Ordina per","preview text":"Caricamento dell’anteprima in corso...","Use this variant":"Usa questa variante","Confirm deletion":"Conferma l’eliminazione","Are you sure you want to delete the selected items?":"Sei sicuro di voler eliminare gli elementi selezionati?","Move to Trash":"Sposta nel cestino","Are you sure you want to move the selected items to the Trash?":"Sei sicuro di voler spostare gli elementi selezionati nel cestino?","Permanently delete":"Eliminazione definitiva","Delete permanently":"Elimina definitivamente","Are you sure you want to permanently delete the selected items? This action cannot be undone.":"Sei sicuro di voler eliminare definitivamente gli elementi selezionati? Questa azione non può essere annullata.",Clear:"Svuota","Clear Trash":"Svuota il cestino","Are you sure you want to permanently delete all items from Trash?":"Sei sicuro di voler eliminare definitivamente tutti gli elementi dal cestino?","Trash cleared successfully":"Cestino svuotato correttamente","{{count}} items permanently deleted":"{{count}} elementi eliminati definitivamente","Trash partially cleared":"Cestino svuotato parzialmente","{{succeeded}} items deleted, {{failed}} items failed":"Elementi eliminati: {{succeeded}}, non eliminati: {{failed}}","Failed to clear trash":"Impossibile svuotare il cestino","Error clearing trash":"Errore durante lo svuotamento del cestino","Deleting items...":"Eliminazione degli elementi...",delete_files_permanent_one:"Questa azione eliminerà definitivamente {{count}} file",delete_files_permanent_other:"Questa azione eliminerà definitivamente {{count}} file",delete_folder_permanent:"Questa azione eliminerà definitivamente la cartella «{{name}}» e tutto il suo contenuto, inclusi {{count}} elementi.",delete_mixed_permanent:"Questa azione eliminerà definitivamente {{total}} elementi selezionati, incluse {{folders}} cartelle e tutte le {{images}} immagini al loro interno.",permanent_delete_warning:"L’eliminazione di file usati nelle email causerà problemi di visualizzazione delle immagini nelle email precedenti. Sei sicuro di voler eliminare definitivamente gli elementi selezionati?",move_files_to_trash_one:"{{count}} file verrà spostato nel cestino.",move_files_to_trash_other:"{{count}} file verranno spostati nel cestino.",move_folder_to_trash:"La cartella «{{name}}» e tutto il suo contenuto ({{count}} elementi) verranno spostati nel cestino.",move_mixed_to_trash:"{{total}} elementi selezionati verranno spostati nel cestino, incluse {{folders}} cartelle e {{images}} immagini.",delete_count_confirm_trash_one:"Spostare {{count}} file nel cestino?",delete_count_confirm_trash_other:"Spostare {{count}} file nel cestino?",delete_count_confirm_permanent_one:"Eliminare definitivamente {{count}} file?",delete_count_confirm_permanent_other:"Eliminare definitivamente {{count}} file?",delete_count_confirm_one:"Eliminare {{count}} file?",delete_count_confirm_other:"Eliminare {{count}} file?",item:"elemento",items:"elementi",Trash:"Cestino",Choose:"Scegli",Stock:"Stock","Select an image from our library":"Seleziona un’immagine dalla nostra libreria","AI generation":"Generazione con IA","Creating an image on demand":"Creazione di un’immagine su richiesta","Search file or folder":"Cerca file o cartella","Click here to select a file":"Fai clic qui per selezionare un file","Supported files:":"File supportati:","Create folder":"Crea cartella",Done:"Fatto","Move here":"Sposta qui","Copy here":"Copia qui","File URL":"URL del file","There's nothing here":"Qui non c’è niente","Try using a different search query.":"Prova con un’altra ricerca.","Millions of free stock images":"Milioni di immagini stock gratuite","Enter a search query and we'll find the perfect image for you":"Inserisci una ricerca e troveremo l’immagine perfetta per te","Millions of icons":"Milioni di icone","Lucide icons":"Icone Lucide","Thousands of icons":"Migliaia di icone","Enter a search query and we'll find the perfect icon for you":"Inserisci una ricerca e troveremo l’icona perfetta per te","Enter your query and we will find the right one for you":"Inserisci la tua ricerca e troveremo quella giusta per te","Over 350,000 live images":"Oltre 350.000 immagini animate","The folder will be created in the root directory.":"La cartella verrà creata nella cartella principale.",undo:"ANNULLA",moved_to_trash_one:"{{count}} elemento spostato nel cestino",moved_to_trash_other:"{{count}} elementi spostati nel cestino",restored_items_one:"{{count}} elemento ripristinato",restored_items_other:"{{count}} elementi ripristinati",Type:"Tipo","Generate image":"Genera immagine","A beautiful image of a sunset over a calm ocean.":"Una bella immagine di un tramonto su un oceano calmo.","For example:":"Ad esempio:",Insert:"Inserisci",Error:"Errore","Upload progress":"Caricamento {{completed}}/{{total}}","Uploading files":"Caricamento di {{completed}}/{{total}} file","Uploaded files":"Caricati {{success}} file su {{total}}","Upload error files":"Errore di caricamento: {{errorCount}} file","Applies to all {{count}} files":"(si applica a tutti i {{count}} file)","Some files failed to upload":"Non è stato possibile caricare alcuni file. Controlla dimensione e formato dei file.",upload_error_hint_invalid_name:"Rinomina il file: usa solo lettere, numeri, trattini e trattini bassi.",upload_error_hint_size:"Riduci la dimensione del file o scegline un altro.",upload_error_hint_format:"Usa un formato consentito: JPG, PNG o GIF.",upload_error_hint_exists:"Nella cartella esiste già un file con questo nome. Rinomina il file.","Images generated successfully":"Immagini generate correttamente","Trash is empty":"Il cestino è vuoto","Deleted files will be displayed here":"Qui verranno visualizzati i file eliminati","Stroke width":"Spessore del tratto",Style:"Stile",Color1:"Colore",Color2:"Colore 2",Color3:"Colore 3","Global search":"Ricerca globale","Family search":"Ricerca nella famiglia","Choose for template":"Scegli per il modello",Back:"Indietro","Editing: {{name}}":"Modifica: {{name}}","Editing image":"Modifica dell’immagine",Save:"Salva","Loading editor...":"Caricamento dell’editor...","Error loading image":"Errore durante il caricamento dell’immagine","Error saving image":"Errore durante il salvataggio dell’immagine","Error initializing editor":"Errore durante l’avvio dell’editor","Close File Manager":"Chiudi il gestore dei file","Are you sure you want to close? Unsaved changes will be lost.":"Sei sicuro di voler chiudere? Le modifiche non salvate andranno perse.","Are you sure you want to close the file manager?":"Sei sicuro di voler chiudere il gestore dei file?",Close:"Chiudi",KB:"KB","No files":"Nessun file","Folder is empty or files not found":"La cartella è vuota o non sono stati trovati file","Search files...":"Cerca file...",Success:"Riuscito","Image updated successfully":"Immagine aggiornata correttamente","Failed to save changes":"Impossibile salvare le modifiche: {{error}}","Unknown error":"Errore sconosciuto","Select destination folder":"Seleziona la cartella di destinazione","Error moving":"Errore durante lo spostamento","Error deleting":"Errore durante l’eliminazione","Error copying":"Errore durante la copia","Error renaming":"Errore durante la ridenominazione","Failed to refresh folder tree":"Impossibile aggiornare l’albero delle cartelle","Failed to refresh file list":"Impossibile aggiornare l’elenco dei file","Errors occurred while moving":"Si sono verificati errori durante lo spostamento","Errors occurred while copying":"Si sono verificati errori durante la copia","(error)":"(errore)","(circular reference)":"(riferimento circolare)","File too large. Maximum size: {{size}}":"File troppo grande. Dimensione massima: {{size}}","File too small. Minimum size: {{size}}":"File troppo piccolo. Dimensione minima: {{size}}","Unsupported file type":"Tipo di file non supportato","Unsupported file type: {{type}}":"Tipo di file non supportato: {{type}}",unknown:"sconosciuto","Failed to load files":"Impossibile caricare i file","Failed to load files in folder":"Impossibile caricare il contenuto della cartella «{{folderName}}»","Failed to load subfolders in folder":"Impossibile caricare le sottocartelle di «{{folderName}}»","Failed to load folder items count in folder":"Impossibile ottenere il numero di elementi in «{{folderName}}»","DataProvider for folder deletion is not configured":"Il DataProvider per l’eliminazione delle cartelle non è configurato","DataProvider for file upload is not configured":"Il DataProvider per il caricamento dei file non è configurato","Error uploading file {{fileName}}":"Errore durante il caricamento del file {{fileName}}","Error uploading file":"Errore durante il caricamento del file","Cannot upload files to Trash":"Impossibile caricare file nel cestino","Please fill in all fields":"Compila tutti i campi","URL too long":"L’URL è troppo lungo","Only http and https URLs are supported":"Sono supportati solo URL http e https","Private and local URLs are not allowed":"Gli URL privati e locali non sono consentiti","Upload by URL is not supported":"Il caricamento da URL non è supportato","File name is too long. Maximum {{max}} characters":"Il nome del file è troppo lungo. Massimo {{max}} caratteri","File name contains invalid characters":"Il nome del file contiene caratteri non validi","Large file may take a long time to upload":"Il caricamento di un file grande può richiedere molto tempo","File unavailable: {{status}} {{statusText}}":"File non disponibile: {{status}} {{statusText}}","File too large: {{size}}":"File troppo grande: {{size}}","Unsupported file type: {{contentType}}":"Tipo di file non supportato: {{contentType}}","Invalid server response: folder ID is missing":"Risposta del server non valida: manca l’ID della cartella","Error: folder cannot be its own parent":"Errore: una cartella non può essere la cartella padre di sé stessa","Upload to Trash is forbidden":"Il caricamento nel cestino non è consentito","renameFolder is not implemented in dataProviders":"renameFolder non è implementato in dataProviders","renameFile is not implemented in dataProviders":"renameFile non è implementato in dataProviders",Deleted:"File eliminati",Clean:"Svuota","Circular dependency detected: folder cannot be its own parent":"Rilevata una dipendenza circolare: una cartella non può essere la cartella padre di sé stessa","Save as copy and choose":"Salva come copia e scegli","Save and choose":"Salva e scegli","Rounded corners are saved as a PNG copy: the original format has no transparency":"L’arrotondamento viene salvato come copia PNG: il formato originale non supporta la trasparenza",imageEditor:{name:"Nome",save:"Salva",saveAs:"Salva come",back:"Indietro",loading:"Caricamento...",resetOperations:"Reimposta tutte le modifiche",changesLoseWarningHint:"Se premi «Reimposta», le modifiche andranno perse. Vuoi continuare?",discardChangesWarningHint:"Se chiudi la finestra, l’ultima modifica non verrà salvata.",cancel:"Annulla",apply:"Applica",warning:"Avviso",confirm:"Conferma",discardChanges:"Scarta le modifiche",undoTitle:"Annulla l’ultima operazione",redoTitle:"Ripeti l’ultima operazione",showImageTitle:"Mostra l’immagine originale",zoomInTitle:"Ingrandisci",fitTitle:"Adatta",zoomOutTitle:"Riduci",toggleZoomMenuTitle:"Menu dello zoom",adjustTab:"Regolazione",finetuneTab:"Ritocco",filtersTab:"Filtri",watermarkTab:"Filigrana",annotateTabLabel:"Annotazioni",resize:"Ridimensiona",resizeTab:"Ridimensiona",imageName:"Nome dell’immagine",invalidImageError:"Immagine non valida o non supportata.",uploadImageError:"Errore durante il caricamento dell’immagine.",areNotImages:"non sono immagini",isNotImage:"non è un’immagine",toBeUploaded:"da caricare",cropTool:"Ritaglia",original:"Originale",custom:"Personalizzato",square:"Quadrato",landscape:"Orizzontale",portrait:"Verticale",ellipse:"Ellisse",classicTv:"TV classica",cinemascope:"Cinemascope",cropPresetInstagramPost:"Post Instagram",cropPresetPinterest:"Pinterest",cropPresetScreen:"Schermo",cropPresetPhoto:"Foto",cropPresetLinkPreview:"Anteprima link",cropPresetCinema:"Cinema",cornerRadiusTool:"Arrotonda",cornerRadiusEllipseHint:"Non disponibile per il ritaglio «Ellisse»",arrowTool:"Freccia",blurTool:"Sfocatura",brightnessTool:"Luminosità",contrastTool:"Contrasto",ellipseTool:"Ellisse",unFlipX:"Annulla capovolgimento orizzontale",flipX:"Capovolgi in orizzontale",unFlipY:"Annulla capovolgimento verticale",flipY:"Capovolgi in verticale",hsvTool:"HSV",hue:"Tonalità",brightness:"Luminosità",saturation:"Saturazione",value:"Valore",imageTool:"Immagine",importing:"Importazione...",addImage:"Aggiungi immagine",uploadImage:"Carica immagine",fromGallery:"Dalla galleria",lineTool:"Linea",penTool:"Penna",polygonTool:"Poligono",sides:"Lati",rectangleTool:"Rettangolo",cornerRadius:"Raggio degli angoli",resizeWidthTitle:"Larghezza in pixel",resizeHeightTitle:"Altezza in pixel",toggleRatioLockTitle:"Blocca proporzioni",resetSize:"Ripristina le dimensioni originali",rotateTool:"Ruota",textTool:"Testo",textSpacings:"Spaziature",textAlignment:"Allineamento",fontFamily:"Famiglia di caratteri",size:"Dimensione",letterSpacing:"Spaziatura dei caratteri",lineHeight:"Altezza della riga",warmthTool:"Calore",addWatermark:"Aggiungi filigrana",addTextWatermark:"Aggiungi filigrana di testo",addWatermarkTitle:"Scegli il tipo di filigrana",uploadWatermark:"Carica filigrana",addWatermarkAsText:"Aggiungi come testo",padding:"Spaziatura interna",paddings:"Spaziature interne",shadow:"Ombra",horizontal:"Orizzontale",vertical:"Verticale",blur:"Sfocatura",opacity:"Opacità",transparency:"Trasparenza",position:"Posizione",stroke:"Contorno",saveAsModalTitle:"Salva come",extension:"Estensione",format:"Formato",nameIsRequired:"Il nome è obbligatorio.",quality:"Qualità",imageDimensionsHoverTitle:"Dimensioni dell’immagine salvata (larghezza × altezza)",cropSizeLowerThanResizedWarning:"L’area di ritaglio selezionata è più piccola delle dimensioni impostate: la qualità potrebbe peggiorare",actualSize:"Dimensioni reali (100%)",fitSize:"Adatta alla finestra",addImageTitle:"Seleziona un’immagine da aggiungere...",mutualizedFailedToLoadImg:"Impossibile caricare l’immagine.",tabsMenu:"Menu",download:"Scarica",width:"Larghezza",height:"Altezza",cropItemNoEffect:"Anteprima non disponibile per questo ritaglio",px:"px",invalidTextContent:"Testo non valido",baselineShift:"Spostamento della linea di base",aiTab:"Strumenti IA",objectRemovalTool:"Rimozione oggetti",objectRemovalBrushSize:"Dimensione del pennello (px)",objectRemovalApplyButton:"Applica",objectRemovalBrushMode:"Modalità pennello",objectRemovalBrushCircleType:"Pennello rotondo",objectRemovalBrushSquareType:"Pennello quadrato",objectRemovalApplyingText:"Rimozione dell’area selezionata",objectRemovalMarkModeTooltip:"Modalità selezione",objectRemovalUnMarkModeTooltip:"Modalità deselezione",objectRemovalCancelConfirmationTitle:"Annulla l’elaborazione",objectRemovalCancelConfirmationHint:"Sei sicuro di voler annullare la rimozione dell’oggetto dal",objectRemovalCancelConfirmationHintCompletion:"file?",theKeyword:""}},Zs={Files:"Pliki",selected:"wybrano",Deselected:"Odznacz",Refresh:"Odśwież","Select all":"Zaznacz wszystko",Rename:"Zmień nazwę","Rename file":"Zmień nazwę pliku {{currentFileName}}","Select the destination folder":"Wybierz folder docelowy","Selected files:":"Wybrano plików:","Selected files":"Wybrano plików: {{count}}",selected_files_one:"Wybrano {{count}} plik",selected_files_few:"Wybrano {{count}} pliki",selected_files_many:"Wybrano {{count}} plików",Copy:"Kopiuj",Edit:"Edytuj",Move:"Przenieś","Move to":"Przenieś do",Delete:"Usuń","New folder":"Nowy folder","Image search...":"Szukaj obrazów...","Search icons":"Szukaj ikon","By name":"Według nazwy","By size":"Według rozmiaru","By date":"Według daty",List:"Lista",Grid:"Siatka",Main:"Główna",Folders:"Foldery","total pages":"Łącznie elementów: {{total}}",Name:"Nazwa",Untitled:"Bez nazwy",Size:"Rozmiar",Dimensions:"Wymiary",Date:"Data",error:"błąd",Folder:"Folder",created:"utworzony","Failed to create folder":"Nie udało się utworzyć folderu","File deleted":"Plik został usunięty","Files deleted":"Pliki zostały usunięte","Error when deleting a file":"Błąd podczas usuwania pliku","Folder deleted":"Folder został usunięty","Error when deleting a folder":"Błąd podczas usuwania folderu","Delete folder":"Usuń folder","Are you sure you want to delete this folder? This action will also delete all files and subfolders.":"Czy na pewno chcesz usunąć ten folder? Zostaną też usunięte wszystkie pliki i podfoldery.","API-endpoint for file upload is not configured":"Nie skonfigurowano endpointu API do przesyłania plików","Please select an image file":"Wybierz plik obrazu",File:"Plik","has been successfully uploaded":"został pomyślnie przesłany","The URL must point to an image":"Adres URL musi wskazywać na obraz","Image upload...":"Przesyłanie obrazu...",Unknown:"Nieznany","Error downloading file by URL":"Błąd pobierania pliku z adresu URL","successfully uploaded":"pomyślnie przesłano","Error when downloading a file by URL":"Błąd podczas pobierania pliku z adresu URL","Error when uploading a file":"Błąd podczas przesyłania pliku","Error loading files":"Błąd wczytywania plików","File not found":"Nie znaleziono pliku","File renamed to":"Zmieniono nazwę pliku na ","Failed to rename the file":"Nie udało się zmienić nazwy pliku","Folder renamed to":"Zmieniono nazwę folderu na","Rename folder":"Zmień nazwę folderu","New folder name":"Nowa nazwa folderu","Enter a new folder name":"Wpisz nową nazwę folderu","Please drag and drop image files only":"Przeciągnij i upuść tylko pliki obrazów","Upload file by URL":"Prześlij plik z adresu URL","Upload file":"Prześlij plik","Creating a new folder":"Tworzenie nowego folderu",Create:"Utwórz",Cancel:"Anuluj","Folder name":"Nazwa folderu","Enter the name of the folder":"Wpisz nazwę folderu","Enter the name":"Wpisz nazwę","A folder will be created inside:":"Folder zostanie utworzony w:","selected folder":"wybranym folderze","The folder will be created in the root directory":"Folder zostanie utworzony w katalogu głównym","Failed to load folders":"Nie udało się wczytać folderów","Folder name cannot be empty":"Nazwa folderu nie może być pusta","Folder creation provider is not configured":"Nie skonfigurowano dostawcy tworzenia folderów","Folder created":"Folder został utworzony","Folder rename is disabled by config":"Zmiana nazw folderów jest wyłączona w konfiguracji","Folder rename provider is not configured":"Nie skonfigurowano dostawcy zmiany nazw folderów","Unexpected response when renaming folder":"Nieoczekiwana odpowiedź podczas zmiany nazwy folderu","Folder renamed":"Zmieniono nazwę folderu","Failed to rename folder":"Nie udało się zmienić nazwy folderu","Failed to load folder items count":"Nie udało się pobrać liczby elementów w folderze","Failed to load subfolders":"Nie udało się wczytać podfolderów",Download:"Prześlij","image URL":"adres URL obrazu","Enter the URL of the image":"Wpisz adres URL obrazu","Supported formats: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP":"Obsługiwane formaty: JPG, JPEG, PNG, GIF, WEBP, SVG, BMP","New file name":"Nowa nazwa pliku","Enter a new file name":"Wpisz nową nazwę pliku","Copy to folder":"Kopiuj do folderu",Added:"Dodano {{date}}","File uploaded successfully":"Plik {{fileName}} został przesłany","Successfully uploaded":"Przesłano {{successCount}} z {{count}} pliku","Successfully uploaded files":"Przesłano {{successCount}} z {{count}} plików",uploads_success_summary:"Przesłano {{successCount}} z {{totalCount}} plików",uploads_fail_summary:"Nie udało się przesłać {{failCount}} z {{totalCount}} plików","File with this name already exists.":"Plik o tej nazwie już istnieje.","File not found or no longer available.":"Nie znaleziono pliku lub nie jest już dostępny.","You don't have permission to access this file.":"Nie masz uprawnień dostępu do tego pliku.","File is too large to upload.":"Plik jest za duży, aby go przesłać.","File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.":"Plik jest za duży ({{fileSize}}). Maksymalny dozwolony rozmiar: {{maxSize}}.","Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}":"Przekroczono maksymalną liczbę plików. Dozwolone: {{allowed}}, wybrano: {{received}}","This file type is not allowed.":"Ten typ pliku jest niedozwolony.","File name is not valid.":"Nieprawidłowa nazwa pliku.","File name is not valid. Allowed characters: {{allowedChars}}":"Nieprawidłowa nazwa pliku. Dozwolone znaki: {{allowedChars}}","Failed to read the file.":"Nie udało się odczytać pliku.","Failed to write the file.":"Nie udało się zapisać pliku.","The file appears to be corrupted.":"Plik wydaje się uszkodzony.","File integrity check failed.":"Weryfikacja integralności pliku nie powiodła się.","Folder not found or no longer available.":"Nie znaleziono folderu lub nie jest już dostępny.","Folder with this name already exists.":"Folder o tej nazwie już istnieje.","A folder with that name already exists. Please enter a different folder name.":"Folder o tej nazwie już istnieje. Wpisz inną nazwę folderu.","You don't have permission to access this folder.":"Nie masz uprawnień dostępu do tego folderu.","Folder name is not valid.":"Nieprawidłowa nazwa folderu.","Folder name is not valid. Allowed characters: {{allowedChars}}":"Nieprawidłowa nazwa folderu. Dozwolone znaki: {{allowedChars}}","Failed to read the folder contents.":"Nie udało się odczytać zawartości folderu.","Failed to write to the folder.":"Nie udało się zapisać w folderze.","Folder storage quota exceeded.":"Przekroczono limit miejsca dla folderu.","Folder is not empty.":"Folder nie jest pusty.","Server error while processing the folder.":"Błąd serwera podczas przetwarzania folderu.","Folder operation took too long.":"Operacja na folderze trwała zbyt długo.","Network error. Please check your connection and try again.":"Błąd sieci. Sprawdź połączenie i spróbuj ponownie.","The operation took too long. Please try again.":"Operacja trwała zbyt długo. Spróbuj ponownie.","Server error. Please try again later.":"Błąd serwera. Spróbuj ponownie później.","Service is temporarily unavailable. Please try again later.":"Usługa jest tymczasowo niedostępna. Spróbuj ponownie później.","Too many requests. Please try again a bit later.":"Zbyt wiele żądań. Spróbuj ponownie za chwilę.","Authentication failed. Please sign in again.":"Uwierzytelnianie nie powiodło się. Zaloguj się ponownie.","You are not allowed to perform this action.":"Nie masz uprawnień do wykonania tej czynności.","Some of the provided data is invalid.":"Część przesłanych danych jest nieprawidłowa.","This operation is not supported.":"Ta operacja nie jest obsługiwana.","Request payload is too large.":"Treść żądania jest za duża.","This media type is not supported.":"Ten typ danych nie jest obsługiwany.","You have exceeded the upload quota.":"Przekroczono limit przesyłania plików.","Network error while uploading the file.":"Błąd sieci podczas przesyłania pliku.","File upload took too long.":"Przesyłanie pliku trwało zbyt długo.","Server error while uploading the file.":"Błąd serwera podczas przesyłania pliku.","The specified URL is not valid.":"Podany adres URL jest nieprawidłowy.","The specified URL is not reachable.":"Podany adres URL jest nieosiągalny.","Content type at the URL is not allowed.":"Typ zawartości pod tym adresem URL jest niedozwolony.","Failed to download file from the URL.":"Nie udało się pobrać pliku z adresu URL.","Network error while downloading the file.":"Błąd sieci podczas pobierania pliku.","File download took too long.":"Pobieranie pliku trwało zbyt długo.","Server error while downloading the file.":"Błąd serwera podczas pobierania pliku.","Some items could not be processed.":"Nie udało się przetworzyć niektórych elementów.","Failed to process all items in the batch.":"Nie udało się przetworzyć żadnego elementu w operacji zbiorczej.","Some items in the batch are in a conflicting state.":"Niektóre elementy w operacji zbiorczej są w stanie konfliktu.","Some items in the batch did not pass validation.":"Niektóre elementy w operacji zbiorczej nie przeszły walidacji.","AI service returned an invalid response.":"Usługa AI zwróciła nieprawidłową odpowiedź.","Failed to generate image using AI.":"Nie udało się wygenerować obrazu przez AI.","You have reached the AI image generation limit.":"Osiągnięto limit generowania obrazów przez AI.","Error in external integration.":"Błąd integracji zewnętrznej.","Error in a third-party service.":"Błąd usługi zewnętrznej.","An unknown error occurred.":"Wystąpił nieznany błąd.","Renaming is not allowed for this item.":"Zmiana nazwy tego elementu jest niedozwolona.","Moving is not allowed for this item.":"Przenoszenie tego elementu jest niedozwolone.","Copying is not allowed for this item.":"Kopiowanie tego elementu jest niedozwolone.","Deleting is not allowed for this item.":"Usuwanie tego elementu jest niedozwolone.","Cannot move an item into itself.":"Nie można przenieść elementu do niego samego.","Cannot move an item into its descendant folder.":"Nie można przenieść elementu do jego podfolderu.","Cannot copy an item into itself.":"Nie można skopiować elementu do niego samego.","Configuration error occurred.":"Wystąpił błąd konfiguracji.","Storage quota exceeded. Please free up space.":"Przekroczono limit miejsca. Zwolnij trochę miejsca.","File is locked by another process or user.":"Plik jest zablokowany przez inny proces lub użytkownika.","File version conflict. Please refresh and try again.":"Konflikt wersji pliku. Odśwież stronę i spróbuj ponownie.","Batch operation exceeds the maximum number of items allowed.":"Operacja zbiorcza przekracza maksymalną dozwoloną liczbę elementów.",Moved:"Przeniesiono: {{names}}",move_success_summary:"Przeniesiono {{successCount}} z {{totalCount}} elementów",move_fail_summary:"Nie udało się przenieść {{failCount}} z {{totalCount}} elementów",Copied:"Skopiowano: {{names}}",copy_success_summary:"Skopiowano {{successCount}} z {{totalCount}} elementów",copy_fail_summary:"Nie udało się skopiować {{failCount}} z {{totalCount}} elementów",Uploaded:"Przesłano: {{names}}",Failed:"Nie udało się: {{names}}","Failed to upload":"Nie udało się przesłać {{failCount}} z {{count}} pliku","Failed to upload files":"Nie udało się przesłać {{failCount}} z {{count}} plików",months:{january:"stycznia",february:"lutego",march:"marca",april:"kwietnia",may:"maja",june:"czerwca",july:"lipca",august:"sierpnia",september:"września",october:"października",november:"listopada",december:"grudnia"},files:"plików","No available folders":"Brak dostępnych folderów","My files":"Moje pliki",GIF:"GIF","Stock images":"Zdjęcia stockowe","QR & Barcode":"QR i kod kreskowy","QR code":"Kod QR",Barcode:"Kod kreskowy","Text or URL":"Tekst lub URL","Code color":"Kolor kodu","Background color":"Kolor tła","Add to My files":"Dodaj do Moich plików","Transparent background":"Przezroczyste tło","Barcode generation failed":"Nie udało się wygenerować kodu kreskowego. Użyj znaków obsługiwanych przez CODE128.","Validation error":"Błąd walidacji","Enter text or URL to preview":"Wpisz tekst lub URL do zakodowania.",Preview:"Podgląd","QR transparent background hint":"Przezroczysty PNG może zlewać się z ciemnym motywem e-maila; białe tło jest zwykle łatwiejsze do zeskanowania.","QR image size px":"Rozmiar kodu QR","Barcode bar height px":"Wysokość kresek",Icons:"Ikony",AI:"AI","AI image generation":"Generowanie obrazów przez AI","Search GIFs":"Szukaj GIF-ów","That`s all we could find.":"To wszystko, co udało się znaleźć.","Search image":"Szukaj obrazu",All:"Wszystkie",Landscape:"Poziomy",Portrait:"Pionowy",Squarish:"Kwadratowy",Black:"Czarny","Black and White":"Czarno-biały",White:"Biały",Orange:"Pomarańczowy",Red:"Czerwony",Purple:"Fioletowy",Magenta:"Magenta",Green:"Zielony",Teal:"Turkusowy",Blue:"Niebieski","Photo by":"Zdjęcie autorstwa",on:"z serwisu","File Manager":"Menedżer plików","File Manager not configured":"Menedżer plików nie jest skonfigurowany","Filter by type":"Filtruj według typu","All types":"Wszystkie typy","File name":"Nazwa pliku",Actions:"Akcje","Add file":"Dodaj plik","Add folder":"Dodaj folder","Add file by URL":"Dodaj plik z adresu URL","File moved":"Plik został przeniesiony","Files moved":"Pliki zostały przeniesione","Error when moving a file":"Błąd podczas przenoszenia pliku","Files copied":"Pliki zostały skopiowane","Failed to download file":"Nie udało się pobrać pliku","Failed to load JSON data":"Nie udało się wczytać danych JSON","Invalid file URL":"Nieprawidłowy adres URL pliku","Unable to validate file URL":"Nie udało się zweryfikować adresu URL pliku","Type to search...":"Wpisz, aby wyszukać...",Submit:"Wyślij","No folders yet":"Nie ma jeszcze folderów","Drag files to upload":"Przeciągnij pliki, aby je przesłać","Drop files here to upload":"Upuść pliki tutaj, aby je przesłać","Newest first":"Najnowsze najpierw","Oldest first":"Najstarsze najpierw","Largest first":"Największe najpierw","Smallest first":"Najmniejsze najpierw","A-Z":"A-Z","Z-A":"Z-A","By type":"Według typu","Evaluating the task":"Ocena zadania","Something went wrong, please try again":"Coś poszło nie tak, spróbuj ponownie","Sort by":"Sortuj według","preview text":"Wczytywanie podglądu obrazu...","Use this variant":"Użyj tego wariantu","Confirm deletion":"Potwierdź usunięcie","Are you sure you want to delete the selected items?":"Czy na pewno chcesz usunąć wybrane elementy?","Move to Trash":"Przenieś do kosza","Are you sure you want to move the selected items to the Trash?":"Czy na pewno chcesz przenieść wybrane elementy do kosza?","Permanently delete":"Usuń trwale","Delete permanently":"Usuń trwale","Are you sure you want to permanently delete the selected items? This action cannot be undone.":"Czy na pewno chcesz trwale usunąć wybrane elementy? Tej czynności nie można cofnąć.",Clear:"Opróżnij","Clear Trash":"Opróżnij kosz","Are you sure you want to permanently delete all items from Trash?":"Czy na pewno chcesz trwale usunąć wszystkie elementy z kosza?","Trash cleared successfully":"Kosz został opróżniony","{{count}} items permanently deleted":"Trwale usunięte elementy: {{count}}","Trash partially cleared":"Kosz opróżniono częściowo","{{succeeded}} items deleted, {{failed}} items failed":"Usunięto: {{succeeded}}, nie udało się usunąć: {{failed}}","Failed to clear trash":"Nie udało się opróżnić kosza","Error clearing trash":"Błąd podczas opróżniania kosza","Deleting items...":"Usuwanie elementów...",delete_files_permanent_one:"Ta czynność trwale usunie {{count}} plik",delete_files_permanent_few:"Ta czynność trwale usunie {{count}} pliki",delete_files_permanent_many:"Ta czynność trwale usunie {{count}} plików",delete_folder_permanent:"Ta czynność trwale usunie folder „{{name}}” i całą jego zawartość (elementy: {{count}}).",delete_mixed_permanent:"Ta czynność trwale usunie wybrane elementy ({{total}}), w tym foldery ({{folders}}) i wszystkie znajdujące się w nich obrazy ({{images}}).",permanent_delete_warning:"Usunięcie plików użytych w e-mailach spowoduje problemy z wyświetlaniem obrazów w starych e-mailach. Czy na pewno chcesz trwale usunąć zaznaczone elementy?",move_files_to_trash_one:"{{count}} plik zostanie przeniesiony do kosza.",move_files_to_trash_few:"{{count}} pliki zostaną przeniesione do kosza.",move_files_to_trash_many:"{{count}} plików zostanie przeniesionych do kosza.",move_folder_to_trash:"Folder „{{name}}” i cała jego zawartość (elementy: {{count}}) zostaną przeniesione do kosza.",move_mixed_to_trash:"Wybrane elementy ({{total}}) zostaną przeniesione do kosza, w tym foldery ({{folders}}) i obrazy ({{images}}).",delete_count_confirm_trash_one:"Przenieść {{count}} plik do kosza?",delete_count_confirm_trash_few:"Przenieść {{count}} pliki do kosza?",delete_count_confirm_trash_many:"Przenieść {{count}} plików do kosza?",delete_count_confirm_permanent_one:"Trwale usunąć {{count}} plik?",delete_count_confirm_permanent_few:"Trwale usunąć {{count}} pliki?",delete_count_confirm_permanent_many:"Trwale usunąć {{count}} plików?",delete_count_confirm_one:"Usunąć {{count}} plik?",delete_count_confirm_few:"Usunąć {{count}} pliki?",delete_count_confirm_many:"Usunąć {{count}} plików?",item:"element",items:"elementów",Trash:"Kosz",Choose:"Wybierz",Stock:"Stock","Select an image from our library":"Wybierz obraz z naszej biblioteki","AI generation":"Generowanie AI","Creating an image on demand":"Tworzenie obrazu na żądanie","Search file or folder":"Szukaj pliku lub folderu","Click here to select a file":"Kliknij tutaj, aby wybrać plik","Supported files:":"Obsługiwane pliki:","Create folder":"Utwórz folder",Done:"Gotowe","Move here":"Przenieś tutaj","Copy here":"Kopiuj tutaj","File URL":"URL pliku","There's nothing here":"Nic tu nie ma","Try using a different search query.":"Spróbuj użyć innego zapytania.","Millions of free stock images":"Miliony darmowych zdjęć stockowych","Enter a search query and we'll find the perfect image for you":"Wpisz zapytanie, a znajdziemy idealny obraz dla Ciebie","Millions of icons":"Miliony ikon","Lucide icons":"Ikony Lucide","Thousands of icons":"Tysiące ikon","Enter a search query and we'll find the perfect icon for you":"Wpisz zapytanie, a znajdziemy idealną ikonę dla Ciebie","Enter your query and we will find the right one for you":"Wpisz zapytanie, a znajdziemy coś odpowiedniego dla Ciebie","Over 350,000 live images":"Ponad 350 000 animowanych obrazów","The folder will be created in the root directory.":"Folder zostanie utworzony w katalogu głównym.",undo:"COFNIJ",moved_to_trash_one:"Przeniesiono {{count}} element do kosza",moved_to_trash_few:"Przeniesiono {{count}} elementy do kosza",moved_to_trash_many:"Przeniesiono {{count}} elementów do kosza",restored_items_one:"Przywrócono {{count}} element",restored_items_few:"Przywrócono {{count}} elementy",restored_items_many:"Przywrócono {{count}} elementów",Type:"Typ","Generate image":"Generuj obraz","A beautiful image of a sunset over a calm ocean.":"Piękny obraz zachodu słońca nad spokojnym oceanem.","For example:":"Na przykład:",Insert:"Wstaw",Error:"Błąd","Upload progress":"Przesyłanie {{completed}}/{{total}}","Uploading files":"Przesyłanie plików: {{completed}}/{{total}}","Uploaded files":"Przesłano {{success}} z {{total}} plików","Upload error files":"Błąd przesyłania plików: {{errorCount}}","Applies to all {{count}} files":"(dotyczy wszystkich plików: {{count}})","Some files failed to upload":"Nie udało się przesłać niektórych plików. Sprawdź rozmiar i format plików.",upload_error_hint_invalid_name:"Zmień nazwę pliku: używaj tylko liter, cyfr, łączników i podkreśleń.",upload_error_hint_size:"Zmniejsz rozmiar pliku lub wybierz inny plik.",upload_error_hint_format:"Użyj dozwolonego formatu: JPG, PNG lub GIF.",upload_error_hint_exists:"Plik o tej nazwie już istnieje w folderze. Zmień nazwę pliku.","Images generated successfully":"Obrazy zostały wygenerowane","Trash is empty":"Kosz jest pusty","Deleted files will be displayed here":"Tutaj będą wyświetlane usunięte pliki","Stroke width":"Grubość obrysu",Style:"Styl",Color1:"Kolor",Color2:"Kolor 2",Color3:"Kolor 3","Global search":"Wyszukiwanie globalne","Family search":"Wyszukiwanie w rodzinie","Choose for template":"Wybierz do szablonu",Back:"Wstecz","Editing: {{name}}":"Edycja: {{name}}","Editing image":"Edycja obrazu",Save:"Zapisz","Loading editor...":"Wczytywanie edytora...","Error loading image":"Błąd wczytywania obrazu","Error saving image":"Błąd zapisywania obrazu","Error initializing editor":"Błąd inicjalizacji edytora","Close File Manager":"Zamknij menedżer plików","Are you sure you want to close? Unsaved changes will be lost.":"Czy na pewno chcesz zamknąć? Niezapisane zmiany zostaną utracone.","Are you sure you want to close the file manager?":"Czy na pewno chcesz zamknąć menedżer plików?",Close:"Zamknij",KB:"KB","No files":"Brak plików","Folder is empty or files not found":"Folder jest pusty lub nie znaleziono plików","Search files...":"Szukaj plików...",Success:"Sukces","Image updated successfully":"Obraz został zaktualizowany","Failed to save changes":"Nie udało się zapisać zmian: {{error}}","Unknown error":"Nieznany błąd","Select destination folder":"Wybierz folder docelowy","Error moving":"Błąd podczas przenoszenia","Error deleting":"Błąd podczas usuwania","Error copying":"Błąd podczas kopiowania","Error renaming":"Błąd podczas zmiany nazwy","Failed to refresh folder tree":"Nie udało się odświeżyć drzewa folderów","Failed to refresh file list":"Nie udało się odświeżyć listy plików","Errors occurred while moving":"Podczas przenoszenia wystąpiły błędy","Errors occurred while copying":"Podczas kopiowania wystąpiły błędy","(error)":"(błąd)","(circular reference)":"(odwołanie cykliczne)","File too large. Maximum size: {{size}}":"Plik jest za duży. Maksymalny rozmiar: {{size}}","File too small. Minimum size: {{size}}":"Plik jest za mały. Minimalny rozmiar: {{size}}","Unsupported file type":"Nieobsługiwany typ pliku","Unsupported file type: {{type}}":"Nieobsługiwany typ pliku: {{type}}",unknown:"nieznany","Failed to load files":"Nie udało się wczytać plików","Failed to load files in folder":"Nie udało się wczytać zawartości folderu „{{folderName}}”","Failed to load subfolders in folder":"Nie udało się wczytać podfolderów w „{{folderName}}”","Failed to load folder items count in folder":"Nie udało się pobrać liczby elementów w „{{folderName}}”","DataProvider for folder deletion is not configured":"Nie skonfigurowano DataProvider do usuwania folderów","DataProvider for file upload is not configured":"Nie skonfigurowano DataProvider do przesyłania plików","Error uploading file {{fileName}}":"Błąd podczas przesyłania pliku {{fileName}}","Error uploading file":"Błąd podczas przesyłania pliku","Cannot upload files to Trash":"Nie można przesyłać plików do kosza","Please fill in all fields":"Wypełnij wszystkie pola","URL too long":"Adres URL jest za długi","Only http and https URLs are supported":"Obsługiwane są tylko adresy URL http i https","Private and local URLs are not allowed":"Prywatne i lokalne adresy URL są niedozwolone","Upload by URL is not supported":"Przesyłanie z adresu URL nie jest obsługiwane","File name is too long. Maximum {{max}} characters":"Nazwa pliku jest za długa. Maksymalna liczba znaków: {{max}}","File name contains invalid characters":"Nazwa pliku zawiera niedozwolone znaki","Large file may take a long time to upload":"Przesyłanie dużego pliku może potrwać długo","File unavailable: {{status}} {{statusText}}":"Plik niedostępny: {{status}} {{statusText}}","File too large: {{size}}":"Plik jest za duży: {{size}}","Unsupported file type: {{contentType}}":"Nieobsługiwany typ pliku: {{contentType}}","Invalid server response: folder ID is missing":"Nieprawidłowa odpowiedź serwera: brak ID folderu","Error: folder cannot be its own parent":"Błąd: folder nie może być swoim własnym folderem nadrzędnym","Upload to Trash is forbidden":"Przesyłanie do kosza jest zabronione","renameFolder is not implemented in dataProviders":"renameFolder nie jest zaimplementowane w dataProviders","renameFile is not implemented in dataProviders":"renameFile nie jest zaimplementowane w dataProviders",Deleted:"Usunięte pliki",Clean:"Opróżnij","Circular dependency detected: folder cannot be its own parent":"Wykryto zależność cykliczną: folder nie może być swoim własnym folderem nadrzędnym","Save as copy and choose":"Zapisz jako kopię i wybierz","Save and choose":"Zapisz i wybierz","Rounded corners are saved as a PNG copy: the original format has no transparency":"Zaokrąglenie zapisuje się jako kopia PNG: oryginalny format nie obsługuje przezroczystości",imageEditor:{name:"Nazwa",save:"Zapisz",saveAs:"Zapisz jako",back:"Wstecz",loading:"Wczytywanie...",resetOperations:"Resetuj wszystkie zmiany",changesLoseWarningHint:"Jeśli klikniesz „Resetuj”, zmiany zostaną utracone. Czy chcesz kontynuować?",discardChangesWarningHint:"Jeśli zamkniesz okno, ostatnie zmiany nie zostaną zapisane.",cancel:"Anuluj",apply:"Zastosuj",warning:"Ostrzeżenie",confirm:"Potwierdź",discardChanges:"Odrzuć zmiany",undoTitle:"Cofnij ostatnią operację",redoTitle:"Ponów ostatnią operację",showImageTitle:"Pokaż oryginalny obraz",zoomInTitle:"Powiększ",fitTitle:"Dopasuj",zoomOutTitle:"Pomniejsz",toggleZoomMenuTitle:"Menu powiększenia",adjustTab:"Dostosuj",finetuneTab:"Dostrajanie",filtersTab:"Filtry",watermarkTab:"Znak wodny",annotateTabLabel:"Adnotacje",resize:"Zmień rozmiar",resizeTab:"Zmień rozmiar",imageName:"Nazwa obrazu",invalidImageError:"Nieprawidłowy obraz.",uploadImageError:"Błąd podczas przesyłania obrazu.",areNotImages:"nie są obrazami",isNotImage:"nie jest obrazem",toBeUploaded:"do przesłania",cropTool:"Przytnij",original:"Oryginał",custom:"Własne",square:"Kwadrat",landscape:"Poziomy",portrait:"Pionowy",ellipse:"Elipsa",classicTv:"Klasyczny TV",cinemascope:"Cinemascope",cropPresetInstagramPost:"Post na Instagramie",cropPresetPinterest:"Pinterest",cropPresetScreen:"Ekran",cropPresetPhoto:"Zdjęcie",cropPresetLinkPreview:"Podgląd linku",cropPresetCinema:"Kino",cornerRadiusTool:"Zaokrąglenie",cornerRadiusEllipseHint:"Niedostępne dla kadrowania „Elipsa”",arrowTool:"Strzałka",blurTool:"Rozmycie",brightnessTool:"Jasność",contrastTool:"Kontrast",ellipseTool:"Elipsa",unFlipX:"Cofnij odbicie w poziomie",flipX:"Odbij w poziomie",unFlipY:"Cofnij odbicie w pionie",flipY:"Odbij w pionie",hsvTool:"HSV",hue:"Odcień",brightness:"Jasność",saturation:"Nasycenie",value:"Wartość",imageTool:"Obraz",importing:"Importowanie...",addImage:"Dodaj obraz",uploadImage:"Prześlij obraz",fromGallery:"Z galerii",lineTool:"Linia",penTool:"Pióro",polygonTool:"Wielokąt",sides:"Boki",rectangleTool:"Prostokąt",cornerRadius:"Promień narożników",resizeWidthTitle:"Szerokość w pikselach",resizeHeightTitle:"Wysokość w pikselach",toggleRatioLockTitle:"Zachowaj proporcje",resetSize:"Przywróć oryginalny rozmiar obrazu",rotateTool:"Obróć",textTool:"Tekst",textSpacings:"Odstępy tekstu",textAlignment:"Wyrównanie tekstu",fontFamily:"Rodzina czcionek",size:"Rozmiar",letterSpacing:"Odstęp między literami",lineHeight:"Wysokość wiersza",warmthTool:"Ciepło",addWatermark:"Dodaj znak wodny",addTextWatermark:"Dodaj tekstowy znak wodny",addWatermarkTitle:"Wybierz typ znaku wodnego",uploadWatermark:"Prześlij znak wodny",addWatermarkAsText:"Dodaj jako tekst",padding:"Wypełnienie",paddings:"Wypełnienia",shadow:"Cień",horizontal:"Poziomo",vertical:"Pionowo",blur:"Rozmycie",opacity:"Krycie",transparency:"Przezroczystość",position:"Pozycja",stroke:"Obrys",saveAsModalTitle:"Zapisz jako",extension:"Rozszerzenie",format:"Format",nameIsRequired:"Nazwa jest wymagana.",quality:"Jakość",imageDimensionsHoverTitle:"Rozmiar zapisywanego obrazu (szerokość × wysokość)",cropSizeLowerThanResizedWarning:"Uwaga: wybrany obszar przycięcia jest mniejszy niż zastosowany rozmiar, co może obniżyć jakość",actualSize:"Rzeczywisty rozmiar (100%)",fitSize:"Dopasuj do okna",addImageTitle:"Wybierz obraz do dodania...",mutualizedFailedToLoadImg:"Nie udało się wczytać obrazu.",tabsMenu:"Menu",download:"Pobierz",width:"Szerokość",height:"Wysokość",cropItemNoEffect:"Podgląd niedostępny dla tego wariantu przycięcia",px:"px",invalidTextContent:"Nieprawidłowa treść tekstu",baselineShift:"Przesunięcie linii bazowej",aiTab:"Narzędzia AI",objectRemovalTool:"Usuwanie obiektu",objectRemovalBrushSize:"Rozmiar pędzla (px)",objectRemovalApplyButton:"Zastosuj",objectRemovalBrushMode:"Tryb pędzla",objectRemovalBrushCircleType:"Okrągły pędzel",objectRemovalBrushSquareType:"Kwadratowy pędzel",objectRemovalApplyingText:"Usuwanie zaznaczonego obszaru",objectRemovalMarkModeTooltip:"Tryb zaznaczania",objectRemovalUnMarkModeTooltip:"Tryb odznaczania",objectRemovalCancelConfirmationTitle:"Anuluj przetwarzanie",objectRemovalCancelConfirmationHint:"Czy na pewno chcesz anulować usuwanie obiektu z",objectRemovalCancelConfirmationHintCompletion:"pliku?",theKeyword:""}},Tp={en:{translation:Ws},ru:{translation:Gs},es:{translation:Vs},uk:{translation:Hs},"pt-br":{translation:Co},pt:{translation:Co},br:{translation:Co},"pt-BR":{translation:Co},de:{translation:Ks},fr:{translation:$s},it:{translation:Qs},pl:{translation:Zs}};mr.use(_p).init({resources:Tp,lng:"en",fallbackLng:"en",showSupportNotice:!1,interpolation:{escapeValue:!1}});var kp=mr;Object.values({images:["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","image/bmp","image/tiff"],documents:["application/pdf","text/plain","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],archives:["application/zip","application/x-rar-compressed","application/x-7z-compressed"],videos:["video/mp4","video/avi","video/quicktime","video/x-msvideo"],audio:["audio/mpeg","audio/wav","audio/ogg"]}).flat();var Qt=o=>{if(o===0)return"0 Bytes";let t=1024,a=["Bytes","KB","MB","GB"],n=Math.floor(Math.log(o)/Math.log(t));return parseFloat((o/t**n).toFixed(2))+" "+a[n]},Ys=o=>{if(!o||o<=0)return"";let t=1024,a=t*1024;return o<a?`${Math.round(o/t)} Kb`:`${(o/a).toFixed(2)} Mb`},Rp=o=>{if(o==null)return"";if(typeof o=="number")return Ys(o);let t=String(o).trim();if(!t)return"";let a=Number(t);return Number.isNaN(a)?t:Ys(a)},Zo=(o,t)=>{let a=t.filter(v=>typeof v=="string"),n=new Set(a.map(v=>v.toLowerCase())),l=typeof o=="string"?o:String(o??"");if(!n.has(l.toLowerCase()))return l;let d=l.lastIndexOf("."),u=d>0?l.slice(0,d):l,c=d>0?l.slice(d):"",g=1,m;do m=`${u}_${g}${c}`,g++;while(n.has(m.toLowerCase()));return m},xp=o=>{if(o&&typeof o=="string"){if(o.startsWith("data:")||o.startsWith("blob:"))return o;try{if(o.startsWith("http://")||o.startsWith("https://")||o.startsWith("/")){let t=new URL(o.startsWith("/")?`https://x${o}`:o),a=o.startsWith("/")?"":`${t.protocol}//${t.host}`,n=t.pathname.split("/").map(l=>{if(!l)return"";try{return encodeURIComponent(decodeURIComponent(l))}catch{return encodeURIComponent(l)}}).join("/");return o.startsWith("/")?n+(t.search||"")+(t.hash||""):`${a}${n}${t.search}${t.hash}`}}catch{}return o}};async function Js(o,t,a,n,l){if(!l||!o?.getFiles)return t;try{let d=[],{files:u}=await o.getFiles({folderId:n?void 0:a??void 0,noFolder:n,itemType:"all",page:1,limit:1e4});if(d=(u||[]).map(c=>c.name).filter(c=>!!c),!n&&o?.getFolders){let c=(await o.getFolders({parentId:a??null,deep:!1})||[]).map(g=>g.name).filter(g=>!!g);d=[...d,...c]}return Zo(t,d)}catch{return t}}function Xs(o,t){return!!t?.lockedTabs?.includes(o)}function Pp(o,t,a){if(t&&t!==o)return a(t)?t:Go}var _i=(0,F.createContext)({state:{},actions:{},options:{}}),ar=()=>(0,F.useContext)(_i),Lp=({children:o,options:t})=>{let[a,n]=(0,F.useState)([]),[l,d]=(0,F.useState)([]),[u,c]=(0,F.useState)(null),[g,m]=(0,F.useState)(t.searchQuery||""),[v,y]=(0,F.useState)(t.sortBySize||"name"),{config:b}=t,S=(0,F.useCallback)(Qe=>{if(Qe==="gif"){let re=b?.features?.enableGif!==!1,ce=!b?.enabledTabs||b.enabledTabs.includes("gif");return re&&ce}if(Qe==="stock_images"){let re=b?.features?.enableStockImages!==!1,ce=!b?.enabledTabs||b.enabledTabs.includes("stock");return re&&ce}if(Qe==="icons"){let re=b?.features?.enableIconStock!==!1,ce=!b?.enabledTabs||b.enabledTabs.includes("icons");return re&&ce}if(Qe==="image_codes"){let re=b?.features?.enableQrBarcodeTab!==!1,ce=!b?.enabledTabs||b.enabledTabs.includes("codes");return re&&ce}return!0},[b?.enabledTabs,b?.features?.enableGif,b?.features?.enableIconStock,b?.features?.enableStockImages,b?.features?.enableQrBarcodeTab]),[A,N]=(0,F.useState)("date"),[x,Y]=(0,F.useState)("desc"),[k,R]=(0,F.useState)([{id:"folders",name:"Папки"}]),[E,M]=(0,F.useState)(""),[D,W]=(0,F.useState)(!1),[Q,U]=(0,F.useState)(Go),de=b?.lockedTabs,ge=(0,F.useCallback)(Qe=>S(Qe)&&!Xs(Qe,{lockedTabs:de}),[de,S]),fe=b?.activeLibraryItem,[B,V]=(0,F.useState)(void 0);if(fe!==B){V(fe);let Qe=Pp(B,fe,ge);Qe&&U(Qe)}(0,F.useEffect)(()=>{ge(Q)||U("my_files")},[Q,ge]);let[$,G]=(0,F.useState)({current:1,pageSize:20,total:0}),[ue]=Hr.antd$Form.useForm(),[X]=Hr.antd$Form.useForm(),[ae]=Hr.antd$Form.useForm(),[me]=Hr.antd$Form.useForm(),[ne]=Hr.antd$Form.useForm(),[ee]=Hr.antd$Form.useForm(),[he,z]=(0,F.useState)(!1),[q,O]=(0,F.useState)(!1),[K,J]=(0,F.useState)(!1),[se,ye]=(0,F.useState)(!1),[ie,Fe]=(0,F.useState)(!1),[xe,Ce]=(0,F.useState)(!1),[be,Pe]=(0,F.useState)(!1),[Ge,Ve]=(0,F.useState)(null),[je,Ke]=(0,F.useState)(null),[cr,or]=(0,F.useState)(null),Jt=(Qe,re)=>{R(ce=>ce.map(Se=>Se.id===Qe?{...Se,name:re}:Se))},gt=(0,F.useCallback)(Qe=>{G(re=>({...re,...Qe}))},[G]),Xt=(0,F.useMemo)(()=>({folders:a,files:l,selectedFolder:u,searchTerm:g,sortField:v,sortBy:A,sortOrder:x,pathHistory:k,currentMenuFile:E,loading:D,pagination:$,isModalVisible:he,isUrlModalVisible:q,isRenameModalVisible:K,isMoveModalVisible:se,isRenameFolderModalVisible:ie,isCopyModalVisible:xe,isDeleteConfirmVisible:be,form:ue,urlForm:X,renameForm:ae,moveForm:me,renameFolderForm:ne,copyForm:ee,fileToRename:Ge,folderToRename:je,activeLibraryItem:Q,multiSelect:b?.multiSelect??!0,undoDeletion:cr}),[Q,b?.multiSelect,ee,E,Ge,l,a,ue,xe,be,he,se,ie,K,q,D,me,$,k,ne,ae,g,u,A,v,x,cr,X,je]),Lt=(0,F.useMemo)(()=>({setFolders:n,setFiles:d,setSelectedFolder:c,setSearchTerm:m,setSortField:y,setSortBy:N,setSortOrder:Y,setPathHistory:R,setLoading:W,setPagination:gt,setIsModalVisible:z,setIsUrlModalVisible:O,setIsRenameModalVisible:J,setIsMoveModalVisible:ye,setIsRenameFolderModalVisible:Fe,setIsCopyModalVisible:Ce,setIsDeleteConfirmVisible:Pe,setFileToRename:Ve,setFolderToRename:Ke,setUndoDeletion:or,updatePathHistoryOnFolderRename:Jt,setActiveLibraryItem:Qe=>U(S(Qe)?Qe:Go),setCurrentMenuFile:M}),[gt,S]),Ut=(0,F.useMemo)(()=>({state:Xt,actions:Lt,options:t}),[Lt,t,Xt]);return(0,ei.jsx)(_i.Provider,{value:Ut,children:o})},ed=nl.s(((o,t)=>{vi(),(function(){var a,n="Expected a function",l="__lodash_hash_undefined__",d="__lodash_placeholder__",u=1,c=2,g=8,m=16,v=32,y=64,b=128,S=256,A=512,N=1/0,x=9007199254740991,Y=17976931348623157e292,k=NaN,R=4294967295,E=R-1,M=R>>>1,D=[["ary",b],["bind",u],["bindKey",c],["curry",g],["curryRight",m],["flip",A],["partial",v],["partialRight",y],["rearg",S]],W="[object Arguments]",Q="[object Array]",U="[object AsyncFunction]",de="[object Boolean]",ge="[object Date]",fe="[object DOMException]",B="[object Error]",V="[object Function]",$="[object GeneratorFunction]",G="[object Map]",ue="[object Number]",X="[object Null]",ae="[object Object]",me="[object Promise]",ne="[object Proxy]",ee="[object RegExp]",he="[object Set]",z="[object String]",q="[object Symbol]",O="[object Undefined]",K="[object WeakMap]",J="[object WeakSet]",se="[object ArrayBuffer]",ye="[object DataView]",ie="[object Float32Array]",Fe="[object Float64Array]",xe="[object Int8Array]",Ce="[object Int16Array]",be="[object Int32Array]",Pe="[object Uint8Array]",Ge="[object Uint8ClampedArray]",Ve="[object Uint16Array]",je="[object Uint32Array]",Ke=/\b__p \+= '';/g,cr=/\b(__p \+=) '' \+/g,or=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Jt=/&(?:amp|lt|gt|quot|#39);/g,gt=/[&<>"']/g,Xt=RegExp(Jt.source),Lt=RegExp(gt.source),Ut=/<%-([\s\S]+?)%>/g,Qe=/<%([\s\S]+?)%>/g,re=/<%=([\s\S]+?)%>/g,ce=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Se=/^\w*$/,pe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,we=/[\\^$.*+?()[\]{}|]/g,De=RegExp(we.source),Ze=/^\s+/,xr=/\s/,$r=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,hr=/\{\n\/\* \[wrapped with (.+)\] \*/,Io=/,? & /,Hi=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ua=/[()=,{}\[\]\/\s]/,Fo=/\\(\\)?/g,Vi=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Td=/\w*$/,Kh=/^[-+]0x[0-9a-f]+$/i,$h=/^0b[01]+$/i,Qh=/^\[object .+?Constructor\]$/,Zh=/^0o[0-7]+$/i,Yh=/^(?:0|[1-9]\d*)$/,Jh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ca=/($^)/,Xh=/['\n\r\u2028\u2029\\]/g,fa="\\ud800-\\udfff",kd="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Rd="\\u2700-\\u27bf",xd="a-z\\xdf-\\xf6\\xf8-\\xff",ev="\\xac\\xb1\\xd7\\xf7",rv="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",tv="\\u2000-\\u206f",ov=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Pd="A-Z\\xc0-\\xd6\\xd8-\\xde",Ld="\\ufe0e\\ufe0f",Ud=ev+rv+tv+ov,Ki="['’]",av="["+fa+"]",Nd="["+Ud+"]",ma="["+kd+"]",Dd="\\d+",iv="["+Rd+"]",jd="["+xd+"]",Od="[^"+fa+Ud+Dd+Rd+xd+Pd+"]",$i="\\ud83c[\\udffb-\\udfff]",nv="(?:"+ma+"|"+$i+")",Md="[^"+fa+"]",Qi="(?:\\ud83c[\\udde6-\\uddff]){2}",Zi="[\\ud800-\\udbff][\\udc00-\\udfff]",eo="["+Pd+"]",Bd="\\u200d",qd="(?:"+jd+"|"+Od+")",lv="(?:"+eo+"|"+Od+")",Wd="(?:"+Ki+"(?:d|ll|m|re|s|t|ve))?",Gd="(?:"+Ki+"(?:D|LL|M|RE|S|T|VE))?",Hd=nv+"?",Vd="["+Ld+"]?",sv="(?:"+Bd+"(?:"+[Md,Qi,Zi].join("|")+")"+Vd+Hd+")*",dv="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",uv="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Kd=Vd+Hd+sv,cv="(?:"+[iv,Qi,Zi].join("|")+")"+Kd,fv="(?:"+[Md+ma+"?",ma,Qi,Zi,av].join("|")+")",mv=RegExp(Ki,"g"),pv=RegExp(ma,"g"),Yi=RegExp($i+"(?="+$i+")|"+fv+Kd,"g"),gv=RegExp([eo+"?"+jd+"+"+Wd+"(?="+[Nd,eo,"$"].join("|")+")",lv+"+"+Gd+"(?="+[Nd,eo+qd,"$"].join("|")+")",eo+"?"+qd+"+"+Wd,eo+"+"+Gd,uv,dv,Dd,cv].join("|"),"g"),hv=RegExp("["+Bd+fa+kd+Ld+"]"),vv=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,yv="Array.Buffer.DataView.Date.Error.Float32Array.Float64Array.Function.Int8Array.Int16Array.Int32Array.Map.Math.Object.Promise.RegExp.Set.String.Symbol.TypeError.Uint8Array.Uint8ClampedArray.Uint16Array.Uint32Array.WeakMap._.clearTimeout.isFinite.parseInt.setTimeout".split("."),bv=-1,$e={};$e[ie]=$e[Fe]=$e[xe]=$e[Ce]=$e[be]=$e[Pe]=$e[Ge]=$e[Ve]=$e[je]=!0,$e[W]=$e[Q]=$e[se]=$e[de]=$e[ye]=$e[ge]=$e[B]=$e[V]=$e[G]=$e[ue]=$e[ae]=$e[ee]=$e[he]=$e[z]=$e[K]=!1;var He={};He[W]=He[Q]=He[se]=He[ye]=He[de]=He[ge]=He[ie]=He[Fe]=He[xe]=He[Ce]=He[be]=He[G]=He[ue]=He[ae]=He[ee]=He[he]=He[z]=He[q]=He[Pe]=He[Ge]=He[Ve]=He[je]=!0,He[B]=He[V]=He[K]=!1;var wv={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Cv={"&":"&","<":"<",">":">",'"':""","'":"'"},Av={"&":"&","<":"<",">":">",""":'"',"'":"'"},Iv={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Fv=parseFloat,_v=parseInt,$d=typeof Vr=="object"&&Vr&&Vr.Object===Object&&Vr,Sv=typeof self=="object"&&self&&self.Object===Object&&self,dr=$d||Sv||Function("return this")(),Ji=typeof o=="object"&&o&&!o.nodeType&&o,Nt=Ji&&typeof t=="object"&&t&&!t.nodeType&&t,Qd=Nt&&Nt.exports===Ji,Xi=Qd&&$d.process,Pr=(function(){try{return Nt&&Nt.require&&Nt.require("util").types||Xi&&Xi.binding&&Xi.binding("util")}catch{}})(),Zd=Pr&&Pr.isArrayBuffer,Yd=Pr&&Pr.isDate,Jd=Pr&&Pr.isMap,Xd=Pr&&Pr.isRegExp,eu=Pr&&Pr.isSet,ru=Pr&&Pr.isTypedArray;function Sr(I,P,T){switch(T.length){case 0:return I.call(P);case 1:return I.call(P,T[0]);case 2:return I.call(P,T[0],T[1]);case 3:return I.call(P,T[0],T[1],T[2])}return I.apply(P,T)}function zv(I,P,T,oe){for(var ze=-1,Oe=I==null?0:I.length;++ze<Oe;){var ir=I[ze];P(oe,ir,T(ir),I)}return oe}function zr(I,P){for(var T=-1,oe=I==null?0:I.length;++T<oe&&P(I[T],T,I)!==!1;);return I}function Ev(I,P){for(var T=I==null?0:I.length;T--&&P(I[T],T,I)!==!1;);return I}function tu(I,P){for(var T=-1,oe=I==null?0:I.length;++T<oe;)if(!P(I[T],T,I))return!1;return!0}function ht(I,P){for(var T=-1,oe=I==null?0:I.length,ze=0,Oe=[];++T<oe;){var ir=I[T];P(ir,T,I)&&(Oe[ze++]=ir)}return Oe}function pa(I,P){return!!(I!=null&&I.length)&&ro(I,P,0)>-1}function en(I,P,T){for(var oe=-1,ze=I==null?0:I.length;++oe<ze;)if(T(P,I[oe]))return!0;return!1}function Ye(I,P){for(var T=-1,oe=I==null?0:I.length,ze=Array(oe);++T<oe;)ze[T]=P(I[T],T,I);return ze}function vt(I,P){for(var T=-1,oe=P.length,ze=I.length;++T<oe;)I[ze+T]=P[T];return I}function rn(I,P,T,oe){var ze=-1,Oe=I==null?0:I.length;for(oe&&Oe&&(T=I[++ze]);++ze<Oe;)T=P(T,I[ze],ze,I);return T}function Tv(I,P,T,oe){var ze=I==null?0:I.length;for(oe&&ze&&(T=I[--ze]);ze--;)T=P(T,I[ze],ze,I);return T}function tn(I,P){for(var T=-1,oe=I==null?0:I.length;++T<oe;)if(P(I[T],T,I))return!0;return!1}var kv=on("length");function Rv(I){return I.split("")}function xv(I){return I.match(Hi)||[]}function ou(I,P,T){var oe;return T(I,function(ze,Oe,ir){if(P(ze,Oe,ir))return oe=Oe,!1}),oe}function ga(I,P,T,oe){for(var ze=I.length,Oe=T+(oe?1:-1);oe?Oe--:++Oe<ze;)if(P(I[Oe],Oe,I))return Oe;return-1}function ro(I,P,T){return P===P?Gv(I,P,T):ga(I,au,T)}function Pv(I,P,T,oe){for(var ze=T-1,Oe=I.length;++ze<Oe;)if(oe(I[ze],P))return ze;return-1}function au(I){return I!==I}function iu(I,P){var T=I==null?0:I.length;return T?nn(I,P)/T:k}function on(I){return function(P){return P==null?a:P[I]}}function an(I){return function(P){return I==null?a:I[P]}}function nu(I,P,T,oe,ze){return ze(I,function(Oe,ir,qe){T=oe?(oe=!1,Oe):P(T,Oe,ir,qe)}),T}function Lv(I,P){var T=I.length;for(I.sort(P);T--;)I[T]=I[T].value;return I}function nn(I,P){for(var T,oe=-1,ze=I.length;++oe<ze;){var Oe=P(I[oe]);Oe!==a&&(T=T===a?Oe:T+Oe)}return T}function ln(I,P){for(var T=-1,oe=Array(I);++T<I;)oe[T]=P(T);return oe}function Uv(I,P){return Ye(P,function(T){return[T,I[T]]})}function lu(I){return I&&I.slice(0,cu(I)+1).replace(Ze,"")}function Er(I){return function(P){return I(P)}}function sn(I,P){return Ye(P,function(T){return I[T]})}function _o(I,P){return I.has(P)}function su(I,P){for(var T=-1,oe=I.length;++T<oe&&ro(P,I[T],0)>-1;);return T}function du(I,P){for(var T=I.length;T--&&ro(P,I[T],0)>-1;);return T}function Nv(I,P){for(var T=I.length,oe=0;T--;)I[T]===P&&++oe;return oe}var Dv=an(wv),jv=an(Cv);function Ov(I){return"\\"+Iv[I]}function Mv(I,P){return I==null?a:I[P]}function to(I){return hv.test(I)}function Bv(I){return vv.test(I)}function qv(I){for(var P,T=[];!(P=I.next()).done;)T.push(P.value);return T}function dn(I){var P=-1,T=Array(I.size);return I.forEach(function(oe,ze){T[++P]=[ze,oe]}),T}function uu(I,P){return function(T){return I(P(T))}}function yt(I,P){for(var T=-1,oe=I.length,ze=0,Oe=[];++T<oe;){var ir=I[T];(ir===P||ir===d)&&(I[T]=d,Oe[ze++]=T)}return Oe}function ha(I){var P=-1,T=Array(I.size);return I.forEach(function(oe){T[++P]=oe}),T}function Wv(I){var P=-1,T=Array(I.size);return I.forEach(function(oe){T[++P]=[oe,oe]}),T}function Gv(I,P,T){for(var oe=T-1,ze=I.length;++oe<ze;)if(I[oe]===P)return oe;return-1}function Hv(I,P,T){for(var oe=T+1;oe--;)if(I[oe]===P)return oe;return oe}function oo(I){return to(I)?Kv(I):kv(I)}function Mr(I){return to(I)?$v(I):Rv(I)}function cu(I){for(var P=I.length;P--&&xr.test(I.charAt(P)););return P}var Vv=an(Av);function Kv(I){for(var P=Yi.lastIndex=0;Yi.test(I);)++P;return P}function $v(I){return I.match(Yi)||[]}function Qv(I){return I.match(gv)||[]}var bt=(function I(P){P=P==null?dr:bt.defaults(dr.Object(),P,bt.pick(dr,yv));var T=P.Array,oe=P.Date,ze=P.Error,Oe=P.Function,ir=P.Math,qe=P.Object,un=P.RegExp,Zv=P.String,Lr=P.TypeError,va=T.prototype,Yv=Oe.prototype,ao=qe.prototype,ya=P["__core-js_shared__"],ba=Yv.toString,Me=ao.hasOwnProperty,Jv=0,fu=(function(){var e=/[^.]+$/.exec(ya&&ya.keys&&ya.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})(),wa=ao.toString,Xv=ba.call(qe),ey=dr._,ry=un("^"+ba.call(Me).replace(we,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ca=Qd?P.Buffer:a,wt=P.Symbol,Aa=P.Uint8Array,mu=Ca?Ca.allocUnsafe:a,Ia=uu(qe.getPrototypeOf,qe),pu=qe.create,gu=ao.propertyIsEnumerable,Fa=va.splice,hu=wt?wt.isConcatSpreadable:a,So=wt?wt.iterator:a,Dt=wt?wt.toStringTag:a,_a=(function(){try{var e=qt(qe,"defineProperty");return e({},"",{}),e}catch{}})(),ty=P.clearTimeout!==dr.clearTimeout&&P.clearTimeout,oy=oe&&oe.now!==dr.Date.now&&oe.now,ay=P.setTimeout!==dr.setTimeout&&P.setTimeout,Sa=ir.ceil,za=ir.floor,cn=qe.getOwnPropertySymbols,iy=Ca?Ca.isBuffer:a,vu=P.isFinite,ny=va.join,ly=uu(qe.keys,qe),nr=ir.max,pr=ir.min,sy=oe.now,dy=P.parseInt,yu=ir.random,uy=va.reverse,fn=qt(P,"DataView"),zo=qt(P,"Map"),mn=qt(P,"Promise"),io=qt(P,"Set"),Eo=qt(P,"WeakMap"),To=qt(qe,"create"),Ea=Eo&&new Eo,no={},cy=Wt(fn),fy=Wt(zo),my=Wt(mn),py=Wt(io),gy=Wt(Eo),Ta=wt?wt.prototype:a,ko=Ta?Ta.valueOf:a,bu=Ta?Ta.toString:a;function p(e){if(Xe(e)&&!Te(e)&&!(e instanceof Le)){if(e instanceof Ur)return e;if(Me.call(e,"__wrapped__"))return wc(e)}return new Ur(e)}var lo=(function(){function e(){}return function(r){if(!Je(r))return{};if(pu)return pu(r);e.prototype=r;var i=new e;return e.prototype=a,i}})();function ka(){}function Ur(e,r){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!r,this.__index__=0,this.__values__=a}p.templateSettings={escape:Ut,evaluate:Qe,interpolate:re,variable:"",imports:{_:p}},p.prototype=ka.prototype,p.prototype.constructor=p,Ur.prototype=lo(ka.prototype),Ur.prototype.constructor=Ur;function Le(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=R,this.__views__=[]}function hy(){var e=new Le(this.__wrapped__);return e.__actions__=Cr(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Cr(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Cr(this.__views__),e}function vy(){if(this.__filtered__){var e=new Le(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function yy(){var e=this.__wrapped__.value(),r=this.__dir__,i=Te(e),s=r<0,f=i?e.length:0,h=kb(0,f,this.__views__),w=h.start,C=h.end,_=C-w,j=s?C:w-1,L=this.__iteratees__,H=L.length,te=0,le=pr(_,this.__takeCount__);if(!i||!s&&f==_&&le==_)return Wu(e,this.__actions__);var Ae=[];e:for(;_--&&te<le;){j+=r;for(var Ee=-1,Ie=e[j];++Ee<H;){var We=L[Ee],Ne=We.iteratee,br=We.type,Jr=Ne(Ie);if(br==2)Ie=Jr;else if(!Jr){if(br==1)continue e;break e}}Ae[te++]=Ie}return Ae}Le.prototype=lo(ka.prototype),Le.prototype.constructor=Le;function jt(e){var r=-1,i=e==null?0:e.length;for(this.clear();++r<i;){var s=e[r];this.set(s[0],s[1])}}function by(){this.__data__=To?To(null):{},this.size=0}function wy(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=+!!r,r}function Cy(e){var r=this.__data__;if(To){var i=r[e];return i===l?a:i}return Me.call(r,e)?r[e]:a}function Ay(e){var r=this.__data__;return To?r[e]!==a:Me.call(r,e)}function Iy(e,r){var i=this.__data__;return this.size+=+!this.has(e),i[e]=To&&r===a?l:r,this}jt.prototype.clear=by,jt.prototype.delete=wy,jt.prototype.get=Cy,jt.prototype.has=Ay,jt.prototype.set=Iy;function rt(e){var r=-1,i=e==null?0:e.length;for(this.clear();++r<i;){var s=e[r];this.set(s[0],s[1])}}function Fy(){this.__data__=[],this.size=0}function _y(e){var r=this.__data__,i=Ra(r,e);return i<0?!1:(i==r.length-1?r.pop():Fa.call(r,i,1),--this.size,!0)}function Sy(e){var r=this.__data__,i=Ra(r,e);return i<0?a:r[i][1]}function zy(e){return Ra(this.__data__,e)>-1}function Ey(e,r){var i=this.__data__,s=Ra(i,e);return s<0?(++this.size,i.push([e,r])):i[s][1]=r,this}rt.prototype.clear=Fy,rt.prototype.delete=_y,rt.prototype.get=Sy,rt.prototype.has=zy,rt.prototype.set=Ey;function tt(e){var r=-1,i=e==null?0:e.length;for(this.clear();++r<i;){var s=e[r];this.set(s[0],s[1])}}function Ty(){this.size=0,this.__data__={hash:new jt,map:new(zo||rt),string:new jt}}function ky(e){var r=Wa(this,e).delete(e);return this.size-=+!!r,r}function Ry(e){return Wa(this,e).get(e)}function xy(e){return Wa(this,e).has(e)}function Py(e,r){var i=Wa(this,e),s=i.size;return i.set(e,r),this.size+=i.size==s?0:1,this}tt.prototype.clear=Ty,tt.prototype.delete=ky,tt.prototype.get=Ry,tt.prototype.has=xy,tt.prototype.set=Py;function Ot(e){var r=-1,i=e==null?0:e.length;for(this.__data__=new tt;++r<i;)this.add(e[r])}function Ly(e){return this.__data__.set(e,l),this}function Uy(e){return this.__data__.has(e)}Ot.prototype.add=Ot.prototype.push=Ly,Ot.prototype.has=Uy;function Br(e){var r=this.__data__=new rt(e);this.size=r.size}function Ny(){this.__data__=new rt,this.size=0}function Dy(e){var r=this.__data__,i=r.delete(e);return this.size=r.size,i}function jy(e){return this.__data__.get(e)}function Oy(e){return this.__data__.has(e)}function My(e,r){var i=this.__data__;if(i instanceof rt){var s=i.__data__;if(!zo||s.length<199)return s.push([e,r]),this.size=++i.size,this;i=this.__data__=new tt(s)}return i.set(e,r),this.size=i.size,this}Br.prototype.clear=Ny,Br.prototype.delete=Dy,Br.prototype.get=jy,Br.prototype.has=Oy,Br.prototype.set=My;function wu(e,r){var i=Te(e),s=!i&&Gt(e),f=!i&&!s&&_t(e),h=!i&&!s&&!f&&fo(e),w=i||s||f||h,C=w?ln(e.length,Zv):[],_=C.length;for(var j in e)(r||Me.call(e,j))&&!(w&&(j=="length"||f&&(j=="offset"||j=="parent")||h&&(j=="buffer"||j=="byteLength"||j=="byteOffset")||it(j,_)))&&C.push(j);return C}function Cu(e){var r=e.length;return r?e[Fn(0,r-1)]:a}function By(e,r){return Ga(Cr(e),Mt(r,0,e.length))}function qy(e){return Ga(Cr(e))}function pn(e,r,i){(i!==a&&!Wr(e[r],i)||i===a&&!(r in e))&&Qr(e,r,i)}function Ro(e,r,i){var s=e[r];(!(Me.call(e,r)&&Wr(s,i))||i===a&&!(r in e))&&Qr(e,r,i)}function Ra(e,r){for(var i=e.length;i--;)if(Wr(e[i][0],r))return i;return-1}function Wy(e,r,i,s){return Ct(e,function(f,h,w){r(s,f,i(f),w)}),s}function Au(e,r){return e&&Yr(r,ur(r),e)}function Gy(e,r){return e&&Yr(r,Ir(r),e)}function Qr(e,r,i){r=="__proto__"&&_a?_a(e,r,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[r]=i}function gn(e,r){for(var i=-1,s=r.length,f=T(s),h=e==null;++i<s;)f[i]=h?a:Zn(e,r[i]);return f}function Mt(e,r,i){return e===e&&(i!==a&&(e=e<=i?e:i),r!==a&&(e=e>=r?e:r)),e}function Nr(e,r,i,s,f,h){var w,C=r&1,_=r&2,j=r&4;if(i&&(w=f?i(e,s,f,h):i(e)),w!==a)return w;if(!Je(e))return e;var L=Te(e);if(L){if(w=xb(e),!C)return Cr(e,w)}else{var H=gr(e),te=H==V||H==$;if(_t(e))return Vu(e,C);if(H==ae||H==W||te&&!f){if(w=_||te?{}:cc(e),!C)return _?Cb(e,Gy(w,e)):wb(e,Au(w,e))}else{if(!He[H])return f?e:{};w=Pb(e,H,C)}}h||=new Br;var le=h.get(e);if(le)return le;h.set(e,w),Mc(e)?e.forEach(function(Ee){w.add(Nr(Ee,r,i,Ee,e,h))}):jc(e)&&e.forEach(function(Ee,Ie){w.set(Ie,Nr(Ee,r,i,Ie,e,h))});var Ae=L?a:(j?_?Un:Ln:_?Ir:ur)(e);return zr(Ae||e,function(Ee,Ie){Ae&&(Ie=Ee,Ee=e[Ie]),Ro(w,Ie,Nr(Ee,r,i,Ie,e,h))}),w}function Hy(e){var r=ur(e);return function(i){return Iu(i,e,r)}}function Iu(e,r,i){var s=i.length;if(e==null)return!s;for(e=qe(e);s--;){var f=i[s],h=r[f],w=e[f];if(w===a&&!(f in e)||!h(w))return!1}return!0}function Fu(e,r,i){if(typeof e!="function")throw new Lr(n);return jo(function(){e.apply(a,i)},r)}function xo(e,r,i,s){var f=-1,h=pa,w=!0,C=e.length,_=[],j=r.length;if(!C)return _;i&&(r=Ye(r,Er(i))),s?(h=en,w=!1):r.length>=200&&(h=_o,w=!1,r=new Ot(r));e:for(;++f<C;){var L=e[f],H=i==null?L:i(L);if(L=s||L!==0?L:0,w&&H===H){for(var te=j;te--;)if(r[te]===H)continue e;_.push(L)}else h(r,H,s)||_.push(L)}return _}var Ct=Yu(Zr),_u=Yu(vn,!0);function Vy(e,r){var i=!0;return Ct(e,function(s,f,h){return i=!!r(s,f,h),i}),i}function xa(e,r,i){for(var s=-1,f=e.length;++s<f;){var h=e[s],w=r(h);if(w!=null&&(C===a?w===w&&!kr(w):i(w,C)))var C=w,_=h}return _}function Ky(e,r,i,s){var f=e.length;for(i=ke(i),i<0&&(i=-i>f?0:f+i),s=s===a||s>f?f:ke(s),s<0&&(s+=f),s=i>s?0:qc(s);i<s;)e[i++]=r;return e}function Su(e,r){var i=[];return Ct(e,function(s,f,h){r(s,f,h)&&i.push(s)}),i}function fr(e,r,i,s,f){var h=-1,w=e.length;for(i||=Ub,f||=[];++h<w;){var C=e[h];r>0&&i(C)?r>1?fr(C,r-1,i,s,f):vt(f,C):s||(f[f.length]=C)}return f}var hn=Ju(),zu=Ju(!0);function Zr(e,r){return e&&hn(e,r,ur)}function vn(e,r){return e&&zu(e,r,ur)}function Pa(e,r){return ht(r,function(i){return nt(e[i])})}function Bt(e,r){r=It(r,e);for(var i=0,s=r.length;e!=null&&i<s;)e=e[qr(r[i++])];return i&&i==s?e:a}function Eu(e,r,i){var s=r(e);return Te(e)?s:vt(s,i(e))}function vr(e){return e==null?e===a?O:X:Dt&&Dt in qe(e)?Tb(e):qb(e)}function yn(e,r){return e>r}function $y(e,r){return e!=null&&Me.call(e,r)}function Qy(e,r){return e!=null&&r in qe(e)}function Zy(e,r,i){return e>=pr(r,i)&&e<nr(r,i)}function bn(e,r,i){for(var s=i?en:pa,f=e[0].length,h=e.length,w=h,C=T(h),_=1/0,j=[];w--;){var L=e[w];w&&r&&(L=Ye(L,Er(r))),_=pr(L.length,_),C[w]=!i&&(r||f>=120&&L.length>=120)?new Ot(w&&L):a}L=e[0];var H=-1,te=C[0];e:for(;++H<f&&j.length<_;){var le=L[H],Ae=r?r(le):le;if(le=i||le!==0?le:0,!(te?_o(te,Ae):s(j,Ae,i))){for(w=h;--w;){var Ee=C[w];if(!(Ee?_o(Ee,Ae):s(e[w],Ae,i)))continue e}te&&te.push(Ae),j.push(le)}}return j}function Yy(e,r,i,s){return Zr(e,function(f,h,w){r(s,i(f),h,w)}),s}function Po(e,r,i){r=It(r,e),e=gc(e,r);var s=e==null?e:e[qr(jr(r))];return s==null?a:Sr(s,e,i)}function Tu(e){return Xe(e)&&vr(e)==W}function Jy(e){return Xe(e)&&vr(e)==se}function Xy(e){return Xe(e)&&vr(e)==ge}function Lo(e,r,i,s,f){return e===r?!0:e==null||r==null||!Xe(e)&&!Xe(r)?e!==e&&r!==r:eb(e,r,i,s,Lo,f)}function eb(e,r,i,s,f,h){var w=Te(e),C=Te(r),_=w?Q:gr(e),j=C?Q:gr(r);_=_==W?ae:_,j=j==W?ae:j;var L=_==ae,H=j==ae,te=_==j;if(te&&_t(e)){if(!_t(r))return!1;w=!0,L=!1}if(te&&!L)return h||=new Br,w||fo(e)?sc(e,r,i,s,f,h):zb(e,r,_,i,s,f,h);if(!(i&1)){var le=L&&Me.call(e,"__wrapped__"),Ae=H&&Me.call(r,"__wrapped__");if(le||Ae){var Ee=le?e.value():e,Ie=Ae?r.value():r;return h||=new Br,f(Ee,Ie,i,s,h)}}return te?(h||=new Br,Eb(e,r,i,s,f,h)):!1}function rb(e){return Xe(e)&&gr(e)==G}function wn(e,r,i,s){var f=i.length,h=f,w=!s;if(e==null)return!h;for(e=qe(e);f--;){var C=i[f];if(w&&C[2]?C[1]!==e[C[0]]:!(C[0]in e))return!1}for(;++f<h;){C=i[f];var _=C[0],j=e[_],L=C[1];if(w&&C[2]){if(j===a&&!(_ in e))return!1}else{var H=new Br;if(s)var te=s(j,L,_,e,r,H);if(!(te===a?Lo(L,j,3,s,H):te))return!1}}return!0}function ku(e){return!Je(e)||Db(e)?!1:(nt(e)?ry:Qh).test(Wt(e))}function tb(e){return Xe(e)&&vr(e)==ee}function ob(e){return Xe(e)&&gr(e)==he}function ab(e){return Xe(e)&&Za(e.length)&&!!$e[vr(e)]}function Ru(e){return typeof e=="function"?e:e==null?Fr:typeof e=="object"?Te(e)?Lu(e[0],e[1]):Pu(e):ef(e)}function Cn(e){if(!Do(e))return ly(e);var r=[];for(var i in qe(e))Me.call(e,i)&&i!="constructor"&&r.push(i);return r}function ib(e){if(!Je(e))return Bb(e);var r=Do(e),i=[];for(var s in e)(s!="constructor"||!r&&Me.call(e,s))&&i.push(s);return i}function An(e,r){return e<r}function xu(e,r){var i=-1,s=Ar(e)?T(e.length):[];return Ct(e,function(f,h,w){s[++i]=r(f,h,w)}),s}function Pu(e){var r=Dn(e);return r.length==1&&r[0][2]?mc(r[0][0],r[0][1]):function(i){return i===e||wn(i,e,r)}}function Lu(e,r){return On(e)&&fc(r)?mc(qr(e),r):function(i){var s=Zn(i,e);return s===a&&s===r?Yn(i,e):Lo(r,s,3)}}function La(e,r,i,s,f){e!==r&&hn(r,function(h,w){if(f||=new Br,Je(h))nb(e,r,w,i,La,s,f);else{var C=s?s(Bn(e,w),h,w+"",e,r,f):a;C===a&&(C=h),pn(e,w,C)}},Ir)}function nb(e,r,i,s,f,h,w){var C=Bn(e,i),_=Bn(r,i),j=w.get(_);if(j){pn(e,i,j);return}var L=h?h(C,_,i+"",e,r,w):a,H=L===a;if(H){var te=Te(_),le=!te&&_t(_),Ae=!te&&!le&&fo(_);L=_,te||le||Ae?Te(C)?L=C:rr(C)?L=Cr(C):le?(H=!1,L=Vu(_,!0)):Ae?(H=!1,L=Ku(_,!0)):L=[]:Oo(_)||Gt(_)?(L=C,Gt(C)?L=Wc(C):(!Je(C)||nt(C))&&(L=cc(_))):H=!1}H&&(w.set(_,L),f(L,_,s,h,w),w.delete(_)),pn(e,i,L)}function Uu(e,r){var i=e.length;if(i)return r+=r<0?i:0,it(r,i)?e[r]:a}function Nu(e,r,i){r=r.length?Ye(r,function(f){return Te(f)?function(h){return Bt(h,f.length===1?f[0]:f)}:f}):[Fr];var s=-1;return r=Ye(r,Er(ve())),Lv(xu(e,function(f,h,w){return{criteria:Ye(r,function(C){return C(f)}),index:++s,value:f}}),function(f,h){return bb(f,h,i)})}function lb(e,r){return Du(e,r,function(i,s){return Yn(e,s)})}function Du(e,r,i){for(var s=-1,f=r.length,h={};++s<f;){var w=r[s],C=Bt(e,w);i(C,w)&&Uo(h,It(w,e),C)}return h}function sb(e){return function(r){return Bt(r,e)}}function In(e,r,i,s){var f=s?Pv:ro,h=-1,w=r.length,C=e;for(e===r&&(r=Cr(r)),i&&(C=Ye(e,Er(i)));++h<w;)for(var _=0,j=r[h],L=i?i(j):j;(_=f(C,L,_,s))>-1;)C!==e&&Fa.call(C,_,1),Fa.call(e,_,1);return e}function ju(e,r){for(var i=e?r.length:0,s=i-1;i--;){var f=r[i];if(i==s||f!==h){var h=f;it(f)?Fa.call(e,f,1):zn(e,f)}}return e}function Fn(e,r){return e+za(yu()*(r-e+1))}function db(e,r,i,s){for(var f=-1,h=nr(Sa((r-e)/(i||1)),0),w=T(h);h--;)w[s?h:++f]=e,e+=i;return w}function _n(e,r){var i="";if(!e||r<1||r>x)return i;do r%2&&(i+=e),r=za(r/2),r&&(e+=e);while(r);return i}function Re(e,r){return qn(pc(e,r,Fr),e+"")}function ub(e){return Cu(mo(e))}function cb(e,r){var i=mo(e);return Ga(i,Mt(r,0,i.length))}function Uo(e,r,i,s){if(!Je(e))return e;r=It(r,e);for(var f=-1,h=r.length,w=h-1,C=e;C!=null&&++f<h;){var _=qr(r[f]),j=i;if(_==="__proto__"||_==="constructor"||_==="prototype")return e;if(f!=w){var L=C[_];j=s?s(L,_,C):a,j===a&&(j=Je(L)?L:it(r[f+1])?[]:{})}Ro(C,_,j),C=C[_]}return e}var Ou=Ea?function(e,r){return Ea.set(e,r),e}:Fr,fb=_a?function(e,r){return _a(e,"toString",{configurable:!0,enumerable:!1,value:Xn(r),writable:!0})}:Fr;function mb(e){return Ga(mo(e))}function Dr(e,r,i){var s=-1,f=e.length;r<0&&(r=-r>f?0:f+r),i=i>f?f:i,i<0&&(i+=f),f=r>i?0:i-r>>>0,r>>>=0;for(var h=T(f);++s<f;)h[s]=e[s+r];return h}function pb(e,r){var i;return Ct(e,function(s,f,h){return i=r(s,f,h),!i}),!!i}function Ua(e,r,i){var s=0,f=e==null?s:e.length;if(typeof r=="number"&&r===r&&f<=M){for(;s<f;){var h=s+f>>>1,w=e[h];w!==null&&!kr(w)&&(i?w<=r:w<r)?s=h+1:f=h}return f}return Sn(e,r,Fr,i)}function Sn(e,r,i,s){var f=0,h=e==null?0:e.length;if(h===0)return 0;r=i(r);for(var w=r!==r,C=r===null,_=kr(r),j=r===a;f<h;){var L=za((f+h)/2),H=i(e[L]),te=H!==a,le=H===null,Ae=H===H,Ee=kr(H);if(w)var Ie=s||Ae;else Ie=j?Ae&&(s||te):C?Ae&&te&&(s||!le):_?Ae&&te&&!le&&(s||!Ee):le||Ee?!1:s?H<=r:H<r;Ie?f=L+1:h=L}return pr(h,E)}function Mu(e,r){for(var i=-1,s=e.length,f=0,h=[];++i<s;){var w=e[i],C=r?r(w):w;if(!i||!Wr(C,_)){var _=C;h[f++]=w===0?0:w}}return h}function Bu(e){return typeof e=="number"?e:kr(e)?k:+e}function Tr(e){if(typeof e=="string")return e;if(Te(e))return Ye(e,Tr)+"";if(kr(e))return bu?bu.call(e):"";var r=e+"";return r=="0"&&1/e==-1/0?"-0":r}function At(e,r,i){var s=-1,f=pa,h=e.length,w=!0,C=[],_=C;if(i)w=!1,f=en;else if(h>=200){var j=r?null:_b(e);if(j)return ha(j);w=!1,f=_o,_=new Ot}else _=r?[]:C;e:for(;++s<h;){var L=e[s],H=r?r(L):L;if(L=i||L!==0?L:0,w&&H===H){for(var te=_.length;te--;)if(_[te]===H)continue e;r&&_.push(H),C.push(L)}else f(_,H,i)||(_!==C&&_.push(H),C.push(L))}return C}function zn(e,r){r=It(r,e);var i=-1,s=r.length;if(!s)return!0;for(;++i<s;){var f=qr(r[i]);if(f==="__proto__"&&!Me.call(e,"__proto__")||(f==="constructor"||f==="prototype")&&i<s-1)return!1}var h=gc(e,r);return h==null||delete h[qr(jr(r))]}function qu(e,r,i,s){return Uo(e,r,i(Bt(e,r)),s)}function Na(e,r,i,s){for(var f=e.length,h=s?f:-1;(s?h--:++h<f)&&r(e[h],h,e););return i?Dr(e,s?0:h,s?h+1:f):Dr(e,s?h+1:0,s?f:h)}function Wu(e,r){var i=e;return i instanceof Le&&(i=i.value()),rn(r,function(s,f){return f.func.apply(f.thisArg,vt([s],f.args))},i)}function En(e,r,i){var s=e.length;if(s<2)return s?At(e[0]):[];for(var f=-1,h=T(s);++f<s;)for(var w=e[f],C=-1;++C<s;)C!=f&&(h[f]=xo(h[f]||w,e[C],r,i));return At(fr(h,1),r,i)}function Gu(e,r,i){for(var s=-1,f=e.length,h=r.length,w={};++s<f;){var C=s<h?r[s]:a;i(w,e[s],C)}return w}function Tn(e){return rr(e)?e:[]}function kn(e){return typeof e=="function"?e:Fr}function It(e,r){return Te(e)?e:On(e,r)?[e]:bc(Be(e))}var gb=Re;function Ft(e,r,i){var s=e.length;return i=i===a?s:i,!r&&i>=s?e:Dr(e,r,i)}var Hu=ty||function(e){return dr.clearTimeout(e)};function Vu(e,r){if(r)return e.slice();var i=e.length,s=mu?mu(i):new e.constructor(i);return e.copy(s),s}function Rn(e){var r=new e.constructor(e.byteLength);return new Aa(r).set(new Aa(e)),r}function hb(e,r){var i=r?Rn(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}function vb(e){var r=new e.constructor(e.source,Td.exec(e));return r.lastIndex=e.lastIndex,r}function yb(e){return ko?qe(ko.call(e)):{}}function Ku(e,r){var i=r?Rn(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function $u(e,r){if(e!==r){var i=e!==a,s=e===null,f=e===e,h=kr(e),w=r!==a,C=r===null,_=r===r,j=kr(r);if(!C&&!j&&!h&&e>r||h&&w&&_&&!C&&!j||s&&w&&_||!i&&_||!f)return 1;if(!s&&!h&&!j&&e<r||j&&i&&f&&!s&&!h||C&&i&&f||!w&&f||!_)return-1}return 0}function bb(e,r,i){for(var s=-1,f=e.criteria,h=r.criteria,w=f.length,C=i.length;++s<w;){var _=$u(f[s],h[s]);if(_)return s>=C?_:_*(i[s]=="desc"?-1:1)}return e.index-r.index}function Qu(e,r,i,s){for(var f=-1,h=e.length,w=i.length,C=-1,_=r.length,j=nr(h-w,0),L=T(_+j),H=!s;++C<_;)L[C]=r[C];for(;++f<w;)(H||f<h)&&(L[i[f]]=e[f]);for(;j--;)L[C++]=e[f++];return L}function Zu(e,r,i,s){for(var f=-1,h=e.length,w=-1,C=i.length,_=-1,j=r.length,L=nr(h-C,0),H=T(L+j),te=!s;++f<L;)H[f]=e[f];for(var le=f;++_<j;)H[le+_]=r[_];for(;++w<C;)(te||f<h)&&(H[le+i[w]]=e[f++]);return H}function Cr(e,r){var i=-1,s=e.length;for(r||=T(s);++i<s;)r[i]=e[i];return r}function Yr(e,r,i,s){var f=!i;i||={};for(var h=-1,w=r.length;++h<w;){var C=r[h],_=s?s(i[C],e[C],C,i,e):a;_===a&&(_=e[C]),f?Qr(i,C,_):Ro(i,C,_)}return i}function wb(e,r){return Yr(e,jn(e),r)}function Cb(e,r){return Yr(e,dc(e),r)}function Da(e,r){return function(i,s){var f=Te(i)?zv:Wy,h=r?r():{};return f(i,e,ve(s,2),h)}}function so(e){return Re(function(r,i){var s=-1,f=i.length,h=f>1?i[f-1]:a,w=f>2?i[2]:a;for(h=e.length>3&&typeof h=="function"?(f--,h):a,w&&yr(i[0],i[1],w)&&(h=f<3?a:h,f=1),r=qe(r);++s<f;){var C=i[s];C&&e(r,C,s,h)}return r})}function Yu(e,r){return function(i,s){if(i==null)return i;if(!Ar(i))return e(i,s);for(var f=i.length,h=r?f:-1,w=qe(i);(r?h--:++h<f)&&s(w[h],h,w)!==!1;);return i}}function Ju(e){return function(r,i,s){for(var f=-1,h=qe(r),w=s(r),C=w.length;C--;){var _=w[e?C:++f];if(i(h[_],_,h)===!1)break}return r}}function Ab(e,r,i){var s=r&u,f=No(e);function h(){return(this&&this!==dr&&this instanceof h?f:e).apply(s?i:this,arguments)}return h}function Xu(e){return function(r){r=Be(r);var i=to(r)?Mr(r):a,s=i?i[0]:r.charAt(0),f=i?Ft(i,1).join(""):r.slice(1);return s[e]()+f}}function uo(e){return function(r){return rn(Jc(Yc(r).replace(mv,"")),e,"")}}function No(e){return function(){var r=arguments;switch(r.length){case 0:return new e;case 1:return new e(r[0]);case 2:return new e(r[0],r[1]);case 3:return new e(r[0],r[1],r[2]);case 4:return new e(r[0],r[1],r[2],r[3]);case 5:return new e(r[0],r[1],r[2],r[3],r[4]);case 6:return new e(r[0],r[1],r[2],r[3],r[4],r[5]);case 7:return new e(r[0],r[1],r[2],r[3],r[4],r[5],r[6])}var i=lo(e.prototype),s=e.apply(i,r);return Je(s)?s:i}}function Ib(e,r,i){var s=No(e);function f(){for(var h=arguments.length,w=T(h),C=h,_=co(f);C--;)w[C]=arguments[C];var j=h<3&&w[0]!==_&&w[h-1]!==_?[]:yt(w,_);return h-=j.length,h<i?ac(e,r,ja,f.placeholder,a,w,j,a,a,i-h):Sr(this&&this!==dr&&this instanceof f?s:e,this,w)}return f}function ec(e){return function(r,i,s){var f=qe(r);if(!Ar(r)){var h=ve(i,3);r=ur(r),i=function(C){return h(f[C],C,f)}}var w=e(r,i,s);return w>-1?f[h?r[w]:w]:a}}function rc(e){return at(function(r){var i=r.length,s=i,f=Ur.prototype.thru;for(e&&r.reverse();s--;){var h=r[s];if(typeof h!="function")throw new Lr(n);if(f&&!w&&qa(h)=="wrapper")var w=new Ur([],!0)}for(s=w?s:i;++s<i;){h=r[s];var C=qa(h),_=C=="wrapper"?Nn(h):a;w=_&&Mn(_[0])&&_[1]==(b|g|v|S)&&!_[4].length&&_[9]==1?w[qa(_[0])].apply(w,_[3]):h.length==1&&Mn(h)?w[C]():w.thru(h)}return function(){var j=arguments,L=j[0];if(w&&j.length==1&&Te(L))return w.plant(L).value();for(var H=0,te=i?r[H].apply(this,j):L;++H<i;)te=r[H].call(this,te);return te}})}function ja(e,r,i,s,f,h,w,C,_,j){var L=r&b,H=r&u,te=r&c,le=r&(g|m),Ae=r&A,Ee=te?a:No(e);function Ie(){for(var We=arguments.length,Ne=T(We),br=We;br--;)Ne[br]=arguments[br];if(le)var Jr=co(Ie),St=Nv(Ne,Jr);if(s&&(Ne=Qu(Ne,s,f,le)),h&&(Ne=Zu(Ne,h,w,le)),We-=St,le&&We<j){var tr=yt(Ne,Jr);return ac(e,r,ja,Ie.placeholder,i,Ne,tr,C,_,j-We)}var Gr=H?i:this,st=te?Gr[e]:e;return We=Ne.length,C?Ne=Wb(Ne,C):Ae&&We>1&&Ne.reverse(),L&&_<We&&(Ne.length=_),this&&this!==dr&&this instanceof Ie&&(st=Ee||No(st)),st.apply(Gr,Ne)}return Ie}function tc(e,r){return function(i,s){return Yy(i,e,r(s),{})}}function Oa(e,r){return function(i,s){var f;if(i===a&&s===a)return r;if(i!==a&&(f=i),s!==a){if(f===a)return s;typeof i=="string"||typeof s=="string"?(i=Tr(i),s=Tr(s)):(i=Bu(i),s=Bu(s)),f=e(i,s)}return f}}function xn(e){return at(function(r){return r=Ye(r,Er(ve())),Re(function(i){var s=this;return e(r,function(f){return Sr(f,s,i)})})})}function Ma(e,r){r=r===a?" ":Tr(r);var i=r.length;if(i<2)return i?_n(r,e):r;var s=_n(r,Sa(e/oo(r)));return to(r)?Ft(Mr(s),0,e).join(""):s.slice(0,e)}function Fb(e,r,i,s){var f=r&u,h=No(e);function w(){for(var C=-1,_=arguments.length,j=-1,L=s.length,H=T(L+_),te=this&&this!==dr&&this instanceof w?h:e;++j<L;)H[j]=s[j];for(;_--;)H[j++]=arguments[++C];return Sr(te,f?i:this,H)}return w}function oc(e){return function(r,i,s){return s&&typeof s!="number"&&yr(r,i,s)&&(i=s=a),r=lt(r),i===a?(i=r,r=0):i=lt(i),s=s===a?r<i?1:-1:lt(s),db(r,i,s,e)}}function Ba(e){return function(r,i){return(typeof r!="string"||typeof i!="string")&&(r=Or(r),i=Or(i)),e(r,i)}}function ac(e,r,i,s,f,h,w,C,_,j){var L=r&g,H=L?w:a,te=L?a:w,le=L?h:a,Ae=L?a:h;r|=L?v:y,r&=~(L?y:v),r&4||(r&=~(u|c));var Ee=[e,r,f,le,H,Ae,te,C,_,j],Ie=i.apply(a,Ee);return Mn(e)&&hc(Ie,Ee),Ie.placeholder=s,vc(Ie,e,r)}function Pn(e){var r=ir[e];return function(i,s){if(i=Or(i),s=s==null?0:pr(ke(s),292),s&&vu(i)){var f=(Be(i)+"e").split("e");return f=(Be(r(f[0]+"e"+(+f[1]+s)))+"e").split("e"),+(f[0]+"e"+(+f[1]-s))}return r(i)}}var _b=io&&1/ha(new io([,-0]))[1]==N?function(e){return new io(e)}:tl;function ic(e){return function(r){var i=gr(r);return i==G?dn(r):i==he?Wv(r):Uv(r,e(r))}}function ot(e,r,i,s,f,h,w,C){var _=r&c;if(!_&&typeof e!="function")throw new Lr(n);var j=s?s.length:0;if(j||(r&=~(v|y),s=f=a),w=w===a?w:nr(ke(w),0),C=C===a?C:ke(C),j-=f?f.length:0,r&y){var L=s,H=f;s=f=a}var te=_?a:Nn(e),le=[e,r,i,s,f,L,H,h,w,C];if(te&&Mb(le,te),e=le[0],r=le[1],i=le[2],s=le[3],f=le[4],C=le[9]=le[9]===a?_?0:e.length:nr(le[9]-j,0),!C&&r&(g|m)&&(r&=~(g|m)),!r||r==u)var Ae=Ab(e,r,i);else Ae=r==g||r==m?Ib(e,r,C):(r==v||r==(u|v))&&!f.length?Fb(e,r,i,s):ja.apply(a,le);return vc((te?Ou:hc)(Ae,le),e,r)}function nc(e,r,i,s){return e===a||Wr(e,ao[i])&&!Me.call(s,i)?r:e}function lc(e,r,i,s,f,h){return Je(e)&&Je(r)&&(h.set(r,e),La(e,r,a,lc,h),h.delete(r)),e}function Sb(e){return Oo(e)?a:e}function sc(e,r,i,s,f,h){var w=i&1,C=e.length,_=r.length;if(C!=_&&!(w&&_>C))return!1;var j=h.get(e),L=h.get(r);if(j&&L)return j==r&&L==e;var H=-1,te=!0,le=i&2?new Ot:a;for(h.set(e,r),h.set(r,e);++H<C;){var Ae=e[H],Ee=r[H];if(s)var Ie=w?s(Ee,Ae,H,r,e,h):s(Ae,Ee,H,e,r,h);if(Ie!==a){if(Ie)continue;te=!1;break}if(le){if(!tn(r,function(We,Ne){if(!_o(le,Ne)&&(Ae===We||f(Ae,We,i,s,h)))return le.push(Ne)})){te=!1;break}}else if(!(Ae===Ee||f(Ae,Ee,i,s,h))){te=!1;break}}return h.delete(e),h.delete(r),te}function zb(e,r,i,s,f,h,w){switch(i){case ye:if(e.byteLength!=r.byteLength||e.byteOffset!=r.byteOffset)return!1;e=e.buffer,r=r.buffer;case se:return!(e.byteLength!=r.byteLength||!h(new Aa(e),new Aa(r)));case de:case ge:case ue:return Wr(+e,+r);case B:return e.name==r.name&&e.message==r.message;case ee:case z:return e==r+"";case G:var C=dn;case he:var _=s&1;if(C||=ha,e.size!=r.size&&!_)return!1;var j=w.get(e);if(j)return j==r;s|=2,w.set(e,r);var L=sc(C(e),C(r),s,f,h,w);return w.delete(e),L;case q:if(ko)return ko.call(e)==ko.call(r)}return!1}function Eb(e,r,i,s,f,h){var w=i&1,C=Ln(e),_=C.length;if(_!=Ln(r).length&&!w)return!1;for(var j=_;j--;){var L=C[j];if(!(w?L in r:Me.call(r,L)))return!1}var H=h.get(e),te=h.get(r);if(H&&te)return H==r&&te==e;var le=!0;h.set(e,r),h.set(r,e);for(var Ae=w;++j<_;){L=C[j];var Ee=e[L],Ie=r[L];if(s)var We=w?s(Ie,Ee,L,r,e,h):s(Ee,Ie,L,e,r,h);if(!(We===a?Ee===Ie||f(Ee,Ie,i,s,h):We)){le=!1;break}Ae||=L=="constructor"}if(le&&!Ae){var Ne=e.constructor,br=r.constructor;Ne!=br&&"constructor"in e&&"constructor"in r&&!(typeof Ne=="function"&&Ne instanceof Ne&&typeof br=="function"&&br instanceof br)&&(le=!1)}return h.delete(e),h.delete(r),le}function at(e){return qn(pc(e,a,Ic),e+"")}function Ln(e){return Eu(e,ur,jn)}function Un(e){return Eu(e,Ir,dc)}var Nn=Ea?function(e){return Ea.get(e)}:tl;function qa(e){for(var r=e.name+"",i=no[r],s=Me.call(no,r)?i.length:0;s--;){var f=i[s],h=f.func;if(h==null||h==e)return f.name}return r}function co(e){return(Me.call(p,"placeholder")?p:e).placeholder}function ve(){var e=p.iteratee||el;return e=e===el?Ru:e,arguments.length?e(arguments[0],arguments[1]):e}function Wa(e,r){var i=e.__data__;return Nb(r)?i[typeof r=="string"?"string":"hash"]:i.map}function Dn(e){for(var r=ur(e),i=r.length;i--;){var s=r[i],f=e[s];r[i]=[s,f,fc(f)]}return r}function qt(e,r){var i=Mv(e,r);return ku(i)?i:a}function Tb(e){var r=Me.call(e,Dt),i=e[Dt];try{e[Dt]=a;var s=!0}catch{}var f=wa.call(e);return s&&(r?e[Dt]=i:delete e[Dt]),f}var jn=cn?function(e){return e==null?[]:(e=qe(e),ht(cn(e),function(r){return gu.call(e,r)}))}:ol,dc=cn?function(e){for(var r=[];e;)vt(r,jn(e)),e=Ia(e);return r}:ol,gr=vr;(fn&&gr(new fn(new ArrayBuffer(1)))!=ye||zo&&gr(new zo)!=G||mn&&gr(mn.resolve())!=me||io&&gr(new io)!=he||Eo&&gr(new Eo)!=K)&&(gr=function(e){var r=vr(e),i=r==ae?e.constructor:a,s=i?Wt(i):"";if(s)switch(s){case cy:return ye;case fy:return G;case my:return me;case py:return he;case gy:return K}return r});function kb(e,r,i){for(var s=-1,f=i.length;++s<f;){var h=i[s],w=h.size;switch(h.type){case"drop":e+=w;break;case"dropRight":r-=w;break;case"take":r=pr(r,e+w);break;case"takeRight":e=nr(e,r-w)}}return{start:e,end:r}}function Rb(e){var r=e.match(hr);return r?r[1].split(Io):[]}function uc(e,r,i){r=It(r,e);for(var s=-1,f=r.length,h=!1;++s<f;){var w=qr(r[s]);if(!(h=e!=null&&i(e,w)))break;e=e[w]}return h||++s!=f?h:(f=e==null?0:e.length,!!f&&Za(f)&&it(w,f)&&(Te(e)||Gt(e)))}function xb(e){var r=e.length,i=new e.constructor(r);return r&&typeof e[0]=="string"&&Me.call(e,"index")&&(i.index=e.index,i.input=e.input),i}function cc(e){return typeof e.constructor=="function"&&!Do(e)?lo(Ia(e)):{}}function Pb(e,r,i){var s=e.constructor;switch(r){case se:return Rn(e);case de:case ge:return new s(+e);case ye:return hb(e,i);case ie:case Fe:case xe:case Ce:case be:case Pe:case Ge:case Ve:case je:return Ku(e,i);case G:return new s;case ue:case z:return new s(e);case ee:return vb(e);case he:return new s;case q:return yb(e)}}function Lb(e,r){var i=r.length;if(!i)return e;var s=i-1;return r[s]=(i>1?"& ":"")+r[s],r=r.join(i>2?", ":" "),e.replace($r,`{
|
|
75
|
+
/* [wrapped with `+r+`] */
|
|
76
|
+
`)}function Ub(e){return Te(e)||Gt(e)||!!(hu&&e&&e[hu])}function it(e,r){var i=typeof e;return r??=x,!!r&&(i=="number"||i!="symbol"&&Yh.test(e))&&e>-1&&e%1==0&&e<r}function yr(e,r,i){if(!Je(i))return!1;var s=typeof r;return(s=="number"?Ar(i)&&it(r,i.length):s=="string"&&r in i)?Wr(i[r],e):!1}function On(e,r){if(Te(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||kr(e)?!0:Se.test(e)||!ce.test(e)||r!=null&&e in qe(r)}function Nb(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}function Mn(e){var r=qa(e),i=p[r];if(typeof i!="function"||!(r in Le.prototype))return!1;if(e===i)return!0;var s=Nn(i);return!!s&&e===s[0]}function Db(e){return!!fu&&fu in e}var jb=ya?nt:al;function Do(e){var r=e&&e.constructor;return e===(typeof r=="function"&&r.prototype||ao)}function fc(e){return e===e&&!Je(e)}function mc(e,r){return function(i){return i!=null&&i[e]===r&&(r!==a||e in qe(i))}}function Ob(e){var r=$a(e,function(s){return i.size===500&&i.clear(),s}),i=r.cache;return r}function Mb(e,r){var i=e[1],s=r[1],f=i|s,h=f<(u|c|b),w=s==b&&i==g||s==b&&i==S&&e[7].length<=r[8]||s==(b|S)&&r[7].length<=r[8]&&i==g;if(!(h||w))return e;s&u&&(e[2]=r[2],f|=i&u?0:4);var C=r[3];if(C){var _=e[3];e[3]=_?Qu(_,C,r[4]):C,e[4]=_?yt(e[3],d):r[4]}return C=r[5],C&&(_=e[5],e[5]=_?Zu(_,C,r[6]):C,e[6]=_?yt(e[5],d):r[6]),C=r[7],C&&(e[7]=C),s&b&&(e[8]=e[8]==null?r[8]:pr(e[8],r[8])),e[9]??=r[9],e[0]=r[0],e[1]=f,e}function Bb(e){var r=[];if(e!=null)for(var i in qe(e))r.push(i);return r}function qb(e){return wa.call(e)}function pc(e,r,i){return r=nr(r===a?e.length-1:r,0),function(){for(var s=arguments,f=-1,h=nr(s.length-r,0),w=T(h);++f<h;)w[f]=s[r+f];f=-1;for(var C=T(r+1);++f<r;)C[f]=s[f];return C[r]=i(w),Sr(e,this,C)}}function gc(e,r){return r.length<2?e:Bt(e,Dr(r,0,-1))}function Wb(e,r){for(var i=e.length,s=pr(r.length,i),f=Cr(e);s--;){var h=r[s];e[s]=it(h,i)?f[h]:a}return e}function Bn(e,r){if((r!=="constructor"||typeof e[r]!="function")&&r!="__proto__")return e[r]}var hc=yc(Ou),jo=ay||function(e,r){return dr.setTimeout(e,r)},qn=yc(fb);function vc(e,r,i){var s=r+"";return qn(e,Lb(s,Gb(Rb(s),i)))}function yc(e){var r=0,i=0;return function(){var s=sy(),f=16-(s-i);if(i=s,f>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(a,arguments)}}function Ga(e,r){var i=-1,s=e.length,f=s-1;for(r=r===a?s:r;++i<r;){var h=Fn(i,f),w=e[h];e[h]=e[i],e[i]=w}return e.length=r,e}var bc=Ob(function(e){var r=[];return e.charCodeAt(0)===46&&r.push(""),e.replace(pe,function(i,s,f,h){r.push(f?h.replace(Fo,"$1"):s||i)}),r});function qr(e){if(typeof e=="string"||kr(e))return e;var r=e+"";return r=="0"&&1/e==-1/0?"-0":r}function Wt(e){if(e!=null){try{return ba.call(e)}catch{}try{return e+""}catch{}}return""}function Gb(e,r){return zr(D,function(i){var s="_."+i[0];r&i[1]&&!pa(e,s)&&e.push(s)}),e.sort()}function wc(e){if(e instanceof Le)return e.clone();var r=new Ur(e.__wrapped__,e.__chain__);return r.__actions__=Cr(e.__actions__),r.__index__=e.__index__,r.__values__=e.__values__,r}function Hb(e,r,i){r=(i?yr(e,r,i):r===a)?1:nr(ke(r),0);var s=e==null?0:e.length;if(!s||r<1)return[];for(var f=0,h=0,w=T(Sa(s/r));f<s;)w[h++]=Dr(e,f,f+=r);return w}function Vb(e){for(var r=-1,i=e==null?0:e.length,s=0,f=[];++r<i;){var h=e[r];h&&(f[s++]=h)}return f}function Kb(){var e=arguments.length;if(!e)return[];for(var r=T(e-1),i=arguments[0],s=e;s--;)r[s-1]=arguments[s];return vt(Te(i)?Cr(i):[i],fr(r,1))}var $b=Re(function(e,r){return rr(e)?xo(e,fr(r,1,rr,!0)):[]}),Qb=Re(function(e,r){var i=jr(r);return rr(i)&&(i=a),rr(e)?xo(e,fr(r,1,rr,!0),ve(i,2)):[]}),Zb=Re(function(e,r){var i=jr(r);return rr(i)&&(i=a),rr(e)?xo(e,fr(r,1,rr,!0),a,i):[]});function Yb(e,r,i){var s=e==null?0:e.length;return s?(r=i||r===a?1:ke(r),Dr(e,r<0?0:r,s)):[]}function Jb(e,r,i){var s=e==null?0:e.length;return s?(r=i||r===a?1:ke(r),r=s-r,Dr(e,0,r<0?0:r)):[]}function Xb(e,r){return e&&e.length?Na(e,ve(r,3),!0,!0):[]}function ew(e,r){return e&&e.length?Na(e,ve(r,3),!0):[]}function rw(e,r,i,s){var f=e==null?0:e.length;return f?(i&&typeof i!="number"&&yr(e,r,i)&&(i=0,s=f),Ky(e,r,i,s)):[]}function Cc(e,r,i){var s=e==null?0:e.length;if(!s)return-1;var f=i==null?0:ke(i);return f<0&&(f=nr(s+f,0)),ga(e,ve(r,3),f)}function Ac(e,r,i){var s=e==null?0:e.length;if(!s)return-1;var f=s-1;return i!==a&&(f=ke(i),f=i<0?nr(s+f,0):pr(f,s-1)),ga(e,ve(r,3),f,!0)}function Ic(e){return e!=null&&e.length?fr(e,1):[]}function tw(e){return e!=null&&e.length?fr(e,N):[]}function ow(e,r){return e!=null&&e.length?(r=r===a?1:ke(r),fr(e,r)):[]}function aw(e){for(var r=-1,i=e==null?0:e.length,s={};++r<i;){var f=e[r];Qr(s,f[0],f[1])}return s}function Fc(e){return e&&e.length?e[0]:a}function iw(e,r,i){var s=e==null?0:e.length;if(!s)return-1;var f=i==null?0:ke(i);return f<0&&(f=nr(s+f,0)),ro(e,r,f)}function nw(e){return e!=null&&e.length?Dr(e,0,-1):[]}var lw=Re(function(e){var r=Ye(e,Tn);return r.length&&r[0]===e[0]?bn(r):[]}),sw=Re(function(e){var r=jr(e),i=Ye(e,Tn);return r===jr(i)?r=a:i.pop(),i.length&&i[0]===e[0]?bn(i,ve(r,2)):[]}),dw=Re(function(e){var r=jr(e),i=Ye(e,Tn);return r=typeof r=="function"?r:a,r&&i.pop(),i.length&&i[0]===e[0]?bn(i,a,r):[]});function uw(e,r){return e==null?"":ny.call(e,r)}function jr(e){var r=e==null?0:e.length;return r?e[r-1]:a}function cw(e,r,i){var s=e==null?0:e.length;if(!s)return-1;var f=s;return i!==a&&(f=ke(i),f=f<0?nr(s+f,0):pr(f,s-1)),r===r?Hv(e,r,f):ga(e,au,f,!0)}function fw(e,r){return e&&e.length?Uu(e,ke(r)):a}var mw=Re(_c);function _c(e,r){return e&&e.length&&r&&r.length?In(e,r):e}function pw(e,r,i){return e&&e.length&&r&&r.length?In(e,r,ve(i,2)):e}function gw(e,r,i){return e&&e.length&&r&&r.length?In(e,r,a,i):e}var hw=at(function(e,r){var i=e==null?0:e.length,s=gn(e,r);return ju(e,Ye(r,function(f){return it(f,i)?+f:f}).sort($u)),s});function vw(e,r){var i=[];if(!(e&&e.length))return i;var s=-1,f=[],h=e.length;for(r=ve(r,3);++s<h;){var w=e[s];r(w,s,e)&&(i.push(w),f.push(s))}return ju(e,f),i}function Wn(e){return e==null?e:uy.call(e)}function yw(e,r,i){var s=e==null?0:e.length;return s?(i&&typeof i!="number"&&yr(e,r,i)?(r=0,i=s):(r=r==null?0:ke(r),i=i===a?s:ke(i)),Dr(e,r,i)):[]}function bw(e,r){return Ua(e,r)}function ww(e,r,i){return Sn(e,r,ve(i,2))}function Cw(e,r){var i=e==null?0:e.length;if(i){var s=Ua(e,r);if(s<i&&Wr(e[s],r))return s}return-1}function Aw(e,r){return Ua(e,r,!0)}function Iw(e,r,i){return Sn(e,r,ve(i,2),!0)}function Fw(e,r){if(e!=null&&e.length){var i=Ua(e,r,!0)-1;if(Wr(e[i],r))return i}return-1}function _w(e){return e&&e.length?Mu(e):[]}function Sw(e,r){return e&&e.length?Mu(e,ve(r,2)):[]}function zw(e){var r=e==null?0:e.length;return r?Dr(e,1,r):[]}function Ew(e,r,i){return e&&e.length?(r=i||r===a?1:ke(r),Dr(e,0,r<0?0:r)):[]}function Tw(e,r,i){var s=e==null?0:e.length;return s?(r=i||r===a?1:ke(r),r=s-r,Dr(e,r<0?0:r,s)):[]}function kw(e,r){return e&&e.length?Na(e,ve(r,3),!1,!0):[]}function Rw(e,r){return e&&e.length?Na(e,ve(r,3)):[]}var xw=Re(function(e){return At(fr(e,1,rr,!0))}),Pw=Re(function(e){var r=jr(e);return rr(r)&&(r=a),At(fr(e,1,rr,!0),ve(r,2))}),Lw=Re(function(e){var r=jr(e);return r=typeof r=="function"?r:a,At(fr(e,1,rr,!0),a,r)});function Uw(e){return e&&e.length?At(e):[]}function Nw(e,r){return e&&e.length?At(e,ve(r,2)):[]}function Dw(e,r){return r=typeof r=="function"?r:a,e&&e.length?At(e,a,r):[]}function Gn(e){if(!(e&&e.length))return[];var r=0;return e=ht(e,function(i){if(rr(i))return r=nr(i.length,r),!0}),ln(r,function(i){return Ye(e,on(i))})}function Sc(e,r){if(!(e&&e.length))return[];var i=Gn(e);return r==null?i:Ye(i,function(s){return Sr(r,a,s)})}var jw=Re(function(e,r){return rr(e)?xo(e,r):[]}),Ow=Re(function(e){return En(ht(e,rr))}),Mw=Re(function(e){var r=jr(e);return rr(r)&&(r=a),En(ht(e,rr),ve(r,2))}),Bw=Re(function(e){var r=jr(e);return r=typeof r=="function"?r:a,En(ht(e,rr),a,r)}),qw=Re(Gn);function Ww(e,r){return Gu(e||[],r||[],Ro)}function Gw(e,r){return Gu(e||[],r||[],Uo)}var Hw=Re(function(e){var r=e.length,i=r>1?e[r-1]:a;return i=typeof i=="function"?(e.pop(),i):a,Sc(e,i)});function zc(e){var r=p(e);return r.__chain__=!0,r}function Vw(e,r){return r(e),e}function Ha(e,r){return r(e)}var Kw=at(function(e){var r=e.length,i=r?e[0]:0,s=this.__wrapped__,f=function(h){return gn(h,e)};return r>1||this.__actions__.length||!(s instanceof Le)||!it(i)?this.thru(f):(s=s.slice(i,+i+ +!!r),s.__actions__.push({func:Ha,args:[f],thisArg:a}),new Ur(s,this.__chain__).thru(function(h){return r&&!h.length&&h.push(a),h}))});function $w(){return zc(this)}function Qw(){return new Ur(this.value(),this.__chain__)}function Zw(){this.__values__===a&&(this.__values__=Bc(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?a:this.__values__[this.__index__++]}}function Yw(){return this}function Jw(e){for(var r,i=this;i instanceof ka;){var s=wc(i);s.__index__=0,s.__values__=a,r?f.__wrapped__=s:r=s;var f=s;i=i.__wrapped__}return f.__wrapped__=e,r}function Xw(){var e=this.__wrapped__;if(e instanceof Le){var r=e;return this.__actions__.length&&(r=new Le(this)),r=r.reverse(),r.__actions__.push({func:Ha,args:[Wn],thisArg:a}),new Ur(r,this.__chain__)}return this.thru(Wn)}function eC(){return Wu(this.__wrapped__,this.__actions__)}var rC=Da(function(e,r,i){Me.call(e,i)?++e[i]:Qr(e,i,1)});function tC(e,r,i){var s=Te(e)?tu:Vy;return i&&yr(e,r,i)&&(r=a),s(e,ve(r,3))}function oC(e,r){return(Te(e)?ht:Su)(e,ve(r,3))}var aC=ec(Cc),iC=ec(Ac);function nC(e,r){return fr(Va(e,r),1)}function lC(e,r){return fr(Va(e,r),N)}function sC(e,r,i){return i=i===a?1:ke(i),fr(Va(e,r),i)}function Ec(e,r){return(Te(e)?zr:Ct)(e,ve(r,3))}function Tc(e,r){return(Te(e)?Ev:_u)(e,ve(r,3))}var dC=Da(function(e,r,i){Me.call(e,i)?e[i].push(r):Qr(e,i,[r])});function uC(e,r,i,s){e=Ar(e)?e:mo(e),i=i&&!s?ke(i):0;var f=e.length;return i<0&&(i=nr(f+i,0)),Ya(e)?i<=f&&e.indexOf(r,i)>-1:!!f&&ro(e,r,i)>-1}var cC=Re(function(e,r,i){var s=-1,f=typeof r=="function",h=Ar(e)?T(e.length):[];return Ct(e,function(w){h[++s]=f?Sr(r,w,i):Po(w,r,i)}),h}),fC=Da(function(e,r,i){Qr(e,i,r)});function Va(e,r){return(Te(e)?Ye:xu)(e,ve(r,3))}function mC(e,r,i,s){return e==null?[]:(Te(r)||(r=r==null?[]:[r]),i=s?a:i,Te(i)||(i=i==null?[]:[i]),Nu(e,r,i))}var pC=Da(function(e,r,i){e[+!i].push(r)},function(){return[[],[]]});function gC(e,r,i){var s=Te(e)?rn:nu,f=arguments.length<3;return s(e,ve(r,4),i,f,Ct)}function hC(e,r,i){var s=Te(e)?Tv:nu,f=arguments.length<3;return s(e,ve(r,4),i,f,_u)}function vC(e,r){return(Te(e)?ht:Su)(e,Qa(ve(r,3)))}function yC(e){return(Te(e)?Cu:ub)(e)}function bC(e,r,i){return r=(i?yr(e,r,i):r===a)?1:ke(r),(Te(e)?By:cb)(e,r)}function wC(e){return(Te(e)?qy:mb)(e)}function CC(e){if(e==null)return 0;if(Ar(e))return Ya(e)?oo(e):e.length;var r=gr(e);return r==G||r==he?e.size:Cn(e).length}function AC(e,r,i){var s=Te(e)?tn:pb;return i&&yr(e,r,i)&&(r=a),s(e,ve(r,3))}var IC=Re(function(e,r){if(e==null)return[];var i=r.length;return i>1&&yr(e,r[0],r[1])?r=[]:i>2&&yr(r[0],r[1],r[2])&&(r=[r[0]]),Nu(e,fr(r,1),[])}),Ka=oy||function(){return dr.Date.now()};function FC(e,r){if(typeof r!="function")throw new Lr(n);return e=ke(e),function(){if(--e<1)return r.apply(this,arguments)}}function kc(e,r,i){return r=i?a:r,r=e&&r==null?e.length:r,ot(e,b,a,a,a,a,r)}function Rc(e,r){var i;if(typeof r!="function")throw new Lr(n);return e=ke(e),function(){return--e>0&&(i=r.apply(this,arguments)),e<=1&&(r=a),i}}var Hn=Re(function(e,r,i){var s=u;if(i.length){var f=yt(i,co(Hn));s|=v}return ot(e,s,r,i,f)}),xc=Re(function(e,r,i){var s=u|c;if(i.length){var f=yt(i,co(xc));s|=v}return ot(r,s,e,i,f)});function Pc(e,r,i){r=i?a:r;var s=ot(e,g,a,a,a,a,a,r);return s.placeholder=Pc.placeholder,s}function Lc(e,r,i){r=i?a:r;var s=ot(e,m,a,a,a,a,a,r);return s.placeholder=Lc.placeholder,s}function Uc(e,r,i){var s,f,h,w,C,_,j=0,L=!1,H=!1,te=!0;if(typeof e!="function")throw new Lr(n);r=Or(r)||0,Je(i)&&(L=!!i.leading,H="maxWait"in i,h=H?nr(Or(i.maxWait)||0,r):h,te="trailing"in i?!!i.trailing:te);function le(tr){var Gr=s,st=f;return s=f=a,j=tr,w=e.apply(st,Gr),w}function Ae(tr){return j=tr,C=jo(We,r),L?le(tr):w}function Ee(tr){var Gr=tr-_,st=tr-j,rf=r-Gr;return H?pr(rf,h-st):rf}function Ie(tr){var Gr=tr-_,st=tr-j;return _===a||Gr>=r||Gr<0||H&&st>=h}function We(){var tr=Ka();if(Ie(tr))return Ne(tr);C=jo(We,Ee(tr))}function Ne(tr){return C=a,te&&s?le(tr):(s=f=a,w)}function br(){C!==a&&Hu(C),j=0,s=_=f=C=a}function Jr(){return C===a?w:Ne(Ka())}function St(){var tr=Ka(),Gr=Ie(tr);if(s=arguments,f=this,_=tr,Gr){if(C===a)return Ae(_);if(H)return Hu(C),C=jo(We,r),le(_)}return C===a&&(C=jo(We,r)),w}return St.cancel=br,St.flush=Jr,St}var _C=Re(function(e,r){return Fu(e,1,r)}),SC=Re(function(e,r,i){return Fu(e,Or(r)||0,i)});function zC(e){return ot(e,A)}function $a(e,r){if(typeof e!="function"||r!=null&&typeof r!="function")throw new Lr(n);var i=function(){var s=arguments,f=r?r.apply(this,s):s[0],h=i.cache;if(h.has(f))return h.get(f);var w=e.apply(this,s);return i.cache=h.set(f,w)||h,w};return i.cache=new($a.Cache||tt),i}$a.Cache=tt;function Qa(e){if(typeof e!="function")throw new Lr(n);return function(){var r=arguments;switch(r.length){case 0:return!e.call(this);case 1:return!e.call(this,r[0]);case 2:return!e.call(this,r[0],r[1]);case 3:return!e.call(this,r[0],r[1],r[2])}return!e.apply(this,r)}}function EC(e){return Rc(2,e)}var TC=gb(function(e,r){r=r.length==1&&Te(r[0])?Ye(r[0],Er(ve())):Ye(fr(r,1),Er(ve()));var i=r.length;return Re(function(s){for(var f=-1,h=pr(s.length,i);++f<h;)s[f]=r[f].call(this,s[f]);return Sr(e,this,s)})}),Vn=Re(function(e,r){return ot(e,v,a,r,yt(r,co(Vn)))}),Nc=Re(function(e,r){return ot(e,y,a,r,yt(r,co(Nc)))}),kC=at(function(e,r){return ot(e,S,a,a,a,r)});function RC(e,r){if(typeof e!="function")throw new Lr(n);return r=r===a?r:ke(r),Re(e,r)}function xC(e,r){if(typeof e!="function")throw new Lr(n);return r=r==null?0:nr(ke(r),0),Re(function(i){var s=i[r],f=Ft(i,0,r);return s&&vt(f,s),Sr(e,this,f)})}function PC(e,r,i){var s=!0,f=!0;if(typeof e!="function")throw new Lr(n);return Je(i)&&(s="leading"in i?!!i.leading:s,f="trailing"in i?!!i.trailing:f),Uc(e,r,{leading:s,maxWait:r,trailing:f})}function LC(e){return kc(e,1)}function UC(e,r){return Vn(kn(r),e)}function NC(){if(!arguments.length)return[];var e=arguments[0];return Te(e)?e:[e]}function DC(e){return Nr(e,4)}function jC(e,r){return r=typeof r=="function"?r:a,Nr(e,4,r)}function OC(e){return Nr(e,5)}function MC(e,r){return r=typeof r=="function"?r:a,Nr(e,5,r)}function BC(e,r){return r==null||Iu(e,r,ur(r))}function Wr(e,r){return e===r||e!==e&&r!==r}var qC=Ba(yn),WC=Ba(function(e,r){return e>=r}),Gt=Tu((function(){return arguments})())?Tu:function(e){return Xe(e)&&Me.call(e,"callee")&&!gu.call(e,"callee")},Te=T.isArray,GC=Zd?Er(Zd):Jy;function Ar(e){return e!=null&&Za(e.length)&&!nt(e)}function rr(e){return Xe(e)&&Ar(e)}function HC(e){return e===!0||e===!1||Xe(e)&&vr(e)==de}var _t=iy||al,VC=Yd?Er(Yd):Xy;function KC(e){return Xe(e)&&e.nodeType===1&&!Oo(e)}function $C(e){if(e==null)return!0;if(Ar(e)&&(Te(e)||typeof e=="string"||typeof e.splice=="function"||_t(e)||fo(e)||Gt(e)))return!e.length;var r=gr(e);if(r==G||r==he)return!e.size;if(Do(e))return!Cn(e).length;for(var i in e)if(Me.call(e,i))return!1;return!0}function QC(e,r){return Lo(e,r)}function ZC(e,r,i){i=typeof i=="function"?i:a;var s=i?i(e,r):a;return s===a?Lo(e,r,a,i):!!s}function Kn(e){if(!Xe(e))return!1;var r=vr(e);return r==B||r==fe||typeof e.message=="string"&&typeof e.name=="string"&&!Oo(e)}function YC(e){return typeof e=="number"&&vu(e)}function nt(e){if(!Je(e))return!1;var r=vr(e);return r==V||r==$||r==U||r==ne}function Dc(e){return typeof e=="number"&&e==ke(e)}function Za(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=x}function Je(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}function Xe(e){return typeof e=="object"&&!!e}var jc=Jd?Er(Jd):rb;function JC(e,r){return e===r||wn(e,r,Dn(r))}function XC(e,r,i){return i=typeof i=="function"?i:a,wn(e,r,Dn(r),i)}function eA(e){return Oc(e)&&e!=+e}function rA(e){if(jb(e))throw new ze("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return ku(e)}function tA(e){return e===null}function oA(e){return e==null}function Oc(e){return typeof e=="number"||Xe(e)&&vr(e)==ue}function Oo(e){if(!Xe(e)||vr(e)!=ae)return!1;var r=Ia(e);if(r===null)return!0;var i=Me.call(r,"constructor")&&r.constructor;return typeof i=="function"&&i instanceof i&&ba.call(i)==Xv}var $n=Xd?Er(Xd):tb;function aA(e){return Dc(e)&&e>=-x&&e<=x}var Mc=eu?Er(eu):ob;function Ya(e){return typeof e=="string"||!Te(e)&&Xe(e)&&vr(e)==z}function kr(e){return typeof e=="symbol"||Xe(e)&&vr(e)==q}var fo=ru?Er(ru):ab;function iA(e){return e===a}function nA(e){return Xe(e)&&gr(e)==K}function lA(e){return Xe(e)&&vr(e)==J}var sA=Ba(An),dA=Ba(function(e,r){return e<=r});function Bc(e){if(!e)return[];if(Ar(e))return Ya(e)?Mr(e):Cr(e);if(So&&e[So])return qv(e[So]());var r=gr(e);return(r==G?dn:r==he?ha:mo)(e)}function lt(e){return e?(e=Or(e),e===N||e===-1/0?(e<0?-1:1)*Y:e===e?e:0):e===0?e:0}function ke(e){var r=lt(e),i=r%1;return r===r?i?r-i:r:0}function qc(e){return e?Mt(ke(e),0,R):0}function Or(e){if(typeof e=="number")return e;if(kr(e))return k;if(Je(e)){var r=typeof e.valueOf=="function"?e.valueOf():e;e=Je(r)?r+"":r}if(typeof e!="string")return e===0?e:+e;e=lu(e);var i=$h.test(e);return i||Zh.test(e)?_v(e.slice(2),i?2:8):Kh.test(e)?k:+e}function Wc(e){return Yr(e,Ir(e))}function uA(e){return e?Mt(ke(e),-x,x):e===0?e:0}function Be(e){return e==null?"":Tr(e)}var cA=so(function(e,r){if(Do(r)||Ar(r)){Yr(r,ur(r),e);return}for(var i in r)Me.call(r,i)&&Ro(e,i,r[i])}),Gc=so(function(e,r){Yr(r,Ir(r),e)}),Hc=so(function(e,r,i,s){Yr(r,Ir(r),e,s)}),Qn=so(function(e,r,i,s){Yr(r,ur(r),e,s)}),fA=at(gn);function mA(e,r){var i=lo(e);return r==null?i:Au(i,r)}var pA=Re(function(e,r){e=qe(e);var i=-1,s=r.length,f=s>2?r[2]:a;for(f&&yr(r[0],r[1],f)&&(s=1);++i<s;)for(var h=r[i],w=Ir(h),C=-1,_=w.length;++C<_;){var j=w[C],L=e[j];(L===a||Wr(L,ao[j])&&!Me.call(e,j))&&(e[j]=h[j])}return e}),gA=Re(function(e){return e.push(a,lc),Sr(Vc,a,e)});function hA(e,r){return ou(e,ve(r,3),Zr)}function vA(e,r){return ou(e,ve(r,3),vn)}function yA(e,r){return e==null?e:hn(e,ve(r,3),Ir)}function bA(e,r){return e==null?e:zu(e,ve(r,3),Ir)}function wA(e,r){return e&&Zr(e,ve(r,3))}function CA(e,r){return e&&vn(e,ve(r,3))}function AA(e){return e==null?[]:Pa(e,ur(e))}function IA(e){return e==null?[]:Pa(e,Ir(e))}function Zn(e,r,i){var s=e==null?a:Bt(e,r);return s===a?i:s}function FA(e,r){return e!=null&&uc(e,r,$y)}function Yn(e,r){return e!=null&&uc(e,r,Qy)}var _A=tc(function(e,r,i){r!=null&&typeof r.toString!="function"&&(r=wa.call(r)),e[r]=i},Xn(Fr)),SA=tc(function(e,r,i){r!=null&&typeof r.toString!="function"&&(r=wa.call(r)),Me.call(e,r)?e[r].push(i):e[r]=[i]},ve),zA=Re(Po);function ur(e){return Ar(e)?wu(e):Cn(e)}function Ir(e){return Ar(e)?wu(e,!0):ib(e)}function EA(e,r){var i={};return r=ve(r,3),Zr(e,function(s,f,h){Qr(i,r(s,f,h),s)}),i}function TA(e,r){var i={};return r=ve(r,3),Zr(e,function(s,f,h){Qr(i,f,r(s,f,h))}),i}var kA=so(function(e,r,i){La(e,r,i)}),Vc=so(function(e,r,i,s){La(e,r,i,s)}),RA=at(function(e,r){var i={};if(e==null)return i;var s=!1;r=Ye(r,function(h){return h=It(h,e),s||=h.length>1,h}),Yr(e,Un(e),i),s&&(i=Nr(i,7,Sb));for(var f=r.length;f--;)zn(i,r[f]);return i});function xA(e,r){return Kc(e,Qa(ve(r)))}var PA=at(function(e,r){return e==null?{}:lb(e,r)});function Kc(e,r){if(e==null)return{};var i=Ye(Un(e),function(s){return[s]});return r=ve(r),Du(e,i,function(s,f){return r(s,f[0])})}function LA(e,r,i){r=It(r,e);var s=-1,f=r.length;for(f||(f=1,e=a);++s<f;){var h=e==null?a:e[qr(r[s])];h===a&&(s=f,h=i),e=nt(h)?h.call(e):h}return e}function UA(e,r,i){return e==null?e:Uo(e,r,i)}function NA(e,r,i,s){return s=typeof s=="function"?s:a,e==null?e:Uo(e,r,i,s)}var $c=ic(ur),Qc=ic(Ir);function DA(e,r,i){var s=Te(e),f=s||_t(e)||fo(e);if(r=ve(r,4),i==null){var h=e&&e.constructor;i=f?s?new h:[]:Je(e)&&nt(h)?lo(Ia(e)):{}}return(f?zr:Zr)(e,function(w,C,_){return r(i,w,C,_)}),i}function jA(e,r){return e==null||zn(e,r)}function OA(e,r,i){return e==null?e:qu(e,r,kn(i))}function MA(e,r,i,s){return s=typeof s=="function"?s:a,e==null?e:qu(e,r,kn(i),s)}function mo(e){return e==null?[]:sn(e,ur(e))}function BA(e){return e==null?[]:sn(e,Ir(e))}function qA(e,r,i){return i===a&&(i=r,r=a),i!==a&&(i=Or(i),i=i===i?i:0),r!==a&&(r=Or(r),r=r===r?r:0),Mt(Or(e),r,i)}function WA(e,r,i){return r=lt(r),i===a?(i=r,r=0):i=lt(i),e=Or(e),Zy(e,r,i)}function GA(e,r,i){if(i&&typeof i!="boolean"&&yr(e,r,i)&&(r=i=a),i===a&&(typeof r=="boolean"?(i=r,r=a):typeof e=="boolean"&&(i=e,e=a)),e===a&&r===a?(e=0,r=1):(e=lt(e),r===a?(r=e,e=0):r=lt(r)),e>r){var s=e;e=r,r=s}if(i||e%1||r%1){var f=yu();return pr(e+f*(r-e+Fv("1e-"+((f+"").length-1))),r)}return Fn(e,r)}var HA=uo(function(e,r,i){return r=r.toLowerCase(),e+(i?Zc(r):r)});function Zc(e){return Jn(Be(e).toLowerCase())}function Yc(e){return e=Be(e),e&&e.replace(Jh,Dv).replace(pv,"")}function VA(e,r,i){e=Be(e),r=Tr(r);var s=e.length;i=i===a?s:Mt(ke(i),0,s);var f=i;return i-=r.length,i>=0&&e.slice(i,f)==r}function KA(e){return e=Be(e),e&&Lt.test(e)?e.replace(gt,jv):e}function $A(e){return e=Be(e),e&&De.test(e)?e.replace(we,"\\$&"):e}var QA=uo(function(e,r,i){return e+(i?"-":"")+r.toLowerCase()}),ZA=uo(function(e,r,i){return e+(i?" ":"")+r.toLowerCase()}),YA=Xu("toLowerCase");function JA(e,r,i){e=Be(e),r=ke(r);var s=r?oo(e):0;if(!r||s>=r)return e;var f=(r-s)/2;return Ma(za(f),i)+e+Ma(Sa(f),i)}function XA(e,r,i){e=Be(e),r=ke(r);var s=r?oo(e):0;return r&&s<r?e+Ma(r-s,i):e}function eI(e,r,i){e=Be(e),r=ke(r);var s=r?oo(e):0;return r&&s<r?Ma(r-s,i)+e:e}function rI(e,r,i){return i||r==null?r=0:r&&=+r,dy(Be(e).replace(Ze,""),r||0)}function tI(e,r,i){return r=(i?yr(e,r,i):r===a)?1:ke(r),_n(Be(e),r)}function oI(){var e=arguments,r=Be(e[0]);return e.length<3?r:r.replace(e[1],e[2])}var aI=uo(function(e,r,i){return e+(i?"_":"")+r.toLowerCase()});function iI(e,r,i){return i&&typeof i!="number"&&yr(e,r,i)&&(r=i=a),i=i===a?R:i>>>0,i?(e=Be(e),e&&(typeof r=="string"||r!=null&&!$n(r))&&(r=Tr(r),!r&&to(e))?Ft(Mr(e),0,i):e.split(r,i)):[]}var nI=uo(function(e,r,i){return e+(i?" ":"")+Jn(r)});function lI(e,r,i){return e=Be(e),i=i==null?0:Mt(ke(i),0,e.length),r=Tr(r),e.slice(i,i+r.length)==r}function sI(e,r,i){var s=p.templateSettings;i&&yr(e,r,i)&&(r=a),e=Be(e),r=Qn({},r,s,nc);var f=Qn({},r.imports,s.imports,nc),h=ur(f),w=sn(f,h);zr(h,function(Ie){if(ua.test(Ie))throw new ze("Invalid `imports` option passed into `_.template`")});var C,_,j=0,L=r.interpolate||ca,H="__p += '",te=un((r.escape||ca).source+"|"+L.source+"|"+(L===re?Vi:ca).source+"|"+(r.evaluate||ca).source+"|$","g"),le="//# sourceURL="+(Me.call(r,"sourceURL")?(r.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++bv+"]")+`
|
|
77
|
+
`;e.replace(te,function(Ie,We,Ne,br,Jr,St){return Ne||=br,H+=e.slice(j,St).replace(Xh,Ov),We&&(C=!0,H+=`' +
|
|
78
|
+
__e(`+We+`) +
|
|
79
|
+
'`),Jr&&(_=!0,H+=`';
|
|
80
|
+
`+Jr+`;
|
|
81
|
+
__p += '`),Ne&&(H+=`' +
|
|
82
|
+
((__t = (`+Ne+`)) == null ? '' : __t) +
|
|
83
|
+
'`),j=St+Ie.length,Ie}),H+=`';
|
|
84
|
+
`;var Ae=Me.call(r,"variable")&&r.variable;if(!Ae)H=`with (obj) {
|
|
85
|
+
`+H+`
|
|
86
|
+
}
|
|
87
|
+
`;else if(ua.test(Ae))throw new ze("Invalid `variable` option passed into `_.template`");H=(_?H.replace(Ke,""):H).replace(cr,"$1").replace(or,"$1;"),H="function("+(Ae||"obj")+`) {
|
|
88
|
+
`+(Ae?"":`obj || (obj = {});
|
|
89
|
+
`)+"var __t, __p = ''"+(C?", __e = _.escape":"")+(_?`, __j = Array.prototype.join;
|
|
90
|
+
function print() { __p += __j.call(arguments, '') }
|
|
91
|
+
`:`;
|
|
92
|
+
`)+H+`return __p
|
|
93
|
+
}`;var Ee=Xc(function(){return Oe(h,le+"return "+H).apply(a,w)});if(Ee.source=H,Kn(Ee))throw Ee;return Ee}function dI(e){return Be(e).toLowerCase()}function uI(e){return Be(e).toUpperCase()}function cI(e,r,i){if(e=Be(e),e&&(i||r===a))return lu(e);if(!e||!(r=Tr(r)))return e;var s=Mr(e),f=Mr(r);return Ft(s,su(s,f),du(s,f)+1).join("")}function fI(e,r,i){if(e=Be(e),e&&(i||r===a))return e.slice(0,cu(e)+1);if(!e||!(r=Tr(r)))return e;var s=Mr(e);return Ft(s,0,du(s,Mr(r))+1).join("")}function mI(e,r,i){if(e=Be(e),e&&(i||r===a))return e.replace(Ze,"");if(!e||!(r=Tr(r)))return e;var s=Mr(e);return Ft(s,su(s,Mr(r))).join("")}function pI(e,r){var i=30,s="...";if(Je(r)){var f="separator"in r?r.separator:f;i="length"in r?ke(r.length):i,s="omission"in r?Tr(r.omission):s}e=Be(e);var h=e.length;if(to(e)){var w=Mr(e);h=w.length}if(i>=h)return e;var C=i-oo(s);if(C<1)return s;var _=w?Ft(w,0,C).join(""):e.slice(0,C);if(f===a)return _+s;if(w&&(C+=_.length-C),$n(f)){if(e.slice(C).search(f)){var j,L=_;for(f.global||(f=un(f.source,Be(Td.exec(f))+"g")),f.lastIndex=0;j=f.exec(L);)var H=j.index;_=_.slice(0,H===a?C:H)}}else if(e.indexOf(Tr(f),C)!=C){var te=_.lastIndexOf(f);te>-1&&(_=_.slice(0,te))}return _+s}function gI(e){return e=Be(e),e&&Xt.test(e)?e.replace(Jt,Vv):e}var hI=uo(function(e,r,i){return e+(i?" ":"")+r.toUpperCase()}),Jn=Xu("toUpperCase");function Jc(e,r,i){return e=Be(e),r=i?a:r,r===a?Bv(e)?Qv(e):xv(e):e.match(r)||[]}var Xc=Re(function(e,r){try{return Sr(e,a,r)}catch(i){return Kn(i)?i:new ze(i)}}),vI=at(function(e,r){return zr(r,function(i){i=qr(i),Qr(e,i,Hn(e[i],e))}),e});function yI(e){var r=e==null?0:e.length,i=ve();return e=r?Ye(e,function(s){if(typeof s[1]!="function")throw new Lr(n);return[i(s[0]),s[1]]}):[],Re(function(s){for(var f=-1;++f<r;){var h=e[f];if(Sr(h[0],this,s))return Sr(h[1],this,s)}})}function bI(e){return Hy(Nr(e,1))}function Xn(e){return function(){return e}}function wI(e,r){return e==null||e!==e?r:e}var CI=rc(),AI=rc(!0);function Fr(e){return e}function el(e){return Ru(typeof e=="function"?e:Nr(e,1))}function II(e){return Pu(Nr(e,1))}function FI(e,r){return Lu(e,Nr(r,1))}var _I=Re(function(e,r){return function(i){return Po(i,e,r)}}),SI=Re(function(e,r){return function(i){return Po(e,i,r)}});function rl(e,r,i){var s=ur(r),f=Pa(r,s);i==null&&(!Je(r)||!f.length&&s.length)&&(i=r,r=e,e=this,f=Pa(r,ur(r)));var h=!(Je(i)&&"chain"in i)||!!i.chain,w=nt(e);return zr(f,function(C){var _=r[C];e[C]=_,w&&(e.prototype[C]=function(){var j=this.__chain__;if(h||j){var L=e(this.__wrapped__);return(L.__actions__=Cr(this.__actions__)).push({func:_,args:arguments,thisArg:e}),L.__chain__=j,L}return _.apply(e,vt([this.value()],arguments))})}),e}function zI(){return dr._===this&&(dr._=ey),this}function tl(){}function EI(e){return e=ke(e),Re(function(r){return Uu(r,e)})}var TI=xn(Ye),kI=xn(tu),RI=xn(tn);function ef(e){return On(e)?on(qr(e)):sb(e)}function xI(e){return function(r){return e==null?a:Bt(e,r)}}var PI=oc(),LI=oc(!0);function ol(){return[]}function al(){return!1}function UI(){return{}}function NI(){return""}function DI(){return!0}function jI(e,r){if(e=ke(e),e<1||e>x)return[];var i=R,s=pr(e,R);r=ve(r),e-=R;for(var f=ln(s,r);++i<e;)r(i);return f}function OI(e){return Te(e)?Ye(e,qr):kr(e)?[e]:Cr(bc(Be(e)))}function MI(e){var r=++Jv;return Be(e)+r}var BI=Oa(function(e,r){return e+r},0),qI=Pn("ceil"),WI=Oa(function(e,r){return e/r},1),GI=Pn("floor");function HI(e){return e&&e.length?xa(e,Fr,yn):a}function VI(e,r){return e&&e.length?xa(e,ve(r,2),yn):a}function KI(e){return iu(e,Fr)}function $I(e,r){return iu(e,ve(r,2))}function QI(e){return e&&e.length?xa(e,Fr,An):a}function ZI(e,r){return e&&e.length?xa(e,ve(r,2),An):a}var YI=Oa(function(e,r){return e*r},1),JI=Pn("round"),XI=Oa(function(e,r){return e-r},0);function eF(e){return e&&e.length?nn(e,Fr):0}function rF(e,r){return e&&e.length?nn(e,ve(r,2)):0}return p.after=FC,p.ary=kc,p.assign=cA,p.assignIn=Gc,p.assignInWith=Hc,p.assignWith=Qn,p.at=fA,p.before=Rc,p.bind=Hn,p.bindAll=vI,p.bindKey=xc,p.castArray=NC,p.chain=zc,p.chunk=Hb,p.compact=Vb,p.concat=Kb,p.cond=yI,p.conforms=bI,p.constant=Xn,p.countBy=rC,p.create=mA,p.curry=Pc,p.curryRight=Lc,p.debounce=Uc,p.defaults=pA,p.defaultsDeep=gA,p.defer=_C,p.delay=SC,p.difference=$b,p.differenceBy=Qb,p.differenceWith=Zb,p.drop=Yb,p.dropRight=Jb,p.dropRightWhile=Xb,p.dropWhile=ew,p.fill=rw,p.filter=oC,p.flatMap=nC,p.flatMapDeep=lC,p.flatMapDepth=sC,p.flatten=Ic,p.flattenDeep=tw,p.flattenDepth=ow,p.flip=zC,p.flow=CI,p.flowRight=AI,p.fromPairs=aw,p.functions=AA,p.functionsIn=IA,p.groupBy=dC,p.initial=nw,p.intersection=lw,p.intersectionBy=sw,p.intersectionWith=dw,p.invert=_A,p.invertBy=SA,p.invokeMap=cC,p.iteratee=el,p.keyBy=fC,p.keys=ur,p.keysIn=Ir,p.map=Va,p.mapKeys=EA,p.mapValues=TA,p.matches=II,p.matchesProperty=FI,p.memoize=$a,p.merge=kA,p.mergeWith=Vc,p.method=_I,p.methodOf=SI,p.mixin=rl,p.negate=Qa,p.nthArg=EI,p.omit=RA,p.omitBy=xA,p.once=EC,p.orderBy=mC,p.over=TI,p.overArgs=TC,p.overEvery=kI,p.overSome=RI,p.partial=Vn,p.partialRight=Nc,p.partition=pC,p.pick=PA,p.pickBy=Kc,p.property=ef,p.propertyOf=xI,p.pull=mw,p.pullAll=_c,p.pullAllBy=pw,p.pullAllWith=gw,p.pullAt=hw,p.range=PI,p.rangeRight=LI,p.rearg=kC,p.reject=vC,p.remove=vw,p.rest=RC,p.reverse=Wn,p.sampleSize=bC,p.set=UA,p.setWith=NA,p.shuffle=wC,p.slice=yw,p.sortBy=IC,p.sortedUniq=_w,p.sortedUniqBy=Sw,p.split=iI,p.spread=xC,p.tail=zw,p.take=Ew,p.takeRight=Tw,p.takeRightWhile=kw,p.takeWhile=Rw,p.tap=Vw,p.throttle=PC,p.thru=Ha,p.toArray=Bc,p.toPairs=$c,p.toPairsIn=Qc,p.toPath=OI,p.toPlainObject=Wc,p.transform=DA,p.unary=LC,p.union=xw,p.unionBy=Pw,p.unionWith=Lw,p.uniq=Uw,p.uniqBy=Nw,p.uniqWith=Dw,p.unset=jA,p.unzip=Gn,p.unzipWith=Sc,p.update=OA,p.updateWith=MA,p.values=mo,p.valuesIn=BA,p.without=jw,p.words=Jc,p.wrap=UC,p.xor=Ow,p.xorBy=Mw,p.xorWith=Bw,p.zip=qw,p.zipObject=Ww,p.zipObjectDeep=Gw,p.zipWith=Hw,p.entries=$c,p.entriesIn=Qc,p.extend=Gc,p.extendWith=Hc,rl(p,p),p.add=BI,p.attempt=Xc,p.camelCase=HA,p.capitalize=Zc,p.ceil=qI,p.clamp=qA,p.clone=DC,p.cloneDeep=OC,p.cloneDeepWith=MC,p.cloneWith=jC,p.conformsTo=BC,p.deburr=Yc,p.defaultTo=wI,p.divide=WI,p.endsWith=VA,p.eq=Wr,p.escape=KA,p.escapeRegExp=$A,p.every=tC,p.find=aC,p.findIndex=Cc,p.findKey=hA,p.findLast=iC,p.findLastIndex=Ac,p.findLastKey=vA,p.floor=GI,p.forEach=Ec,p.forEachRight=Tc,p.forIn=yA,p.forInRight=bA,p.forOwn=wA,p.forOwnRight=CA,p.get=Zn,p.gt=qC,p.gte=WC,p.has=FA,p.hasIn=Yn,p.head=Fc,p.identity=Fr,p.includes=uC,p.indexOf=iw,p.inRange=WA,p.invoke=zA,p.isArguments=Gt,p.isArray=Te,p.isArrayBuffer=GC,p.isArrayLike=Ar,p.isArrayLikeObject=rr,p.isBoolean=HC,p.isBuffer=_t,p.isDate=VC,p.isElement=KC,p.isEmpty=$C,p.isEqual=QC,p.isEqualWith=ZC,p.isError=Kn,p.isFinite=YC,p.isFunction=nt,p.isInteger=Dc,p.isLength=Za,p.isMap=jc,p.isMatch=JC,p.isMatchWith=XC,p.isNaN=eA,p.isNative=rA,p.isNil=oA,p.isNull=tA,p.isNumber=Oc,p.isObject=Je,p.isObjectLike=Xe,p.isPlainObject=Oo,p.isRegExp=$n,p.isSafeInteger=aA,p.isSet=Mc,p.isString=Ya,p.isSymbol=kr,p.isTypedArray=fo,p.isUndefined=iA,p.isWeakMap=nA,p.isWeakSet=lA,p.join=uw,p.kebabCase=QA,p.last=jr,p.lastIndexOf=cw,p.lowerCase=ZA,p.lowerFirst=YA,p.lt=sA,p.lte=dA,p.max=HI,p.maxBy=VI,p.mean=KI,p.meanBy=$I,p.min=QI,p.minBy=ZI,p.stubArray=ol,p.stubFalse=al,p.stubObject=UI,p.stubString=NI,p.stubTrue=DI,p.multiply=YI,p.nth=fw,p.noConflict=zI,p.noop=tl,p.now=Ka,p.pad=JA,p.padEnd=XA,p.padStart=eI,p.parseInt=rI,p.random=GA,p.reduce=gC,p.reduceRight=hC,p.repeat=tI,p.replace=oI,p.result=LA,p.round=JI,p.runInContext=I,p.sample=yC,p.size=CC,p.snakeCase=aI,p.some=AC,p.sortedIndex=bw,p.sortedIndexBy=ww,p.sortedIndexOf=Cw,p.sortedLastIndex=Aw,p.sortedLastIndexBy=Iw,p.sortedLastIndexOf=Fw,p.startCase=nI,p.startsWith=lI,p.subtract=XI,p.sum=eF,p.sumBy=rF,p.template=sI,p.times=jI,p.toFinite=lt,p.toInteger=ke,p.toLength=qc,p.toLower=dI,p.toNumber=Or,p.toSafeInteger=uA,p.toString=Be,p.toUpper=uI,p.trim=cI,p.trimEnd=fI,p.trimStart=mI,p.truncate=pI,p.unescape=gI,p.uniqueId=MI,p.upperCase=hI,p.upperFirst=Jn,p.each=Ec,p.eachRight=Tc,p.first=Fc,rl(p,(function(){var e={};return Zr(p,function(r,i){Me.call(p.prototype,i)||(e[i]=r)}),e})(),{chain:!1}),p.VERSION="4.18.1",zr(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){p[e].placeholder=p}),zr(["drop","take"],function(e,r){Le.prototype[e]=function(i){i=i===a?1:nr(ke(i),0);var s=this.__filtered__&&!r?new Le(this):this.clone();return s.__filtered__?s.__takeCount__=pr(i,s.__takeCount__):s.__views__.push({size:pr(i,R),type:e+(s.__dir__<0?"Right":"")}),s},Le.prototype[e+"Right"]=function(i){return this.reverse()[e](i).reverse()}}),zr(["filter","map","takeWhile"],function(e,r){var i=r+1,s=i==1||i==3;Le.prototype[e]=function(f){var h=this.clone();return h.__iteratees__.push({iteratee:ve(f,3),type:i}),h.__filtered__=h.__filtered__||s,h}}),zr(["head","last"],function(e,r){var i="take"+(r?"Right":"");Le.prototype[e]=function(){return this[i](1).value()[0]}}),zr(["initial","tail"],function(e,r){var i="drop"+(r?"":"Right");Le.prototype[e]=function(){return this.__filtered__?new Le(this):this[i](1)}}),Le.prototype.compact=function(){return this.filter(Fr)},Le.prototype.find=function(e){return this.filter(e).head()},Le.prototype.findLast=function(e){return this.reverse().find(e)},Le.prototype.invokeMap=Re(function(e,r){return typeof e=="function"?new Le(this):this.map(function(i){return Po(i,e,r)})}),Le.prototype.reject=function(e){return this.filter(Qa(ve(e)))},Le.prototype.slice=function(e,r){e=ke(e);var i=this;return i.__filtered__&&(e>0||r<0)?new Le(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),r!==a&&(r=ke(r),i=r<0?i.dropRight(-r):i.take(r-e)),i)},Le.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Le.prototype.toArray=function(){return this.take(R)},Zr(Le.prototype,function(e,r){var i=/^(?:filter|find|map|reject)|While$/.test(r),s=/^(?:head|last)$/.test(r),f=p[s?"take"+(r=="last"?"Right":""):r],h=s||/^find/.test(r);f&&(p.prototype[r]=function(){var w=this.__wrapped__,C=s?[1]:arguments,_=w instanceof Le,j=C[0],L=_||Te(w),H=function(We){var Ne=f.apply(p,vt([We],C));return s&&te?Ne[0]:Ne};L&&i&&typeof j=="function"&&j.length!=1&&(_=L=!1);var te=this.__chain__,le=!!this.__actions__.length,Ae=h&&!te,Ee=_&&!le;if(!h&&L){w=Ee?w:new Le(this);var Ie=e.apply(w,C);return Ie.__actions__.push({func:Ha,args:[H],thisArg:a}),new Ur(Ie,te)}return Ae&&Ee?e.apply(this,C):(Ie=this.thru(H),Ae?s?Ie.value()[0]:Ie.value():Ie)})}),zr(["pop","push","shift","sort","splice","unshift"],function(e){var r=va[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",s=/^(?:pop|shift)$/.test(e);p.prototype[e]=function(){var f=arguments;if(s&&!this.__chain__){var h=this.value();return r.apply(Te(h)?h:[],f)}return this[i](function(w){return r.apply(Te(w)?w:[],f)})}}),Zr(Le.prototype,function(e,r){var i=p[r];if(i){var s=i.name+"";Me.call(no,s)||(no[s]=[]),no[s].push({name:r,func:i})}}),no[ja(a,c).name]=[{name:"wrapper",func:a}],Le.prototype.clone=hy,Le.prototype.reverse=vy,Le.prototype.value=yy,p.prototype.at=Kw,p.prototype.chain=$w,p.prototype.commit=Qw,p.prototype.next=Zw,p.prototype.plant=Jw,p.prototype.reverse=Xw,p.prototype.toJSON=p.prototype.valueOf=p.prototype.value=eC,p.prototype.first=p.prototype.head,So&&(p.prototype[So]=Yw),p})();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(dr._=bt,define(function(){return bt})):Nt?((Nt.exports=bt)._=bt,Ji._=bt):dr._=bt}).call(o)})),Up=o=>!o||o==="root"||o==="folders"||o==="null"||o===null,Np=o=>o.parentId===null||o.parentId==="null"||!o.parentId,Dp=(o,t)=>{let a=Array.isArray(o)?o:[];return Up(t.folderId)?a.filter(Np):a.filter(n=>n.parentId===t.folderId)},jp=async(o,t,a)=>{if(t?.itemType==="file")return o;let n=[];if(a){let c=await a({parentId:t.folderId});n=Array.isArray(c)?c:[]}else return o;let l=Dp(n,t);if(t?.search?.trim()){let c=t.search.trim().toLowerCase();l=l.filter(g=>g.name?.toLowerCase().includes(c))}if(l.length===0)return o;let d=l.map(c=>({id:c.id,name:c.name,size:void 0,date:"-",isFolder:!0,folderId:c.parentId||"",type:"",selected:!1,extension:"",childCount:c.childCount}));if(t?.itemType==="folder")return d;let u=o.filter(c=>!c.isFolder);return[...d,...u]},Op=ed(),rd=o=>{let{state:t,actions:a,options:n}=ar(),{searchTerm:l,sortBy:d,sortOrder:u,selectedFolder:c,pagination:g,pathHistory:m}=t,{setSearchTerm:v,setSortBy:y,setSortOrder:b,setPagination:S}=a,A=o||a.fetchFiles,N=(0,F.useRef)(null),x=(0,F.useRef)((0,Op.debounce)(D=>{let W=JSON.stringify(D);N.current!==W&&(N.current=W,A?.(D))},150)).current,Y=(0,F.useCallback)(()=>{let D=c||"";if(D)return[...Array.isArray(m)?m:[]].reverse().find(W=>W.id===D)?.name},[c,m]),k=(0,F.useCallback)(()=>{let D=n?.config?.disablePagination;return{folderId:c||"",folderName:Y(),search:l?.trim()||void 0,page:D?void 0:g.current,limit:D?void 0:g.pageSize,sortBy:d,sortOrder:u,itemType:"all"}},[c,Y,l,g.current,g.pageSize,d,u,n?.config?.disablePagination]),R=(0,F.useCallback)(D=>{if(v&&v(D),S&&S({current:1,pageSize:g.pageSize,total:0}),A){let W={folderId:c||"",folderName:Y(),search:D?.trim()||void 0,page:n?.config?.disablePagination?void 0:1,limit:n?.config?.disablePagination?void 0:g.pageSize,sortBy:d,sortOrder:u,itemType:"all"};A(W)}},[v,S,g.pageSize,A,c,Y,d,u,n?.config?.disablePagination]),E=(0,F.useCallback)((D,W)=>{y?.(D),b?.(W),A&&x({folderId:c||"",folderName:Y(),search:l?.trim()||void 0,page:n?.config?.disablePagination?void 0:g.current,limit:n?.config?.disablePagination?void 0:g.pageSize,sortBy:D,sortOrder:W,itemType:"all"})},[y,b,x,c,Y,l,g.current,g.pageSize,n?.config?.disablePagination]),M=(0,F.useCallback)((D,W)=>{n?.config?.disablePagination||(S&&S({current:D,pageSize:W||g.pageSize,total:g.total}),A&&x({folderId:c||"",folderName:Y(),search:l?.trim()||void 0,page:D,limit:W||g.pageSize,sortBy:d,sortOrder:u,itemType:"all"}))},[S,g.pageSize,g.total,x,c,Y,l,d,u,n?.config?.disablePagination]);return(0,F.useEffect)(()=>{if(A){let D=k();x({...D,page:1})}},[c]),(0,F.useEffect)(()=>{A&&x(k())},[]),(0,F.useEffect)(()=>()=>{x.cancel?.()},[x]),{state:{searchTerm:l||"",sortBy:d||"name",sortOrder:u||"asc"},actions:{setSearchTerm:v||(()=>{}),setSortBy:y||(()=>{}),setSortOrder:b||(()=>{}),handleSearch:R,handleSort:E,handlePaginationChange:M,getCurrentQueryParams:k}}},td=new Map;function Mp(o){if(o==null)return"";try{return JSON.stringify(o,Object.keys(o).sort())}catch{return String(o)}}function od(o){let t="id"in o&&o.id!==void 0?String(o.id):"unknown",a="data"in o?o.data:void 0;return`${o.type}:${t}:${Mp(a)}`}function Bp(o,t){if(t<=0)return;let a=od(o),n=Date.now(),l=td.get(a);l!==void 0&&n-l<t&&(o.visibility=!1)}function qp(o,t){t<=0||td.set(od(o),Date.now())}var Wp=12e3,Rr=()=>{let{notification:o}=Hr.antd$App.useApp(),{options:t}=ar(),a=(0,F.useCallback)(async l=>{let d;if(t.handleNotify){try{d=await t.handleNotify(l)}catch{}if(d===!1)return!1;typeof d=="object"&&d&&(l=d)}if(l.type==="error"&&t.handleError){try{d=await t.handleError(l)}catch{}if(d===!1)return!1;typeof d=="object"&&d&&(l=d)}if(l.type==="success"&&t.handleSuccess){try{d=await t.handleSuccess(l)}catch{}if(d)return!1}return d},[t]),n=(0,F.useCallback)(async function(l,d=!1){try{l.visibility===void 0&&(l.visibility=!d);let u=await a(l);typeof u=="object"&&(l=u);let c=t.config?.notificationDedupeTtlMs??Wp,g=l.type==="error"&&l.notificationDedupe===!0;if(g&&Bp(l,c),l.visibility===!1||u===!1||t.config?.showNotifications===!1)return l;let m=o[l.type];if(typeof m=="function"){let{message:v,btn:y,...b}=l;m({...b,title:b.title??v,...y===void 0?{}:{actions:y}}),g&&qp(l,c)}}catch{}return l},[o,a,t.config?.notificationDedupeTtlMs,t.config?.showNotifications]);return(0,F.useMemo)(()=>({error(l,d=!1){return n({...l,type:"error"},d)},success(l,d=!1){return n({...l,type:"success"},d)},warning(l,d=!1){return n({...l,type:"warning"},d)},notify:n}),[n])},Gp=()=>Hr.antd$App.useApp().message,Hp="a-z A-Z 0-9 . _ -",Vp={FileNotFound:"File not found or no longer available.",FileAlreadyExists:"File with this name already exists.",FileInvalidName:"File name is not valid. Allowed characters: {{allowedChars}}",FileAccessDenied:"You don't have permission to access this file.",FileReadError:"Failed to read the file.",FileWriteError:"Failed to write the file.",FileTooLarge:"File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.",FileTypeNotAllowed:"This file type is not allowed.",FileCorrupted:"The file appears to be corrupted.",FileChecksumMismatch:"File integrity check failed.",FileStorageQuotaExceeded:"Storage quota exceeded. Please free up space.",FileLocked:"File is locked by another process or user.",FileVersionConflict:"File version conflict. Please refresh and try again.",FolderNotFound:"Folder not found or no longer available.",FolderAlreadyExists:"Folder with this name already exists.",FolderInvalidName:"Folder name is not valid. Allowed characters: {{allowedChars}}",FolderAccessDenied:"You don't have permission to access this folder.",FolderReadError:"Failed to read the folder contents.",FolderWriteError:"Failed to write to the folder.",FolderQuotaExceeded:"Folder storage quota exceeded.",FolderNotEmpty:"Folder is not empty.",FolderBackendError:"Server error while processing the folder.",FolderTimeout:"Folder operation took too long.",RenameNotAllowed:"Renaming is not allowed for this item.",MoveNotAllowed:"Moving is not allowed for this item.",CopyNotAllowed:"Copying is not allowed for this item.",DeleteNotAllowed:"Deleting is not allowed for this item.",MoveIntoSelf:"Cannot move an item into itself.",MoveIntoDescendant:"Cannot move an item into its descendant folder.",CopyIntoSelf:"Cannot copy an item into itself.",UnsupportedOperation:"This operation is not supported.",ConfigError:"Configuration error occurred.",FileUploadQuotaExceeded:"You have exceeded the upload quota.",FileUploadNetworkError:"Network error while uploading the file.",FileUploadTimeout:"File upload took too long.",FileUploadBackendError:"Server error while uploading the file.",UploadUrlInvalid:"The specified URL is not valid.",UploadUrlNotReachable:"The specified URL is not reachable.",UploadUrlContentTypeNotAllowed:"Content type at the URL is not allowed.",UploadUrlDownloadFailed:"Failed to download file from the URL.",FileLookupFailed:"Failed to find existing file by URL.",FileProxyFailed:"Failed to load file through proxy.",FileProxyNotConfigured:"File proxy is not configured.",FileDownloadNetworkError:"Network error while downloading the file.",FileDownloadTimeout:"File download took too long.",FileDownloadBackendError:"Server error while downloading the file.",BatchPartialFailure:"Some items could not be processed.",BatchAllFailed:"Failed to process all items in the batch.",BatchConflict:"Some items in the batch are in a conflicting state.",BatchValidationFailed:"Some items in the batch did not pass validation.",BatchItemLimitExceeded:"Batch operation exceeds the maximum number of items allowed.",ValidationError:"Some of the provided data is invalid.",PayloadTooLarge:"File is too large ({{fileSize}}). Maximum allowed size: {{maxSize}}.",UnsupportedMediaType:"This media type is not supported.",NetworkError:"Network error. Please check your connection and try again.",BackendError:"Server error. Please try again later.",Timeout:"The operation took too long. Please try again.",AuthenticationFailed:"Authentication failed. Please sign in again.",AuthorizationFailed:"You are not allowed to perform this action.",RateLimitExceeded:"Too many requests. Please try again a bit later.",ServiceUnavailable:"Service is temporarily unavailable. Please try again later.",AIResponseInvalid:"AI service returned an invalid response.",AIImageGenerationFailed:"Failed to generate image using AI.",AIImageGenerationLimitExceeded:"You have reached the AI image generation limit.",IntegrationError:"Error in external integration.",ThirdPartyError:"Error in a third-party service.",UnknownError:"An unknown error occurred."},Kp={FileTooLarge:"File is too large to upload.",PayloadTooLarge:"File is too large to upload."},sr=(o,t,a)=>{if(!o)return;let n=Vp[o];if(!n)return;let l=a?.fileSize??"",d=a?.maxSize??"";if((o==="FileTooLarge"||o==="PayloadTooLarge")&&!(l&&d)){let u=Kp[o];return u?t(u):t(n,{fileSize:"?",maxSize:"?"})}return t(n,{allowedChars:a?.allowedChars??Hp,fileSize:l,maxSize:d})},ad=o=>{if(!o||typeof o!="string")return;let t=o.toLowerCase();if((t.includes("maximum number of files")||t.includes("number of files exceeded"))&&(t.includes("allowed")||t.includes("received")))return"BatchItemLimitExceeded";if(t.includes("exceeds")||t.includes("maximum")||t.includes("too large")||t.includes("size limit")||t.includes("object size")||t.includes("размер")||t.includes("превышен"))return"PayloadTooLarge";if(t.includes("403")||t.includes("forbidden")||t.includes("access denied")||t.includes("доступ запрещён"))return"AuthorizationFailed";if(t.includes("404")||t.includes("not found")||t.includes("не найден"))return"UploadUrlNotReachable";if(t.includes("already exists")||t.includes("уже существует")||t.includes("дубликат"))return"FileAlreadyExists";if(t.includes("invalid")&&(t.includes("name")||t.includes("имя")||t.includes("назва")))return"FileInvalidName";if(t.includes("type")&&(t.includes("not allowed")||t.includes("не поддерживается")))return"FileTypeNotAllowed"},$p=o=>{let t=ad(o);if(t==="AuthorizationFailed"){let a=(o||"").toLowerCase();if(a.includes("download")||a.includes("url")||a.includes("file_get_contents")||a.includes("failed to download"))return"UploadUrlNotReachable"}return t},Ue=o=>{if(!o)return{message:"Unknown error",raw:o};if(typeof o=="string")return{message:o};if(o instanceof Error){let t=o;return{message:t.message??o.message,code:t.code,status:t.status??t.httpStatus,stack:t.stack??o.stack,raw:t.raw??o}}if(typeof o=="object"){let t=o,a=t.data??t,n=a?.data??a,l=t.message??a?.message??t.error??t.reason,d=t.status??t.httpStatus??n?.status??a?.status,u=t.code??a?.code,c=t.stack,g=t.raw??o,m=t.fileSize??n?.fileSize??a?.fileSize,v=t.maxSize??n?.maxSize??a?.maxSize;if(l||u||d||c||g)return{message:l,code:u,status:d,stack:c,raw:g,...m!=null&&{fileSize:m},...v!=null&&{maxSize:v}}}return{message:String(o),raw:o}},Qp="File too large ({{size}}). Maximum allowed size: {{maxSize}}",Zp="Maximum number of files exceeded. Allowed: {{allowed}}, received: {{received}}";function Yp(o){let t=o.match(/Allowed:\s*(\d+)/i),a=o.match(/received:\s*(\d+)/i);return{allowed:t?parseInt(t[1],10):void 0,received:a?parseInt(a[1],10):void 0}}var id=(o,t,a)=>{let n=Ue(o),l=n?.code;if(l==="FileTooLarge"&&a?.fileSize!=null&&a?.maxSize!=null)return t(Qp,{size:Qt(a.fileSize),maxSize:Qt(a.maxSize)});if((l==="BatchItemLimitExceeded"||l==="exceeded_max_files")&&n?.message){let{allowed:d,received:u}=Yp(n.message);if(d!=null&&u!=null)return t(Zp,{allowed:d,received:u})}return n?.message&&n.message!=="Unknown error"?n.message:sr(l,t,a?.fileSize!=null&&a?.maxSize!=null?{fileSize:Qt(a.fileSize),maxSize:Qt(a.maxSize)}:void 0)??t("Error uploading file")},Yo=o=>Ue(o)?.code==="path_folder_not_found",Jp=["file_get_contents","open stream","failed to open stream","http request failed","curl_error"];function Xp(o){if(!o||o.length>200)return!1;let t=o.toLowerCase();return!Jp.some(a=>t.includes(a))}var nd=(o,t,a)=>{if(!o)return t("Error when downloading a file by URL");let n=sr($p(o?.message)??o?.code,t,a);if(n)return n;let l=o?.message&&typeof o.message=="string"?o.message.trim():null;return l&&Xp(l)?l:t("Failed to download file from the URL.")},ld=o=>Array.isArray(o)?o.filter(t=>t?.id&&t.id!=="folders").map(t=>t.name).filter(Boolean).join("/"):"",eg=o=>{let t=o.split("/").filter(Boolean);return t.length<=1?"":(t.pop(),t.join("/"))},Si=o=>{let t=o.trim();if(!t)return"";let a=t.toLowerCase(),n=[a.indexOf(" and "),a.indexOf(" or "),t.indexOf(","),t.indexOf(";"),a.indexOf(". ")].filter(d=>d>=0);if(n.length===0)return t;let l=Math.min(...n);return t.slice(0,l).trim()||t},rg=o=>{if(o&&typeof o=="object"){let n=o,l=n.data?.data?.path_folder??n.data?.path_folder;if(typeof l=="string"&&l.trim())return Si(l)||null}let t=Ue(o)?.message;if(!t)return null;let a=t.toLowerCase();for(let n of["не существует:","not exists:","not exist:","not found:"]){let l=a.indexOf(n);if(l>=0)return Si(t.slice(l+n.length).trim())||null}for(let n of["not exists ","not exist ","not found "]){let l=a.indexOf(n);if(l>=0)return Si(t.slice(l+n.length).trim())||null}return null},sd=(o,t)=>{let a=rg(o);return a?eg(a):ld(t)},tg=o=>ld(o),zi=async o=>{let{options:t,pathFolder:a,dataProviders:n}=o;if(n?.clearCache){await n.clearCache(a||null);return}let l=t?.apiEndpoints?.clearCache;if(!l)return;let d=l.includes("?"),u=l;a&&a.length>0&&(u=`${l}${d?"&":"?"}path_folder=${encodeURIComponent(a)}`);let c=await fetch(u,{method:"POST"});if(!c.ok)throw Error(`Cache clear failed: ${c.status}`)};function og(o,t){let a=new Set(t.map(n=>n.id));return[...o.filter(n=>n.parentId&&!a.has(n.id)),...t]}var Jo=()=>{let{state:o,actions:t,options:a}=ar(),{t:n}=wr(),l=Rr(),{folders:d,selectedFolder:u,pathHistory:c,form:g,loading:m,isModalVisible:v}=o,{setFolders:y,setLoading:b,setIsModalVisible:S}=t,{dataProviders:A,config:N}=a,x=(0,F.useCallback)(B=>(Array.isArray(B)?B:[]).filter(V=>V&&V.id&&V.name).map(V=>({id:V.id,name:V.name,parentId:V.folderId?V.folderId:null})),[]),Y=(0,F.useCallback)(async(B=!1)=>{b?.(!0);try{let V=[],$=N?.folderTreeLoading==="lazy";if(A?.getFolders){let X=!$;V=await A.getFolders({parentId:null,deep:X})}else if(A?.getFiles){let X=async me=>{let{files:ne}=await A.getFiles({itemType:"folder",folderId:me??void 0}),ee=x(ne);if($)return ee;let he=await Promise.all(ee.map(z=>X(z.id)));return[...ee,...he.flat()]},ae=await X(null);y&&y(me=>{let ne=Array.isArray(me)?me:[];if(!$){let z=ae;return z.filter(O=>O.id===O.parentId).length>0,z}let ee=og(ne,ae);return ee.filter(z=>z.id===z.parentId).length>0,ee});return}else return;let G=Array.isArray(V)?V:[];y?.(G),G.filter(X=>X.id===X.parentId).length>0}catch(V){let $=Ue(V);if(!B&&($?.status===404||$?.code==="FileNotFound")){let ue=sd(V,c||[]);try{await zi({options:a,pathFolder:ue,dataProviders:a?.dataProviders}),await Y(!0);return}catch{}}let G=sr($?.code,n);l.error({id:"FOLDERS_FETCH_FAILED",message:G??n("Failed to load folders"),description:n("Folders"),placement:"bottomRight",innerException:V,notificationDedupe:!0,data:{reason:V instanceof Error?V.message:String(V),folderId:null,folderName:n("Folders")}})}finally{b?.(!1)}},[A?.getFiles,A?.getFolders,y,b,N?.folderTreeLoading,x,l,n,c,a]),k=(0,F.useCallback)(()=>Y(),[Y]),R=(0,F.useCallback)(async B=>{try{let V,$;if(A?.getFolders){V=await A.getFolders({parentId:B,deep:!1});let X=Array.isArray(d)?d:[],ae=new Set(V.map(ne=>ne.id)),me=X.filter(ne=>ne.parentId!==B||ae.has(ne.id));$=[...me,...V.filter(ne=>!me.some(ee=>ee.id===ne.id))]}else if(A?.getFiles){let{files:X}=await A.getFiles({itemType:"folder",folderId:B??void 0});V=x(X);let ae=Array.isArray(d)?d:[],me=new Set(V.map(ee=>ee.id)),ne=ae.filter(ee=>ee.parentId!==B||me.has(ee.id));$=[...ne,...V.filter(ee=>!ne.some(he=>he.id===ee.id))]}else return[];let G=$,ue=0;for(;ue!==G.length;){ue=G.length;let X=new Set(G.map(ae=>ae.id));G=G.filter(ae=>!ae.parentId||X.has(ae.parentId))}return y?.(G),V}catch{return[]}},[A,d,y,x]),E=(0,F.useCallback)(()=>{let B=N?.defaultFolderName??n("New folder");g.setFieldsValue({folderName:B}),S?.(!0)},[g,S,n,N?.defaultFolderName]),M=(0,F.useCallback)(async(B,V)=>{let $=[...(Array.isArray(d)?d:[]).filter(G=>G.id!==B.id),B];if(y?.($),B.parentId&&(await R(B.parentId),await new Promise(G=>setTimeout(G,50))),!V?.preserveSelection&&t.setSelectedFolder&&t.setSelectedFolder(B.id),!V?.preserveSelection&&t.setPathHistory){let G=Array.isArray($)?$:[],ue=(me,ne=new Set)=>{if(ne.has(me))return[];let ee=G.find(z=>z.id===me);if(!ee)return[];let he=new Set(ne);return he.add(me),ee.parentId?[...ue(ee.parentId,he),{id:ee.id,name:ee.name}]:[{id:ee.id,name:ee.name}]},X=ue(B.id),ae=[{id:"folders",name:n("Folders")},...X];t.setPathHistory(ae)}},[d,y,t,o.pathHistory,R,n]),D=B=>{if(!B||!B.id)throw Error(n("Invalid server response: folder ID is missing"));if(B.id===B.parentId&&B.parentId)throw Error(n("Error: folder cannot be its own parent"))},W=(0,F.useCallback)(async B=>{try{if(A?.getFolders){let V=await A.getFolders();return(Array.isArray(V)?V:[]).some($=>$.id===B)}if(A?.getFiles){let V=new Set,$=async G=>{let{files:ue}=await A.getFiles({itemType:"folder",folderId:G??void 0}),X=x(ue);for(let ae of X)if(!V.has(ae.id)&&(V.add(ae.id),ae.id===B||await $(ae.id)))return!0;return!1};return await $(null)}}catch{}return!1},[A?.getFolders,A?.getFiles,x]),Q=(0,F.useCallback)(async B=>{let V,$,G=null;try{let ue=await(B?B.validateFields():g.validateFields());if(V=ue.folderName.trim(),!V){let ee=ue.targetFolder||(u&&u!=="folders"?u:null);l.warning({id:"FOLDER_OPERATION_VALIDATION_FAILED",message:n("Folder name cannot be empty"),placement:"bottomRight",data:{folderName:V,folderId:ee??null,reason:"emptyName",is_force_create:!!ue.is_force_create}});return}$=hi(V,N);let X=ue.targetFolder;if(X)G=X==="folders"?null:X;else if(u&&u!=="folders")G=u;else if(Array.isArray(c)&&c.length>1){let ee=c[c.length-1];G=ee?.id&&ee.id!=="folders"?ee.id:null}if(ho(N)&&A?.getFolders)try{if((await A.getFolders({parentId:G,deep:!1})||[]).map(ee=>ee.name?.toLowerCase()).filter(Boolean).includes(V.trim().toLowerCase())){l.error({id:"FOLDER_ALREADY_EXISTS",message:n("A folder with that name already exists. Please enter a different folder name."),placement:"bottomRight",data:{folderName:V,folderId:G}});return}}catch{}let ae;if(A?.createFolder)ae=await A.createFolder({name:$,parentId:G,is_force_create:!!ue.is_force_create});else{l.error({id:"FOLDER_CREATE_PROVIDER_NOT_CONFIGURED",message:n("Folder creation provider is not configured"),placement:"bottomRight",data:{folderName:$,folderId:G??null,is_force_create:!!ue.is_force_create}});return}D(ae);let me={id:ae.id,name:ae.name,parentId:G??null,childCount:ae.childCount},ne=[...(Array.isArray(d)?d:[]).filter(ee=>ee.id!==me.id),me];if(y?.(ne),l.success({id:"FOLDER_CREATE_SUCCESS",message:n("Folder created"),placement:"bottomRight",data:{itemIds:[me.id],folderId:me.parentId??null,folderName:me.name}}),B||S?.(!1),(async()=>{try{await M(me,{preserveSelection:!!B}),await k(),await new Promise(ee=>setTimeout(ee,200)),await W(ae.id)}catch{}})(),B)return ae}catch(ue){let X=sr(Ue(ue)?.code,n);l.error({id:"FOLDER_CREATE_FAILED",message:X??n("Failed to create folder"),placement:"bottomRight",innerException:ue,data:{folderName:$||V,folderId:G??null,reason:ue instanceof Error?ue.message:String(ue)}})}},[g,u,A,M,k,W,S,l,n,d,y,N,c]),U=(0,F.useCallback)(()=>{S?.(!1)},[S]),de=(0,F.useCallback)((B,V=new Set)=>{let $=Array.isArray(d)?d:[];return B.map(G=>{if(V.has(G.id))return{key:G.id,label:G.name+" "+n("(error)"),icon:F.createElement(ls,{style:{color:"red"}})};let ue=new Set(V);ue.add(G.id);let X=$.filter(ae=>ae.parentId===G.id&&ae.id!==G.id);return{key:G.id,label:G.name,children:X.length>0?de(X,ue):void 0}})},[d]),ge=(0,F.useCallback)(()=>{let B=Array.isArray(d)?d:[],V={key:"folders",label:n("Folders"),children:[]},$=B.filter(G=>G.parentId===null||!G.parentId);return V.children=de($),[V]},[d,n,de]),fe=(0,F.useCallback)(async(B,V)=>{let $;try{let G=V.trim(),ue=d?.find(ae=>ae.id===B);if(!G){l.warning({id:"FOLDER_OPERATION_VALIDATION_FAILED",message:n("Folder name cannot be empty"),placement:"bottomRight",data:{folderId:B,folderName:V,reason:"emptyName"}});return}if($=hi(G,N),N?.features?.enableRenameFolder===!1){l.error({id:"FOLDER_RENAME_DISABLED_BY_CONFIG",message:n("Folder rename is disabled by config"),placement:"bottomRight",data:{itemId:B,itemName:ue?.name??$}});return}if(!a.dataProviders?.renameFolder){l.error({id:"FOLDER_RENAME_FAILED",message:n("Folder rename provider is not configured"),placement:"bottomRight",data:{itemId:B,itemName:$,error:{message:"providerNotConfigured"}}});return}let X=await a.dataProviders.renameFolder(B,$);if(!X?.id){l.error({id:"FOLDER_RENAME_FAILED",message:n("Unexpected response when renaming folder"),placement:"bottomRight",data:{itemId:B,itemName:$,error:{message:"invalidResponse"}}});return}await k(),B!==X.id&&t.setSelectedFolder&&t.setSelectedFolder(X.id),l.success({id:"FOLDER_RENAME_SUCCESS",message:n("Folder renamed"),placement:"bottomRight",data:{itemId:X.id,itemName:X.name,folderId:X.parentId??null}})}catch(G){l.error({id:"FOLDER_RENAME_FAILED",message:n("Failed to rename folder"),placement:"bottomRight",innerException:G,data:{itemId:B,itemName:$||V,error:{message:G instanceof Error?G.message:String(G)}}})}},[k,d,a.dataProviders?.renameFolder,N?.features?.enableRenameFolder,N,t.setSelectedFolder,l,n]);return{state:{folders:d,isCreatingFolder:v,loading:m},actions:{fetchFolders:k,fetchChildFolders:R,handleCreateFolder:E,handleModalOk:Q,handleModalCancel:U,generateMenuItems:ge,renameFolder:fe}}},ag=o=>o.requestId??o.id,Ei=()=>{let{options:o,actions:t}=ar(),{dataProviders:a,config:n}=o,{setUndoDeletion:l}=t,{t:d}=wr(),u=Rr();return{deleteItems:(0,F.useCallback)(async({items:c,selectedFolder:g,getItemNameById:m,showNotifications:v=!1})=>{let y=0,b=0,S=[],A=async x=>{if(a?.deleteItems)try{let Y=await a.deleteItems(c.map(R=>R.id),{permanent:x}),k=Y.detailed;if(k){let R=k.filter(W=>W.success),E=k.filter(W=>!W.success),M=E.filter(W=>Yo(W.innerException??W.error)),D=E.filter(W=>!Yo(W.innerException??W.error));y+=R.length+M.length,b+=D.length,D.forEach(W=>{let Q=ag(W),U=Ue(W.innerException??W.error);S.push({itemId:Q,itemName:m(Q),error:U})});return}if(Y.success)y+=c.length;else{let R=Y.error;if(Yo(R))y+=c.length;else if(R){b+=c.length;let E=Ue(R);S.push({error:E})}else b+=c.length}return}catch(Y){if(Yo(Y))y+=c.length;else{b+=c.length;let k=Ue(Y);S.push({error:k})}}},N=n?.enableTrashFolder&&g==="Trash";return n?.enableTrashFolder&&!N?await A(!1):await A(!0),y>0&&n?.enableTrashFolder&&!N&&l?.({itemIds:c.map(x=>x.id),sourceFolderId:g||"folders"}),v&&(y>0&&u.success({id:"FILES_DELETE_SUCCESS",message:d("Files deleted"),placement:"bottomRight",data:{successCount:y,totalCount:c.length,itemIds:c.map(x=>x.id),folderId:g||null}}),b>0&&u.error({id:"FILES_DELETE_ERROR",message:d("Error when deleting a file"),placement:"bottomRight",data:{failCount:b,totalCount:c.length,itemIds:c.map(x=>x.id),itemNames:c.map(x=>m(x.id)),folderId:g||null,errors:S}})),{successCount:y,failCount:b,errorDetails:S}},[a,n,l,d,u])}},er=class af extends Error{constructor(t,a,n,l){super(t),this.code=a,this.status=n,this.details=l,this.name="FileManagerApiError",Error.captureStackTrace&&Error.captureStackTrace(this,af)}},ig=8192,dd=/^(localhost|127\.0\.0\.1|0\.0\.0\.0|::1)$/i,ng=/^(10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.)/;function lg(){return typeof window>"u"?!1:dd.test(window.location.hostname.toLowerCase())}function Xo(o,t){let a=o.trim();if(!a)throw new er(t("Enter the URL of the image"),"UploadUrlInvalid");if(a.length>ig)throw new er(t("URL too long"),"UploadUrlInvalid");let n;try{n=new URL(a)}catch{throw new er(t("The specified URL is not valid."),"UploadUrlInvalid")}let l=n.protocol.toLowerCase();if(l!=="http:"&&l!=="https:")throw new er(t("Only http and https URLs are supported"),"UploadUrlInvalid");let d=n.hostname.toLowerCase();if(dd.test(d)&&!lg()||ng.test(d))throw new er(t("Private and local URLs are not allowed"),"UploadUrlInvalid")}function sg(o,t){if(o?.extension){let a=o.extension.toLowerCase(),n={jpg:{extension:"jpeg",mimeType:"image/jpeg",format:"jpeg",filerobotFormat:"jpeg"},jpeg:{extension:"jpeg",mimeType:"image/jpeg",format:"jpeg",filerobotFormat:"jpeg"},png:{extension:"png",mimeType:"image/png",format:"png",filerobotFormat:"png"},gif:{extension:"gif",mimeType:"image/gif",format:"gif",filerobotFormat:"png"},webp:{extension:"webp",mimeType:"image/webp",format:"webp",filerobotFormat:"png"},svg:{extension:"svg",mimeType:"image/svg+xml",format:"svg",filerobotFormat:"svg"}};if(n[a])return n[a]}if(o?.type){let a=ut(o.type),n={"image/jpeg":{extension:"jpeg",mimeType:"image/jpeg",format:"jpeg",filerobotFormat:"jpeg"},"image/png":{extension:"png",mimeType:"image/png",format:"png",filerobotFormat:"png"},"image/gif":{extension:"gif",mimeType:"image/gif",format:"gif",filerobotFormat:"png"},"image/webp":{extension:"webp",mimeType:"image/webp",format:"webp",filerobotFormat:"png"},"image/svg+xml":{extension:"svg",mimeType:"image/svg+xml",format:"svg",filerobotFormat:"svg"}};if(n[a])return n[a]}if(o?.name){let a=o.name.split(".").pop()?.toLowerCase();if(a){let n={jpg:{extension:"jpeg",mimeType:"image/jpeg",format:"jpeg",filerobotFormat:"jpeg"},jpeg:{extension:"jpeg",mimeType:"image/jpeg",format:"jpeg",filerobotFormat:"jpeg"},png:{extension:"png",mimeType:"image/png",format:"png",filerobotFormat:"png"},gif:{extension:"gif",mimeType:"image/gif",format:"gif",filerobotFormat:"png"},webp:{extension:"webp",mimeType:"image/webp",format:"webp",filerobotFormat:"png"},svg:{extension:"svg",mimeType:"image/svg+xml",format:"svg",filerobotFormat:"svg"}};if(n[a])return n[a]}}if(t){let a=ut(t),n=ct(a),l="jpeg";return n==="png"?l="png":n==="svg"?l="svg":n==="jpeg"&&(l="jpeg"),{extension:n,mimeType:a,format:n,filerobotFormat:l}}return{extension:"jpeg",mimeType:"image/jpeg",format:"jpeg",filerobotFormat:"jpeg"}}var Zt={MAX_SIZE_MB:.48,MAX_WIDTH_OR_HEIGHT:2e3,QUALITY:.8},dg=["gif","svg"];function ug(o){return!dg.includes(o)}function Ti(o,t){if(o?.compressMaxSize===0||o?.compressMaxWidthOrHeight===0)return!1;let a=t?.trim()??"";return a.startsWith("image/")&&a!=="image/gif"}var cg=/^(?:ant|vscode|monaco|docs)-/;function fg(o){return cg.test(o)}function mg(){if(!/^[a-z][a-z0-9]*$/i.test("ub"))throw Error('[cssVars] REACT_APP_CSS_VAR_PREFIX="ub" is not a valid CSS identifier fragment.');return"ub"}var pg=new Set(["animation-opacity","inline-edit-border-radius","separator-border","text-link-decoration"]);function gg(){return pg}var hg=new Set;function vg(o,t,a=hg){return!o.startsWith(`${t}-`)&&!fg(o)&&!a.has(o)}function yg(o,t){return`--${t}-${o}`}function ud(o){let t=mg();return vg(o,t,gg())?yg(o,t):`--${o}`}function cd(o,t="g"){let a=ud(o).replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return RegExp(`var\\(${a}\\)`,t)}function bg(o,t){let{colorHex:a,colorHex2:n,colorHex3:l}=t,d=[`--ub-icon-grad-1: ${a}`,`--ub-icon-grad-2: ${n}`,`--ub-icon-stroke-1: ${a}`,`--ub-icon-stroke-2: ${n}`,`--ub-icon-stroke-3: ${l}`,`--ub-icon-fill-1: ${a}`,`--ub-icon-fill-2: ${n}`,`--ub-icon-fill-3: ${l}`,`color: ${a}`].join(";"),u=o.replace(/<svg([^>]*)>/i,(g,m)=>{let v=m;return/style="/i.test(v)?v=v.replace(/style="([^"]*)"/i,(y,b)=>`style="${b};${d}"`):v+=` style="${d}"`,`<svg${v}>`}),c=[["icon-color-1",a],["icon-color-2",n],["icon-color-3",l],["icon-fill-1",a],["icon-fill-2",n],["icon-fill-3",l],["icon-stroke-1",a],["icon-stroke-2",n],["icon-stroke-3",l],["icon-grad-1",a],["icon-grad-2",n]];for(let[g,m]of c)u=u.replace(cd(g),m);return u=u.replace(/currentColor/g,a),u}function wg(o,t){let a=o.match(/\swidth="([0-9.]+)(px)?"/i),n=o.match(/\sheight="([0-9.]+)(px)?"/i);if(a&&n){let d=parseFloat(a[1]),u=parseFloat(n[1]);if(Number.isFinite(d)&&Number.isFinite(u)&&d>0&&u>0){let c=d/u;return c>=1?{width:t,height:Math.max(1,Math.round(t/c))}:{width:Math.max(1,Math.round(t*c)),height:t}}}let l=o.match(/viewBox="([^"]+)"/i);if(l){let d=l[1].trim().split(/\s+/);if(d.length===4){let u=parseFloat(d[2]),c=parseFloat(d[3]);if(Number.isFinite(u)&&Number.isFinite(c)&&u>0&&c>0){let g=u/c;return g>=1?{width:t,height:Math.max(1,Math.round(t/g))}:{width:Math.max(1,Math.round(t*g)),height:t}}}}return{width:t,height:t}}function fd(o){if(!o)return null;let t=o.trim();if(t.endsWith("%"))return null;let a=parseFloat(t.replace(/px$/i,""));return Number.isFinite(a)&&a>0?a:null}function Cg(o){let t=o.match(/<\s*svg\b[\s\S]*?>/i)?.[0]??"",a=t.match(/\bwidth\s*=\s*["']([^"']*)["']/i)?.[1],n=t.match(/\bheight\s*=\s*["']([^"']*)["']/i)?.[1],l=fd(a),d=fd(n);if(l!=null&&d!=null)return{width:l,height:d};let u=o.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1];if(u){let c=u.trim().split(/[\s,]+/);if(c.length===4){let g=parseFloat(c[2]),m=parseFloat(c[3]);if(Number.isFinite(g)&&Number.isFinite(m)&&g>0&&m>0)return{width:g,height:m}}}return l==null?d==null?{width:300,height:300}:{width:d,height:d}:{width:l,height:l}}function Ag(o,t=2,a=4096){let{width:n,height:l}=Cg(o),d=Math.max(1,Math.round(n*t)),u=Math.max(1,Math.round(l*t)),c=Math.max(64,a),g=Math.max(d,u);if(g>c){let m=c/g;d=Math.max(1,Math.round(d*m)),u=Math.max(1,Math.round(u*m))}return{width:d,height:u}}function Ig(o){return new Promise((t,a)=>{o.toBlob(n=>{n?t(n):a(Error("canvas.toBlob returned null"))},"image/png")})}function Fg(o){return new Promise((t,a)=>{let n=new FileReader;n.onload=()=>t(n.result),n.onerror=()=>a(n.error??Error("readAsDataURL failed")),n.readAsDataURL(o)})}async function md(o,t,a,n,l){let d=l?.canvasScale??2,u=n==null||n===""||n.toLowerCase()==="transparent",c=new Blob([o],{type:"image/svg+xml;charset=utf-8"}),g=URL.createObjectURL(c);try{let m=new Image;await new Promise((A,N)=>{m.onload=()=>A(),m.onerror=()=>N(Error("Failed to load SVG image")),m.src=g});let v=document.createElement("canvas"),y=Math.max(1,Math.round(t*d)),b=Math.max(1,Math.round(a*d));v.width=y,v.height=b;let S=v.getContext("2d");if(!S)throw Error("Canvas 2D context is not available");return S.clearRect(0,0,y,b),u||(S.fillStyle=n,S.fillRect(0,0,y,b)),S.drawImage(m,0,0,y,b),Ig(v)}finally{URL.revokeObjectURL(g)}}async function _g(o,t,a,n,l){return Fg(await md(o,t,a,n,l))}var Sg=24e3;async function zg(o,t=Sg){let a=Math.min(t,Math.max(0,o.size));return o.slice(0,a).text()}function Eg(o){let t=o.trimStart().replace(/^\uFEFF/,"");return t.startsWith("<")?/<\s*svg[\s>/]/i.test(t):!1}async function Tg(o,t={}){let a=t.pixelScale??2,n=t.maxLongEdge??4096,l=await o.text(),{width:d,height:u}=Ag(l,a,n),c=await md(l,d,u,void 0,{canvasScale:1}),g=t.outputFileName??o.name,m=/\.svg$/i.test(g)?g.replace(/\.svg$/i,".png"):`${g}.png`;return new File([c],m,{type:"image/png",lastModified:o.lastModified})}var kg=1024/4096,ki=[137,80,78,71,13,10,26,10],Rg=65536,xg=(o,t)=>String.fromCharCode(o[t],o[t+1],o[t+2],o[t+3]);function Pg(o){if(o.length<ki.length||ki.some((a,n)=>o[n]!==a))return!1;let t=ki.length;for(;t+8<=o.length;){let a=(o[t]<<24|o[t+1]<<16|o[t+2]<<8|o[t+3])>>>0,n=xg(o,t+4);if(n==="acTL")return!0;if(n==="IDAT"||n==="IEND")return!1;t+=12+a}return!1}async function Lg(o){return Pg(new Uint8Array(await o.slice(0,Rg).arrayBuffer()))}function Ug(o,t){return t.size<o.size?t:o}function pd(o,t,a,n){return new File([o],t,{type:a,lastModified:n})}function xt(o,t){return!t||t===o.name?o:pd(o,t,o.type,o.lastModified)}function Ng(o,t,a,n){let l=n??t.name;return o instanceof File&&o.type===a&&o.lastModified===t.lastModified&&o.name===l?o:pd(o,l,a,t.lastModified)}function Dg(o,t){let a=t.startsWith(".")?t.slice(1):t,n=o.lastIndexOf(".");return n>0?`${o.substring(0,n)}.${a}`:`${o}.${a}`}function jg(o){return o==="image/webp"?"image/jpeg":o}async function ea(o,t={}){let{maxSizeMB:a=Zt.MAX_SIZE_MB,maxWidthOrHeight:n=Zt.MAX_WIDTH_OR_HEIGHT,mimeType:l,fileName:d,libURL:u,enableCompression:c=!0,convertSvgToPng:g=!1}=t;if(!o||!(o instanceof File))return o;let m=o,v=!1;if(g){let R=(m.type||"").toLowerCase(),E=/\.svg$/i.test(m.name.trim()),M=R.includes("svg"),D=!1;if(!M&&!E)try{D=Eg(await zg(m))}catch{D=!1}if(M||E||D)try{m=await Tg(m,{maxLongEdge:n,outputFileName:d??m.name}),v=!0}catch{m=o}}let y=ut((m.type&&m.type.trim()!==""?m.type:Ho(m.name))||l||"image/jpeg");if(!y.startsWith("image/"))return xt(m,d);let b=jg(y),S=ct(y),A=ct(b),N=v?m.name:d??m.name,x=b===y?N:Dg(N,A),Y=c&&ug(S);if(!Y&&b===y)return xt(m,x);let k=b==="image/png";if(k&&await Lg(m).catch(()=>!1))return xt(m,x);try{let R={libURL:u,useWebWorker:!0,fileType:b};Y?(R.maxSizeMB=a,R.maxWidthOrHeight=n,k&&(R.initialQuality=kg)):(R.maxSizeMB=Math.max(o.size/1048576+1,1),R.initialQuality=1,R.alwaysKeepResolution=!0);let E=await nf.imageCompression(m,R),M=ut(E.type||b),D=Ng(E,m,M,x);return k?Ug(xt(m,x),D):D}catch{try{return xt(m,x)}catch{return m}}}var gd=["image/jpeg"];async function Og(o){if(typeof createImageBitmap!="function")return null;try{let t=await createImageBitmap(o),a=Math.max(t.width,t.height);return t.close(),a}catch{return null}}async function Mg(o,t={}){let{compressBySize:a,...n}=t;if(a)return ea(o,n);let l=t.maxWidthOrHeight??Zt.MAX_WIDTH_OR_HEIGHT,d=ut(t.mimeType||o.type||"");if(t.enableCompression===!1&&(d==="image/png"||gd.includes(d)))return xt(o,t.fileName);if(gd.includes(d)){let u=await Og(o);if(u!==null&&u<=l)return xt(o,t.fileName)}return ea(o,{...n,maxWidthOrHeight:l,maxSizeMB:1/0})}async function Ri(o){let{folderId:t,dataProviders:a,folders:n,pathHistory:l,t:d}=o,u=t==null?"":String(t);if(!u||u==="folders")return d("Folders");if(u==="Trash")return d("Trash");let c=l||[],g=c[c.length-1];if(g?.id===u&&g.name)return g.name;let m=[...c].reverse().find(b=>b.id===u);if(m?.name)return m.name;let v=a?.getItem;if(v)try{let b=await Promise.resolve(v(u));if(b?.name)return b.name}catch{}let y=n?.find(b=>b.id===u);return y?.name?y.name:u}function xi(o){return Pi(o).extension!==void 0}function Pi(o){let t=o.lastIndexOf(".");if(t<=0)return{base:o};let a=o.slice(t+1).toLowerCase();return ss.includes(a)?{base:o.slice(0,t),extension:a}:{base:o}}var Bg=/^(utm_[a-z0-9_]+|fbclid|gclid|igshid|mc_cid|mc_eid)$/i;function hd(o){try{return decodeURIComponent(o.replace(/\+/g," "))}catch{return o}}function ra(o){let t=new URL(o.trim());t.hash="",t.hostname=t.hostname.toLowerCase(),(t.protocol==="https:"&&t.port==="443"||t.protocol==="http:"&&t.port==="80")&&(t.port="");let a=(t.search.startsWith("?")?t.search.slice(1):t.search).split("&").filter(Boolean).map(n=>{let l=n.indexOf("="),d=l===-1?n:n.slice(0,l),u=l===-1?"":n.slice(l+1);return{pair:n,key:hd(d),value:hd(u)}}).filter(({key:n})=>!Bg.test(n)).sort((n,l)=>{let d=n.key.localeCompare(l.key);return d===0?n.value.localeCompare(l.value):d});return t.search=a.length?`?${a.map(({pair:n})=>n).join("&")}`:"",t.toString()}function vd(o){let t=o.split(/[?#]/)[0].split("/").filter(Boolean).pop();if(t)try{return decodeURIComponent(t)}catch{return t}}function ta(o){let t;try{t=new URL(o.trim())}catch{return}let a=vd(t.pathname);if(a&&xi(a))return a;for(let[,n]of t.searchParams){let l=vd(n);if(l&&xi(l))return l}return a}var yd="uploaded-file",qg="png";function Wg(o){return o.split(/[\\/]/).filter(Boolean).pop()??""}var Gg={jpeg:"jpg"};function Hg(o){if(!o?.toLowerCase().startsWith("image/"))return;let t=ct(o);if(ss.includes(t))return Gg[t]??t}function Vg({preferredName:o,url:t,mimeType:a}){let n=o?.trim()?Wg(o.trim()):"",l=n?"":t&&ta(t)||"",{base:d,extension:u}=Pi(n||l||yd);return`${d||yd}.${u??Hg(a)??qg}`}function Kg(o){return typeof o!="object"||!o?!1:"name"in o&&o.name==="DirectResourceFetchError"?!("final"in o)||o.final!==!1:"final"in o&&o.final===!0}function oa(o){if(Kg(o)||o instanceof er)throw o}async function $g(o,t,a,n,l){let{fetchWithProxy:d,handleFileProxy:u,handleProxyUrl:c}=t,g={mode:"cors",...l?.fetchInit},m;if(u)try{let v=await Promise.resolve(u(o));if(v)return n(v)}catch(v){oa(v),m=v}if(c)try{let v=await Promise.resolve(c(o));if(v&&v!==o)return n(await a(v))}catch(v){oa(v),m=v}if(d)try{let v=await Promise.resolve(d(o,g,{intent:"downloadBlob"}));if(!v.ok)throw Error(`HTTP ${v.status}`);return n(await v.blob())}catch(v){oa(v),m=v}if(!d)try{return n(await a(o))}catch(v){oa(v),m=v}throw m instanceof Error?m:Error("Failed to download file from the URL")}async function Qg(o,t,a){if(o.length===0)return[];let n=Array(o.length),l=0,d=Math.max(1,Math.min(t,o.length)),u=async()=>{for(;;){let c=l++;if(c>=o.length)return;n[c]=await a(o[c],c)}};return await Promise.all(Array.from({length:d},()=>u())),n}var Zg=4;function Ao(o,t){if(t===o.name)return o;try{return new File([o],t,{type:o.type,lastModified:o.lastModified})}catch{return o}}function bd(o){return new Promise((t,a)=>{let n=new FileReader;n.onload=()=>t(n.result),n.onerror=()=>a(n.error??Error("Failed to read proxied file")),n.readAsDataURL(o)})}function Yg(o,t){return typeof o=="string"?o:t}function wd(o){return o==null||o===""||o==="folders"?null:o}function Jg(o,t){return o.length===t.length&&o.every((a,n)=>a.id===t[n]?.id)}var Xg=1,eh=20;async function aa(o){let t=await fetch(o,{mode:"cors"});if(!t.ok)throw new er(`HTTP ${t.status}`,"UploadUrlDownloadFailed",t.status);return t.blob()}function Cd(o,t){if(!(o instanceof Blob)||o.size===0)throw new er(t("Failed to download file from the URL."),"UploadUrlDownloadFailed");let a=o.type?.split(";")[0]?.trim()||"image/png";if(!a.startsWith("image/"))throw new er(t("Content type at the URL is not allowed."),"UploadUrlContentTypeNotAllowed");return{blob:o,mimeType:a}}var Li=()=>{let{state:o,actions:t,options:a}=ar(),{sortBy:n,sortOrder:l}=rd().state,{actions:{fetchFolders:d}}=Jo(),{t:u}=wr(),c=Rr(),{deleteItems:g}=Ei(),{selectedFolder:m,urlForm:v,pagination:y,files:b,pathHistory:S,folders:A}=o,N=F.default.useRef(null),x=F.default.useRef([]);N.current=y,x.current=Array.isArray(b)?b:[];let Y=F.default.useRef(null),{setFiles:k,setLoading:R,setIsUrlModalVisible:E,setActiveLibraryItem:M,setPagination:D,setSelectedFolder:W,setPathHistory:Q}=t,{dataProviders:U}=a,de=(0,F.useCallback)(async z=>{if(!U?.getFiles)return[];let q=a?.config?.disablePagination,O=q?void 0:z?.page??Xg,K=q?void 0:z?.limit??eh,{files:J,pagination:se}=await U.getFiles({folderId:z?.folderId==="folders"?void 0:z?.folderId,noFolder:z?.noFolder,search:z?.search?.trim()||void 0,sortBy:z?.sortBy,sortOrder:z?.sortOrder,page:O,limit:K,itemType:z?.itemType||"all"});return D&&(a?.config?.disablePagination?D({current:1,pageSize:J.length||1,total:J.length||0}):se&&D({current:se.page,pageSize:se.limit,total:se.total})),J},[U,a?.config?.disablePagination,D]),ge=(0,F.useCallback)(async(z,q,O)=>Js(U,z,q,O,ho(a?.config)),[U,a?.config?.dedupeUploadNamesOnClient]),fe=(0,F.useCallback)(async(z,q=!1)=>{try{R?.(!0);let O=[];if(U?.getFiles)O=await de(z);else return;let K=z??{folderId:m||"",itemType:"all"};K.itemType!=="file"&&(O=await jp(O,K,U?.getFolders)),(m||"")!=="Trash"&&(O=O.filter(J=>!(J.isFolder&&J.id==="Trash"))),k?.(O),wd(K.folderId)===wd(m)&&(Y.current={selectedFolder:m??null,pathHistory:(Array.isArray(S)?S:[]).map(J=>({...J}))})}catch(O){if(O?.name==="StaleLoad")return;let K=Ue(O),J=K?.status===404||K?.code==="FileNotFound"||K?.code==="path_folder_not_found";if(!q&&J){let je=sd(O,S||[]);try{await zi({options:a,pathFolder:je,dataProviders:a?.dataProviders}),await fe(z,!0);return}catch{}}if(J&&W&&Q){let je=Array.isArray(S)?S:[];if(je.length>1){let Ke=je.slice(0,-1),cr=Ke[Ke.length-1]?.id??"folders";Q(Ke),W(cr),await d(),c.success({id:"FOLDER_NOT_FOUND_NAVIGATE",message:u("Folder not found"),description:u("Navigated to parent folder"),placement:"bottomRight"}),await fe({...z,folderId:cr},!1);return}Q([{id:"folders",name:u("Folders")}]),W("folders"),await d(),c.success({id:"FOLDER_NOT_FOUND_NAVIGATE",message:u("Folder not found"),description:u("Navigated to root folder"),placement:"bottomRight"}),await fe({...z,folderId:"folders"},!1);return}let se=Y.current;if(se&&W&&Q){let je=Array.isArray(S)?S:[],Ke=(se.selectedFolder??null)===(m??null),cr=Jg(se.pathHistory,je);(!Ke||!cr)&&(W(se.selectedFolder),Q(se.pathHistory.map(or=>({...or}))),a.onPathChange&&a.onPathChange(se.pathHistory.map(or=>or.name)))}let ye=sr(K?.code,u),ie=z??{folderId:m||"",itemType:"all"},Fe=ie.folderId!==void 0&&ie.folderId!==""?ie.folderId:m||"",xe=Array.isArray(S)?S.map(je=>({...je})):[],Ce=ie.folderName?.trim(),be=Ce&&Ce.length>0?Ce:await Ri({folderId:Fe,dataProviders:U,folders:Array.isArray(A)?A:[],pathHistory:xe,t:u}),Pe=u("Failed to load files"),Ge=u("Failed to load files in folder",{folderName:be}),Ve=ye&&ye!==Pe?ye:void 0;c.error({id:"FILES_FETCH_FAILED",message:Ge,description:Ve,placement:"bottomRight",innerException:O,notificationDedupe:!0,data:{params:{...ie,folderName:be},folderName:be}})}finally{R?.(!1)}},[U,k,R,W,Q,de,d,m,A,c,u,S,a]),B=(0,F.useCallback)(z=>fe(z),[fe]),V=(0,F.useCallback)(async(z,q)=>{if(!U?.findFileByUrl)return null;let O=ra(z);try{return await U.findFileByUrl(O)??null}catch{return null}},[U]),$=(0,F.useCallback)(async(z,q,O)=>{Xo(z,u);let K=ra(z),J=await V(K,q);if(J)return{kind:"existing",file:J,normalizedUrl:K};let se,ye;try{let xe=await $g(K,{fetchWithProxy:a?.config?.fetchWithProxy,handleFileProxy:a?.config?.handleFileProxy,handleProxyUrl:a?.config?.handleProxyUrl},aa,Ce=>Cd(Ce,u));se=xe.blob,ye=xe.mimeType}catch(xe){throw xe instanceof er||xe instanceof Error?xe:new er(u("Failed to download file from the URL."),"UploadUrlDownloadFailed")}let ie=ct(ye),Fe=Vg({preferredName:O,url:K,mimeType:ye});return{kind:"blob",blob:se,normalizedUrl:K,mimeType:ye,extension:ie,fileName:zt(Fe,a?.config)}},[V,a?.config,u]),G=(0,F.useCallback)(async(z,q)=>{Xo(z,u);let O=ra(z);try{let K=await $(O,q);return K.kind==="existing"?K.file:{thumbnail:await bd(K.blob),name:K.fileName,type:K.mimeType,extension:K.extension,size:K.blob.size,sourceUrl:K.normalizedUrl,saveWithoutFolder:!0}}catch(K){let J=K;if(U?.uploadFileByUrl)try{let Fe=m??"",xe=zt(ta(O)||"uploaded-file",a?.config),Ce=await ge(xe,Fe,!1),be=await U.uploadFileByUrl({url:O,folderId:Fe,name:Ce,eventSource:"imageEditor"}),Pe=Cd((be?.id&&U.getFileData?await U.getFileData(be.id):void 0)??(be?.url?await aa(be.url):be?.thumbnailUrl?await aa(be.thumbnailUrl):be?.sourceUrl?await aa(be.sourceUrl):void 0),u),Ge=await bd(Pe.blob);return{...be,thumbnail:Ge,type:be.type||Pe.mimeType,extension:be.extension||ct(Pe.mimeType),size:be.size??Pe.blob.size,sourceUrl:be.sourceUrl||O}}catch(Fe){J=Fe}let se=Ue(J),ye=Yg(se?.code,"UploadUrlDownloadFailed"),ie=J instanceof er?J:new er(sr(ye,u)??se?.message??u("Failed to download file from the URL."),ye,se?.status);throw ie.notificationShown=!0,await c.error({id:"EDITOR_PROXY_FILE_FAILED",message:ie.message,placement:"bottomRight",data:{url:O,folderId:m||null,error:se,eventSource:"imageEditor"},innerException:J},q),ie}},[U,c,a?.config,$,ge,m,u]),ue=(0,F.useCallback)(async z=>{let q=N.current;try{let O=x.current.find(se=>se.id===z);await g({items:[{id:z,isFolder:O?.isFolder}],selectedFolder:m,getItemNameById:se=>{if(se)return b.find(ye=>ye.id===se)?.name},showNotifications:!0});let K={...q},J=q.current;b.length===1&&(J=K.current>1?K.current-1:1),await B({folderId:m||"",page:J,limit:q.pageSize,sortBy:n,sortOrder:l})}catch(O){O?.notificationShown||c.error({id:"FILES_DELETE_ERROR",message:u("Error when deleting a file"),placement:"bottomRight",innerException:O,data:{failCount:1,totalCount:1,itemIds:[z],folderId:m||null,errors:[{itemId:z,error:Ue(O)}]}})}},[g,B,m,u,c,b,n,l]),X=(0,F.useCallback)(async z=>{try{let q=N.current;if(U?.deleteFolder)if(await U.deleteFolder(z))c.success({id:"FOLDER_DELETE_SUCCESS",message:u("Folder deleted"),placement:"bottomRight",data:{successCount:1,totalCount:1,itemIds:[z],folderId:z}});else{let O=Error("Не удалось удалить папку");throw O.notificationShown=!1,O}else{c.error({id:"FOLDER_DELETE_ERROR",message:u("DataProvider for folder deletion is not configured"),placement:"bottomRight",data:{totalCount:1,failCount:1,itemIds:[z],folderId:z}});return}m===z?await B({page:q.current,limit:q.pageSize,sortBy:n,sortOrder:l}):await B({folderId:m||"",sortBy:n,sortOrder:l,page:q.current,limit:q.pageSize})}catch(q){q?.notificationShown||c.error({id:"FOLDER_DELETE_ERROR",message:u("Error when deleting a folder"),innerException:q,placement:"bottomRight",data:{totalCount:1,failCount:1,itemIds:[z],folderId:z,errors:[{itemId:z,error:Ue(q)}]}})}},[U,m,c,u,B,n,l]),ae=(0,F.useCallback)(async(z,q)=>{try{if(U?.getFileData){let O=await U.getFileData(z);if(O)return O;throw Error(u("Failed to download file"))}{let O=await fetch(`/api/files/${z}/content`);if(!O.ok)throw Error(u("Error loading image"));return await O.blob()}}catch(O){let K=x.current.find(J=>J.id===z);q||c.error({id:"FILE_DOWNLOAD_FAILED",message:u("Failed to download file"),placement:"bottomRight",description:K?.name||z,innerException:O,notificationDedupe:!1,data:{itemId:z,itemName:K?.name||z,folderId:K?.folderId??null,thumbnail:K?.thumbnail??null}},q)}},[U,c,u]),me=(0,F.useCallback)(async(z,q,O,K)=>{if((K?"":q??(m||""))==="Trash")throw Error(u("Upload to Trash is forbidden"));let J=zt(z.name,a?.config),se=J.split(".").pop()||"",ye=K?"":q??(m||""),ie=z;try{if(us(z)){let Ce=a?.config?.compressMaxSize??Zt.MAX_SIZE_MB,be=a?.config?.compressMaxWidthOrHeight??2e3,Pe=a?.config?.compessorUrl??a?.config?.compressorUrl,Ge=z.type?.trim()||Ho(z.name)||z.type;ie=await ea(z,{maxSizeMB:Ce,maxWidthOrHeight:be,mimeType:Ge,fileName:J,libURL:Pe,enableCompression:Ti(a?.config,Ge),convertSvgToPng:!0})}else ie=Ao(z,J)}catch{ie=Ao(z,J)}let Fe=ie.name,xe=ho(a?.config);xe&&(Fe=await ge(Fe,ye,K)),xe&&(ie=Ao(ie,Fe));try{if(U?.uploadFiles)try{let Ce=await U.uploadFiles({items:[{name:Fe,size:ie.size,type:ie.type||z.type,folderId:ye,data:ie,extension:se,noFolder:K}],folderId:ye});if(Ce.success&&Ce.detailed&&Ce.detailed.length>0){let be=Ce.detailed[0];if(be.success&&be.data){let Pe=be.data;if(Pe.id){let Ge=(Pe.folderId??ye)||void 0;await B({folderId:Ge??m??"",noFolder:K});let Ve=o.files.find(je=>je.id===Pe.id);if(!Ve)try{Ve=(await de({folderId:Ge,noFolder:K,itemType:"all"})).find(je=>je.id===Pe.id)}catch{}return M&&M("my_files"),Ve||{...Pe,id:Pe.id,name:Pe.name||J,folderId:Pe.folderId??ye??null,type:ie.type||z.type,size:ie.size,extension:se||J.split(".").pop()||"",thumbnail:Pe.thumbnail??void 0,url:Pe.url??void 0,thumbnailUrl:Pe.thumbnailUrl??void 0,isFolder:!1,selected:!1}}}else{if(!O){let Pe=be?.error?String(be.error):u("Failed to upload file");c.error({id:"FILE_UPLOAD_ITEM_FAILED",message:Pe,placement:"bottomRight",description:J,innerException:be?.error,data:{itemName:J,folderId:ye||null,eventSource:"upload"}})}M&&M("my_files");return}}else if(!Ce.success){if(!O){let be=Ce.error?String(Ce.error):u("Failed to upload file");c.error({id:"FILE_UPLOAD_ITEM_FAILED",message:be,placement:"bottomRight",description:J,innerException:Ce.error,data:{itemName:J,folderId:ye||null,eventSource:"upload"}})}M&&M("my_files");return}M&&M("my_files");return}catch(Ce){throw Ce}if(U?.uploadFile){let Ce=await U.uploadFile({name:Fe,size:ie.size,type:ie.type||z.type,folderId:ye,noFolder:K,data:ie,extension:se});return M&&M("my_files"),Ce}O||c.error({id:"FILES_UPLOAD_PROVIDER_NOT_CONFIGURED",message:u("DataProvider for file upload is not configured"),placement:"bottomRight"});return}catch(Ce){let be=sr(Ue(Ce)?.code,u);if(!O){c.error({id:"FILE_UPLOAD_ITEM_FAILED",message:be??u("Failed to upload file"),placement:"bottomRight",description:J,innerException:Ce,data:{itemName:J,folderId:ye||null,error:Ue(Ce),eventSource:"upload"}});return}return}},[U,m,M,o.files,B,de,c,u,a?.config]),ne=(0,F.useCallback)(async(z,q)=>{if(!U?.getFolders||!U?.createFolder)return z||"";try{let O=await U.getFolders(),K=Array.isArray(O)?O:[],J=(ye,ie)=>K.find(Fe=>(Fe.parentId??null)===(ye??null)&&Fe.name===ie),se=z??"";for(let ye of q){if(!ye)continue;let ie=J(se,ye);if(!ie){let Fe=await U.createFolder({name:ye,parentId:se??null});K.push(Fe),ie=Fe}se=ie.id}return se??(z||"")}catch{return z||""}},[U]),ee=(0,F.useCallback)(async(z,q)=>{if(!z.type?.startsWith?.("image/"))return q??null;let O=z?.webkitRelativePath,K=q||"";if(O&&O.includes("/")){let J=O.split("/");J.pop();let se=J.filter(Boolean);se.length&&(K=await ne(q||"",se)||q||"")}return K??q??null},[ne]);(0,F.useCallback)(async z=>{let{file:q,selectedFolderId:O,uploadFn:K,progressCallbacks:J}=z;if(!q.type?.startsWith?.("image/"))return{success:!0,fileName:q.name,folderId:O??null};let se=await ee(q,O)??O??null??O??null;J?.onStart?.(q);let ye;try{if(J?.onProgress){let Fe=0;ye=window.setInterval(()=>{Fe=Math.min(Fe+10+Math.floor(Date.now()%10),90),J?.onProgress?.(q.name,Fe)},200)}let ie=await K(q,se??void 0);return J?.onProgress&&J?.onProgress?.(q.name,100),J?.onComplete?.(q.name),{success:!0,fileName:q.name,fileId:ie?.id,folderId:ie?.folderId??se??null}}catch(ie){let Fe=ie instanceof Error?ie.message:String(ie);return J?.onError?.(q.name,Fe),{success:!1,fileName:q.name,folderId:se??O??null,error:Fe}}finally{ye!==void 0&&clearInterval(ye)}},[ee]);let he=(0,F.useCallback)(async(z,q)=>{if(z.length===0)return{successCount:0,failCount:0,successes:[],errors:[],totalCount:0};q?.onStartBatch?.(z);let O=re=>{let ce=re.filter(Boolean);return ce.length>0&&ce.length<=5?ce.join(", "):null},K=(await Qg(z,Zg,async(re,ce)=>{if(!us(re)){let Ze=await c.warning({id:"FILES_UPLOAD_UNSUPPORTED_TYPE",message:u("Unsupported file type"),placement:"bottomRight",data:{itemName:re.name,fileType:re.type,folderId:m||null}});return q?.onError?.(re.name,Ze.message),null}let Se=zt(re.name,a?.config),pe=re;try{let Ze=a?.config?.compressMaxSize??Zt.MAX_SIZE_MB,xr=a?.config?.compressMaxWidthOrHeight??2e3,$r=a?.config?.compessorUrl??a?.config?.compressorUrl,hr=re.type?.trim()||Ho(re.name)||re.type;pe=await ea(re,{maxSizeMB:Ze,maxWidthOrHeight:xr,mimeType:hr,fileName:Se,libURL:$r,enableCompression:Ti(a?.config,hr),convertSvgToPng:!0})}catch{pe=Ao(re,Se)}let we=`${Date.now()}-${ce}-${Math.random().toString(36).slice(2,8)}`,De=await ee(pe,m);return q?.onStart?.(pe),{file:pe,targetFolderId:De,requestId:we,originalFileName:re.name,originalIndex:ce}})).filter(re=>re!==null),J=K.length;if(J===0)return{successCount:0,failCount:0,successes:[],errors:[],totalCount:0};let se=ho(a?.config),ye=new Map;if(se&&U?.getFiles){let re=[...new Set(K.map(ce=>ce.targetFolderId??m??"").filter(ce=>ce!=null))];for(let ce of re)try{let{files:Se}=await U.getFiles({folderId:ce===""?"":ce??void 0,itemType:"all",page:1,limit:1e4}),pe=(Se||[]).map(we=>we.name).filter(we=>!!we);if(U?.getFolders){let we=(await U.getFolders({parentId:ce||null,deep:!1})||[]).map(De=>De.name).filter(De=>!!De);pe=[...pe,...we]}ye.set(ce,pe)}catch{}}let ie=new Map,Fe=(re,ce)=>{let Se=re??"",pe=ye.get(Se)||[],we=ie.get(Se);we||(we=new Set(pe.map(Ze=>Ze.toLowerCase())),ie.set(Se,we));let De=Zo(ce,Array.from(we));return we.add(De.toLowerCase()),De},xe=K.map(re=>{let ce=se?Fe(re.targetFolderId,re.file.name):re.file.name,Se=se?Ao(re.file,ce):re.file;return{...re,resolvedUploadName:ce,uploadFile:Se}}),Ce=!q,be=J===1&&Ce,Pe=[],Ge=[],Ve=[],je=[],Ke=new Map,cr=0,or=0,Jt=(re,ce,Se,pe,we)=>c.success({id:"FILE_UPLOAD_ITEM_SUCCESS",message:`${u("File")} ${re} ${u("has been successfully uploaded")}`,placement:"bottomRight",data:{itemId:Se,itemName:re,folderId:ce??m??null,eventSource:we??"upload"}},pe||!Ce),gt=a?.config?.maxFileSize??52428800,Xt=(re,ce,Se,pe,we)=>{let De=Ue(Se),Ze=we?.fileSize??De?.fileSize,xr=we?.maxSize??De?.maxSize??gt,$r={allowedChars:"a-z A-Z 0-9 . _ -",fileSize:Ze==null?void 0:Qt(Number(Ze)),maxSize:xr==null?void 0:Qt(Number(xr))},hr=De?.code,Io=hr==="BatchItemLimitExceeded"||hr==="exceeded_max_files"?hr:ad(De?.message)??hr,Hi=Io==="BatchItemLimitExceeded"||Io==="exceeded_max_files"?id(Se,u):sr(Io,u,$r),ua=De?.message&&typeof De.message=="string"&&De.message.length>0?De.message:null,Fo=Se instanceof Error?Se.message:typeof Se=="string"?Se:null,Vi=Fo&&Fo!=="[object Object]"?Fo:null;return c.error({id:"FILE_UPLOAD_ITEM_FAILED",message:ua??Hi??Vi??u("Error uploading file {{fileName}}",{fileName:re}),placement:"bottomRight",data:{itemName:re,folderId:ce??m??null,error:Ue(Se),eventSource:"upload"},innerException:Se},pe||!Ce)},Lt=async(re,ce,Se,pe)=>{let{emitProgress:we=!0,emitNotification:De=!0}=pe??{};cr++,Pe.push(re),Ge.push(Se??re),await Jt(re,ce,Se,!De),we&&(q?.onProgress?.(re,100),q?.onComplete?.(re))},Ut=async(re,ce,Se,pe)=>{let{emitProgress:we=!0,emitNotification:De=!0,fileSize:Ze,progressCallbackName:xr,progressCallbackIndex:$r}=pe??{};or++;let hr=await Xt(re,ce,Se,!De,Ze==null?void 0:{fileSize:Ze,maxSize:gt});we&&q?.onError?.(xr??re,hr.message,$r),je.push({itemId:void 0,itemName:re,error:Ue(Se)}),Ve.push({fileName:re,error:hr.message})},Qe;if(U?.uploadFiles){let re=[];try{q?.onProgress&&K.forEach(pe=>{let we=0,De=window.setInterval(()=>{we=Math.min(we+10+Math.floor(Date.now()%10),90),q?.onProgress?.(pe.file.name,we)},200);re.push(De)}),Qe=await U.uploadFiles({items:xe.map(pe=>({requestId:pe.requestId,name:pe.resolvedUploadName,size:pe.uploadFile.size,type:pe.uploadFile.type,folderId:pe.targetFolderId??m??null,data:pe.uploadFile,extension:pe.uploadFile.name.split(".").pop()||""})),folderId:m??null}),re.forEach(pe=>window.clearInterval(pe)),re.length=0;let ce=Qe.detailed??[],Se=new Map(ce.filter(pe=>pe.requestId).map(pe=>[pe.requestId,pe]));if(ce.length>0)for(let pe=0;pe<xe.length;pe++){let we=xe[pe],De=(we.requestId?Se.get(we.requestId):void 0)??ce[pe];if(De&&De.success){let Ze=De.data,xr=Ze?.name??we.resolvedUploadName,$r=Ze?.folderId??we.targetFolderId??m??null,hr=Ze?.id;Ke.set(xr,{id:hr,name:xr,folderId:$r,size:Ze?.size,originalFileName:we.originalFileName,originalIndex:we.originalIndex}),await Lt(xr,$r,hr,{emitNotification:be})}else{let Ze=De?.data;await Ut(Ze?.name??we.resolvedUploadName,Ze?.folderId??we.targetFolderId??m??null,De?.error??Error(u("Error uploading file")),{emitNotification:be,fileSize:we.file.size,progressCallbackName:we.originalFileName,progressCallbackIndex:we.originalIndex})}}else if(Qe.success)for(let pe of xe){let we=pe.resolvedUploadName;await Lt(we,pe.targetFolderId??m??null,void 0,{emitNotification:be})}else{let pe=Qe.error??Error(u("Error uploading file"));for(let we of xe){let De=we.resolvedUploadName;await Ut(De,we.targetFolderId??m??null,pe,{emitNotification:be,fileSize:we.file.size,progressCallbackName:we.originalFileName,progressCallbackIndex:we.originalIndex})}}}catch(ce){for(let Se of xe){let pe=Se.resolvedUploadName;await Ut(pe,Se.targetFolderId??m??null,ce??Error(u("Error uploading file")),{emitNotification:be,fileSize:Se.file.size,progressCallbackName:Se.originalFileName,progressCallbackIndex:Se.originalIndex})}}finally{re.forEach(ce=>window.clearInterval(ce))}}else return c.error({id:"FILES_UPLOAD_PROVIDER_NOT_CONFIGURED",message:u("DataProvider for file upload is not configured"),placement:"bottomRight"}),{successCount:0,failCount:J,successes:[],errors:[],totalCount:J};if(cr>0&&(M&&M("my_files"),J>1&&Ce)){let re=O(Pe),ce=re?u("Uploaded",{names:re}):u("uploads_success_summary",{successCount:cr,totalCount:J});c.success({id:"FILES_UPLOAD_BATCH_SUCCESS",message:ce,placement:"bottomRight",data:{successCount:cr,totalCount:J,itemIds:Ge,itemNames:Pe,folderId:m??null,eventSource:"upload"}})}if(or>0&&Ce&&!be){if(J>1){let re=Ve.map(pe=>pe.fileName),ce=O(re),Se=ce?u("Failed",{names:ce}):u("uploads_fail_summary",{failCount:or,totalCount:J});c.error({id:"FILES_UPLOAD_BATCH_FAILED",message:Se,placement:"bottomRight",data:{failCount:or,totalCount:J,itemNames:re,folderId:m??null,errors:je,eventSource:"upload"}})}else if(J===1&&je.length>0&&je[0].error?.code){let re=sr(je[0].error?.code,u),ce=Ve[0]?.fileName??"",Se=re??(ce?`${u("Failed to upload files")}: ${ce}`:u("Failed to upload files"));c.error({id:"FILES_UPLOAD_BATCH_FAILED",message:Se,placement:"bottomRight",data:{failCount:or,totalCount:J,itemNames:[ce],folderId:m??null,errors:je,eventSource:"upload"}})}}return{successCount:cr,failCount:or,successes:Pe,errors:Ve,totalCount:J,uploadedFiles:Ke.size>0?Ke:void 0}},[U,a?.config?.dedupeUploadNamesOnClient,c,ee,m,M,u,a?.config]);return{fetchFiles:B,handleDeleteFile:ue,handleDeleteFolder:X,handleAddFile:(0,F.useCallback)(async z=>{if(!U?.uploadFiles){c.error({id:"FILES_UPLOAD_PROVIDER_NOT_CONFIGURED",message:u("DataProvider for file upload is not configured"),placement:"bottomRight"});return}if(m==="Trash"){c.warning({id:"FOLDER_OPERATION_VALIDATION_FAILED",message:u("Cannot upload files to Trash"),placement:"bottomRight",data:{folderId:m||null,reason:"Upload to Trash is not allowed"}});return}let q=N.current,O=document.createElement("input");O.type="file",O.accept="image/*",O.multiple=!0;try{a?.config?.features&&a.config.features.enableDirectoryUpload&&(O.webkitdirectory=!0)}catch{}O.onchange=async K=>{let J=K.target.files;if(!J||J.length===0)return;let se=Array.from(J);try{R?.(!0);let{successes:ye,errors:ie,uploadedFiles:Fe}=await he(se,z);z?.onBatchComplete?.({files:se,successes:ye,errors:ie,uploadedFiles:Fe}),await d(),await B({folderId:m||"",sortBy:n,sortOrder:l,page:q.current,limit:q.pageSize})}catch{}finally{R?.(!1)}},O.click()},[U?.uploadFiles,m,c,u,R,B,d,n,l,he,a?.config?.features]),handleAddFileByUrl:(0,F.useCallback)(async(z,q,O,K="uploadByUrl",J)=>{let se=N.current,ye=!!(z&&String(z).trim()),ie=z??null,Fe;try{if(!q&&m==="Trash")throw O||c.warning({id:"FOLDER_OPERATION_VALIDATION_FAILED",message:u("Cannot upload files to Trash"),placement:"bottomRight",data:{folderId:m||null,reason:"Upload to Trash is not allowed"}}),new er(u("Cannot upload files to Trash"),"UploadUrlDownloadFailed");let xe;if(!ie&&v&&(xe=await v.validateFields(),ie=xe?.fileUrl),!ie)throw O||c.error({id:"FILES_UPLOAD_URL_VALIDATION_FAILED",message:u("Please fill in all fields"),placement:"bottomRight",data:{url:ie??null,folderId:m||null,eventSource:K}}),new er(u("Please fill in all fields"),"UploadUrlInvalid");Xo(ie,u),ie=ra(ie),R?.(!0);let Ce;ie&&(Ce=ta(ie)||"uploaded-file",Ce=zt(Ce,a?.config));let be=q?"":m||"",Pe=!!(U?.uploadFiles||U?.uploadFile),Ge=!!U?.uploadFileByUrl,Ve=Ce;Ve&&Ge&&(Ve=await ge(Ve,be,q));try{let Ke=await $(ie,O,J);if(Ke.kind==="existing")Fe=Ke.file;else if(Pe){let cr=new File([Ke.blob],Ke.fileName,{type:Ke.mimeType,lastModified:Date.now()});try{Fe=await me(cr,be,!0,q)}catch(or){throw or.uploadUrlStage="binaryUpload",or}if(!Fe){let or=new er(u("Failed to upload file"),"FileUploadBackendError");throw or.uploadUrlStage="binaryUpload",or}}else if(Ge)Fe=await U.uploadFileByUrl({url:ie,folderId:m||"",noFolder:q,name:Ve,eventSource:K});else throw O||c.error({id:"FILES_UPLOAD_URL_NOT_SUPPORTED",message:u("Upload by URL is not supported"),placement:"bottomRight",data:{url:ie,folderId:m||null,eventSource:K}}),new er(u("Upload by URL is not supported"),"UploadUrlDownloadFailed")}catch(Ke){if(Ke?.uploadUrlStage!=="binaryUpload"&&Ge)Fe=await U.uploadFileByUrl({url:ie,folderId:m||"",noFolder:q,name:Ve,eventSource:K});else throw Ke}let je=xe?.name||Fe?.name||"unnamed file";return Fe&&c.success({id:"FILE_UPLOAD_ITEM_SUCCESS",message:`${u("File")} ${je} ${u("successfully uploaded")}`,placement:"bottomRight",data:{itemName:je,itemId:Fe?.id,folderId:m||null,eventSource:K}},O),(xe||ye)&&(E?.(!1),v?.resetFields()),M&&M("my_files"),await B({folderId:m||"",noFolder:q,sortBy:n,sortOrder:l,page:se.current,limit:se.pageSize}),Fe}catch(xe){if(!O){let Ce=Ue(xe),be=Ce,Pe=xe,Ge=Number(be?.fileSize),Ve=Number(be?.maxSize),je=Number.isFinite(Ge)&&Number.isFinite(Ve)?{fileSize:Ge,maxSize:Ve}:void 0,Ke=Pe?.uploadUrlStage==="binaryUpload"?id(Ce,u,je):nd(Ce,u);c.error({id:"FILES_UPLOAD_BY_URL_FAILED",message:Ke,placement:"bottomRight",data:{url:ie??null,folderId:m||null,error:Ce,eventSource:K},innerException:xe})}throw xe}finally{R?.(!1)}},[v,R,U,c,u,E,M,B,m,n,l,ge,$,me,a?.config]),handleDroppedFiles:(0,F.useCallback)(async z=>{if(!z.length)return;let q=N.current;if(m==="Trash"){c.warning({id:"FOLDER_OPERATION_VALIDATION_FAILED",message:u("Cannot upload files to Trash"),placement:"bottomRight",data:{folderId:m||null,reason:"Upload to Trash is not allowed"}});return}await he(z),await B({folderId:m||"",sortBy:n,sortOrder:l,page:q.current,limit:q.pageSize})},[B,m,n,l,he,c,u]),getFileData:ae,findFileByUrl:V,resolveFileForEditByUrl:G,uploadFileWithProvider:me}},Ad=o=>{let t,a=new Set,n=(c,g)=>{let m=typeof c=="function"?c(t):c;if(!Object.is(m,t)){let v=t;t=g??(typeof m!="object"||!m)?m:Object.assign({},t,m),a.forEach(y=>y(t,v))}},l=()=>t,d={setState:n,getState:l,getInitialState:()=>u,subscribe:c=>(a.add(c),()=>a.delete(c))},u=t=o(n,l,d);return d},rh=(o=>o?Ad(o):Ad),th=o=>o;function oh(o,t=th){let a=F.default.useSyncExternalStore(o.subscribe,F.default.useCallback(()=>t(o.getState()),[o,t]),F.default.useCallback(()=>t(o.getInitialState()),[o,t]));return F.default.useDebugValue(a),a}var Id=o=>{let t=rh(o),a=n=>oh(t,n);return Object.assign(a,t),a},ah=(o=>o?Id(o):Id);function ih(o,t){if(o.length!==t.length)return!1;for(let a=0;a<o.length;a+=1)if(o[a]!==t[a])return!1;return!0}function pt(o,t){if(o.size!==t.size)return!1;for(let a of o)if(!t.has(a))return!1;return!0}var _r=ah(o=>({selectedFiles:new Set,visibleFileIds:[],anchorId:null,multiSelect:!0,setMultiSelect:t=>{o(a=>{if(a.multiSelect===t)return a;if(t)return{multiSelect:!0};let n=Array.from(a.selectedFiles)[0]??null;return{multiSelect:!1,selectedFiles:n?new Set([n]):new Set,anchorId:n}})},syncVisibleFiles:t=>{let a=Array.isArray(t)?t.map(n=>n.id):[];o(n=>{let l=new Set(a),d=new Set(Array.from(n.selectedFiles).filter(v=>l.has(v))),u=n.anchorId&&l.has(n.anchorId)?n.anchorId:null,c=ih(n.visibleFileIds,a),g=pt(n.selectedFiles,d),m=n.anchorId===u;return c&&g&&m?n:{visibleFileIds:a,selectedFiles:d,anchorId:u}})},setSelectedFiles:t=>{o(a=>{let n=new Set(a.visibleFileIds),l=new Set(Array.from(t).filter(d=>n.has(d)));return pt(a.selectedFiles,l)?a:{selectedFiles:l,anchorId:Array.from(l)[0]??null}})},clearSelection:()=>{o(t=>t.selectedFiles.size===0&&t.anchorId===null?t:{selectedFiles:new Set,anchorId:null})},selectAllVisible:()=>{o(t=>{let a=new Set(t.visibleFileIds),n=t.visibleFileIds[0]??null;return pt(t.selectedFiles,a)&&t.anchorId===n?t:{selectedFiles:a,anchorId:n}})},toggleFileSelection:(t,a)=>{o(n=>{let l=n.multiSelect!==!1,d=!!a?.shiftKey&&l,u=!!a?.metaKey||!!a?.ctrlKey||!!a?.forceToggle,c=n.visibleFileIds,g=new Set(c);if(c.length>0&&!g.has(t))return n;if(!l){let v=new Set([t]);return pt(n.selectedFiles,v)&&n.anchorId===t?n:{selectedFiles:v,anchorId:t}}if(d&&n.anchorId&&g.has(n.anchorId)){let v=c.indexOf(n.anchorId),y=c.indexOf(t);if(v===-1||y===-1)return n;let[b,S]=v<y?[v,y]:[y,v],A=c.slice(b,S+1),N=u?new Set(n.selectedFiles):new Set;return A.forEach(x=>{N.add(x)}),pt(n.selectedFiles,N)?n:{selectedFiles:N}}if(d&&!n.anchorId){let v=new Set([t]);return pt(n.selectedFiles,v)&&n.anchorId===t?n:{selectedFiles:v,anchorId:t}}if(u){let v=new Set(n.selectedFiles);return v.has(t)?v.delete(t):v.add(t),pt(n.selectedFiles,v)&&n.anchorId===t?n:{selectedFiles:v,anchorId:t}}let m=new Set([t]);return pt(n.selectedFiles,m)&&n.anchorId===t?n:{selectedFiles:m,anchorId:t}})}})),nh=()=>{let{state:o}=ar(),t=o.multiSelect,a=_r(d=>d.selectedFiles),n=_r(d=>d.toggleFileSelection),l=_r(d=>d.setMultiSelect);return(0,F.useEffect)(()=>{l(t!==!1)},[t,l]),{state:{selectedFiles:a},actions:{toggleFileSelection:n}}},lh=()=>{let{options:o}=ar(),{dataProviders:t}=o,{t:a}=wr();return{renameItem:(0,F.useCallback)(async({itemId:n,newName:l,isFolder:d})=>{try{if(d){if(!t?.renameFolder)throw Error(a("renameFolder is not implemented in dataProviders"));let g=hi(l.trim(),o.config),m=await t.renameFolder(n,g);return{success:!0,renamedItem:{id:m.id,name:m.name??g,parentId:m.parentId??null,folderId:m.parentId??null}}}if(!t?.renameFile)throw Error(a("renameFile is not implemented in dataProviders"));let u=zt(l,o.config),c=await t.renameFile(n,u);return{success:!0,renamedItem:{id:c?.id??n,name:c?.name??u,folderId:c?.folderId??null,parentId:c?.parentId??c?.folderId??null}}}catch(u){return{success:!1,error:Ue(u)}}},[t,a,o.config])}},sh=o=>{let{state:t,actions:a,options:n}=ar(),{t:l}=wr(),d=Jo(),u=Rr(),{fetchFolders:c}=d.actions,{renameItem:g}=lh(),{files:m,selectedFolder:v,fileToRename:y,renameForm:b,isRenameModalVisible:S,pagination:A}=t,{setFileToRename:N,setIsRenameModalVisible:x}=a,{dataProviders:Y,config:k}=n,R=Q=>{if(!Q)return null;let U=Q;return U.folderId??U.parentId??null},E=(Q,U)=>({itemId:Q?.id??U,itemName:Q?.name,folderId:R(Q)}),M=(0,F.useCallback)(Q=>{let U=m?.find(de=>de.id===Q);if(U?.isFolder||Q.startsWith("folder_")){if(k?.features?.enableRenameFolder===!1){u.error({id:"FOLDER_RENAME_DISABLED_BY_CONFIG",message:l("Folder rename is disabled by config"),placement:"bottomRight",data:E(U,Q)});return}if(!Y?.renameFolder)throw Error(l("renameFolder is not implemented in dataProviders"))}else{if(k?.features?.enableRenameFile===!1){u.error({id:"FILE_RENAME_DISABLED_BY_CONFIG",message:l("File rename is disabled by config"),placement:"bottomRight",data:E(U,Q)});return}if(!Y?.renameFile)throw Error(l("renameFile is not implemented in dataProviders"))}N?.(Q),x?.(!0),U&&b&&b.setFieldsValue({newFileName:U.name})},[m,N,x,b,k?.features?.enableRenameFolder,k?.features?.enableRenameFile,Y?.renameFolder,Y?.renameFile,u,l]),D=(0,F.useCallback)(()=>{x?.(!1),N?.(null),b?.resetFields()},[x,N,b]),W=(0,F.useCallback)(async()=>{if(!y||!b)return;let Q=m?.find(U=>U.id===y);try{let U=await b.validateFields();if(!U?.newFileName)return;let de=Q?.isFolder||y.startsWith("folder_");if(de){if(k?.features?.enableRenameFolder===!1){u.error({id:"FOLDER_RENAME_DISABLED_BY_CONFIG",message:l("Folder rename is disabled by config"),placement:"bottomRight",data:E(Q,y)});return}}else if(k?.features?.enableRenameFile===!1){u.error({id:"FILE_RENAME_DISABLED_BY_CONFIG",message:l("File rename is disabled by config"),placement:"bottomRight",data:E(Q,y)});return}let ge=await g({itemId:y,newName:U.newFileName,isFolder:de});if(!ge.success){let B=sr(ge.error?.code,l);u.error({id:"ITEM_RENAME_FAILED",message:B??ge.error?.message??l("Error renaming"),placement:"bottomRight",data:{...E(Q,y),error:ge.error},innerException:ge.error});return}let fe=ge.renamedItem;de?(u.success({id:"FOLDER_RENAME_SUCCESS",message:l(`${l("Folder renamed to")} ${fe?.name??U.newFileName}`),placement:"bottomRight",data:{itemId:fe?.id??y,itemName:fe?.name??U.newFileName,folderId:fe?.parentId??fe?.folderId??null}}),await c(),fe?.id&&fe.id!==y&&a.setSelectedFolder&&a.setSelectedFolder(fe.id)):u.success({id:"FILE_RENAME_SUCCESS",message:`${l("File renamed to")} ${fe?.name??U.newFileName}`,placement:"bottomRight",data:{...E(Q,y),itemName:fe?.name??U.newFileName}}),D(),await o({folderId:v||"",page:A.current,limit:A.pageSize})}catch(U){let de=Ue(U),ge=sr(de?.code,l);u.error({id:"ITEM_RENAME_FAILED",message:ge??(U instanceof Error?U.message:l("Error renaming")),placement:"bottomRight",data:{...E(Q,y),error:de},innerException:U})}},[y,b,m,a,D,o,v,l,A,k?.features?.enableRenameFolder,k?.features?.enableRenameFile,u,c,g]);return{state:{isRenamingFile:S||!1,fileToRename:y},actions:{showRenameModal:M,handleRenameCancel:D,handleRenameOk:W}}},dh=o=>o.requestId??o.id,uh=()=>{let{options:o}=ar(),{dataProviders:t}=o,{t:a}=wr(),n=Rr();return{moveItems:(0,F.useCallback)(async({items:l,targetFolderId:d,getItemNameById:u,showNotifications:c=!1})=>{let g=0,m=0,v=[];if(t?.moveItems)try{let y=await t.moveItems(d==="folders"?"":d,l.map(S=>S.id)),b=y.detailed;if(b){let S=b.filter(N=>N.success),A=b.filter(N=>!N.success);g+=S.length,m+=A.length,A.forEach(N=>{let x=dh(N),Y=N.error,k=Ue(Y);v.push({itemId:x,itemName:u(x),error:k})})}else if(y.success)g+=l.length;else{let S=y.error;if(S){m+=l.length;let A=Ue(S);v.push({error:A})}else m+=l.length}}catch(y){m+=l.length;let b=Ue(y);v.push({error:b})}else m+=l.length,v.push({error:{message:"Move provider is not configured"}});return c&&(g>0&&n.success({id:"FILES_MOVE_SUCCESS",message:a("Files moved"),placement:"bottomRight",data:{successCount:g,totalCount:l.length,itemIds:l.map(y=>y.id),folderId:d==="folders"?null:d}}),m>0&&n.error({id:"FILES_MOVE_ERROR",message:a("Errors occurred while moving"),placement:"bottomRight",innerException:v.length?v:void 0,data:{failCount:m,totalCount:l.length,itemIds:l.map(y=>y.id),errors:v.length?v:void 0}})),{successCount:g,failCount:m,errorDetails:v}},[t,n,a])}},Ui=o=>{let t=a=>{if(a)return o.find(n=>n.id===a)?.name};return{getItemNameById:t,getItemNamesByIds:a=>a.map(t).filter(n=>!!n),getNamesPreview:a=>a.length>0&&a.length<=5?a.join(", "):null}},Fd=(o,t,a,n,l)=>({itemIds:o,itemNames:l&&l.length?l:void 0,successCount:t,totalCount:a,folderId:n??null}),ia=(o,t,a,n,l,d)=>({itemIds:o,itemNames:d&&d.length?d:void 0,failCount:t,totalCount:a,folderId:n??null,errors:l}),Ni=()=>{let o=Rr(),{t}=wr(),{state:a,options:n}=ar(),{folders:l,pathHistory:d}=a,{dataProviders:u}=n,{actions:{fetchFolders:c,fetchChildFolders:g}}=Jo();return{refreshFolders:(0,F.useCallback)(async({parentIds:m,selectedFolder:v})=>{try{if(await c(),m&&g)for(let y of m)y&&await g(y)}catch(y){let b=t("Folders");o.error({id:"FOLDERS_FETCH_FAILED",message:t("Failed to refresh folder tree"),description:b,placement:"bottomRight",innerException:y,notificationDedupe:!0,data:{folderId:null,folderName:b,reason:y instanceof Error?y.message:String(y)}})}},[o,t,c,g]),refreshFiles:(0,F.useCallback)(async({fetchFiles:m,selectedFolder:v,page:y,limit:b})=>{try{await m({folderId:v||"",page:y,limit:b})}catch(S){let A=await Ri({folderId:v||"",dataProviders:u,folders:Array.isArray(l)?l:[],pathHistory:d,t}),N=t("Failed to load files"),x=S instanceof Error?S.message:String(S);o.error({id:"FILES_FETCH_FAILED",message:t("Failed to load files in folder",{folderName:A}),description:x&&x!==N?x:void 0,placement:"bottomRight",innerException:S,notificationDedupe:!0,data:{params:{folderId:v||void 0,page:y,limit:b,folderName:A},folderName:A}})}},[o,t,u,l,d])}},ch=o=>{let{state:t,actions:a,options:n}=ar(),{t:l}=wr(),d=Rr(),u=_r(Q=>Q.selectedFiles),c=_r(Q=>Q.clearSelection),{files:g,selectedFolder:m,moveForm:v,pagination:y,currentMenuFile:b}=t,{setIsMoveModalVisible:S,setPagination:A}=a,{dataProviders:N}=n,{moveItems:x}=uh(),{refreshFolders:Y,refreshFiles:k}=Ni(),{getItemNameById:R,getItemNamesByIds:E,getNamesPreview:M}=Ui(g),D=(0,F.useCallback)(()=>{S?.(!0)},[S]),W=(0,F.useCallback)(()=>{S?.(!1),v?.resetFields()},[S,v]);return{actions:{showMoveModal:D,handleMoveCancel:W,handleMoveOk:(0,F.useCallback)(async Q=>{if(!b?.length&&(!u||u.size===0))return;let U=g.length,de={...y},ge=Array.from(b?.length?[b]:u),fe=ge.length,B=0,V=0,$=[],G=ge.map(X=>g.find(ae=>ae.id===X)).filter(X=>!!X),ue=G.some(X=>X?.isFolder||X.id.startsWith("folder_"));try{let X=Q;if(Q||(X=(await v.validateFields())?.targetFolder),!X){d.error({id:"FILES_MOVE_DIRECTORY_NOT_SELECTED",message:l("Select destination folder"),placement:"bottomRight"});return}let ae=X==="folders"?null:X,me=ae??m,ne=n?.config?.dedupeUploadNamesOnClient===!0;if(ne&&N?.getFolders)try{let z=await N.getFolders({parentId:ae,deep:!1}),q=new Set((z||[]).map(O=>O.name?.toLowerCase()).filter(Boolean));for(let O of G){if(!O.isFolder&&!O.id.startsWith?.("folder_"))continue;let K=O.name||R(O.id)||"";if(K&&q.has(K.toLowerCase())){d.error({id:"FOLDER_ALREADY_EXISTS_MOVE",message:l("A folder with that name already exists. Please enter a different folder name."),placement:"bottomRight",data:{folderName:K,targetFolderId:X}});return}}}catch{}if(ne&&N?.getFiles&&N?.renameFile)try{let z=[];if(N?.getFiles){let{files:O}=await N.getFiles({folderId:ae??void 0,itemType:"all",page:1,limit:1e4});z=(O||[]).map(K=>K.name).filter(K=>!!K)}if(N?.getFolders){let O=(await N.getFolders({parentId:ae,deep:!1})||[]).map(K=>K.name).filter(K=>!!K);z=[...z,...O]}let q=new Set(z.map(O=>O?.toLowerCase()).filter(Boolean));for(let O of G){if(O.isFolder||O.id.startsWith?.("folder_"))continue;let K=O.name||R(O.id)||"";if(!K||!q.has(K.toLowerCase())){q.add(K.toLowerCase());continue}let J=Zo(K,Array.from(q));await N.renameFile(O.id,J),q.add(J.toLowerCase())}}catch{}let ee=await x({items:G,targetFolderId:X,getItemNameById:R,showNotifications:!1});if(B=ee.successCount,V=ee.failCount,$.push(...ee.errorDetails),B>0){let z=E(ge),q=M(z),O=q?l("Moved",{names:q}):l("move_success_summary",{successCount:B,totalCount:fe});d.success({id:"FILES_MOVE_SUCCESS",message:O,placement:"bottomRight",data:Fd(ge,B,fe,ae,z)})}if(V>0){let z=E(ge),q=M(z),O;O=fe===1&&$.length>0&&$[0].error?.code?sr($[0].error?.code,l)??(q?l("Failed",{names:q}):l("move_fail_summary",{failCount:V,totalCount:fe})):q?l("Failed",{names:q}):l("move_fail_summary",{failCount:V,totalCount:fe}),d.error({id:"FILES_MOVE_ERROR",message:O,placement:"bottomRight",innerException:$.length?$:void 0,data:ia(ge,V,fe,ae,$.length?$:void 0,z)})}W(),c();let he=de.current;if(B>0&&U>0&&B>=U&&de.current>1&&(he=de.current-1),B>0&&de.total>=B){let z=Math.max(0,(de.total??0)-B);A?.({current:he,pageSize:de.pageSize,total:z})}ue&&await Y({parentIds:void 0,selectedFolder:me}),await k({fetchFiles:o,selectedFolder:m,page:he,limit:de.pageSize})}catch(X){let ae=sr(Ue(X).code,l);d.error({id:"FILES_MOVE_ERROR",innerException:X,message:ae??l("Error moving"),placement:"bottomRight",data:ia(ge,fe,fe,m||null,[{error:Ue(X)}],E(ge))})}},[b,u,v,o,m,y,g,d,A,l,x,c,S,n?.config?.dedupeUploadNamesOnClient,N?.getFiles,N?.renameFile,R])}}},fh=o=>o.requestId??o.id,mh=()=>{let{options:o}=ar(),{dataProviders:t}=o,{t:a}=wr(),n=Rr();return{copyItems:(0,F.useCallback)(async({items:l,targetFolderId:d,getItemNameById:u,showNotifications:c=!1})=>{let g=0,m=0,v=[],y=d==="folders"?"":d;if(t?.copyItems)try{let b=await t.copyItems(y,l.map(A=>({id:A.id,newName:A.newName}))),S=b.detailed;if(S){let A=S.filter(x=>x.success),N=S.filter(x=>!x.success);g+=A.length,m+=N.length,N.forEach(x=>{let Y=fh(x),k=x.error,R=Ue(k);v.push({itemId:Y,itemName:u(Y),error:R})})}else if(b.success)g+=l.length;else{let A=b.error;if(A){m+=l.length;let N=Ue(A);v.push({error:N})}else m+=l.length}}catch(b){m+=l.length;let S=Ue(b);v.push({error:S})}else if(t?.copyItem)for(let b of l)try{let S=b?.isFolder||b.id.startsWith("folder_");await t.copyItem({itemId:b.id,targetFolderId:y,isFolder:S,newName:b.newName})?g++:m++}catch(S){m++;let A=Ue(S);v.push({itemId:b.id,itemName:u(b.id),error:A})}else m+=l.length,v.push({error:{message:"Copy provider is not configured"}});return c&&(g>0&&n.success({id:"FILES_COPY_SUCCESS",message:a("Files copied"),placement:"bottomRight",data:{successCount:g,totalCount:l.length,itemIds:l.map(b=>b.id),folderId:d==="folders"?null:d}}),m>0&&n.error({id:"FILES_COPY_ERROR",message:a("Errors occurred while copying"),placement:"bottomRight",innerException:v.length?v:void 0,data:{failCount:m,totalCount:l.length,itemIds:l.map(b=>b.id),errors:v.length?v:void 0}})),{successCount:g,failCount:m,errorDetails:v}},[t,n,a])}},ph=o=>{let{state:t,actions:a,options:n}=ar(),{t:l}=wr(),d=Rr(),u=_r(W=>W.selectedFiles),c=_r(W=>W.clearSelection),{files:g,selectedFolder:m,copyForm:v,pagination:y,currentMenuFile:b}=t,{setIsCopyModalVisible:S}=a,{dataProviders:A}=n,{copyItems:N}=mh(),{refreshFolders:x,refreshFiles:Y}=Ni(),{getItemNameById:k,getItemNamesByIds:R,getNamesPreview:E}=Ui(g),M=(0,F.useCallback)(()=>{S?.(!0)},[S]),D=(0,F.useCallback)(()=>{S?.(!1),v?.resetFields()},[S,v]);return{actions:{showCopyModal:M,handleCopyCancel:D,handleCopyOk:(0,F.useCallback)(async W=>{if(!b?.length&&(!u||u.size===0))return;let Q=Array.from(b?.length?[b]:u),U=Q.length,de=0,ge=0,fe=[],B=Q.map($=>g.find(G=>G.id===$)).filter($=>!!$),V=B.some($=>$?.isFolder||$.id.startsWith("folder_"));try{let $=W;if(W||($=(await v.validateFields())?.targetFolder),!$){d.error({id:"FILES_COPY_DIRECTORY_NOT_SELECTED",message:l("Select destination folder"),placement:"bottomRight"});return}let G=$==="folders"?null:$,ue=G??m,X=B.map(ne=>({id:ne.id,isFolder:ne?.isFolder||ne.id.startsWith("folder_")})),ae=n?.config?.dedupeUploadNamesOnClient===!0;if(ae&&A?.getFolders)try{let ne=await A.getFolders({parentId:G,deep:!1}),ee=new Set((ne||[]).map(he=>he.name?.toLowerCase()).filter(Boolean));for(let he of B){if(!he.isFolder&&!he.id.startsWith?.("folder_"))continue;let z=he.name||k(he.id)||"";if(z&&ee.has(z.toLowerCase())){d.error({id:"FOLDER_ALREADY_EXISTS_COPY",message:l("A folder with that name already exists. Please enter a different folder name."),placement:"bottomRight",data:{folderName:z,targetFolderId:$}});return}}}catch{}if(ae&&A?.getFiles)try{let ne=[],{files:ee}=await A.getFiles({folderId:G??void 0,itemType:"all",page:1,limit:1e4});if(ne=(ee||[]).map(z=>z.name).filter(z=>!!z),A?.getFolders){let z=(await A.getFolders({parentId:G,deep:!1})||[]).map(q=>q.name).filter(q=>!!q);ne=[...ne,...z]}let he=[...ne];X=B.map(z=>{if(z.isFolder||z.id.startsWith?.("folder_"))return{id:z.id,isFolder:!0};let q=B.find(K=>K.id===z.id)?.name||k(z.id)||"",O=Zo(q,he);return he.push(O),{id:z.id,isFolder:!1,newName:O===q?void 0:O}})}catch{}else X=B.map(ne=>({id:ne.id,isFolder:ne?.isFolder||ne.id.startsWith("folder_")}));let me=await N({items:X,targetFolderId:$,getItemNameById:k,showNotifications:!1});if(de=me.successCount,ge=me.failCount,fe.push(...me.errorDetails),de>0){let ne=R(Q),ee=E(ne),he=ee?l("Copied",{names:ee}):l("copy_success_summary",{successCount:de,totalCount:U});d.success({id:"FILES_COPY_SUCCESS",message:he,placement:"bottomRight",data:Fd(Q,de,U,G,ne)})}if(ge>0){let ne=R(Q),ee=E(ne),he;he=U===1&&fe.length>0&&fe[0].error?.code?sr(fe[0].error?.code,l)??(ee?l("Failed",{names:ee}):l("copy_fail_summary",{failCount:ge,totalCount:U})):ee?l("Failed",{names:ee}):l("copy_fail_summary",{failCount:ge,totalCount:U}),d.error({id:"FILES_COPY_ERROR",message:he,placement:"bottomRight",innerException:fe.length?fe:void 0,data:ia(Q,ge,U,G,fe.length?fe:void 0,ne)})}D(),c(),V&&await x({parentIds:void 0,selectedFolder:ue}),await Y({fetchFiles:o,selectedFolder:m,page:y.current,limit:y.pageSize})}catch($){let G=sr(Ue($).code,l);d.error({id:"FILES_COPY_ERROR",message:G??l("Error copying"),innerException:$,placement:"bottomRight",data:ia(Q,U,U,m||null,[{error:Ue($)}],R(Q))})}},[b,u,v,o,m,y,g,d,l,N,c,S,n?.config?.dedupeUploadNamesOnClient,A?.getFiles,k])}}},gh=o=>{let{state:t,actions:a,options:n}=ar(),{t:l}=wr(),d=Rr(),u=_r(W=>W.selectedFiles),c=_r(W=>W.clearSelection),{files:g,selectedFolder:m,pagination:v,currentMenuFile:y}=t,{setIsDeleteConfirmVisible:b,setUndoDeletion:S,setPagination:A}=a,{config:N}=n,{deleteItems:x}=Ei(),{refreshFolders:Y,refreshFiles:k}=Ni(),R=W=>{if(!W)return null;let Q=W;return Q.folderId??Q.parentId??null},{getItemNameById:E,getItemNamesByIds:M,getNamesPreview:D}=Ui(g);return{actions:{showDeleteConfirm:(0,F.useCallback)(()=>{b?.(!0)},[b]),handleDeleteConfirmCancel:(0,F.useCallback)(()=>{b?.(!1)},[b]),handleDeleteConfirmOk:(0,F.useCallback)(async()=>{if(!y?.length&&(!u||u.size===0)){b?.(!1);return}let W=g.length,Q={...v},U=Array.from(y?[y]:u),de=U.map($=>g.find(G=>G.id===$)).filter($=>!!$),ge=new Set;de.forEach($=>{$?.isFolder&&ge.add(R($))});let fe=0,B=0,V=[];try{let $=await x({items:de,selectedFolder:m,getItemNameById:E,showNotifications:!1});fe=$.successCount,B=$.failCount,V.push(...$.errorDetails);let G=N?.enableTrashFolder&&m==="Trash";if(fe>0&&N?.enableTrashFolder&&!G&&S?.({itemIds:U,sourceFolderId:m||"folders"}),fe>0){let X=U.length;N?.enableTrashFolder&&!G?await d.success({id:"FILES_DELETE_SUCCESS",message:l("moved_to_trash",{count:fe}),placement:"bottomRight",data:{successCount:fe,totalCount:X,itemIds:U,folderId:m||null}}):await d.success({id:"FILES_DELETE_SUCCESS",message:l("Files deleted"),placement:"bottomRight",data:{successCount:fe,totalCount:X,itemIds:U,folderId:m||null}})}if(B>0){let X=M(U),ae=D(X),me=U.length,ne=me===1&&V.length>0&&V[0].error?.code,ee=N?.enableTrashFolder&&!G,he=l(ee?"При перемещении в корзину произошли ошибки":"При удалении произошли ошибки"),z=(ne?sr(V[0].error?.code,l):void 0)??(ae?l("Failed",{names:ae}):he);d.error({id:"FILES_DELETE_ERROR",message:z,placement:"bottomRight",innerException:V.length?V:void 0,data:{failCount:B,isTrashMove:ee,totalCount:me,itemNames:X,errors:V.length?V:void 0}})}c(),b?.(!1),await Y({parentIds:Array.from(ge),selectedFolder:m});let ue=Q.current;if(fe>0&&W>0&&fe>=W&&Q.current>1&&(ue=Q.current-1),fe>0&&Q.total>=fe){let X=Math.max(0,(Q.total??0)-fe);A?.({current:ue,pageSize:Q.pageSize,total:X})}await k({fetchFiles:o,selectedFolder:m,page:ue,limit:Q.pageSize})}catch($){d.error({id:"FILES_DELETE_ERROR",message:l("Error deleting"),placement:"bottomRight",innerException:$,data:{failCount:B,totalCount:de.length}})}},[y,u,b,o,m,v,S,A,g,l,d,x,c,N?.enableTrashFolder])}}},hh=o=>{let t=sh(o),a=ch(o),n=ph(o),l=gh(o);return{state:t.state,actions:{...t.actions,...a.actions,...n.actions,...l.actions}}},vh=()=>{let{state:o}=ar(),{files:t,loading:a,isUrlModalVisible:n}=o,l=Li(),d=nh(),u=hh(l.fetchFiles);return{state:{files:t||[],selectedFiles:d.state.selectedFiles,loading:a||!1,isAddingFileByUrl:n||!1,isRenamingFile:u.state.isRenamingFile,fileToRename:u.state.fileToRename},actions:{fetchFiles:l.fetchFiles,handleDeleteFile:l.handleDeleteFile,handleDeleteFolder:l.handleDeleteFolder,handleAddFile:l.handleAddFile,handleAddFileByUrl:l.handleAddFileByUrl,handleDroppedFiles:l.handleDroppedFiles,uploadFileWithProvider:l.uploadFileWithProvider,toggleFileSelection:d.actions.toggleFileSelection,showRenameModal:u.actions.showRenameModal,handleRenameCancel:u.actions.handleRenameCancel,handleRenameOk:u.actions.handleRenameOk,showMoveModal:u.actions.showMoveModal,handleMoveCancel:u.actions.handleMoveCancel,handleMoveOk:u.actions.handleMoveOk,showCopyModal:u.actions.showCopyModal,handleCopyCancel:u.actions.handleCopyCancel,handleCopyOk:u.actions.handleCopyOk,showDeleteConfirm:u.actions.showDeleteConfirm,handleDeleteConfirmCancel:u.actions.handleDeleteConfirmCancel,handleDeleteConfirmOk:u.actions.handleDeleteConfirmOk}}},yh=()=>{let{state:o,actions:t,options:a}=ar(),{selectedFolder:n,pathHistory:l,folders:d}=o,{t:u}=wr(),{setSelectedFolder:c,setPathHistory:g}=t,m=(0,F.useCallback)(()=>`em_fm:lastFolder:${a?.config?.projectId||"default"}`,[a?.config?.projectId]),v=(0,F.useCallback)((x,Y=new Set)=>{if(Y.has(x))return[];let k=(Array.isArray(d)?d:[]).find(E=>E.id===x);if(!k)return[];let R=new Set(Y);return R.add(x),k.parentId?k.parentId===k.id?[{id:k.id,name:k.name+" (ошибка)"}]:[...v(k.parentId,R),{id:k.id,name:k.name}]:[{id:k.id,name:k.name}]},[d]),y=(0,F.useCallback)(x=>{if(typeof window>"u")return;let Y=a?.config?.rememberLastFolder===!0,k=m();try{if(!Y){localStorage.removeItem(k);return}x?localStorage.setItem(k,x):localStorage.removeItem(k)}catch{}},[m,a?.config?.rememberLastFolder]),b=(0,F.useCallback)(x=>{if(x==="folders"){let R=[{id:"folders",name:u("Folders")}];g?.(R),a.onPathChange&&a.onPathChange([]);return}if(!(Array.isArray(d)?d:[]).find(R=>R.id===x))return;let Y=v(x),k=[{id:"folders",name:u("Folders")},...Y];g?.(k),a.onPathChange&&a.onPathChange(k.map(R=>R.name))},[d,v,g,a,u]),S=(0,F.useCallback)(x=>{let Y=x==="folders"?null:x;Y!==n&&(c?.(Y),y(Y),b(x))},[y,n,c,b]),A=(0,F.useCallback)(x=>{if(x===-1)c?.(null),g?.([{id:"folders",name:u("Folders")}]),a.onPathChange&&a.onPathChange([]);else{let Y=l.slice(0,x+1),k=Y[Y.length-1],R=k.id==="folders"?void 0:k.id;c?.(R||null),g?.(Y),a.onPathChange&&a.onPathChange(Y.map(E=>E.name))}},[a,l,g,c,u]),N=(0,F.useCallback)(x=>{if(!x.isFolder)return;c?.(x.id);let Y={id:x.id,name:x.name};if(g){let k=[...l,Y];g(k)}if(a.onPathChange){let k=[...l.map(R=>R.name),x.name];a.onPathChange(k)}},[a,l,g,c]);return{state:{selectedFolder:n,pathHistory:l},actions:{handleFolderSelect:S,handleBreadcrumbClick:A,handleItemClick:N},selectedFolder:n,pathHistory:l,handleFolderSelect:S,handleBreadcrumbClick:A,handleItemClick:N}},bh=()=>{let{state:o,actions:t}=ar(),{pagination:a}=o,{setPagination:n}=t,l=(0,F.useCallback)((d,u)=>{let c=u||a.pageSize;n?.({current:d,pageSize:c,total:a.total})},[a.pageSize,a.total,n]);return{state:{pagination:a},actions:{handlePaginationChange:l}}},wh=({files:o,clearSelection:t,showRenameModal:a,showMoveModal:n,showCopyModal:l,handleDeleteFile:d,handleDeleteFolder:u,showDeleteConfirm:c,onEdit:g})=>({handleClearSelection:F.useCallback(()=>{t()},[t]),handleRename:F.useCallback(m=>{let v=_r.getState().selectedFiles;(v&&v.size===1||m)&&a(m||Array.from(v)[0])},[a]),handleDeleteSelected:F.useCallback(m=>{let v=_r.getState().selectedFiles;if(v&&v.size>0||m?.id){if(c){c();return}(m?[m.id]:v).forEach(y=>{let b=o.find(S=>S.id===y);b&&(b.isFolder?u(y):d(y))})}},[o,d,u,c]),handleCopy:F.useCallback(()=>{l()},[l]),handleMove:F.useCallback(()=>{n()},[n]),handleEdit:F.useCallback(()=>{g()},[g])}),Ch=({files:o,fetchFiles:t,selectedFolder:a})=>{let{t:n}=wr(),l=Rr(),{options:d,actions:u,state:c}=F.useContext(_i),{setActiveLibraryItem:g}=u,{activeLibraryItem:m}=c,v=Li(),[y,b]=F.useState(!1),[S,A]=F.useState(null),N=F.useCallback(E=>{if(E.type&&E.type.startsWith("image/"))return!0;if(E.extension){let D=E.extension.toLowerCase();return mi.includes(D)}let M=E.name.split(".").pop()?.toLowerCase();return M?mi.includes(M):!1},[]),x=F.useCallback(async(E,M)=>{let{dataProviders:D}=d;if(d.config?.features?.enableUpdateFile===!1)throw new er(n("Updating files is disabled by configuration"),"UnsupportedOperation");if(!E.id||!E.thumbnail||!D?.updateFile)throw new er(n("Failed to save changes"),"UnsupportedOperation");let W=M?.mimeType||pi(E.thumbnail,E.type),Q=ct(W),U=E.name.lastIndexOf("."),de=`${U>0?E.name.substring(0,U):E.name}.${Q}`,ge=M?.blob||gi(E.thumbnail,W);return D.updateFile(E.id,{name:de,type:W,data:ge})},[d,n]),Y=F.useCallback(async(E,M)=>{if(!E.thumbnail)throw new er(n("Failed to save changes"),"ValidationError");let D=d.config?.saveCopyToCurrentFolder===!0?E.saveWithoutFolder??!E.id:!0,W=D?void 0:E.folderId??void 0,Q=M?.mimeType||pi(E.thumbnail,E.type),U=M?.blob||gi(E.thumbnail,Q),de=new File([U],E.name,{type:Q,lastModified:Date.now()}),ge=await v.uploadFileWithProvider(de,W,void 0,D);if(!ge)throw new er(n("Failed to save image copy"),"FileWriteError");return ge},[v,d.config?.saveCopyToCurrentFolder,n]),k=F.useCallback(E=>{let M;if(E)M=E;else{let D=_r.getState().selectedFiles;if(D.size!==1)return;let W=Array.from(D)[0];if(M=o.find(Q=>Q.id===W),!M||M.isFolder||!N(M))return}g&&g("editor"),A(M),b(!0)},[o,N,b,g]),R=F.useCallback(()=>{g&&m==="editor"&&g("my_files"),b(!1),A(null)},[m,g]);return{isFilerobotEditorVisible:y,editingFile:S,handleEdit:k,handleFilerobotEditorSave:F.useCallback(async(E,M)=>{try{let D=await x(E,M);return l.success({id:"IMAGE_UPDATE_SUCCESS",message:n("Success"),description:n("Image updated successfully"),placement:"bottomRight",data:{itemId:D?.id??void 0,itemName:D?.name,folderId:D?.folderId??null,thumbnail:D?.thumbnail}}),D&&d.onEditorOk&&d.onEditorOk(D,{mode:M.mode}),await t({folderId:a||""}),R(),D??void 0}catch(D){let W=Ue(D),Q=sr(W?.code,n)??W?.message??n("Failed to save changes");throw l.error({id:"IMAGE_SAVE_FAILED",message:Q,innerException:D,placement:"bottomRight",data:{itemId:E.id??void 0,itemName:E.name,folderId:E.folderId??null,thumbnail:E.thumbnail}}),D.notificationShown=!0,D}},[x,d,t,a,l,R,n]),handleFilerobotEditorSaveCopy:F.useCallback(async(E,M)=>{try{let D=await Y(E,M);return l.success({id:"IMAGE_SAVE_COPY_SUCCESS",message:n("Success"),description:n("Image copy saved successfully"),placement:"bottomRight",data:{itemId:D?.id??void 0,itemName:D?.name,folderId:D?.folderId??null,thumbnail:D?.thumbnail}}),D&&d.onEditorOk&&d.onEditorOk(D,{mode:M.mode}),await t({folderId:a||""}),R(),D??void 0}catch(D){let W=Ue(D),Q=sr(W?.code,n)??W?.message??n("Failed to save image copy");throw l.error({id:"IMAGE_SAVE_COPY_FAILED",message:Q,innerException:D,placement:"bottomRight",data:{itemId:E.id??void 0,itemName:E.name,folderId:E.folderId??null,thumbnail:E.thumbnail}}),D.notificationShown=!0,D}},[Y,d,t,a,l,R,n]),handleFilerobotEditorClose:R}},Ah=6;function Ih({maxConcurrent:o=Ah}={}){let t=(0,F.useRef)(new Map),a=(0,F.useRef)([]),n=(0,F.useRef)(0),l=(0,F.useMemo)(()=>{let d=y=>({status:y.status,shouldLoad:y.status==="loading"||y.status==="loaded"||y.status==="error"}),u=y=>{let b=d(y);y.listeners.forEach(S=>S(b))},c=y=>{a.current.length!==0&&(a.current=a.current.filter(b=>b!==y))},g=(y,b)=>{let S=t.current.get(y);if(!S){let A={id:y,src:b,status:"idle",listeners:new Set,active:!1};return t.current.set(y,A),A}return S.src!==b&&(c(y),S.src=b,S.status="idle"),S},m=()=>{for(;n.current<o&&a.current.length>0;){let y=a.current.shift();if(!y)break;let b=t.current.get(y);b&&b.active&&b.status==="queued"&&(b.status="loading",n.current+=1,u(b))}},v=(y,b)=>{y.status==="loading"&&(y.status=b,n.current=Math.max(0,n.current-1),u(y),m())};return{getSnapshot:(y,b)=>d(g(y,b)),subscribe:(y,b,S)=>{let A=g(y,b);return A.listeners.add(S),S(d(A)),()=>{let N=t.current.get(y);N&&(N.listeners.delete(S),!N.active&&N.listeners.size===0&&N.status!=="loading"&&t.current.delete(y))}},setActive:(y,b,S)=>{let A=g(y,b);if(A.active=S,!S){A.status==="queued"?(c(y),A.status="idle",u(A)):A.status==="loading"&&(n.current=Math.max(0,n.current-1),A.status="idle",u(A),m());return}if(A.status==="loaded"||A.status==="loading"||A.status==="queued"){u(A);return}A.status="queued",u(A),a.current.includes(y)||a.current.push(y),m()},markLoaded:y=>{let b=t.current.get(y);b&&v(b,"loaded")},markError:y=>{let b=t.current.get(y);b&&v(b,"error")},release:y=>{let b=t.current.get(y);b&&(b.active=!1,b.status==="queued"?(c(y),b.status="idle"):b.status==="loading"&&(n.current=Math.max(0,n.current-1),b.status="idle",m()),b.listeners.size===0&&t.current.delete(y))}}},[o]);return(0,F.useEffect)(()=>()=>{a.current=[],t.current.clear(),n.current=0},[]),l}function Di(o){if(o&&o!=="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQABLAEsAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAAEsAAAAAQAAASwAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAQOgAwAEAAAAAQAAAMoAAAAA/+EJ2Wh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6c3RvY2s6Mzk2MmU4NTQtNjA1NC00MGZmLWEwYzMtYjJkNjcwMzQ2OWFhIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmE5M2NiZTgyLWI5NjEtNGUzNS1iYmQ0LWJjZWE1Zjc1YTQwZiIvPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz4A/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/AABEIAMoBAwMBIgACEQADEQD/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/3QAEABH/2gAMAwEAAhEDEQA/APsuiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoqG7uIbWB55nCooyTS208VxCssLh0boRQBLRRRQAUUUUAFFFFAH/9D7LooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqG7uIrWBppnCoo5Jou7iK1gaaZwqKM5NcRq2oXOsXqxQq2wnEcYPX3NABq2oXOr3qwxK3l5xHGO/ua6nw7pzadZ7ZJGaR+WBPA9hUfh7R49Pi82TDXDDkkfd9hWxQAUUUUAFFFFABRRRQB//9H7LooooAKKKKACiiuOv/EOpQX88KNDsSQqMp6H60AdjRXD/wDCTapn70P/AH7/APr0f8JPqn96H/v3/wDXoA7iiuH/AOEn1T+9D/37/wDr0f8ACT6p/eh/79//AF6AO4orh/8AhJ9U/vQ/9+//AK9H/CT6p/eh/wC/f/16AO4orh/+En1T+9D/AN+//r0f8JPqn96H/v3/APXoA7iiuH/4SfVP70P/AH7/APr0f8JPqn96H/v3/wDXoA7iiuH/AOEn1T+9D/37/wDr0f8ACT6p/eh/79//AF6AO4orh/8AhJ9U/vQ/9+//AK9H/CT6p/eh/wC/f/16AO4orh/+En1T+9D/AN+//r0f8JPqn96H/v3/APXoA7iobq4itYHmncIijJJrE0jUdQlt2v8AUJIYrNVyMJgv9Oaw9X1C51e8WGJWMecRxr39zQAatqNzq94kUasELYjjB6/Wul8P6NHp8Qlkw1ww5P8Ad9hWRmDw9bfwTajIv4Riqw8Tap6wf98f/XoA7elrh/8AhJtU/vQ/9+//AK9avhnWL3UL94bgx7BGWG1cdwPX3oA6OiiigAooooAKKKKAP//S+y6KKKACiiigArgHAbxSVYAg3mCD3+eu/rgT/wAjV/2+f+z0Adt9jtMf8esH/fsUfY7T/n1g/wC/Yqeh2CIWY4AGSaAK7WlmqktbQADkkxr/AIVUe50JJPLZ7EN6YWuX17WJr+dkRylurYVQfve5rKJoA9Ghh0+Zd0MVtIvqqKaf9jtP+fWD/v2K89sry4sphLbyFD3HY/Wu+0e9TULFLhQATww9DQBJ9jtP+fWD/v2KattZM7ILe3LL94bF4p99cx2lpJcS/dRc/X2rjdG1eSLWmuZ2Oy4bEnoPQ/hQB2P2O0/59YP+/Yo+x2n/AD6wf9+xU4IPSloAr/Y7T/n1g/79ij7Haf8APrB/37FWKKAK/wBjtP8An1g/79ij7Haf8+sH/fsVYooAr/Y7T/n1g/79ioruPTrWBppoLdUUckxj/Cp7u4itYGnmcKijJJriNX1C61i9EUKtsziOMHr7mgBNVv7jVrxYII/3YOIYl/ma6bw9o8enxCSTD3DDkn+H2FHh/R49Pi8yTDXDDkkfd9hWxQBC9rbOxZ7eJmPUlATTfsdp/wA+sH/fsVYooAztXtbVdLumW3hBELkEIOPlNc74H/5Csv8A1xP8xXUaz/yCbz/ri/8A6Ca5fwP/AMhaX/rif5igDs6KKKACiiigAooooA//0/suiiigAooooAK4E/8AI1f9vn/s9d9XAn/kav8At8/9noA72s/xI7R6HdMpwdmPzODWhUN/ALqymt26SIVoA816UlS3ML207wSrtdCQai+lAC11HgN2xdx4+XKH6Hn/AArl++K6jSv+JN4flvJhiWfBRe/Tj+ZNAEHjLUfOnFjEw2R/NJju3Yfl/Oudp0jtJIzucsxJJ96bQB2/hLUftdkLeRh50OF+q9jW3XnOkXrWF/HcDJUHDjPUV6HDIssSSIQVYAg0APooooAKhu7iK1gaeZwqKM5NF3cQ2sDTTOFRRk5riNW1C51i9WKJW8vOI4x39zQAavqF1rF6IYVbZnEcYPX3NdL4e0ePT4hLIA1w45JH3fYUeHtHj0+LzJcNcMOTj7vsK2KACiiigAooooAqaz/yCbz/AK4v/wCgmuX8D/8AIWl/64n+YrqNZ/5BN5/1xf8A9BNcv4H/AOQtL/1xP8xQB2dFFFABRRRQAUUUUAf/1PsuiiigAooooAK4E/8AI1f9vn/s9d9XAn/kav8At8/9noA72lpKWgDO1bSLXUQDKCsg6OvX/wCvWFJ4Tn3fJdxFc8FkOa66igDC0zw3a2riadzPIOeRhR+FYXinUPtl+Yoz+5h+VcdCe5/p+FdH4n1H7DYFYziaX5U9vU1wn40AFFFFABXW+DNR3xtp8x+ZPmjyeo7j/PrXJVNZzva3UdxG2HjbP/1qAPTKhu7iK2gaaZwqKOSahTULf+zFv3bZEybsmuP1XULnV70QxK3l7sRxr39zQAmrahc6xerFEreXnEcY7+5rpfD2jx6fF5suGuGHJx932FHh7R49PiEkuGuGHJ/u+wrYoAKKKKACiiigAooooAqaz/yCbz/ri/8A6Ca5fwP/AMhaX/rif5iuo1n/AJBN5/1xf/0E1y/gf/kLS/8AXE/zFAHZ0UUUAFFFFABRRRQB/9X7LooooAKKKKACuBP/ACNX/b5/7PXfVwJ/5Gr/ALfP/Z6AO9paSloAKazBVZicBRkmnVz3jHUfs9qLOJsSy/ex2XvQBzuu351DUXlDfu1+WMewqhRRQAUUUv40AFbGi6ZG8TahqB8uzTkA9ZP/AK1Gi6ZG8TajqJ2WcfIB/wCWn/1qi1W+uNWu0hhQiIHbFEv86ADU7+fVbpIIU2xZ2xRL/M103h7R00+LzZcPcMOTj7vsKyCYfD9sQNsupSr+EY/z+ddDot8uoWCTj7/Rx6N3oAvUUUUAFZ17rFta6jDZydZPvNnhPTNSaxqEWn2bTv8AM3RF9TXntxLJPK8sp3O5yx9TQB6dmlrA8Kar9qg+yzt+/jHBP8QrfoAKKKKAKms/8gm8/wCuL/8AoJrl/A//ACFpf+uJ/mK6jWf+QTef9cX/APQTXL+B/wDkLS/9cT/MUAdnRRRQAUUUUAFFFFAH/9b7LooooAKKKKACuBP/ACNX/b5/7PXfVwJ/5Gr/ALfP/Z6AO9paSloAjuZo7eB5pThEGSa851G6e9vJLl+rngeg7Ct/xpqOWXT4m6fNLj9B/X8q5mgBKKKO9AADzWzoumRvEdQ1A7LOPkA/8tP/AK1JoulxvE2oagQlnHyAf+Wn/wBaotVv59WukhhjIizthiX+dABql/catdJBDGRHnbDEv86vkweH7bHyy6jKv4Rj/P8An0UmDw/bEfLLqMq/hGP8/n/Ln5JHlkaSRi7scsx70AEkjySNLIxd2OWY961fCuo/Y78RSNiGY7T7Hsax6WgD1EGmyuscbSOwVVBJPoKy/DGofbrABzmaLCvk9fQ1k+MNU3MdPgY4X/WkevpQBla7qLajel84iTiMe3rWdS0lAEtrPJbXMdxC2HQ5HvXoWlXsd/ZpPGevDD0PevOK0/D2pHTr0FiTBJgOP60Ad/RTUYOoZSCCMg06gCprP/IJvP8Ari//AKCa5fwP/wAhaX/rif5iuo1n/kE3n/XF/wD0E1y/gf8A5C0v/XE/zFAHZ0UUUAFFFFABRRRQB//X+y6KKKACiiigArgT/wAjV/2+f+z131cCf+Rq/wC3z/2egDvarapeJY2Mlw/8I+UZ6nsKs1xni7UftN39ljb91Eecd2/z/WgDFnlknmeaRsu5JJqOigdeKAFrX0XS43iOoagQlnHyAf8Alp/9al0XTI3ibUNQISzj5Ab/AJaf/WqHVb+41a6SGGMrEDtiiX+dAC6rfT6tdJBChEWdsMS/zq+TB4ftj92XUZV/CMf5/P8AkhMPh+2x8suoyr+EY/z+f8sCSR5ZGlkYu7HLMe9ABJI8sjSSMXdjlmPemUUUAFLSUUAWtOvp7CZ5YD8zIVOenNVmJZixJJPUmkooAKKKKAClFJRQB1Pg/VOBp87Dj/VEn9K6jPFeYRs0bh0JDqQQR2Nd7oGpJqNkGJxKnEg/rQBY1n/kE3n/AFxf/wBBNcv4H/5C0v8A1xP8xXUaz/yCbz/ri/8A6Ca5fwP/AMhaX/rif5igDs6KKKACiiigAooooA//0PsuiiigAooooAK4E/8AI1f9vn/s9d8a89u5RB4hlnYEiO5LkDvhs0Adtq808Ni7W0TyTEbUCjkE964c6TqhJJspyTySVroB4stsY+xzf99Cj/hK7X/nzl/76FAHPnSdTx/x4z/981d0zRvL33eqr5NtFztbq5/wro7PVo5rF72SB7eBfutIcbvpXLatqFzq94IokYpnEca859zQAmq31xq12sEEZEQOIol/nWxBYzaPZeZBavc30oxlVyIxUVsbLw6i+epuL1wCyp/AP6VY/wCEstv+fSb/AL6FAGBLpmrSyNJJZ3DuxyzFetN/sjU/+fGf/vmug/4Su1/585f++hR/wldr/wA+cv8A30KAOf8A7I1P/nxn/wC+aP7I1P8A58Z/++a6D/hK7X/nzl/76FH/AAldr/z5y/8AfQoA5/8AsjU/+fGf/vmj+yNT/wCfGf8A75roP+Ertf8Anzl/76FH/CV2v/PnL/30KAOf/sjU/wDnxn/75o/sjU/+fGf/AL5roP8AhK7X/nzl/wC+hR/wldr/AM+cv/fQoA5/+yNT/wCfGf8A75o/sjU/+fGf/vmug/4Su1/585f++hR/wldr/wA+cv8A30KAOf8A7I1P/nxn/wC+aP7I1P8A58Z/++a6D/hK7X/nzl/76FH/AAldr/z5y/8AfQoA5/8AsjU/+fGf/vmrmkW+r6ferOllPtzh12n5hWp/wldr/wA+cv8A30KP+Ertf+fOX/voUAa+rNu0a6bBGYGOD1HymuZ8D/8AIWl/64n+YqzfeJre4spoBayqZI2UEkcZGKreB/8AkKyn/pif5igDs6KKKACiiigAooooA//R+y6KKKACiiigArHn8OadPO80nm73YscNjknNbFFAGJ/wjGmf9N/+/lRXGg6NZxG4nMnlpyQ0mQfatq7uIrWBppnCoozk1xGrajdaxeLFCh2E4jjHf3NACapfT6tdpBDGfKU4hjUfrXTeH9HTT4vNkw1yw5JH3fYUeHtHj0+LzZMNcMOSR932FbFAGNL4b0+WRpJXuHdjks0nJNN/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTP+m/8A38o/4RjTP+m//fytuigDE/4RjTPSf/v5VrTNGs9PnM1v5m4qVO5s8ZB/pWjRQAUUUUAFFFFABRRRQB//0vsuiiigAooooAKhu7mK1t2nmYKijkmpq5fxda6jNcReXukgYgBVHQ+9AGVq2oXOsXqxRK2zdiNB39zXS+H9Hj0+ISSYa4Ycn+77Cjw/o8enxebLhrhhySPu+wrYoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9P7LooooAKKKKACkxS0UAFFFFABRRTW6D6igB1FN7n8KQE+YRQA+iiigAopsnEZI64pR90UALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//2Q=="){if(o.startsWith("data:image/")){let t=o.split(",")[1];return t&&t.length>20?o:void 0}if(o.startsWith("blob:"))return o;if(o.startsWith("http://")||o.startsWith("https://")||o.startsWith("/"))return xp(o)??o}}function Fh(o){return o.startsWith("http://")||o.startsWith("https://")}function _h(o){let t=new Set;return o.filter(a=>!a.src||t.has(a.src)?!1:(t.add(a.src),!0))}function Sh(o,t){return o===t||o.length===t.length&&o.every((a,n)=>a===t[n])}function zh(o,t){return o===t||o.length===t.length&&o.every((a,n)=>{let l=t[n];return a.originalSrc===l.originalSrc&&a.src===l.src&&a.stabilityKey===l.stabilityKey})}function na(o,t){if(!o)return null;let a=Di(o.src??void 0);return o.exhausted?{...o,src:null}:a?{...o,src:a}:{...o,src:t??null,changed:!1,reason:"unchanged"}}function Eh(o){return Math.max(8,o*6)}function Th(o){let{options:t}=ar(),a=t.config?.getProxiedUrl,n=(0,F.useRef)([]),l=(0,F.useRef)(!1),d=(0,F.useRef)(0),u=(0,F.useRef)(null),[c,g]=(0,F.useState)(!1),m=(0,F.useMemo)(()=>{let k=o.map(R=>Di(R)).filter((R,E,M)=>!!R&&M.indexOf(R)===E);return Sh(n.current,k)?n.current:(n.current=k,k)},[o]),[v,y]=(0,F.useState)([]),[b,S]=(0,F.useState)(0);(0,F.useEffect)(()=>{let k=!1;if(S(0),l.current=!1,d.current=0,u.current=null,g(!1),m.length===0){y(R=>R.length===0?R:[]);return}return(async()=>{let R=await Promise.all(m.map(async E=>{if(!a||!Fh(E))return[{originalSrc:E,src:E}];try{let M=await Promise.resolve(a(E)),D=Di(M?.src);return D?[{originalSrc:E,src:D,stabilityKey:M.stabilityKey,handleChangeSrc:M.handleChangeSrc,handleSuccess:M.handleSuccess,handleError:M.handleError,subscribeToSrcChange:M.subscribeToSrcChange}]:[{originalSrc:E,src:E}]}catch{return[{originalSrc:E,src:E}]}}));if(!k){let E=_h(R.flat());y(M=>zh(M,E)?M:E)}})(),()=>{k=!0}},[a,m]);let A=v[b];(0,F.useEffect)(()=>{if(!A?.subscribeToSrcChange)return;let k,R=!1;return Promise.resolve(A.subscribeToSrcChange(E=>{if(R||l.current)return;let M=na(E,A.src);M?.changed&&M.src&&!R&&y(D=>D.map((W,Q)=>Q===b?{...W,src:M.src}:W))})).then(E=>{if(R){E?.();return}k=E}),()=>{R=!0,k?.()}},[A,b]),(0,F.useEffect)(()=>{if(!A?.handleChangeSrc||l.current)return;let k=`${A.originalSrc}::${A.stabilityKey??""}::${b}`;if(u.current===k)return;u.current=k;let R=!1;return Promise.resolve(A.handleChangeSrc()).then(E=>{let M=na(E,A.src);M?.changed&&M.src&&!R&&y(D=>D.map((W,Q)=>Q===b?{...W,src:M.src}:W))}),()=>{R=!0}},[A,b]);let N=(0,F.useCallback)(async()=>{if(!A?.handleChangeSrc)return{src:A?.src??null,changed:!1,exhausted:!1,reason:"unchanged"};if(l.current)return{src:null,changed:!1,exhausted:!0,reason:"exhausted"};let k=na(await Promise.resolve(A.handleChangeSrc()),A.src);return!k?.changed||!k.src||k.src===A.src?k??{src:A.src,changed:!1,exhausted:!1,reason:"unchanged"}:(y(R=>R.map((E,M)=>M===b?{...E,src:k.src}:E)),k)},[A,b]),x=(0,F.useCallback)(async()=>{if(l.current)return{src:null,changed:!1,exhausted:!0,reason:"exhausted"};if(!A)return l.current=!0,g(!0),{src:null,changed:!1,exhausted:!0,reason:"exhausted"};let k=Eh(v.length);if(d.current>=k)return l.current=!0,g(!0),{src:null,changed:!1,exhausted:!0,reason:"exhausted"};d.current+=1;let R=A.handleError?na(await Promise.resolve(A.handleError()),A.src):null;return R?.exhausted?(l.current=!0,g(!0),R):R?.changed&&R.src&&R.src!==A.src?(y(E=>E.map((M,D)=>D===b?{...M,src:R.src}:M)),R):b+1>=v.length?(l.current=!0,g(!0),R??{src:null,changed:!1,exhausted:!0,reason:"exhausted"}):(S(E=>E+1),{src:v[b+1]?.src??null,changed:!0,exhausted:!1,reason:"candidate-fallback"})},[A,b,v]),Y=(0,F.useCallback)(()=>{l.current||A&&(d.current=0,A.handleSuccess?.())},[A]);return{src:c?void 0:A?.src,hasNextCandidate:b+1<v.length,handleError:x,handleLoad:Y,handleChangeSrc:N}}var ji=/(auto|scroll|overlay)/,kh=1;function Rh(o){if(typeof window>"u")return 0;let t=window.getComputedStyle(o);return(Number.parseFloat(t.paddingLeft||"0")||0)+(Number.parseFloat(t.paddingRight||"0")||0)}function la(o,t){let a=Math.max(0,t??o.clientWidth);return Math.max(1,Math.round(a-Rh(o)))}function xh(o){if(typeof window>"u")return!1;let t=window.getComputedStyle(o);return ji.test(t.overflowY)||ji.test(t.overflow)||ji.test(t.overflowX)}function Ph(o){return o.scrollHeight-o.clientHeight>kh}function _d(o){if(typeof window>"u")return o;let t=o;for(;t;){if(xh(t))return t;t=t.parentElement}return null}function Sd(o){if(typeof window>"u")return[o];let t=_d(o);return t?t===o?[window,o]:[window,t]:[window]}function Oi(o,t,a){return Math.max(0,o.clientHeight),Math.max(0,Math.round(o.getBoundingClientRect().height)),Math.max(1,t)}function Lh(o){if(typeof window>"u")return Math.max(1,o.clientHeight);let t=o.getBoundingClientRect(),a=window.innerHeight||document.documentElement?.clientHeight||0,n=Math.max(0,t.top),l=Math.min(a,t.bottom);return Math.max(0,Math.round(l-n))}function Uh(o){let t=o.getBoundingClientRect(),a=window.innerHeight||document.documentElement?.clientHeight||0,n=window.innerWidth||document.documentElement?.clientWidth||t.width,l=Math.max(0,t.top),d=Math.min(a,t.bottom),u=Math.max(0,Math.round(d-l));return{scrollTop:Math.max(0,Math.round(-t.top)),viewportHeight:Oi(o,u,u),viewportWidth:la(o,Math.min(Math.round(t.width),n)),scrollHeight:o.scrollHeight}}function Nh(o,t){if(o===t){let v=Lh(t);return{scrollTop:t.scrollTop,viewportHeight:Oi(o,Math.min(t.clientHeight,v||t.clientHeight),v),viewportWidth:la(t),scrollHeight:o.scrollHeight}}let a=t.getBoundingClientRect(),n=o.getBoundingClientRect(),l=Math.max(a.top,n.top),d=Math.min(a.bottom,n.bottom),u=Math.max(a.left,n.left),c=Math.min(a.right,n.right),g=Math.max(0,Math.round(d-l)),m=Math.max(0,Math.round(c-u));return{scrollTop:Math.max(0,Math.round(l-n.top)),viewportHeight:Oi(o,g,g),viewportWidth:la(o,m||t.clientWidth||o.clientWidth),scrollHeight:o.scrollHeight}}function zd(o){if(typeof window>"u")return{scrollTop:o.scrollTop,viewportHeight:Math.max(1,o.clientHeight),viewportWidth:la(o),scrollHeight:o.scrollHeight};let t=_d(o);return!t||!Ph(t)?Uh(o):Nh(o,t)}function Dh(o,t){let a=(0,F.useRef)(null),n=(0,F.useCallback)(l=>{o(zd(l))},[o]);return(0,F.useEffect)(()=>{a.current&&n(a.current)},[n,...t]),(0,F.useEffect)(()=>{if(!a.current||typeof ResizeObserver>"u")return;let l=a.current,d=new ResizeObserver(()=>{n(l)});return d.observe(l),()=>d.disconnect()},[n]),(0,F.useEffect)(()=>{let l=a.current;if(!l)return;let d=()=>{n(l)},u=Sd(l);return u.forEach(c=>{c.addEventListener("scroll",d,{passive:!0})}),()=>{u.forEach(c=>{c.removeEventListener("scroll",d)})}},[n,...t]),a}var Mi={name:"Name",save:"Save",saveAs:"Save as",back:"Back",loading:"Loading...",resetOperations:"Reset/delete all operations",changesLoseWarningHint:"If you press button “reset” your changes will lost. Would you like to continue?",discardChangesWarningHint:"If you close modal, your last change will not be saved.",cancel:"Cancel",apply:"Apply",warning:"Warning",confirm:"Confirm",discardChanges:"Discard changes",undoTitle:"Undo last operation",redoTitle:"Redo last operation",showImageTitle:"Show original image",zoomInTitle:"Zoom in",fitTitle:"Fit",zoomOutTitle:"Zoom out",toggleZoomMenuTitle:"Toggle zoom menu",adjustTab:"Adjust",finetuneTab:"Finetune",filtersTab:"Filters",watermarkTab:"Watermark",annotateTabLabel:"Annotate",resize:"Resize",resizeTab:"Resize",imageName:"Image name",invalidImageError:"Invalid image provided.",uploadImageError:"Error while uploading the image.",areNotImages:"are not images",isNotImage:"is not image",toBeUploaded:"to be uploaded",cropTool:"Crop",original:"Original",custom:"Custom",square:"Square",landscape:"Landscape",portrait:"Portrait",ellipse:"Ellipse",classicTv:"Classic TV",cinemascope:"Cinemascope",arrowTool:"Arrow",blurTool:"Blur",brightnessTool:"Brightness",contrastTool:"Contrast",ellipseTool:"Ellipse",unFlipX:"Un-Flip X",flipX:"Flip X",unFlipY:"Un-Flip Y",flipY:"Flip Y",hsvTool:"HSV",hue:"Hue",brightness:"Brightness",saturation:"Saturation",value:"Value",imageTool:"Image",importing:"Importing...",addImage:"Add image",uploadImage:"Upload image",fromGallery:"From gallery",lineTool:"Line",penTool:"Pen",polygonTool:"Polygon",sides:"Sides",rectangleTool:"Rectangle",cornerRadius:"Corner Radius",resizeWidthTitle:"Width in pixels",resizeHeightTitle:"Height in pixels",toggleRatioLockTitle:"Toggle ratio lock",resetSize:"Reset to original image size",rotateTool:"Rotate",textTool:"Text",textSpacings:"Text spacings",textAlignment:"Text alignment",fontFamily:"Font family",size:"Size",letterSpacing:"Letter Spacing",lineHeight:"Line height",warmthTool:"Warmth",addWatermark:"Add watermark",addTextWatermark:"Add text watermark",addWatermarkTitle:"Choose the watermark type",uploadWatermark:"Upload watermark",addWatermarkAsText:"Add as text",padding:"Padding",paddings:"Paddings",shadow:"Shadow",horizontal:"Horizontal",vertical:"Vertical",blur:"Blur",opacity:"Opacity",transparency:"Transparency",position:"Position",stroke:"Stroke",saveAsModalTitle:"Save as",extension:"Extension",format:"Format",nameIsRequired:"Name is required.",quality:"Quality",imageDimensionsHoverTitle:"Saved image size (width x height)",cropSizeLowerThanResizedWarning:"Note, the selected crop area is lower than the applied resize which might cause quality decrease",actualSize:"Actual size (100%)",fitSize:"Fit size",addImageTitle:"Select image to add...",mutualizedFailedToLoadImg:"Failed to load image.",tabsMenu:"Menu",download:"Download",width:"Width",height:"Height",cropItemNoEffect:"No preview available for this crop item",px:"px",invalidTextContent:"Invalid text content",baselineShift:"Baseline shift",aiTab:"AI tools",objectRemovalTool:"Object removal",objectRemovalBrushSize:"Brush size (px)",objectRemovalApplyButton:"Apply",objectRemovalBrushMode:"Brush mode",objectRemovalBrushCircleType:"Circle brush",objectRemovalBrushSquareType:"Square brush",objectRemovalApplyingText:"Removing the selected area",objectRemovalMarkModeTooltip:"Mark mode",objectRemovalUnMarkModeTooltip:"Unmark mode",objectRemovalCancelConfirmationTitle:"Cancel process",objectRemovalCancelConfirmationHint:"Are you sure you want to cancel removing object from",objectRemovalCancelConfirmationHintCompletion:"asset?",theKeyword:"the"};function Ed(o,t){var a=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);t&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(o,l).enumerable})),a.push.apply(a,n)}return a}function Bi(o){for(var t,a=1;a<arguments.length;a++)t=arguments[a]==null?{}:arguments[a],a%2?Ed(Object(t),!0).forEach(function(n){ri(o,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):Ed(Object(t)).forEach(function(n){Object.defineProperty(o,n,Object.getOwnPropertyDescriptor(t,n))});return o}var sa={},qi=Bi({},Mi),cF="Error while loading translations from backend.",Wi=function(){var o=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},t=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"en";return Object.assign(qi,sa[t?.toLowerCase()]||{},o)},jh=function(o,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:"en";return new Promise(function(n,l){var d=a.toLowerCase(),u=new XMLHttpRequest;u.responseType="json",u.onload=function(){if(200<=u.status&&300>u.status){(u.response||[]).forEach(function(y){sa[d]=Bi(Bi({},sa[d]),{},ri({},y.translation_key,y.translations[d]))});var c=[];Object.keys(Mi).forEach(function(y){var b;y&&!((b=sa[d])!==null&&b!==void 0&&b[y])&&c.push({key:y,lang:d,default:Mi[y]})}),Wi(o,d),n(qi)}else{var g,m,v;l()}},u.onerror=function(){l()},u.open("GET","https://i18n-fastly.ultrafast.io/api/export?grid=".concat(t)),u.send()})},Oh=function(o){return qi[o]||o||""},Mh=({style:o={},wrap:t=!1})=>{let a={width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",...o};return(0,ei.jsx)(Hr.antd$Space,{size:"large",style:a,wrap:t,children:(0,ei.jsx)(Hr.antd$Spin,{})})},Gi={en:Ws.imageEditor,ru:Gs.imageEditor,uk:Hs.imageEditor,es:Vs.imageEditor,"pt-br":Co.imageEditor,de:Ks.imageEditor,fr:$s.imageEditor,it:Qs.imageEditor,pl:Zs.imageEditor};function Bh(o){if(!o)return"en";let t=o.replace("_","-").toLowerCase();if(Gi[t])return t;let a=t.split("-")[0];return a==="pt"?"pt-br":Gi[a]?a:"en"}function qh(o){return Gi[Bh(o)]}function Wh(o){let t=qh(o),a=(o||"en").replace("_","-").split("-")[0].toLowerCase();return Wi(t,a),t}var Yt=14,Gh=12,da=o=>+o.toFixed(2);function Hh(o,t){let a=Gh/Math.max(o,t),n=da(o*a),l=da(t*a);return`<svg xmlns="http://www.w3.org/2000/svg" width="${Yt}" height="${Yt}" viewBox="0 0 ${Yt} ${Yt}" fill="none"><rect x="${da((Yt-n)/2)}" y="${da((Yt-l)/2)}" width="${n}" height="${l}" rx="1" stroke="currentColor" stroke-width="1" stroke-opacity="0.65"/></svg>`}function Pt(o,t,a){return{titleKey:o,descriptionKey:`${t}:${a}`,ratio:t/a,icon:Hh(t,a)}}var Vh=[Pt("square",1,1),Pt("cropPresetInstagramPost",4,5),Pt("cropPresetPinterest",2,3),Pt("cropPresetScreen",4,3),Pt("cropPresetPhoto",3,2),Pt("cropPresetLinkPreview",1.91,1),Pt("cropPresetCinema",21,9)];Object.defineProperty(Z,"$n",{enumerable:!0,get:function(){return Rp}}),Object.defineProperty(Z,"A",{enumerable:!0,get:function(){return ct}}),Object.defineProperty(Z,"B",{enumerable:!0,get:function(){return ar}}),Object.defineProperty(Z,"Ba",{enumerable:!0,get:function(){return bh}}),Object.defineProperty(Z,"Bi",{enumerable:!0,get:function(){return Ri}}),Object.defineProperty(Z,"Br",{enumerable:!0,get:function(){return zi}}),Object.defineProperty(Z,"C",{enumerable:!0,get:function(){return Vh}}),Object.defineProperty(Z,"C$1",{enumerable:!0,get:function(){return Yf}}),Object.defineProperty(Z,"D",{enumerable:!0,get:function(){return em}}),Object.defineProperty(Z,"E",{enumerable:!0,get:function(){return Xf}}),Object.defineProperty(Z,"Ha",{enumerable:!0,get:function(){return Ch}}),Object.defineProperty(Z,"Hi",{enumerable:!0,get:function(){return Pi}}),Object.defineProperty(Z,"Hr",{enumerable:!0,get:function(){return Jo}}),Object.defineProperty(Z,"Icon",{enumerable:!0,get:function(){return Wo}}),Object.defineProperty(Z,"IconContext",{enumerable:!0,get:function(){return ti}}),Object.defineProperty(Z,"Ji",{enumerable:!0,get:function(){return ta}}),Object.defineProperty(Z,"K",{enumerable:!0,get:function(){return _r}}),Object.defineProperty(Z,"Me",{enumerable:!0,get:function(){return zt}}),Object.defineProperty(Z,"Nr",{enumerable:!0,get:function(){return nd}}),Object.defineProperty(Z,"O",{enumerable:!0,get:function(){return rm}}),Object.defineProperty(Z,"Pe",{enumerable:!0,get:function(){return ho}}),Object.defineProperty(Z,"Pn",{enumerable:!0,get:function(){return Bs}}),Object.defineProperty(Z,"Qa",{enumerable:!0,get:function(){return Th}}),Object.defineProperty(Z,"Ra",{enumerable:!0,get:function(){return vh}}),Object.defineProperty(Z,"RefIcon",{enumerable:!0,get:function(){return ls}}),Object.defineProperty(Z,"S",{enumerable:!0,get:function(){return Zf}}),Object.defineProperty(Z,"T",{enumerable:!0,get:function(){return Jf}}),Object.defineProperty(Z,"U",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(Z,"Va",{enumerable:!0,get:function(){return wh}}),Object.defineProperty(Z,"Vi",{enumerable:!0,get:function(){return xi}}),Object.defineProperty(Z,"Wa",{enumerable:!0,get:function(){return Ih}}),Object.defineProperty(Z,"Wr",{enumerable:!0,get:function(){return Ei}}),Object.defineProperty(Z,"Xn",{enumerable:!0,get:function(){return kp}}),Object.defineProperty(Z,"Xr",{enumerable:!0,get:function(){return sg}}),Object.defineProperty(Z,"Yr",{enumerable:!0,get:function(){return Xo}}),Object.defineProperty(Z,"Zr",{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(Z,"_",{enumerable:!0,get:function(){return Wh}}),Object.defineProperty(Z,"_$1",{enumerable:!0,get:function(){return Vf}}),Object.defineProperty(Z,"_defineProperty",{enumerable:!0,get:function(){return ri}}),Object.defineProperty(Z,"ae",{enumerable:!0,get:function(){return am}}),Object.defineProperty(Z,"br",{enumerable:!0,get:function(){return Gp}}),Object.defineProperty(Z,"ce",{enumerable:!0,get:function(){return pi}}),Object.defineProperty(Z,"clsx",{enumerable:!0,get:function(){return ul}}),Object.defineProperty(Z,"di",{enumerable:!0,get:function(){return bg}}),Object.defineProperty(Z,"ei",{enumerable:!0,get:function(){return Ti}}),Object.defineProperty(Z,"fi",{enumerable:!0,get:function(){return wg}}),Object.defineProperty(Z,"fo",{enumerable:!0,get:function(){return zd}}),Object.defineProperty(Z,"g",{enumerable:!0,get:function(){return Go}}),Object.defineProperty(Z,"getBackendTranslations",{enumerable:!0,get:function(){return jh}}),Object.defineProperty(Z,"he",{enumerable:!0,get:function(){return gi}}),Object.defineProperty(Z,"k",{enumerable:!0,get:function(){return mi}}),Object.defineProperty(Z,"li",{enumerable:!0,get:function(){return ud}}),Object.defineProperty(Z,"ma",{enumerable:!0,get:function(){return Li}}),Object.defineProperty(Z,"ne",{enumerable:!0,get:function(){return tm}}),Object.defineProperty(Z,"nr",{enumerable:!0,get:function(){return Js}}),Object.defineProperty(Z,"oe",{enumerable:!0,get:function(){return ut}}),Object.defineProperty(Z,"oo",{enumerable:!0,get:function(){return Sd}}),Object.defineProperty(Z,"or",{enumerable:!0,get:function(){return Lp}}),Object.defineProperty(Z,"p",{enumerable:!0,get:function(){return Mh}}),Object.defineProperty(Z,"po",{enumerable:!0,get:function(){return Dh}}),Object.defineProperty(Z,"pr",{enumerable:!0,get:function(){return rd}}),Object.defineProperty(Z,"re",{enumerable:!0,get:function(){return om}}),Object.defineProperty(Z,"rr",{enumerable:!0,get:function(){return Xs}}),Object.defineProperty(Z,"se",{enumerable:!0,get:function(){return ds}}),Object.defineProperty(Z,"sr",{enumerable:!0,get:function(){return ed}}),Object.defineProperty(Z,"svgBaseProps",{enumerable:!0,get:function(){return jf}}),Object.defineProperty(Z,"toPropertyKey",{enumerable:!0,get:function(){return sl}}),Object.defineProperty(Z,"translate",{enumerable:!0,get:function(){return Oh}}),Object.defineProperty(Z,"ui",{enumerable:!0,get:function(){return cd}}),Object.defineProperty(Z,"updateTranslations",{enumerable:!0,get:function(){return Wi}}),Object.defineProperty(Z,"useComposeRef",{enumerable:!0,get:function(){return wf}}),Object.defineProperty(Z,"useInsertStyles",{enumerable:!0,get:function(){return is}}),Object.defineProperty(Z,"v",{enumerable:!0,get:function(){return Kf}}),Object.defineProperty(Z,"warning",{enumerable:!0,get:function(){return es}}),Object.defineProperty(Z,"x",{enumerable:!0,get:function(){return Qf}}),Object.defineProperty(Z,"y",{enumerable:!0,get:function(){return $f}}),Object.defineProperty(Z,"yi",{enumerable:!0,get:function(){return _g}}),Object.defineProperty(Z,"yr",{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(Z,"za",{enumerable:!0,get:function(){return yh}}),Object.defineProperty(Z,"zi",{enumerable:!0,get:function(){return Mg}}),Object.defineProperty(Z,"zn",{enumerable:!0,get:function(){return wr}}),Object.defineProperty(Z,"zr",{enumerable:!0,get:function(){return tg}})});
|